IPv6包头


IPv6包头对IPv4包头做了部分改进,去掉了一些不必要或很少用的字段,增加了部分能更好提供实时支持的字段。  

IPv6包结构

IPv6包由IPv6包头、扩展包头和上层协议数据单元三部分组成,见图1。

图1、IPv6包结构

 

 ·IPv6包头 

 40字节固定长度,在本文的稍后部分将有详细论述。

 

 ·扩展包头 

 IPv6包头设计中对原IPv4包头所做的一项重要改进就是将所有可选字段移出IPv6包头,置于扩展头中。由于大多数IPv6扩展头不受中转路由器检查,因此改进后的IPv6包头可以提高路由器转发效率。

 

 IPv6扩展头可以没有,也可以有一个或多个。IPv6所做的另一个改进之处是:与IPv4选项不同,IPv6扩展头长度不固定,便于日后扩充新增选项,这一特征加上选项的处理方式使得IPv6选项能得以真正的利用。

 

 ·上层协议数据单元PDU)

 PDU由传输头及其负载如ICMPv6消息、或UDP消息等)组成。而IPv6包有效负载则包括IPv6扩展头和PDU,通常所能允许的最大字节数为65,535字节,大于该字节数的负载可通过使用扩展头中的Jumbo Payload选项进行发送。

 

 IPv6包头

 图2、IPv6包头格式

IPv6包头长度固定为40字节,去掉了IPv4中一切可选项,只包括8个必要的字段,因此尽管IPv6地址长度为IPv4的四倍,IPv6包头长度仅为IPv4包头长度的两倍。

Version版本号):4位,IP协议版本号,值= 6。

Traffice Class通信类别):8位,指示IPv6数据流通信类别或优先级。功能类似于IPv4的服务类型TOS)字段。  

Flow Label流标记):20位,IPv6新增字段,标记需要IPv6路由器特殊处理的数据流。该字段用于某些对连接的服务质量有特殊要求的通信,诸如音频或视频等实时数据传输。在IPv6中,同一信源和信宿之间可以有多种不同的数据流,彼此之间以非“0”流标记区分。如果不要求路由器做特殊处理,则该字段值置为“0”。

Payload Length负载长度):16位负载长度。负载长度包括扩展头和上层PDU,16位最多可表示65,535字节负载长度。超过这一字节数的负载,该字段值置为“0”,使用扩展头逐个跳段Hop-by-Hop)选项中的巨量负载Jumbo Payload)选项。

Next Header下一包头):8位,识别紧跟IPv6头后的包头类型,如扩展头有的话)或某个传输层协议头诸如TCP,UDP或着ICMPv6)。 

Hop Limit跳段数限制):8位,类似于IPv4的TTL生命期)字段。与IPv4用时间来限定包的生命期不同,IPv6用包在路由器之间的转发次数来限定包的生命期。包每经过一次转发,该字段减1,减到0时就把这个包丢弃。

Source Address源地址):128位,发送方主机地址。  

Destination Address目的地址):128位,在大多数情况下,目的地址即信宿地址。但如果存在路由扩展头的话,目的地址可能是发送方路由表中下一个路由器接口。

 

 附:常用的Next Header 字段值表

 

IPv6扩展包头

IPv6将所有的可选项都移出IPv6包头,置于扩展头中。由于除Hop-by-Hop选项扩展头外,其他扩展头不受中转路由器检查或处理,这样就能提高路由器处理包含选项的IPv6分组的性能。

通常,一个典型的IPv6包,没有扩展头。仅当需要路由器或目的节点做某些特殊处理时,才由发送方添加一个或多个扩展头。与IPv4不同,IPv6扩展头长度任意,不受40字节限制,但是为了提高处理选项头和传输层协议的性能,扩展头总是8字节长度的整数倍。

目前,RFC 2460中定义了以下6个IPv6扩展头:Hop-by-Hop逐个跳段)选项包头、目的地选项包头、路由包头、分段包头、认证包头和ESP协议包头。

 1)Hop-by-Hop选项包头

 包含分组传送过程中,每个路由器都必须检查和处理的特殊参数选项。

 

 Hop-by-Hop选项包头中的选项描述一个分组的某些特性或用于提供填充。这些选项有:

 ·Pad1选项选项类型为0),填充单字节。

 ·PadN选项选项类型为1),填充2个以上字节。

 ·Jumbo Payload选项选项类型为194),用于传送超大分组。使用Jumbo Payload选项,分组有效载荷长度最大可达4,294,967,295字节。负载长度超过65,535字节的IPv6包称为“超大包”。

 ·路由器警告选项选项类型为5),提醒路由器分组内容需要做特殊处理。路由器警告选项用于组播收听者发现和RSVP资源预定)协议。

 2)目的地选项包头

 需要被中间目的地或最终目的地检查的信息。有两种用法:

 ·如果存在路由扩展头,则每一个中转路由器都要处理这些选项。

 ·如果没有路由扩展头,则只有最终目的节点需要处理这些选项。

 3)路由包头

 类似于IPv4的松散源路由。IPv6的源节点可以利用路由扩展包头指定一个松散源路由,即分组从信源到信宿需要经过的中转路由器列表。

 4)分段包头

 提供分段和重装服务。当分组大于链路最大传输单元MTU)时,源节点负责对分组进行分段,并在分段扩展包头中提供重装信息。

 IPv6包的不可分段部分包括:IPv6包头、Hop-by-Hop选项包头、目的地选项包头适用于中转路由器)和路由包头。IPv6包的可分段部分包括:认证包头、ESP协议包头、目的地选项包头适用于最终目的地)和上层协议数据单元PDU。

 注:a、在IPv6中,只有源节点才能对负载进行分段。 b、IPv6超大包不能使用该项服务。

 5)认证包头

 提供数据源认证、数据完整性检查和反重播保护。认证包头不提供数据加密服务,需要加密服务的数据包,可以结合使用ESP协议。

 6)ESP协议包头

 提供加密服务。


相关内容