网络层

IP报文头部

中文对照

  1. Version (版本):表示 IP 协议的版本,常见的有 IPV4 和 IPV6。
  2. Header Length (首部长度):显示 IP 报头的整个长度。
  3. DS Field (区分服务):提供 DSCP 服务。
  4. Total Length (总长度):显示 IP 报头加上 Data 数据的总长度。
  5. Identification (标识):用于唯一标识数据,让接收端知晓数据属于哪一组。
  6. Flags (标志):包含三个字段:
    • 保留位:最高位必须设为 0,为以后的扩展预留空间。
    • DF (不分片位):若值为 1,代表数据不可被分片,当数据大于 MTU 时会被直接丢弃;若值为 0,则代表数据可以分片。
    • MF (更多分片位):若值为 1,代表后方还有分片;若值为 0,代表后方没有分片。
  7. Fragment Offset (片偏移):数据分片后,子分片会保留与原始数据相同的 IP 报头。
  8. Time to Live (生存时间 TTL):表示数据能经过的三层设备数量,是一种自带的防环路手段。其规定数值最大为 255,最小为 0,不同厂商及同厂商不同设备所定义的初始数值可能不同。其中,环路是指数据在网络中转发时,一直无法到达目的地,从而在网络中无休止循环,严重占用网络资源的情况。
  9. Protocol (协议):标识上层使用的协议,例如 1 表示 ICMP 协议,6 表示 TCP,17 表示 UDP,89 表示 OSPF 。
  10. Header Checksum (首部校验和):仅用于校验 IP 报文头,采用二进制补码求和校验。
  11. Source IP Address (源地址):发送者的 IP 地址。
  12. 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 地址是否处于同一网段,需要遵循以下步骤:

  1. 计算对端网络地址:当发送端主机发起通信时,它会运用自身的子网掩码,与对方的 IP 地址进行特定的逻辑运算(一般为按位与运算)。通过这一操作,能够得出对端的网络地址。这一步骤是判断的基础,为后续的比较提供了关键数据。
  2. 网段比对确认:将计算得到的对端网络地址,与发送端主机自身的网络地址进行仔细比对。若两者完全相同,那就可以确定双方处于相同网段;反之,则属于不同网段。

网关(Gateway)

  1. 地址配置层面:网关,本质上是配置在设备接口上的一个特殊地址。它就像是网络中的交通枢纽,起到连接不同网段的关键作用。
  2. 设备功能层面:从功能角度看,网关是一种特殊设备,它专门负责接收本地网段主机发送过来的报文。在对这些报文进行一系列必要的处理后,再将其转发到目标网段。可以说,网关是不同网段之间实现通信的桥梁和纽带。
  3. 网关地址确定:在网关设备上,连接本地网段的接口所对应的地址,就是该本地网段的网关地址。这个地址对于本地网段的设备而言,是访问其他网段的重要 “门户”。

网络检测工具与协议

  1. Ping 工具:Ping 是网络管理和维护中常用的工具,主要用于检测网络链路的通断情况,以及到目的地的网络连通性。在使用时,只需在命令行中输入 “Ping + 目的地(可以是 IP 地址或域名)” 的形式即可执行检测操作。通过观察 Ping 的返回结果,我们可以快速了解网络的基本状态。
  2. ICMP 协议:ICMP(Internet Control Message Protocol)协议基于网络层进行封装,在网络协议体系中,它使用的协议号为 1。该协议在网络中承担着传递控制信息和差错报告的重要任务,是网络正常运行不可或缺的一部分。
  3. Tracert 工具:Tracert 主要用于路由追踪,它具备两大重要作用。
    • 路径设备 IP 获取:能够检查并显示到达目的地所经过的沿途每个网络设备的 IP 地址。通过这一功能,我们可以清晰地了解网络数据在传输过程中所经过的具体路径,有助于排查网络故障。
    • 多路径探测:当存在多条路径可以到达目的地时,Tracert 基于 ICMP 协议,能够检测并获取多条路径的详细信息。这对于优化网络路由策略,提高网络性能具有重要意义。

ICMP 重定向

  1. 作用:ICMP 重定向的核心作用是解决网络中存在的次优路径问题。通过对网络数据传输路径的优化,它能够有效提高网络通信的效率,确保数据能够更加快速、稳定地传输。
  2. 触发条件:当一个网络设备接收到数据并准备进行转发时,如果它发现需要再次从接收该数据的接口转发出去,这种情况下就会触发 ICMP 重定向机制。这一机制的触发,是为了及时调整数据传输路径,避免出现不合理的路由情况。
  3. 相关报文:ICMP 重定向报文具有特定的格式,其中类型(type)值为 5,代码(code)值为 0。这些参数的设定,使得 ICMP 重定向报文能够准确传达重定向的相关信息,实现网络路径的优化调整。

ARP(地址解析协议)

一、数据封装中的 IP 地址规则

在进行数据封装时,网络层的源 IP 地址通常是设备自身的地址;而目的 IP 地址一般是由上层(传输层或应用层)感知并确定的 。

二、ARP 协议基本概念

(一)定义与功能

ARP(Address Resolution Protocol)即地址解析协议,作用是在已知 IP 地址的情况下,获取与之对应的 MAC 地址。

(二)协议层次

ARP 协议属于基于数据链路层的 2.5 层协议,它在网络层和数据链路层之间起到了桥梁的作用。

三、广播域相关知识

(一)定义

广播域是指广播报文能够传递到的范围。

(二)不同设备的广播域特性

  1. 路由器:路由器的每个接口都构成一个独立的广播域。这意味着从一个接口发出的广播报文不会自动穿越到其他接口。
  2. 交换机:在交换机不做任何配置的情况下,其所有接口都属于同一个广播域。即广播报文可以在交换机的各个接口之间传播,但广播报文无法穿越路由器的三层接口(能配置 IP 地址的接口 )。

四、ARP 报文接收处理机制

接收端收到 ARP 报文后,会检查报文中的 target - ip 字段,将其与自身接收端口的 IP 地址进行比对:

  • 如果两者一致,接收端会进行回复;
  • 如果不一致,则直接丢弃该 ARP 报文。

五、ARP 缓存

(一)形成与性质

ARP 缓存是通过 ARP 报文交互形成的动态 ARP 表项,记录着 IP 地址与 MAC 地址的对应关系。

(二)老化时间与探测机制

  1. 默认机制:ARP 缓存的老化时间通常为 20 分钟。老化探测机制为进行 3 次老化探测,探测方式依次为单播、单播、广播。在探测期间,若收到对方的回应,就会刷新老化时间,重新开始计时。
  2. 华为改进机制:华为对老化探测机制进行了优化,在 10 分钟时进行单播探测,15 分钟时再次单播探测,20 分钟时进行广播探测。

六、反向 ARP(RARP)

RARP 是反向地址解析协议,功能是在已知 MAC 地址的情况下获取对应的 IP 地址,不过目前已逐渐被 DHCP(动态主机配置协议)所替代 。

七、免费 ARP(无故 ARP)

(一)工作原理

当设备接口配置了一个 IP 地址之后,会发送免费 ARP 报文。

(二)作用

主要用于重复地址检测,即检测网络中是否存在与自身新配置 IP 地址相同的设备。

八、ARP 代理

ARP 代理存在多种应用场景,包括路由式 ARP 代理、VLAN 间 ARP 代理以及 VLAN 内 ARP 代理 ,用于在特定网络环境下协助完成 IP 地址到 MAC 地址的解析工作。