ipv6操作方法
发布时间:2013-05-06 浏览次数:

IPv6包由IPv6包头(40字节固定长度)、扩展包头和上层协议数据单元三部分组成。

IPv6包扩展包头中的分段包头(下文详述)中指明了IPv6包的分段情况。其中不可分段部分包括:IPv6包头、Hop-by-Hop选项包头、目的地选项包头(适用于中转路由器)和路由包头;可分段部分包括:认证包头、ESP协议包头、目的地选项包头(适用于最终目的地)和上层协议数据单元。但是需要注意的是,在IPv6中,只有源节点才能对负载进行分段,并且IPv6超大包不能使用该项服务。

下文还将简述IPv6寻址路由以及自动配置的相关内容。

包头

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

其中的各个字段分别为:

Version版本号):4位,IP协议版本号,值= 6。Traffic Class(通信类别):8位,指示IPv6数据流通信类别或优先级。功能类似于IPv4的服务类型(TOS)字段。

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

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

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

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

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

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

流标签

RFC2460对IPv6流标签的特征进行了说明:

(1) 一对源和目的之间有可能有多个激活的流,也可能有不属于任何一个流的流量,一个流流由源地址和流标签的组合唯一确定。

(2) 所携带的流标签值为 0 的数据包不属于任何一个流。

(3)需要发送流的源节点赋给其流标签特定的值。流标签是一个随机数,目的是使所产生的流标签都能作为哈希关键字。对那些不支持流标签处理的设备节点和应用把流标签值赋值为 0,或者不对该字段处理。

(4) 一个流那些的所有数据包产生时必须具有相同的属性,包括源地址、目的地址、非 0 的流标签。

(5)如果其中任何一个数据包包含逐跳选项报头,那么流的每一个包都必须包含相同的逐跳选项报头(逐跳选项报头的下一个报头字段除外)。

(6)流路径中流处理状态的最大生命周期要在状态建立机制中说明。

(7)当一个结点重启时例如死机后的回复运行,必须小心使用流标签,因为该流标签有可能在前面扔处于最大生存周期内的的流中使用。

(8)不要求所有或至少大多数数据包属于某一个流,即都携带有非 0 的流标签[7]

扩展包头

IPv6包头设计中对原IPv4包头所做的一项重要改进就是将所有可选字段移出IPv6包头,置于扩展头中。由于除Hop-by-Hop选项扩展头外,其他扩展头不受中转路由器检查或处理,这样就能提高路由器处理包含选项的IPv6分组的性能。

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

目前,RFC 2460中定义了以下6个IPv6扩展头:Hop-by-Hop(逐个跳段)选项包头、目的地选项包头、

 

IPv6包头结构

路由包头、分段包头、认证包头和ESP协议包头:

(一)Hop-by-Hop选项包头包含分组传送过程中,每个路由器都必须检查和处理的特殊参数选项。其中的选项描述一个分组的某些特性或用于提供填充。这些选项有:

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

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

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

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

(二)目的地选项包头指名需要被中间目的地或最终目的地检查的信息。有两种用法:

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

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

(三)路由包头

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

(四)分段包头

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

(五)认证包头

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

(六)ESP协议包头

提供加密服务。

数据包

IPv6数据包:上层协议数据单元。上层数据单元即PDU,全称为Protocol Data Unit。

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

网络管理

[8]IPv6中有足够的地址为地球上每一平方英寸的地方分配一个独一无二的IP地址。虽然这实际上能够使你能想到的任何设备都分配一个IP地址,但是,这对于管理地址分配的管理员来说却是一个恶梦。幸运的是IPv6包含一种“节点自动配置功能。这实际上是在所有的IPv6网络中替代DHCP(动态主机配置协议)和ARP(地址解析协议)的下一代技术,能够让你不进行任何设置就可以把新设备连接到网络。如果你更换了ISP(因此被分配一个不同的全球路由前缀),这个功能可以使你的网络重新分配IP地址的过程更简单,因为你所要做的一切只是改变你的路由器的设置,你的网络将重新获得一个使用新的前缀的新地址。这将减少网络管理的巨大负担。

随着IPv6功能的增加,又出现一些潜在的管理问题。IPv6本身提供了安全支持功能,这种功能称作“IPsec”。根据VPN建立的方式,加密也许包括也许不包括某些头信息。VPN可以减少客户机和服务器之间通信管理的工作量。管理端点(IKE,互连网密钥交换)之间的安全策略也是很复杂的,如果你要亲自做这项工作的话。这是基于IPsec和VPN提供的主要功能之一。当然,IPsec可以很强大,但是,在某些远程接入的情况下是很脆弱的,例如使用一个移动设备访问一个企业网络。IT部门要提供这种服务将进一步增加管理的负担。