IP数据报的分片的相关计算

简介: IP数据报的分片的相关计算

若路由器向MTU=800B的链路转发一个总长度为1580B的IP数据报(首部长度为20B)时进行了分片,且每个分片尽可能大,则第2个分片的总长度字段和MF标志位的值分别是 ()

A.796,0

B.796,1

C.800,0

D.800,1


依据下图,很多人会误选C,即第二个分片的总长度使800,其后面没有分片了,MF标志位=0

但是,需要注意:片偏移必须为整数,所以这种方案是不行的,所以我们要将分片的数据载荷的最大长度定为小于780且能整除8的最大整数,在此题中为776字节,再加上20个字节的首部,即分片总长度为796个字节。

注:除最后一个分片外,每个分片的数据载荷的长度都必须是8字节的整数倍。否则,会造成其相邻后续分片的片偏移不是整数。

这一项是解这一题的关键.

最后,我们从图中可以看到分片2不是最后一个字节,其后还有分片3

所以本题答案为选项B

补充:

IP数据报的分片,与IP数据报首部的标识,标志,片偏移三个字段离不开关系:


标识(占16位):


对于来自同一数据报的分片,标识字段是相同的。相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。


标志(占3位):


但目前只有两位有意义。


       -- 标志字段中的最低位为MF(More Fragment)。MF=1即表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的最后一个。


       -- 标志字段中间的一位记为DF(Don't Fragment),意思是“不能分片”。只有当DF=0时才允许分片。


片偏移(占13位):


片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。即相对于用户数据字段的起点,该片从何处开始。片偏移以8个字节为偏移单位。也就是说每个分片的长度一定是8字节(64位)的整数倍。

如果忘记了这些知识点,可以看一下我的这篇回忆一下:

http://t.csdnimg.cn/zz0cA

目录
相关文章
|
8月前
|
NoSQL Cloud Native MongoDB
分片集群中的分片集合
分片集群中的分片集合
|
11月前
|
存储 运维 监控
聊聊分片技术
今天来聊一聊开发中一个比较常见的概念“分片”技术。这个概念听起来好像是在讲切西瓜,但其实不是!它是指将大型数据或者任务分成小块处理的技术。
238 0
【计算机网络】网络层 : IP 数据报分片 ( 数据分片机制 | 分片示例 | 三种数据长度单位 )
【计算机网络】网络层 : IP 数据报分片 ( 数据分片机制 | 分片示例 | 三种数据长度单位 )
1086 0
【计算机网络】网络层 : IP 数据报分片 ( 数据分片机制 | 分片示例 | 三种数据长度单位 )
|
9月前
|
算法
29MyCat - 分片规则(固定分片hash算法)
29MyCat - 分片规则(固定分片hash算法)
32 0
|
9月前
|
数据处理 数据库
08MyCat - 概念 - 分片节点、分片规则、全局序列号
08MyCat - 概念 - 分片节点、分片规则、全局序列号
26 0
|
9月前
38MyCat - 分片规则(自然月分片)
38MyCat - 分片规则(自然月分片)
28 0
|
12月前
|
存储 缓存 算法
三种常用的数据分片方式:Hash分片,一致性Hash分片和按照数据范围分片
三种常用的数据分片方式:Hash分片,一致性Hash分片和按照数据范围分片
345 0
三种常用的数据分片方式:Hash分片,一致性Hash分片和按照数据范围分片
|
NoSQL 关系型数据库 MongoDB
|
存储 算法 中间件
MyCat - 分片 - 分片规则 - 固定分片 hash 算法 | 学习笔记
快速学习 MyCat - 分片 - 分片规则 - 固定分片 hash 算法
209 0
MyCat - 分片 - 分片规则 - 固定分片 hash 算法 | 学习笔记
|
存储 NoSQL MongoDB
路由节点进行分片操作|学习笔记
快速学习路由节点进行分片操作
216 0
路由节点进行分片操作|学习笔记