IP数据报的分片的相关计算

文章讲述了路由器如何对MTU为800B的链路转发IP数据报时进行分片,强调了分片总长度、MF标志位的计算规则,以及片偏移的重要性。关键点在于确保片偏移为整数且符合8字节边界,最后确定第2个分片的正确设置为796B和MF=1。
摘要由CSDN通过智能技术生成

若路由器向MTU=800B的链路转发一个总长度为1580B的IP数据报(首部长度为20B)时进行了分片,且每个分片尽可能大,则第2个分片的总长度字段和MF标志位的值分别是 ()
A.796,0
B.796,1
C.800,0
D.800,1

依据下图,很多人会误选C,即第二个分片的总长度使800,其后面没有分片了,MF标志位=0

但是,需要注意:片偏移必须为整数,所以这种方案是不行的,所以我们要将分片的数据载荷的最大长度定为小于780且能整除8的最大整数,在此题中为776字节,再加上20个字节的首部,即分片总长度为796个字节。

注:除最后一个分片外,每个分片的数据载荷的长度都必须是8字节的整数倍。否则,会造成其相邻后续分片的片偏移不是整数。

这一项是解这一题的关键.

最后,我们从图中可以看到分片2不是最后一个字节,其后还有分片3

所以本题答案为选项B

补充:

IP数据报的分片,与IP数据报首部的标识,标志,片偏移三个字段离不开关系:

标识(占16位):

对于来自同一数据报的分片,标识字段是相同的。相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。

标志(占3位):

但目前只有两位有意义。

        -- 标志字段中的最低位为MF(More Fragment)。MF=1即表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的最后一个。

        -- 标志字段中间的一位记为DF(Don't Fragment),意思是“不能分片”。只有当DF=0时才允许分片。

片偏移(占13位):

片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。即相对于用户数据字段的起点,该片从何处开始。片偏移以8个字节为偏移单位。也就是说每个分片的长度一定是8字节(64位)的整数倍。

如果忘记了这些知识点,可以看一下我的这篇回忆一下:

http://t.csdnimg.cn/zz0cA

  • 25
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值