IPv4首部

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Version
版本
IHL
首部长度
TOS
区分服务
Total Length
总长度
Identification
标识
Flags
标志
Fragment Offset
片偏移
Time To Live
生存时间
Protocol
协议
Header Checksum
首部校验和
Source Address
源IP地址
Destination Address
目标地址
Options
可选字段
Padding
填充
Data
数据部分

版本(Version)

  • 由4比特构成,表示标识IP首部的版本号。IPv4的版本号即为4,IPv6的版本号为6

首部长度(IHL:Internet Header Length)

  • 由4比特构成,表明IP首部大小,单位为4字节(32比特),对于没有可选项的IP包,首部长度则设置为“5”,也就是说,当没有可选项时,IP首部的长度为20字节( 4 × 5 = 20 4 \times 5=20 4×5=20

区分服务(TOS:Type Of Service)

  • 由8比特构成,用来表明服务质量。每一位的具体含义见下表:

    • 比特 含义
      0 1 2 优先度
      3 最低延迟
      4 最大吞吐
      5 最大可靠性
      6 最小代价
      (3-6) 最大安全
      7 未定义

总长度(Total Length)

  • 由16比特构成,表示IP首部与数据部分合起来的总字节数,因此IP包的最大长度为 65535 ( 2 16 ) 65535(2^{16}) 65535(216)字节
  • 目前还不存在能够传输最大长度为65535字节的IP包的数据链路。不过,由于IP有分片处理,从IP的上一层的角度看,不论底层采取何种数据链路,都可以认为能够以IP的最大包长传输数据

标识(ID:Identification)

  • 由16比特构成,用于分片重组。同一个分片的标识值相同,不同分片的标识值不同。通常,每发送一个IP包,它的值也逐渐递增。
  • 此外,即使ID相同,如果目标地址、源地址或协议不同的话,也会被认为是不同的分片

标志(Flags)

  • 由3比特构成,表示包被分片的相关信息。每一位的具体含义见下表:

    • 比特 含义
      0 未使用。现在必须是0
      1 指示是否进行分片
      0-可以分片
      1-不能分片
      2 包被分片的情况下,表示是否为最后一个包
      0-最后一个分片的包
      1-分片中段的包

片偏移(FO:Fragment Offset)

  • 由13比特构成,用来标识被分片的每一个分段相对于原始数据的位置
  • 第一个分片对应的值为0
  • 最多可以表示 8192 ( 2 13 ) 8192(2^{13}) 8192(213)个相对位置
  • 单位为8字节,因此最大可表示原始数据 8 × 8192 = 65536 8 \times 8192 = 65536 8×8192=65536字节的位置

生存时间(TTL:Time of Live)

  • 由8比特构成,在实际中它是指可以中转多少个路由器的意思;每经过一个路由器,TTL会减少1,直到变为0则丢弃该包
  • 一个包的中转路由的次数不会超过 256 ( 2 8 ) 256(2^8) 256(28)次,由此可以避免IP包在网络内无限传递的问题

协议(Protocol)

  • 由8比特构成,表示的是IP包传输层的上层协议编号

首部校验和(Header Checksum)

  • 由16比特构成,也叫IP首部校验和

  • 该字段只校验数据报的首部,不校验数据部分

  • 主要用来确保IP数据报不被破坏

  • 校验和的计算过程:

    • 首先要将该校验和的所有位置设置为0,然后以16比特为单位划分IP首部,并用1补数计算所有16位字的和,最后将所得这个和的1补数赋给首部校验和字段

源地址(Source Address)

  • 由32比特构成,表示发送端IP地址

目标地址(Destination Address)

  • 由32比特构成,表示接收端IP地址

可选项(Options)

  • 长度可变,通常只在进行实验或诊断时使用,该字段包含如下几点信息:
    • 安全级别
    • 源路径
    • 路径记录
    • 时间戳

填充(Padding)

  • 也称作填充物,通过向字段填充0,调整为32比特的整数倍

数据(Data)

  • 存入数据,将IP上层协议的首部也作为数据进行处理

你可能感兴趣的:(计算机网络,网络协议)