计算机网络 IPV4及IPV6首部

时间:2024-05-20 10:11:20

目录

IPV4首部

IPV4-版本

IPV4-首部长度

IPV4-区分服务

IPV4-DSCP段与ECN段

IPV4-总长度

IPV4-标识

IPV4-标志

IPV4-片偏移

IPV4-生存时间

IPV4-协议

IPV4-首部校验和

IPV4-源地址

IPV4-目标地址

IPV4-可选项

IPV4-填充

IPV4-数据

IPV6首部

IPV6-版本

IPV6-通信量类

IPV6-流标号

IPV6-有效载荷长度

IPV6-下一个首部

IPV6-跳数限制

IPV6-源地址

IPV6-目标地址

IPV6-扩展首部


IPV4首部

通过IP进行通信时,需要在数据的前面加人IP首部信息。IP首部中包含着 用于IP协议进行发包控制时所有的必要信息。了解首部的结构,也就能够对 IP所提供的功能有一个详细的把握。

计算机网络 IPV4及IPV6首部

IPV4-版本

由4比特构成,表示标识IP首部的版本号。IPv4的版本号即为4, 因此在这 个字段上的值也是"4"。

计算机网络 IPV4及IPV6首部

IPV4-首部长度

由4比特构成,表明IP首部的大小,单位为4字节(32比特)。对于没有可 选项的IP包,首部长度则设置为"5"。

也就是说,当没有可选项时,IP首部的 长度为20字节(4x5 =20)

IPV4-区分服务

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

计算机网络 IPV4及IPV6首部

这个值通常由应用指定。而且现在也鼓励这种结合应用的特性设定TOS的方 法。然而在目前,几乎所有的网络都无视这些字段。这不仅仅是因为在符合质量 要求的情况下按其要求发送本身的功能实现起来十分困难,还因为若不符合质量 要求就可能会产生不公平的现象。因此,实现TOS控制变得极其复杂。这也导致 TOS整个互联网几乎就没有被投入使用。不过已有人提出将TOS字段本身再划分 为DSCP和ECN两个字段的建议。

IPV4-DSCP段与ECN段

计算机网络 IPV4及IPV6首部

DSCP (Differential Services Codepoint, 差分服务代码点)是TOS (Type Of Service)的一部分。现在统称为DiffServ , 用来进行质量控制。

如果3-5位的值为0, 0-2位则被称作类别选择代码点。这样就可以像TOS 的优先度那样提供8种类型的质量控级别。对于每一种级别所采取的措施则由提 供DiffServ的运营管理者制定。为了与TOS保持一致,值越大优先度也越高。如 果第5位为1, 表示实验或本地使用的意思。

ECN (Explicit Congestion Notification, 显式拥塞通告)用来报告网络拥堵情 况,由两个比特构成。

计算机网络 IPV4及IPV6首部

第6位的ECT用以通告上层TCP层协议是否处理ECN,当路由器在转发ECN为1的包的过程中,如果出现网络拥堵的情况,就将CE位设置为1。

IPV4-总长度

表示IP首部与数据部分合起来的总字节数。该字段长16比特。因此IP包的 最大长度为65535 (= 2^16)字节。

目前还不存在能够传输最大长度为65535字节的IP包的数据 链路。不过,由于有IP分片处理,从IP的上一层的角度看,不论底层采用何种 数据链路,都可以认为能够以IP的最大包长传输数据。

IPV4-标识

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

IPV4-标志

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

计算机网络 IPV4及IPV6首部

IPV4-片偏移

由13比特构成,用来标识被分片的每一个分段相对于原始数据的位置。第一 个分片对应的值为0。

由于占13位,因此最多可以表示8192 (= 2^13)个相 对位置。单位为8字节,因此最大可表示原始数据8x8192=65536字节的位置。

IPV4-生存时间

由8比特构成,它最初的意思是以秒为单位记录当前包在网络上应该生存的·期限。

然而,在实际中它是指可以中转多少个路由器的意思。每经过一个路由器, TTL会减少1,直到变成0则丢弃该包。

IPV4-协议

由8比特构成,表示IP首部的下一个首部隶属于哪个协议。目前常使用的协议如表,已经分配相应的协议编号。

计算机网络 IPV4及IPV6首部

计算机网络 IPV4及IPV6首部

