我目前正在浏览我的网络幻灯片,想知道是否有人可以帮助我了解碎片和重组的概念。
我了解它是如何工作的,即数据报如何被分割成更小的块,因为网络链接有一个 MTU。然而图片中的例子让我感到困惑。
因此,前两部分显示的长度为 1500,因为这是 MSU,但这是否意味着最后一部分应该有 1000(总共 4000 字节)而不是 1040?这额外的 40 个字节是从哪里来的呢?我的猜测是,因为前两个片段都有 20 字节的标头,所以这额外的 40 字节数据需要到达某个地方,所以它会到达最后一个片段吗?
Fragflag 本质上意味着还有另一个片段,因此除了最后一个片段为零之外,所有片段的 Fragflag 都为 1。但是我不明白偏移量是什么或它是如何计算的。为什么第一个偏移为零?为什么我们要将数据字段(1480)中的字节除以 8 以获得第二个偏移量?这8是从哪里来的?除此之外,我假设每个片段偏移量只会增加这个值?
例如,第一个片段的偏移量为0,第二个片段的偏移量为185,第三个片段的偏移量为370,第四个片段的偏移量为555? (370+185)
谢谢你的帮助!
每个数据包中有一个 20 字节的标头。因此原始数据包包含 3,980 字节的数据。这些片段包含 1480、1480 和 1020 字节的数据。 1480 + 1480 + 1020 = 3980
标头中的每一位都很宝贵。将偏移量除以 8 使其适合 13 位而不是 16 位。这意味着除最后一个数据包之外的每个数据包都必须包含 8 倍数的数据字节数,这不是问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)