网络通信 频道

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

  表1、Next Header 字段值

值(十进制) 包头
0 Hop-by-Hop选项(扩展包头)
6 TCP
17 UDP
41 经过封装的IPv6包头 43 路由(扩展包头) 44 分段(扩展包头) 46 资源预约协议 50 ESP协议(扩展包头)
43 路由(扩展包头)
44 ICMPv6
59 分段(扩展包头
46 资源预约协议
50 ESP协议(扩展包头)
51 认证(扩展包头)
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协议包头 提供加密服务。

 

转载地址:http://www.voipchina.cn/technology/2004-03-21/36758.shtml

0
相关文章