
网络层及IP地址
网络层
IP报文头部
中文对照
- Version (版本):表示 IP 协议的版本,常见的有 IPV4 和 IPV6。
- Header Length (首部长度):显示 IP 报头的整个长度。
- DS Field (区分服务):提供 DSCP 服务。
- Total Length (总长度):显示 IP 报头加上 Data 数据的总长度。
- Identification (标识):用于唯一标识数据,让接收端知晓数据属于哪一组。
- Flags (标志):包含三个字段:
- 保留位:最高位必须设为 0,为以后的扩展预留空间。
- DF (不分片位):若值为 1,代表数据不可被分片,当数据大于 MTU 时会被直接丢弃;若值为 0,则代表数据可以分片。
- MF (更多分片位):若值为 1,代表后方还有分片;若值为 0,代表后方没有分片。
- Fragment Offset (片偏移):数据分片后,子分片会保留与原始数据相同的 IP 报头。
- Time to Live (生存时间 TTL):表示数据能经过的三层设备数量,是一种自带的防环路手段。其规定数值最大为 255,最小为 0,不同厂商及同厂商不同设备所定义的初始数值可能不同。其中,环路是指数据在网络中转发时,一直无法到达目的地,从而在网络中无休止循环,严重占用网络资源的情况。
- Protocol (协议):标识上层使用的协议,例如 1 表示 ICMP 协议,6 表示 TCP,17 表示 UDP,89 表示 OSPF 。
- Header Checksum (首部校验和):仅用于校验 IP 报文头,采用二进制补码求和校验。
- Source IP Address (源地址):发送者的 IP 地址。
- Destination IP Address (目的地址):接收者的 IP 地址。
IP地址(逻辑地址):全局定位的作用
二进制 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
---|---|---|---|---|---|---|---|---|
十进制 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
最大:所有可变的二进制都置为1
255.255.255.255
最小:所有可变的二进制都置为0
0.0.0.0
地址范围:0.0.0.0 —— 255.255.255.255
IANA:互联网地址分配管理机构
IPV4地址分成了五类
ABC类:单播地址(可以配置在设备接口上)
D类:组播地址(不可以配置在设备接口上只能作为逻辑地址存在)
E类:保留地址(军事科研使用)
A类:第一个8位组的第一位一定取值0
最小:0.0.0.0
最大:127.255.255.255
B类:第一个8位组的前两位一定取值10
最小:128.0.0.0
最大:191.255.255.255
C类:第一个8位组的前两位一定取值110
最小:192.0.0.0
最大:223.255.255.255
D类:第一个8位组的前两位一定取值1110
最小:224.0.0.0
最大:239.255.255.255
E类:第一个8位组的前两位一定取值1111
最小:240.0.0.0
最大:255.255.255.255
特殊地址
0.0.0.0 :不可使用 0.0.0.0–0.255.255.255
作用1:未指定的地址
作用2:路由层面–全网所有地址
127.0.0.0 :不可用 127.0.0.0–127.255.255.255 环回/回环地址
作用:用于设备内部的TCP/IP协议栈的测试,能ping通代表协议栈安装成功
私有网络
公网地址:唯一的,全世界范围内,付费使用
私用地址:所有网络中都能使用,重复使用,免费的
范围:
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
子网掩码
作用:定义网络位参数、主机位参数
IP地址+掩码=网段
同网段通信可以直接通信的,不同网段是不可以直接通信
IPV4: 192.168.1.111
子网掩码:255.255.255.0
1.转换成二进制:
1100 0000. 1010 1000. 0000 0001. 0110 1111 — IP地址
1111 1111. 1111 1111. 1111 1111. 0000 0000 — 掩码
1100 0000. 1010 1000. 0000 0001. 0000 0000 — 网络地址 – >192.168.1.0
1100 0000. 1010 1000. 0000 0001. 1111 1111 — 广播地址 – >192.168.1.255
2.子网掩码为1所对应的位数,则为网络位;子网掩码为0所对应的位数,则为主机位
3.网络位相同,则为相同网段
主机位全为0:网络地址 - 本网段最小地址 - 代表本网段所有地址 – 出现在设备的路由表里
主机位全为1:广播地址 - 本网段最大地址 - 用于本网段所有主机通信的
地址 | 网络位 | 主机位 | 网段范围 | 网段数量 | 每一个网段的主机数量 |
---|---|---|---|---|---|
A | 8 | 24 | 0-127 | 2^7=127 | 2^24-2=16,777,214 |
B | 16 | 16 | 128-191 | 2^14=16,384 | 2^16-2=65,534 |
C | 24 | 8 | 192-223 | 2^21=2,097,152 | 2^8-2=254 |
网段数量=2的可变的网络位次方
主机数量=2的可变的主机位次方 - 2(减去网段里一个网络地址和一个广播地址)
VLSM:可变长子网掩码
子网划分技术:网络位向主机位借位,以此实现网络位增加主机位减少,实现网段的增加
示例:
193.1.1.0/24
1100 0001.0000 0001.0000 0001.0000 0000 —网络地址 : 193.1.1.0
1100 0001.0000 0001.0000 0001.1111 1111 —广播地址 : 193.1.1.255
1111 1111.1111 1111.1111 1111.0000 0000 – 掩码 :255.255.255.0
可用地址范围:193.1.1.1 —— 193.1.1.254 2^8-2=254
193.1.1.0/25
1100 0001.0000 0001.0000 0001.0000 0000 — 网络地址 :193.1.1.0/25
1100 0001.0000 0001.0000 0001.0111 1111 — 广播地址 :193.1.1.127/25
1111 1111.1111 1111.1111 1111.1000 0000 — 掩码 :255.255.255.128
可用地址范围:193.1.1.1 —— 193.1.1.126 2^7-2=126
1100 0001.0000 0001.0000 0001.1000 0000 — 网络地址 :193.1.1.128/25
1100 0001.0000 0001.0000 0001.1111 1111 — 广播地址 :193.1.1.255/25
1111 1111.1111 1111.1111 1111.1000 0000 — 掩码 :255.255.255.128
可用地址范围:193.1.1.129 —— 193.1.1.254 2^7-2=126
CIDR:无类别域间路由
作用:将多个子网,用一个相对更大的地址范围概括以此来实现表项的优化
举例1
10.1.0.0/24
10.1.1.0/24
10.1.2.0/24
10.1.3.0/24
1.将所有的子网转换成二进制
0000 1010.0000 0001.0000 0000.0000 0000 == 10.1.0.0
0000 1010.0000 0001.0000 0001.0000 0000 == 10.1.1.0
0000 1010.0000 0001.0000 0010.0000 0000 == 10.1.2.0
0000 1010.0000 0001.0000 0011.0000 0000 == 10.1.3.0
2.自高位向低位进行比对,将相同的位数原封不动的取值下来,一旦不同,立刻停止比对行为,后方全部
取值为0,即便后方还有相同位数。
0000 1010.0000 0001.0000 0000.0000 0000 == 10.1.0.0
0000 1010.0000 0001.0000 0001.0000 0000 == 10.1.1.0
0000 1010.0000 0001.0000 0010.0000 0000 == 10.1.2.0
0000 1010.0000 0001.0000 0011.0000 0000 == 10.1.3.0
0000 1010.0000 0001.0000 0000.0000 0000
3.将相同的位数取值完毕,之后换算成十进制,将相同的位数取值为掩码前缀
0000 1010.0000 0001.0000 0000.0000 0000 = 10.1.0.0/22 – 网络地址 – 最小
0000 1010.0000 0001.0000 0011.1111 1111 = 10.1.3.255/22 – 广播地址 – 最大
表示路由表包含10.1.0.0到10.1.3.255所有地址
举例2
10.1.0.0/24
10.1.1.0/24
10.1.2.0/24
10.1.3.0/24
10.1.4.0/24
1.将所有的子网转换成二进制
0000 1010.0000 0001.0000 0000.0000 0000 == 10.1.0.0
0000 1010.0000 0001.0000 0001.0000 0000 == 10.1.1.0
0000 1010.0000 0001.0000 0010.0000 0000 == 10.1.2.0
0000 1010.0000 0001.0000 0011.0000 0000 == 10.1.3.0
0000 1010.0000 0001.0000 0100.0000 0000 == 10.1.4.0
2.自高位向低位进行比对,将相同的位数原封不动的取值下来,一旦不同,立刻停止比对行为,后方全部
取值为0,即便后方还有相同位数。
0000 1010.0000 0001.0000 0000.0000 0000 == 10.1.0.0
0000 1010.0000 0001.0000 0001.0000 0000 == 10.1.1.0
0000 1010.0000 0001.0000 0010.0000 0000 == 10.1.2.0
0000 1010.0000 0001.0000 0011.0000 0000 == 10.1.3.0
0000 1010.0000 0001.0000 0100.0000 0000 == 10.1.4.0
0000 1010.0000 0001.0000 0000.0000 0000
3.将相同的位数取值完毕,之后换算成十进制,将相同的位数取值为掩码前缀
0000 1010.0000 0001.0000 0000.0000 0000 = 10.1.0.0/21 – 网络地址 –最小
0000 1010.0000 0001.0000 0111.1111 1111 = 10.1.7.255/21 – 广播地址 –最大
地址范围:10.1.0.0 –10.1.7.255
这里会浪费三个地址段所有这个里的CIDR应该为:
10.1.0.0/22
10.1.4.0/24
网段判断方法
在实际的通信过程中,要准确判断两个 IP 地址是否处于同一网段,需要遵循以下步骤:
- 计算对端网络地址:当发送端主机发起通信时,它会运用自身的子网掩码,与对方的 IP 地址进行特定的逻辑运算(一般为按位与运算)。通过这一操作,能够得出对端的网络地址。这一步骤是判断的基础,为后续的比较提供了关键数据。
- 网段比对确认:将计算得到的对端网络地址,与发送端主机自身的网络地址进行仔细比对。若两者完全相同,那就可以确定双方处于相同网段;反之,则属于不同网段。
网关(Gateway)
- 地址配置层面:网关,本质上是配置在设备接口上的一个特殊地址。它就像是网络中的交通枢纽,起到连接不同网段的关键作用。
- 设备功能层面:从功能角度看,网关是一种特殊设备,它专门负责接收本地网段主机发送过来的报文。在对这些报文进行一系列必要的处理后,再将其转发到目标网段。可以说,网关是不同网段之间实现通信的桥梁和纽带。
- 网关地址确定:在网关设备上,连接本地网段的接口所对应的地址,就是该本地网段的网关地址。这个地址对于本地网段的设备而言,是访问其他网段的重要 “门户”。
网络检测工具与协议
- Ping 工具:Ping 是网络管理和维护中常用的工具,主要用于检测网络链路的通断情况,以及到目的地的网络连通性。在使用时,只需在命令行中输入 “Ping + 目的地(可以是 IP 地址或域名)” 的形式即可执行检测操作。通过观察 Ping 的返回结果,我们可以快速了解网络的基本状态。
- ICMP 协议:ICMP(Internet Control Message Protocol)协议基于网络层进行封装,在网络协议体系中,它使用的协议号为 1。该协议在网络中承担着传递控制信息和差错报告的重要任务,是网络正常运行不可或缺的一部分。
- Tracert 工具:Tracert 主要用于路由追踪,它具备两大重要作用。
- 路径设备 IP 获取:能够检查并显示到达目的地所经过的沿途每个网络设备的 IP 地址。通过这一功能,我们可以清晰地了解网络数据在传输过程中所经过的具体路径,有助于排查网络故障。
- 多路径探测:当存在多条路径可以到达目的地时,Tracert 基于 ICMP 协议,能够检测并获取多条路径的详细信息。这对于优化网络路由策略,提高网络性能具有重要意义。
ICMP 重定向
- 作用:ICMP 重定向的核心作用是解决网络中存在的次优路径问题。通过对网络数据传输路径的优化,它能够有效提高网络通信的效率,确保数据能够更加快速、稳定地传输。
- 触发条件:当一个网络设备接收到数据并准备进行转发时,如果它发现需要再次从接收该数据的接口转发出去,这种情况下就会触发 ICMP 重定向机制。这一机制的触发,是为了及时调整数据传输路径,避免出现不合理的路由情况。
- 相关报文:ICMP 重定向报文具有特定的格式,其中类型(type)值为 5,代码(code)值为 0。这些参数的设定,使得 ICMP 重定向报文能够准确传达重定向的相关信息,实现网络路径的优化调整。
ARP(地址解析协议)
一、数据封装中的 IP 地址规则
在进行数据封装时,网络层的源 IP 地址通常是设备自身的地址;而目的 IP 地址一般是由上层(传输层或应用层)感知并确定的 。
二、ARP 协议基本概念
(一)定义与功能
ARP(Address Resolution Protocol)即地址解析协议,作用是在已知 IP 地址的情况下,获取与之对应的 MAC 地址。
(二)协议层次
ARP 协议属于基于数据链路层的 2.5 层协议,它在网络层和数据链路层之间起到了桥梁的作用。
三、广播域相关知识
(一)定义
广播域是指广播报文能够传递到的范围。
(二)不同设备的广播域特性
- 路由器:路由器的每个接口都构成一个独立的广播域。这意味着从一个接口发出的广播报文不会自动穿越到其他接口。
- 交换机:在交换机不做任何配置的情况下,其所有接口都属于同一个广播域。即广播报文可以在交换机的各个接口之间传播,但广播报文无法穿越路由器的三层接口(能配置 IP 地址的接口 )。
四、ARP 报文接收处理机制
接收端收到 ARP 报文后,会检查报文中的 target - ip 字段,将其与自身接收端口的 IP 地址进行比对:
- 如果两者一致,接收端会进行回复;
- 如果不一致,则直接丢弃该 ARP 报文。
五、ARP 缓存
(一)形成与性质
ARP 缓存是通过 ARP 报文交互形成的动态 ARP 表项,记录着 IP 地址与 MAC 地址的对应关系。
(二)老化时间与探测机制
- 默认机制:ARP 缓存的老化时间通常为 20 分钟。老化探测机制为进行 3 次老化探测,探测方式依次为单播、单播、广播。在探测期间,若收到对方的回应,就会刷新老化时间,重新开始计时。
- 华为改进机制:华为对老化探测机制进行了优化,在 10 分钟时进行单播探测,15 分钟时再次单播探测,20 分钟时进行广播探测。
六、反向 ARP(RARP)
RARP 是反向地址解析协议,功能是在已知 MAC 地址的情况下获取对应的 IP 地址,不过目前已逐渐被 DHCP(动态主机配置协议)所替代 。
七、免费 ARP(无故 ARP)
(一)工作原理
当设备接口配置了一个 IP 地址之后,会发送免费 ARP 报文。
(二)作用
主要用于重复地址检测,即检测网络中是否存在与自身新配置 IP 地址相同的设备。
八、ARP 代理
ARP 代理存在多种应用场景,包括路由式 ARP 代理、VLAN 间 ARP 代理以及 VLAN 内 ARP 代理 ,用于在特定网络环境下协助完成 IP 地址到 MAC 地址的解析工作。