【计算机网络】网络层 : IP 数据报分片 ( 数据分片机制 | 分片示例 | 三种数据长度单位 )
一、最大传送单元 MTU
最大传送单元 MTU : MTU 是 链路层可封装数据 的上限 ;
MTU 值 : 以太网的 最大传送单元 MTU 是 1500 1500 1500 字节 ;
分片 : 链路层的数据部分 , 就是 IP 分组 , 该分组的 MTU 是 1500 字节 , 当网络层的 IP 分组超过 1500 字节 , 此时就要进行分片 ;
二、分片机制 ( 标识、标志、片偏移 )
IP 数据报 分片 : 要根据 首部的 标识 , 标志 , 片偏移 进行相应处理 :
标识 : 同一个 IP 数据报 的分片 , 使用相同的标识 ; IP 数据报大小超过 MTU 时 , 将数据报分片 , 分片完成的 IP 数据报分片 , 其标识都是相同的 ;
标志 : 由 3 3 3 位组成 , [ 48 , 50 ] [ 48 , 50 ] [48,50] , 只有 2 2 2 位有意义 ;
- 最高位 : 是保留位 , 没有意义 ;
- 中间位 : DF 位 , Don’t Fragment ; DF = 1 时 , 禁止分片 ; DF = 0 时 , 允许分片 ;
- 最低位 : MF 位 , More Fragment ; MF = 1 时 , 后面还有分片 ; MF = 0 时 , 本分片就是该分组的最后一个分片 , 后面没有分片 ;
- 只有 DF = 0 时 , MF 才有意义 ;
片偏移 : 较长的分组的分片 , 中间的某个分片 , 在原来的 IP 分组中的相对位置 ; 单位是 8 8 8 字节 ; 也就是说除了最后一个分片 , 每个分片的长度是 8 8 8 字节的整数倍 ;
三、分片机制 示例
分片机制 示例 :
-
IP 数据报 : 首部 20 20 20 字节 , 数据部分 3800 3800 3800 字节 ;
-
将其进行分片处理 : 每个分片不超过 1420 1420 1420 字节 ;
-
标识 : 666 666 666 ;
-
标志 : DF = 0 , 表示允许分片 ; MF = 0 , 表示后续没有分片 ;
-
片偏移量 : 0 0 0
分片后的结果是 : 分成 三片 ;
第一片 :
- 分片数据 : 首部 1 1 1 ( 20 20 20 字节 ) + 1400 1400 1400 字节数据部分 ;
- 标识 : 666 666 666 , 同一个分组的分片 , 标识相同 ;
- 标志 : DF = 0 , 允许分片 ; MF = 1 , 后续还有分片 ;
- 片偏移量 : 片偏移量 是 0 , 单位是 8 8 8 字节 , 本片偏移量相当于 0 0 0 字节 ;
第二片 :
- 分片数据 : 首部 2 2 2 ( 20 20 20 字节 ) + 1400 1400 1400 字节数据部分 ;
- 标识 : 666 666 666 , 同一个分组的分片 , 标识相同 ;
- 标志 : DF = 0 , 允许分片 ; MF = 1 , 后续还有分片 ;
- 片偏移量 : 片偏移量 是 175 , 单位是 8 8 8 字节 , 本片偏移量相当于 1400 1400 1400 字节 ;
第三片 :
- 分片数据 : 首部 3 3 3 ( 20 20 20 字节 ) + 1000 1000 1000 字节数据部分 ;
- 标识 : 666 666 666 , 同一个分组的分片 , 标识相同 ;
- 标志 : DF = 0 , 允许分片 ; MF = 0 , 后续没有分片 ;
- 片偏移量 : 片偏移量 是 350 , 单位是 8 8 8 字节 , 本片偏移量相当于 2800 2800 2800 字节 ;
片偏移量是从数据部分开始计数 , 数据部分的开始位置是 0 0 0 字节 , 其单位是 8 8 8 字节 , 片偏移量 1 1 1 代表 8 8 8 字节 ;
四、IP 数据报首部中的相关数据长度单位
IP 数据报首部中的相关数据长度单位 : 速记 : 一种 ( 总长度 ) 八片 ( 片偏移 ) 的 首 ( 首部长度 ) 饰 ( 四 )
- 总长度单位 : 1 1 1 字节 ;
- 片偏移单位 : 8 8 8 字节 ;
- 首部长度单位 : 4 4 4 字节 ;
文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。
原文链接:hanshuliang.blog.csdn.net/article/details/108267740
- 点赞
- 收藏
- 关注作者
评论(0)