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 字段值表

        

style="BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; BORDER-LEFT: medium none; BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN-LEFT: 42pt; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt">

值(十进制)

包头

0

Hop-by-Hop选项(扩展包头)

6

TCP

17

UDP

41

经过封装的IPv6包头

43

路由(扩展包头)

44

分段(扩展包头)

46

资源预约协议

50

ESP协议(扩展包头)

51

认证(扩展包头)

58

ICMPv6

59

无下一包头

60

目的地选项(扩展包头)

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协议包头

提供加密服务。 (谢杨)

摘自《中国数据通信网》


微信扫描分享本文到朋友圈
扫码关注5G通信官方公众号,免费领取以下5G精品资料

本周热点本月热点

 

  最热通信招聘

  最新招聘信息

最新技术文章

最新论坛贴子