DF - 不分段标记
MF - 多段标记
TL - 总长度
OFO - 原段偏移
OIHL - 原Internet包头长度
OMF - 原多段标记
OTL - 原总长度
NFB - 段数
MTU - 最大传输单元
过程:
IF TL <= MTU THEN 将此数据报提交给下一处理阶段
ELSE IF DF = 1 THEN 抛弃数据报
ELSE 产生第一段:
(1) 复制源internet包头;
(2) OIHL <- IHL;OTL <- TL;OFO <- FO;OMF <- MF;
(3) NFB <- (MTU-IHL*4)/8;
(4) 附加第一个NFB*8个数据字节;
(5) 校正包头:MF <- 1;TL <- (IHL*4) (NFB*8);重新计算校验码;
(6) 提交数据段到下一个数据报处理阶段;
假如要产生第二个段:
(7) 有选择地复制internet头;
(8) 附加剩余数据;
(9) 校正包头:IHL <- (((OIHL*4)-(未复制的选项长度)) 3)/4;
TL <- OTL - NFB*8 - (OIHL-IHL)*4);
FO <- OFONFB;MF <- OMF;重新计算校验码;
(10) 将此段提交分段检测;结束 。
上例中除了最后一段外,其它段都达到了MTU的大小,各种实现不同,只要能够得到的段
小于等于MTU就可以了 。
重组过程例子
对于每个数据报,缓冲区标记是由源地址,目的地址,协议和标记域一起确认的 。假如
数据报未分段,那就不需要进行重组,处理进行下一阶段 。重组需要的数据结构有:数
据缓冲区,包头缓冲区,段块位表,数据长度域和计数器 。段中的数据根据段偏移和长
度放在相应位置,段块标准表中的相应位根据接收的段块被设置 。
假如是第一段(段偏移为0),将包头放于包头缓冲区;假如是最后一段(多段标记为0
),计算数据总长度 。假如接收完了整个数据报,进行下一处理阶段;假如没有接收完
,设置计数器值为当前计数器和此段中保存的生存时间之间比较在的一个,重组函数放
弃控制权 。假如超时释放所有缓冲区 。计数器的初值是重组等待时间的下限 。因为假如
到达段中的生存时间大于计数器当前值等待时间增加,假如小于则不会减少 。计数器的
最大时间可以达到最大生存时间(大约为4.25分) 。假如设置为15秒可能比较好,当然
随着实践,这个值可能会有更改 。这个值的选择和缓冲区的大小和传输媒介有关,传输
速度乘于计数器值等于缓冲区大小 。
定义:
FO - 段偏移
IHL - Internet包头长度
MF - 多段标记
TTL - 生存时间
NFB - 段块数
TL - 总长度
TDL - 总数据长度
BUFID - 缓冲区标记
RCVBT - 段接收位表
TLB - 计数器下限
过程:
假如到达的数据段中的数据有部分或全部相同,上面的过程会使用数据的最新版本 。
标记
标记是为了对特定数据报的段提供唯一的标记 。假如数据报拥有相同的源地址,目的地
址,协议和标记,IP模块会把他们认定是同一数据报 。选择的任何由发送方担任 。发送
协议模块需要保持一个标记表,每个目的地址保持一个表项 。然而,因此标记域答应65
536个不同的值,有些主机能够不考虑目的地仍然可以达到标记唯一的目的 。高层协议也
可以使用标记 。
服务类型
服务类型(TOS)是网络服务质量的选择 。服务类型是由抽象参数确定的优先级,时延,
吞吐量和可靠性的结合物 。这些参数和一些实际对应的网络服务对应 。对于什么是时延
,什么是吞吐量之类的定义这里就不多说了 。
生存时间
生存时间由发送者设置,是数据报在网络中最长的生存时间,假如超时会抛弃数据报 。
网络中每个结点都会处理存在于包头中的生存时间 。此域的最少减少量为1,单位是秒 。
推荐阅读
- 水温卡是一次性的吗
- 2019交强险标志用贴吗
- 被蚊叮中叮的意思跟什么有关
- 哪款手机app桌面好用
- 白兰花掉叶是什么回事
- POP3协议命令原始码及工作原理
- 跑鞋用什么洗
- 哪款手机定位软件好呢
- 防晒霜bb霜先用哪个
- 爽肤水怎么用最好
