IPv4 报文中标识字段的理解
IPv4 报文格式里的 “标识字段”(Identification,16 bit) (类比成订单号):
-
作用
当 IP 层对数据包做 分片(Fragmentation) 时,会把 同一个原始报文 切出的所有片段 赋予相同的标识值。
接收端凭这个订单号就能把片段 重新拼回完整报文。 -
生成规则
- 每发送一个 需要分片 的报文,发送方就把标识 +1(或按实现递增)。
- 不分片的报文可以任意填,接收端并不校验,因此也常借作调试或跟踪。
-
示例
原始报文大小 4000 B,MTU 1500 B → 切成 3 片:片1:标识=12345 片偏移=0 MF=1 片2:标识=12345 片偏移=185 MF=1 片3:标识=12345 片偏移=370 MF=0
接收端看到 相同标识 12345,就知道三片同属一份订单,按偏移量拼回原始数据。
“标识字段 = 分片包裹的订单号,接收端靠它把切碎的 IP 报文重新拼成完整快递。”