IPV4-首部校验和

由16比特(2个字节)构成,也叫IP首部校验和。

该字段只校验数据报的 首部,不校验数据部分。它主要用来确保IP数据报不被破坏。

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

IPV4-源地址

由32比特(4个字节)构成,表示发送端IP地址。

IPV4-目标地址

由32比特(4个字节)构成,表示接收端IP地址。

IPV4-可选项

长度可变,通常只在进行实验或诊断时使用。该字段包含如下几点信息:

  • 安全级别
  • 源路径
  • 路径记录
  • 时间截

IPV4-填充

也称作填补物。在有可选项的情况下,首部长度可能不是32比特的整数倍。

为此,通过向字段填充0, 调整为32比特的整数倍。

IPV4-数据

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

 

 

IPV6首部

IPv6的IP数据首部格式如图。相比IPv4, 已经发生了巨大变化。

IPv6中为了减轻路由器的负担,省略了首部校验和字段,因此路由器不再 需要计算校验和,从而也提高了包的转发效率。

此外,分片处理所用的识别码成为可选项。为了让64位CPU的计算机处理 起来更方便,IPv6的首部及可选项都由8字节构成。

计算机网络 IPV4及IPV6首部

IPV6-版本

与IPv4一样,由4比特构成。IPv6其版本号为6,因此在这个字段上的值为 "6"

IPV6-通信量类

相当于1Pv4的TOS (Type Of Service)字段,也由8比特构成。由于TOS在 1Pv4中几乎没有什么建树,未能成为卓有成效的技术,本来计划在1Pv6中删掉这 个字段。不过,出于今后研究的考虑还是保留了该字段。

IPV6-流标号

由20比特构成,准备用于服务质量(QoS : Quality Of Service) 控制。使用 这个字段提供怎样的服务已经成为未来研究的课题。不使用QoS时每一位可以全 部设置为0。

在进行服务质量控制时,将流标号设置为一个随机数,然后利用一种可以设 置流的协议RSVE(Resource Reservation E'rotocol) T在路由器上进行QoS设置。当 某个包在发送途中需要QoS时,需要附上RSVE预想的流标号。路由器接收到这 样的IE包后先将流标号作为查找关键字,迅速从服务质量控制信息中查找并做相 应处理。

此外,只有流标号、源地址以及目标地址三项完全一致时,才被认为是一 个流。

IPV6-有效载荷长度

有效载荷是指包的数据部分。IPv4的TL (Total Length)是指包括首部在内的 所有长度。然而IPv6中的这个Playload Length不包括首部,只表示数据部分的长 度。由于IPv6的可选项是指连接IPv6首部的数据,因此当有可选项时,此处包 含可选项数据的所有长度就是Playload Length。

IPV6-下一个首部

相当于IPv4中的协议字段。由8比特构成。通常表示IP的上一层协议是TCP 或UDP。不过在有IPv6扩展首部的情况下,该字段表示后面第一个扩展首部的协 议类型。

IPV6-跳数限制

由8比特构成。与IPv4中的TTL意思相同。为了强调”可通过路由器个数” 这个概念,才将名字改成了"Hop Limit"。

数据每经过一次路由器就减1减到0 则丢弃数据。

IPV6-源地址

由128比特(8个16位字节)构成。表示发送端IP地址

IPV6-目标地址

由128比特(8个16位字节)构成。表示接收端IP地址。

IPV6-扩展首部

IPv6的首部长度固定,无法将可选项加人其中。取而代之的是通过扩展首部 对功能进行了有效扩展。

扩展首部通常介于IPv6首部与TCP/UDP首部中间。在IPv4中可选项长度固 定为40字节,但是在IPv6中没有这样的限制。也就是说,IPv6的扩展首部可以 是任意长度扩展首部当中还可以包含扩展首部协议以及下一个扩展首部字段。

IPv6首部中没有标识以及标志字段,在需要对IP数据报进行分片时,可以使 用扩展首部。

计算机网络 IPV4及IPV6首部

具体的扩展首部如表所示。当需要对IPv6的数据报进行分片时,可以设 置为扩展域为44 (Fragemant Header)。使用IPsec时,可以使用50、51的ESP、 AH。Mobile IPv6的情况下可以采用60与135的目标地址选项与移动首部。

计算机网络 IPV4及IPV6首部