我正在学习网络方面的幻灯片,想请教一下有关碎片化和重组的概念。
我理解这是如何工作的,即数据包被分成更小的块,因为网络链路具有MTU。但是图片中的例子令我感到困惑。
前两个部分显示长度为 1500,因为这是 MSU,但是最后一个部分不应该是 1000(总共 4000 字节)而不是 1040 吗?这额外的 40 个字节从哪里来的?我猜测,由于前两个片段都有一个20字节的头,所以这额外的40字节的数据需要去某个地方,所以它将到达最后一个片段吗?
Fragment Flag 基本上意味着还有另一个片段,所以所有的 Fragment Flag 都为1,除了最后一个片段,它将是零。但是我不明白 Offset 是什么或者如何计算。为什么第一个 Offset 是零?我们为什么要将 datafield 中的字节(1480)除以8来获得第二个偏移量?这个8从哪里来?除此之外,我认为每个片段的偏移量将按此值递增?
例如,第一个片段将具有偏移量0,第二个片段将具有185,第三个片段将具有370,第四个片段将具有555吗?(370+185)
感谢任何帮助!