IPv4 - 数据包结构
作为第 3 层协议 (OSI) 的互联网协议从第 4 层(传输)获取数据段并将其分成数据包。 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,则使用该字段。这些选项可能包含安全性、记录路由、时间戳等选项的值。