IPv4 - 数据包结构

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

IP封装

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

IP 标头

IP 标头包含很多相关信息,包括版本号,在本文中为4。其他细节如下 −

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

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

  • DSCP − 区分服务代码点; 这是服务类型。

  • ECN − 明确的拥塞通知; 它包含有关路线中拥堵情况的信息。

  • Total Length − 整个 IP 数据包的长度(包括 IP 标头和 IP 负载)。

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

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

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

  • Time to Live − 为了避免在网络中循环,每个数据包发送时都设置了一些 TTL 值,它告诉网络这个数据包可以穿过多少路由器(跃点)。 在每一跳,它的值减一,当值达到零时,数据包被丢弃。

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

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

  • Source Address − 数据包发送方(或源)的 32 位地址。

  • Destination Address − 数据包接收方(或目的地)的 32 位地址。

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