IP数据包格式简介

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

IP 数据包格式

IP 数据包是网络传输的信封,它说明了数据发送的源地址和目的地址,以及数据传输状态。一个完整的数据包由首部和数据两部分组成。首部前20字节属于固定长度,是所有IP 数据包必须有的,后面是可选字段,其长度可变,首部后面是数据包携带的数据,见图5.3.1。

48

16

19

31

版本号

标志

生存时间

议标

服务类型数据包总长度

段偏移首

源地址目

的地址可

选字段+ 填

充位首部长度

据部

首部首部

IP 数据包

发送

图5.3.1 IP 数据包格式

1. 版本号(4bit )

版本号占4位,是IP 协议所使用的版本号,目前是广泛使用的是第四版本,即IPv4。 2. 首部长度(4bit )

首部长度用于指出IP 包头长度,用于标识数据包头在何处结束,所携带的数据在何处开始。首部长度占四位,数值范围5~15,以4字节为单位,则IP 首部长度为20字节~60字节。如假设首部长度取值“1010”,转换为十进制为“10”,表示IP 包头长度为10×4=40字节,数据从第41字节开始。

3. 服务类型(8bit )

服务类型用于获得更好服务,大多数情况下并不使用。当网络流量较大时,路由器会根据不同数据包服务类型取值决定哪些先发送,哪些后发送,见图5.3.2。

D 优先级T R C 未用

0 1 2

3 4 5

6 7

图5.3.2 服务类型格式

(1)前3个bit 表示优先级,取值范围0~7共8个优先级,数值越低优先级越高。 (2)后四位是服务类型子字段,用于标识QOS 质量服务。 D :表示要求更低时延 T :表示要求更多吞吐量 R :表示要求更多可靠性 C :表示要求更小路径开销

注:DTRC 默认4位值都为0,表示一般服务;

DTRC只能1为设为1,如T为1,其余三位只能为0。

(3)最后1位尚未使用

4. 数据包总长度(16bit)

数据包总长度用于标识整个数据包(包含包头和数据)的总长度,结合首部长度可以计算出数据包所携带数据的起始地址和长度。数据包总长度占16bit,最大取值为16个“1”,以字节为单位,因此数据包最大长度为655351字节。但由于与以太网(局域网)允许的最大包长为1500字节,当超过网络允许的最大长度时需将过长的数据包分片。

5. 标识(16bit)

标识占16bit,用于数据包在分片重组时标识其序列号。网络层将数据分片打包后,由于数据包会沿着不同路径在网络中投递,抵达接收方会存在乱序现象。解决方法是将数据包贴上标识,抵达目的地再根据序号重组还原成数据。

6. 标志(3bit)

标志用于表示数据包分片信息,见图5.3.3。

0 1 2

MF DF未用

图 5.3.3 标志格式

(1)MF:更多数据包(More Fragment)。MF=1表示后面还有分片的数据包;MF=0表示没有更多分片,本数据包是最后一个分片。

(2)DF:不分段(Do Not Fragment),DF=1表示该数据包不能被分片,DF=0表示该数据包可以被分片。

(3)最后1位尚未使用

7. 段偏移(13 bit)

段偏移用于标识本片数据在初始数据报文中的偏移量,占13位,偏移单位为8字节。当较长的数据分片后,其中原数据的相对位置。

8. 生存时间(8 bit)

生存时间TTL(Time To Live)占8位。TTL初始值由操作系统设置,数据包每经一个路由器转发其值减一,减至0时被丢弃,避免数据包在找不到目的地时不断被转发,堵塞网络带宽。

9. 协议(8 bit)

协议字段用于标识数据包所使用的传输协议,如TCP协议还是UDP协议。目的主机收到数据包后会根据协议字段值交付上层相应协议处理。

10. 首部校验和(16 bit)

首部校验和只对IP数据包首部进行校验,不包含数据部分。数据包每经过一个中间节点投递都要重新计算首部校验和,对首部进行校验。

11. 源地址(4 Byte)

源地址用于标识发送主机的IP地址。由于IP地址长度为32位,因此源地址段占4字节。

12. 目的地址

目的地址用于标识接收主机的IP地址。

1“1111111111111111”共16个“1”转换为十进制为65535。

13. 选项字段和填充(40 bit)

有时需要在选项字段填充额外的“0”以保证 IP包头长度是32位的整数倍。选项字段很少使用,并非所有主机和路由器都支持可选项,这里不做介绍。

相关文档
最新文档