我有一个20字节的头长度和4096字节的数据长度的IP数据包。 networking的最大传输单元只有1500字节。 就我所了解的碎片而言,碎片包如下所示。
碎片1将携带0-1499字节的数据。
碎片2将携带1500-2999字节的数据
碎片3将携带3000 – 4096字节的数据
片段偏移字段值应如下所示。
FRAGMENT 1 – 0/8 = 0;
FRAGMENT 2 – 1500/8 = 187.5(这是否意味着我们将添加4个字节的填充并将片段偏移字段设置为188?从我对networking的理解来看,这应该是显而易见的方法,但我似乎无法在Google上find任何信息以支持这一点。)
片段3 = 3000/8 = 375。
任何build议,将不胜感激。
关于碎片边界的确切位置没有保证。 甚至允许在一个片段的尾端以及在下一个片段的开始处具有“相同的字节”(相比于未片段化的原稿,“跟随”处于片段增加的位置,不一定在电线时间顺序)。