分类: 系统运维
2010-05-24 22:55:17
Internet包头格式
版本:4位
IHL:4位
Internet包头长度是以32位为单位标记的包头长度,它指向数据的开始位置,这个域的最小合法值为5。
服务类型:8位
它是一些指示服务质量的参数,这些参数用于在特定网络指示所需要的服务。
有些网络会提供优先级服务。选择的基本原则是以下三者的权衡:低延时,高可靠和高吞吐量。
0-2: 优先级
111 - Network Control
110 - Internetwork Control
101 - CRITIC/ECP
100 - Flash Override
011 - Flash
010 - Immediate
001 - Priority
000 - Routine
3: 0 = 通常延时 1 = 低延时
4: 0 = 通常吞吐量 1 = 高吞吐量
5: 0 = 通常可靠性 1 = 高可靠性
6-7: 保留
如果使用了延时(D),吞吐量(T)和可靠性(R)选项可以增加服务质量。这因各个网络不同而不同,没有通用性。除了非常特殊的情况外,最多设置两个参数就够了。服务类型是用来指示如何对待在网络中传送的数据报。网络控制优先级原来是用于一个网络中的,而实际中却应用于每个网络了。互联控制是用于网关控制的。如果只在一个网络中实现了这些参数,那个网络必须在自己的范围之内控制对它们的访问。
总长度:16位 (2的16次方)
总长度指的是数据报的长度,由字节计,包括数据和报头。允许数据报的大小为64K(2的16次方)。这么大的数据报对大多数主机和网络来说是不适用的。但是,所有主机必须能够接收大于576字节的数据报,无论它们是一起来,还是分段来。如果知道对方主机能够接收大于576字节的数据报,最好在发送时不要发送小于576字节的数据报。选择576是因为576=512(数据)+64(报头)。报头最长不超过60字节,通常为20字节。
每个IP模块必须能够不分段地传送68字节的数据报。这因为IP包头会达到60字节,而最小数据段长为8,68=60+8;而它也必须能够接收576字节的数据,不论这数据是未分段的还是分段的
标识:16位
标记是发送用于帮助重组分段的包的。
标记:3位
0: 保留,必须为0
1: (DF) 0 = 可分段,1 = 不可分段
Bit 2: (MF) 0 = 最后一段,1 = 还有多段
段偏移:13位
此域指示这个段在应该在数据报中什么位置,它以64位为单位计算,首段的偏移为零。
生存期:8位
此域说明数据报在互联网系统生存的最大时间。如果此域的值为零,抛弃此数据报。在处理报头的同时也处理此域。时间以秒计,但每个处理单元都至少会对TTL减一,即使时间小于一秒。
协议:8位
此域指示用于数据报数据部分的下一层协议。
头校验码:16位
校验码只在头部,因此头域会在处理时改变,因此头会经常改变。这种校验方法比较容易计算,实验证明它也是适用的,但它可能在未来被CRC校验过程取代。
源地址和目的地址:32位
选项:长度不定
在数据报中可以有选项也可以没有,但IP模块中必须有处理选项的功能。有些情况下,安全选项是必须的。它的长度不定,可以没有也可以是多个。选项有两种格式:
1: 单独一个选项类型字节
2: 一个选项类型字节,一个选项长度字节和实际选项数据字节
选项长度是选项类型,长度本身和数据的长度。选项类型可被看作有3个域:
1位 复制标记
2位 选项类
5位 选项号
复制标记指这个选项要在分段是要存在于所有段中。
0 = 不复制
1 = 复制
选项类有:
0 = 控制
1 = 保留
2 = 调度和测量
3 = 保留