文章目录
- 一、IP数据报分片 原则
- 二、IP数据报分片 过程
- 三、IP数据报分片 相关计算
- 1、公式
- 2、例题——例1
- 第一步:确定分片数
- 第二步:确定每片数据长度,每片总长度
- 第三步:标志位(DF、MF)
- 第四步:计算片偏移量
- 补充:IPv4——IP数据报 格式
- 1、版本号
- 2、首部长度
- 3、标识
- 4、标志
- 5、片偏移量
- 6、生存时间
- 7、上层协议
一、IP数据报分片 原则
- 1、尽可能少分片;
- 2、一个最大分片可封装的数据字节数最好是8的倍数。
二、IP数据报分片 过程
- 1、首部的标识字段 → 判断是否属于同一个IP数据报;
- 2、分片首部的标志字段(MF) → 判断是否是最后一个分片;
- 3、片偏移字段 → 判断分片的先后顺序,判断是否缺少IP分片。
三、IP数据报分片 相关计算
1、公式
2、例题——例1
通过工具发送一个总长度为3400字节的IP数据报,通过MTU=1500字节的链路转发。试求以下内容:
第一步:确定分片数
注:首部占20字节,即20B;在计算 数据长度 时需减去20B。
- MTU=1500B,则其中可以封装的数据长度为:1480B
- 数据报总长度=3400B,则数据长度为:3380B
- 所以分片数为:3380÷1480=2.28 (即:3片)
第二步:确定每片数据长度,每片总长度
- 关键:最后一片总长度、数据长度的计算
- 总长度
- 方式一:
- 先计算出最后一片数据长度:3380-1480-1480=420B
- 再计算出最后一片总长度:420+20=440B
- 方式二:
- 3400 - (1500*2) + (20*2) = 400 + 40 = 440
- 注:20*2 为分片后多出来的 两片首部长度20B
- 数据长度 = 总长度 - 20B
第三步:标志位(DF、MF)
第四步:计算片偏移量
补充:IPv4——IP数据报 格式
1、版本号
- 版本号:4位。IP的版本号。
2、首部长度
- 首部长度:4位。
- IP数据报的首部长度:20B-60B。
3、标识
- 标识:16位。标识一个IP数据报。每产生一个IP数据报, IP协议的计数器加1。
- 该字段的重要用途:在IP数据报分片和重组过程中用于标识属于同一IP数据报。
- 该字段不可唯一标识一个IP数据报。
4、标志
5、片偏移量
- 片偏移量:表示一个IP数据报分片与原IP数据报的数据的相对偏移量。
- 当该字段值为0时,且MF=1, 则表示这是一个IP分片,且是第一个分片。
6、生存时间
- 生存时间:8位。Time-To-Live ,TTL。表示IP数据报在网络中可以通过的路由器数(或跳步数)。
7、上层协议
- 上层协议:8位,指示该IP数据报封装的是哪个上层协议。(TCP:6,UDP:17)
- 生存时间:8位。Time-To-Live ,TTL。表示IP数据报在网络中可以通过的路由器数(或跳步数)。
- 标识:16位。标识一个IP数据报。每产生一个IP数据报, IP协议的计数器加1。
- 版本号:4位。IP的版本号。
- 方式一:
- 总长度
- 关键:最后一片总长度、数据长度的计算
猜你喜欢
网友评论
- 搜索
- 最新文章
- 热门文章