IP数据报的格式

来源:互联网 发布:锦户亮与新垣结衣 知乎 编辑:程序博客网 时间:2024/05/09 17:35

这里写图片描述

由上图可以看出, IP 数据报分为 20 字节的固定长度报报头和后面的可变长度报文。
一、IP数据报首部的固定字节
1、版本号:占 4 位,指 IP 协议的版本。通信双方使用的 IP 协议的版本必须一致。
2、报头长度:占 4 位,可表示的最大数值是 15 个单位(1 个单位为 4 字节),因此 IP 首部长度的最大值为 60 字节。当 IP 首部的字节数不是 4 的整数倍时,需利用最后一个字段(填充域)进行填充。
3、服务类型:占 8 位,用来获得更好的服务,8 个比特的分布情况如下表:
这里写图片描述
其中前 3 个比特表示优先级,他可以使数据报具有 8 个优先级中的一个;
第 4 个比特 D 表示低时延;
第 5 个比特 T 表示高吞吐量;
第 6 个比特 R 表示高可靠性,即在数据报的传输过程中,被节点交换机丢弃的概率更小;
第 7 个比特 C 比特,新增加的,表示要求选择更廉价的路由;
最后一个比特尚且未使用。
4、总长度:指首部和数据之和,单位为字节。占 16 位,因此数据报的最大长度为 65535 字节。当很长的数据报要进行传送时,总长度不是指未分段的数据报长度,而是指分段后每段的首部和数据长度之和。
5、标识:标识字段的意义和 OSI 的 IPDU 中的数据单元标识符的意义一致,是为了使分段后的各数据报之间最后能准确地重装成原来的数据报。注意:这里的标识不是顺序号的意思,因为 IP 是无连接的服务,数据报不存在按序接收的问题。
6、标志:占 3 位,目前只有两个字段有意义:
最低位:MF(More Fragment),为 1 表示后面还有分段的数据报,为 0 时表示此数据报是最后一个。
中间位:DG(Don’t Fragment),为 1 时不允许分段,为 0 时才允许分段。
7、片偏移:以 8 字节为偏移单位,占 13 位。
8、寿命:TTL(Time to Live),单位为 秒(s),寿命的建议值为 32s。
9、协议:占 8 位,它指定了此数据携带的运输层数据使用的协议,以便目的主机的 IP 层知道应将此数据交给哪个进程。常用的一些协议的响应字段值:DUP(17), TCP(6), ICMP(1), GGP(3), EGP(8), IGP(9), OSPF(89), TP4(29)。
首部字段和此字段只检验数据报的首部字段,而不考虑数据部分,以减少不必要的工作量。
10、地址:源站 IP 地址字段和目的端 IP 地址字段都占 4 个字节。

二、IP 首部的可变部分:一个任选字段,用来支持排错、测量及安全等措施,内容很丰富。此字段的长度可变,从 1 字节到 40 字节不等,取决于所选择的代码。

0 0