新闻  |   论坛  |   博客  |   在线研讨会
IPv6包头
lulu888 | 2009-05-24 14:36:46    阅读:1187   发布文章

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

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

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客