Internet Protocol Internet协议( 七 )


假如是第一段(段偏移为0),将包头放于包头缓冲区;假如是最后一段(多段标记为0),计算数据总长度 。假如接收完了整个数据报,进行下一处理阶段;假如没有接收完,设置计数器值为当前计数器和此段中保存的生存时间之间比较在的一个,重组函数放弃控制权 。假如超时释放所有缓冲区 。计数器的初值是重组等待时间的下限 。因为假如到达段中的生存时间大于计数器当前值等待时间增加,假如小于则不会减少 。计数器的最大时间可以达到最大生存时间(大约为4.25分) 。假如设置为15秒可能比较好,当然随着实践,这个值可能会有更改 。这个值的选择和缓冲区的大小和传输媒介有关,传输速度乘于计数器值等于缓冲区大小 。
定义:
FO - 段偏移
IHL - Internet包头长度
MF - 多段标记
TTL - 生存时间
NFB - 段块数
TL - 总长度
TDL - 总数据长度
BUFID - 缓冲区标记
RCVBT - 段接收位表
TLB - 计数器下限
过程:
假如到达的数据段中的数据有部分或全部相同,上面的过程会使用数据的最新版本 。

标记
标记是为了对特定数据报的段提供唯一的标记 。假如数据报拥有相同的源地址,目的地址,协议和标记,IP模块会把他们认定是同一数据报 。选择的任何由发送方担任 。发送协议模块需要保持一个标记表,每个目的地址保持一个表项 。然而,因此标记域答应65536个不同的值,有些主机能够不考虑目的地仍然可以达到标记唯一的目的 。高层协议也可以使用标记 。
服务类型
服务类型(TOS)是网络服务质量的选择 。服务类型是由抽象参数确定的优先级,时延,吞吐量和可靠性的结合物 。这些参数和一些实际对应的网络服务对应 。对于什么是时延,什么是吞吐量之类的定义这里就不多说了 。
生存时间
生存时间由发送者设置,是数据报在网络中最长的生存时间,假如超时会抛弃数据报 。网络中每个结点都会处理存在于包头中的生存时间 。此域的最少减少量为1,单位是秒 。因此,最长的生存时间为255秒 。每个处理模块必须对TTL减1,即使所使用的时间少于一秒也是如此 。高层可靠连接协议是基于原重复数据报将不会在特定时间后到达,TTL是为了满足这样假设而存在 。
选项
选项中数据报中是可选的,但在实现中必须有的 。有没有选项是发送者说了算,每个IP模块必须能够分析每个选项,每个选项域有多个选项 。选项可能没有达到32位的边界,不足的以零填充以达到32位的倍数 。
校验码
假如包头发生改变必须重新计算包头校验码,校验码可以在一定程度上杜绝传输错误 。有些应用程序答应数据报中的数据出错,假如IP强调数据正确性,类似的应用程序也就用不成了 。
错误
【Internet Protocol Internet协议】IP协议错误可由ICMP协议报告 。
3.3. 接口
接口的描述是功能性的,这个描述的具体实现机制会因为操作系统的不同而不同 。不同的IP实现会有不同的用户接口 。但是起码的子集是所有实现必须支持的 。本节将描述这个基本子集 。IP协议有上下有两个接口,一个是面向本地网络的,另一个是面向高层协议或应用程序的,我们称后一个接口为用户 。虽然IP协议是数据报协议,所以用于保存状态的资源(内存)很少 。
下面是一个高层接口范例:
SEND (src, dst, prot, TOS, TTL, BufPTR, len, Id, DF, opt => result)
上式中:
src = https://www.rkxy.com.cn/dnjc/源地址
dst = 目的地址
prot = 协议
TOS = 服务类型