IP数据报的分片与重组分析

本文深入探讨了IP协议中的分片机制,包括分段位的作用及其如何帮助确定网络端到端的最大传输单元(MTU),以及偏移量字段在数据报分片与重组中的关键作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

更多分段位能够让接收主机判断分片的数据报是否发送完毕;而分段位除了能够将将数据报分段,而且还能够实现另一个用途,在某些情况下,可以利用分段位动态的找到网络端到端的MTU大小。如果路由器配置时,置此位为0,则当主机尝试发送一个比传输路径上的数据报大的帧时,路由器不转发该帧,而是丢弃,并给源主机发送ICMP报文,说明该数据报太大,源主机利用此信息调整数据报大小,再重新发送。 

  偏移量 

  13位的偏移量字段用来表示分段的数据报在整个数据流中的位置,即相当于分片数据报的顺序号。发送主机对第一个数据报的偏移量置为0,而后续的分片数据报的偏移量则以网络的MTU大小赋值。偏移量对于接收方进行数据重组的时候,这是一个关键的字段。对于分片的数据段(单位:字节)必须为8的整数倍,否则IP无法表达其偏移量。如下图3所示: 

 

  以太网中,源主机如果需要通过UDP传送3000字节的数据到目的主机,这时的分段情况如下图4所示(在同一网段): 



  此处需要注意的是对于分片1的报头,相对于其他两个分片的报头而言,要多出8个字节UDP协议的报头开销,因此,在计算实际传输的数据净载荷时,分片1要多减去8字节UDP报头。最后,接收主机通过此偏移值将数据重组成完整的数据报。 

  总结 

  IP协议虽然是我们司空见惯的一个协议,但是,对于其报头结构,报头中每个字段的含义,还是需要我们不断学习,才能真正理解IP协议的精髓。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值