IPv4 - 数据包结构


互联网协议是第 3 层协议 (OSI),它从第 4 层(传输)获取数据段并将其划分为数据包。IP数据包封装从上层接收到的数据单元并添加到其自己的标头信息中。

IP封装

封装的数据称为IP Payload。IP 标头包含在另一端传送数据包所需的所有信息。

IP标头

IP 标头包含许多相关信息,包括版本号,在本上下文中为 4。其他详细信息如下 -

  • 版本- 版本号 使用的互联网协议(例如 IPv4)。

  • IHL – 互联网标头长度;整个 IP 标头的长度。

  • DSCP——差异化服务代码点;这是服务类型。

  • ECN - 显式拥塞通知;它携带有关路线中所见拥塞的信息。

  • 总长度- 整个 IP 数据包的长度(包括 IP 标头和 IP 有效负载)。

  • 标识- 如果 IP 数据包在传输过程中被分段,则所有分段都包含相同的标识号。来识别它们所属的原始IP数据包。

  • 标志- 根据网络资源的要求,如果 IP 数据包太大而无法处理,这些“标志”会告诉它们是否可以分段。在这个 3 位标志中,MSB 始终设置为“0”。

  • 片段偏移量- 此偏移量告诉原始 IP 数据包中片段的确切位置。

  • 生存时间- 为了避免网络中出现循环,每个数据包都会发送一些设置的 TTL 值,该值告诉网络该数据包可以穿过多少个路由器(跳)。在每一跳,其值都会减一,当该值达到零时,数据包将被丢弃。

  • 协议- 告诉目标主机的网络层该数据包属于哪个协议,即下一级协议。例如ICMP协议号为1,TCP协议号为6,UDP协议号为17。

  • 标头校验和- 该字段用于保存整个标头的校验和值,然后用于检查数据包是否无错误接收。

  • 源地址- 数据包发送者(或源)的 32 位地址。

  • 目标地址- 数据包接收方(或目标)的 32 位地址。

  • 选项- 这是可选字段,如果 IHL 的值大于 5,则使用该字段。这些选项可能包含安全、记录路由、时间戳等选项的值。