分享

MPLS环境下的分片为何是1472而不是1476,多出的4bytes有什么用?

 昵称11935121 2018-05-19

“我是哟哟吼说科技,专注于数据网络的回答,欢迎大家与我交流数据网络的问题”

如题,分片为什么是1472而不是1476?

这是因为分片中数据的大小必须为8字节的整数倍,否则下一片的片偏移值是无法表示的。

下面哟哟来简单介绍一下为何需要为8字节的整数倍:

ip数据报文的格式如下:

从图中可以看到IP包头中,总长度占用16bit,片偏移占用13bit,分片就是由这两个字段来决定的。总长度的16bit表示IP报文最大长度为2^16,而片偏移的13bit表示IP分片最多表示2^13个偏移单位,那么片偏移的单位即为2^16/2^13=8,从而得出分片中数据大小必须为8字节的整数倍。

1472/8=184,能整除;

1476/8=184.5,不能被整除;

因此分片的数据大小为1472,而不是1476。

欢迎大家多多关注我,在下方评论区说出自己的见解。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多