定义
IPv6是Internet Protocol Version 6的缩写,其中Internet Protocol译为“互联网协议”。
IPv6是IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议。
目前的全球因特网所采用的协议族是TCP/IP协议族。IP是TCP/IP协议族中网络层的协议,是TCP/IP协议族的核心协议。
目前IP协议的版本号是4(简称为IPv4),它的下一个版本就是IPv6。IPv6正处在不断发展和完善的过程中,它在不久的将来将取代目前被广泛使用的IPv4。每个人将拥有更多IP地址。
概述
目前我们使用的第二代互联网IPv4技术,核心技术属于美国。它的最大问题是网络地址资源有限,从理论上讲,编址1600万个网络、40亿台主机。但采用A、B、C三类编址方式后,可用的网络地址和主机地址的数目大打折扣,以至目前的IP地址近乎枯竭。其中北美占有3/4,约30亿个,而人口最多的亚洲只有不到4亿个,中国只有3千多万个,只相当于美国麻省理工学院的数量。地址不足,严重地制约了我国及其他国家互联网的应用和发展。
一方面是地址资源数量的限制,另一方面是随着电子技术及网络技术的发展,计算机网络将进入人们的日常生活,可能身边的每一样东西都需要连入全球因特网。在这样的环境下,IPv6应运而生。单从数字上来说,IPv6所拥有的地址容量是IPv4的约8×10^28倍,达到2^128-1个。这不但解决了网络地址资源数量的问题,同时也为除电脑外的设备连入互联网在数量限制上扫清了障碍。
但是与IPv4一样,IPv6一样会造成大量的IP地址浪费。准确的说,使用IPv6的网络并没有2^128-1个能充分利用的地址。首先,要实现IP地址的自动配置,局域网所使用的子网的前缀必须等于64,但是很少有一个局域网能容纳2^64个网络终端;其次,由于IPv6的地址分配必须遵循聚类的原则,地址的浪费在所难免。
但是,如果说IPv4实现的只是人机对话,而IPv6则扩展到任意事物之间的对话,它不仅可以为人类服务,还将服务于众多硬件设备,如家用电器、传感器、远程照相机、汽车等,它将是无时不在,无处不在的深入社会每个角落的真正的宽带网。而且它所带来的经济效益将非常巨大。
当然,IPv6并非十全十美、一劳永逸,不可能解决所有问题。IPv6只能在发展中不断完善,也不可能在一夜之间发生,过渡需要时间和成本,但从长远看,IPv6有利于互联网的持续和长久发展。 目前,国际互联网组织已经决定成立两个专门工作组,制定相应的国际标准。
优势
与IPV4相比,IPV6具有以下几个优势:
一,IPv6具有更大的地址空间。IPv4中规定IP地址长度为32,即有2^32-1(符号^表示升幂,下同)个地址;而IPv6中IP地址的长度为128,即有2^128-1个地址。
二,IPv6使用更小的路由表。IPv6的地址分配一开始就遵循聚类(Aggregation)的原则,这使得路由器能在路由表中用一条记录(Entry)表示一片子网,大大减小了路由器中路由表的长度,提高了路由器转发数据包的速度。
三,IPv6增加了增强的组播(Multicast)支持以及对流的支持(Flow Control),这使得网络上的多媒体应用有了长足发展的机会,为服务质量(QoS,Quality of Service)控制提供了良好的网络平台。
四,IPv6加入了对自动配置(Auto Configuration)的支持。这是对DHCP协议的改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷。
五,IPv6具有更高的安全性。在使用IPv6网络中用户可以对网络层的数据进行加密并对IP报文进行校验,极大的增强了网络的安全性。
技术信息概述
IPv6包由IPv6包头(40字节固定长度)、扩展包头和上层协议数据单元三部分组成。
IPv6包扩展包头中的分段包头(下文详述)中指名了IPv6包的分段情况。其中不可分段部分包括:IPv6包头、Hop-by-Hop选项包头、目的地选项包头(适用于中转路由器)和路由包头;可分段部分包括:认证包头、ESP协议包头、目的地选项包头(适用于最终目的地)和上层协议数据单元。但是需要注意的是,在IPv6中,只有源节点才能对负载进行分段,并且IPv6超大包不能使用该项服务。
下文还将简述IPv6寻址、路由以及自动配置的相关内容。
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位最多可表示65535字节负载长度。超过这一字节数的负载,该字段值置为“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位,在大多数情况下,目的地址即信宿地址。但如果存在路由扩展头的话,目的地址可能是发送方路由表中下一个路由器接口。
IPv6数据包:扩展包头
IPv6包头设计中对原IPv4包头所做的一项重要改进就是将所有可选字段移出IPv6包头,置于扩展头中。由于除Hop-by-Hop选项扩展头外,其他扩展头不受中转路由器检查或处理,这样就能提高路由器处理包含选项的IPv6分组的性能。
通常,一个典型的IPv6包,没有扩展头。仅当需要路由器或目的节点做某些特殊处理时,才由发送方添加一个或多个扩展头。与IPv4不同,IPv6扩展头长度任意,不受40字节限制,以便于日后扩充新增选项,这一特征加上选项的处理方式使得IPv6选项能得以真正的利用。 但是为了提高处理选项头和传输层协议的性能,扩展头总是8字节长度的整数倍。
目前,RFC 2460中定义了以下6个IPv6扩展头:Hop-by-Hop(逐个跳段)选项包头、目的地选项包头、路由包头、分段包头、认证包头和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(见上文)选项进行发送。
IPv6技术对管理网络应用程序的影响
IPv6中有足够的地址为地球上每一平方英寸的地方分配一个独一无二的IP地址。虽然这实际上能够使你能想到的任何设备都分配一个IP地址,但是,这对于管理地址分配的管理员来说却是一个恶梦。幸运的是IPv6包含一种“节点自动配置”功能。这实际上是在所有的IPv6网络中替代DHCP(动态主机配置协议)和ARP(地址解析协议)的下一代技术,能够让你不进行任何设置就可以把新设备连接到网络。如果你更换了ISP(因此被分配一个不同的全球路由前缀),这个功能可以使你的网络重新分配IP地址的过程更简单,因为你所要做的一切只是改变你的路由器的设置,你的网络将重新获得一个使用新的前缀的新地址。这将减少网络管理的巨大负担。
随着IPv6功能的增加,又出现一些潜在的管理问题。IPv6本身提供了安全支持功能,这种功能称作“IPsec”。根据VPN建立的方式,加密也许包括也许不包括某些头信息。VPN可以减少客户机和服务器之间通信管理的工作量。管理端点(IKE,互连网密钥交换)之间的安全策略也是很复杂的,如果你要亲自做这项工作的话。这是基于IPsec和VPN提供的主要功能之一。当然,IPsec可以很强大,但是,在某些远程接入的情况下是很脆弱的,例如使用一个移动设备访问一个企业网络。IT部门要提供这种服务将进一步增加管理的负担。
IPv6 编址
从IPv4到IPv6最显著的变化就是网络地址的长度。RFC 2373 和RFC 2374定义的IPv6地址,就像下面章节所描述的,有128位长;IPv6地址的表达形式一般采用32个十六进制数。
IPv6中可能的地址有2 ≈ 3.4×10个。也可以想象为16个因为32位地址每位可以取16个不同的值。
在很多场合,IPv6地址由两个逻辑部分组成:一个64位的网络前缀和一个64位的主机地址,主机地址通常根据物理地址自动生成,叫做EUI-64(或者64-位扩展唯一标识)。
IPv6寻址
在 Internet 协议版本 6 (IPv6) 中,地址的长度是 128 位。地址空间如此大的一个原因是将可用地址细分为反映 Internet 的拓扑的路由域的层次结构。另一个原因是映射将设备连接到网络的网络适配器(或接口)的地址。IPv6 提供了内在的功能,可以在其最低层(在网络接口层)解析地址,并且还具有自动配置功能。
文本表示形式
以下是用来将 IPv6 地址表示为文本字符串的三种常规形式:
(一)冒号十六进制形式。
这是首选形式 n:n:n:n:n:n:n:n。每个 n 都表示八个 16 位地址元素之一的十六进制值。例如:
3FFE:FFFF:7654:FEDA:1245:BA98:3210:4562.
(二)压缩形式。
由于地址长度要求,地址包含由零组成的长字符串的情况十分常见。为了简化对这些地址的写入,可以使用压缩形式,在这一压缩形式中,多个 0 块的单个连续序列由双冒号符号 (::) 表示。此符号只能在地址中出现一次。例如,多路广播地址 FFED:0:0:0:0:BA98:3210:4562 的压缩形式为 FFED::BA98:3210:4562。单播地址 3FFE:FFFF:0:0:8:800:20C4:0 的压缩形式为 3FFE:FFFF::8:800:20C4:0。环回地址 0:0:0:0:0:0:0:1 的压缩形式为 ::1。未指定的地址 0:0:0:0:0:0:0:0 的压缩形式为 ::。
(三)混合形式。
此形式组合 IPv4 和 IPv6 地址。在此情况下,地址格式为 n:n:n:n:n:n:d.d.d.d,其中每个 n 都表示六个 IPv6 高序位 16 位地址元素之一的十六进制值,每个 d 都表示 IPv4 地址的十进制值。
地址类型
地址中的前导位定义特定的 IPv6 地址类型。包含这些前导位的变长字段称作格式前缀 (FP)。
IPv6 单播地址被划分为两部分。第一部分包含地址前缀,第二部分包含接口标识符。表示 IPv6 地址/前缀组合的简明方式如下所示:ipv6 地址/前缀长度。
以下是具有 64 位前缀的地址的示例。
3FFE:FFFF:0:CD30:0:0:0:0/64.
此示例中的前缀是 3FFE:FFFF:0:CD30。该地址还可以以压缩形式写入,如 3FFE:FFFF:0:CD30::/64。
IPv6 定义以下地址类型:
单播地址。用于单个接口的标识符。发送到此地址的数据包被传递给标识的接口。通过高序位八位字节的值来将单播地址与多路广播地址区分开来。多路广播地址的高序列八位字节具有十六进制值 FF。此八位字节的任何其他值都标识单播地址。
以下是不同类型的单播地址:
链路-本地地址。这些地址用于单个链路并且具有以下形式:FE80::InterfaceID。链路-本地地址用在链路上的各节点之间,用于自动地址配置、邻居发现或未提供路由器的情况。链路-本地地址主要用于启动时以及系统尚未获取较大范围的地址之时。
站点-本地地址。这些地址用于单个站点并具有以下格式:FEC0::SubnetID:InterfaceID。站点-本地地址用于不需要全局前缀的站点内的寻址。
全局 IPv6 单播地址。这些地址可用在 Internet 上并具有以下格式:010(FP,3 位)TLA ID(13 位)Reserved(8 位)NLA ID(24 位)SLA ID(16 位)InterfaceID(64 位)。
多路广播地址。一组接口的标识符(通常属于不同的节点)。发送到此地址的数据包被传递给该地址标识的所有接口。多路广播地址类型代替 IPv4 广播地址。
任一广播地址。一组接口的标识符(通常属于不同的节点)。发送到此地址的数据包被传递给该地址标识的唯一一个接口。这是按路由标准标识的最近的接口。任一广播地址取自单播地址空间,而且在语法上不能与其他地址区别开来。寻址的接口依据其配置确定单播和任一广播地址之间的差别。
通常,节点始终具有链路-本地地址。它可以具有站点-本地地址和一个或多个全局地址。
IPv6路由
IPv6 的优点之一就是提供灵活的路由机制。由于分配 IPv4 网络 ID 所用的方式,要求位于 Internet 中枢上的路由器维护大型路由表。这些路由器必须知道所有的路由,以便转发可能定向到 Internet 上的任何节点的数据包。通过其聚合地址能力,IPv6 支持灵活的寻址方式,大大减小了路由表的规模。在这一新的寻址结构中,中间路由器必须只跟踪其网络的本地部分,以便适当地转发消息。
邻居发现
邻居发现提供以下一些功能:
路由器发现。这允许主机标识本地路由器。
地址解析。这允许节点为相应的下一跃点地址解析链路层地址(替代地址解析协议 [ARP])。
地址自动配置。这允许主机自动配置站点-本地地址和全局地址。
邻居发现将 Internet 控制消息协议用于 IPv6 (ICMPv6) 消息,这些消息包括:
路由器广告。在伪定期的基础上或响应路由器请求由路由器发送。IPv6 路由器使用路由器广告来公布其可用性、地址前缀和其他参数。
路由器请求。由主机发送,用于请求链路上的路由器立即发送路由器广告。
邻居请求。由节点发送,以用于地址解析、重复地址检测,或用于确认邻居是否仍可访问。
邻居广告。由节点发送,以响应邻居请求或通知邻居链路层地址中发生了更改。
重定向。由路由器发送,从而为某一发送节点指示指向特定目标的更好的下一跃点地址。
IPv6自动配置
IPv6 的一个重要目标是支持节点即插即用。也就是说,应该能够将节点插入 IPv6 网络并且不需要任何人为干预即可自动配置它。
自动配置的类型
IPv6 支持以下类型的自动配置:
全状态自动配置。此类型的配置需要某种程度的人为干预,因为它需要动态主机配置协议来用于 IPv6 (DHCPv6) 服务器,以便用于节点的安装和管理。DHCPv6 服务器保留它为之提供配置信息的节点的列表。它还维护状态信息,以便服务器知道每个在使用中的地址的使用时间长度以及该地址何时可供重新分配。
无状态自动配置。此类型配置适合于小型组织和个体。在此情况下,每一主机根据接收的路由器广告的内容确定其地址。通过使用 IEEE EUI-64 标准来定义地址的网络 ID 部分,可以合理假定该主机地址在链路上是唯一的。
不管地址是采用何种方式确定的,节点都必须确认其可能地址对于本地链路是唯一的。这是通过将邻居请求消息发送到可能的地址来实现的。如果节点接收到任何响应,它就知道该地址已在使用中并且必须确定其他地址。
IPv6 移动性
移动设备的迅速普及带来了一项新的要求:设备必须能够在 IPv6 Internet 上随意更改位置但仍维持现有连接。为提供此功能,需要给移动节点分配一个本地地址,通过此地址总可以访问到它。在移动节点位于本地时,它连接到本地链路并使用其本地地址。在移动节点远离本地时,本地代理(通常是路由器)在该移动节点和正与其进行通信的节点之间传递消息。
IPv6的安全性问题
现实Internet上的各种攻击、黑客、网络蠕虫病毒弄得网民人人自危,每天上网开了实时防病毒程序还不够,还要继续使用个人防火墙,打开实时防木马程序才敢上网冲浪。诸多人把这些都归咎于IPv4网络。现在IPv6来了,它设计的时候充分研究了以前IPv4的各种问题,在安全性上得到了大大的提高。但是是不是IPv6就没有安全问题了?答案是否定的。
目前,病毒和互联网蠕虫是最让人头疼的网络攻击行为。但这种传播方式在IPv6的网络中就不再适用了,因为IPv6的地址空间实在是太大了,如果这些病毒或者蠕虫还想通过扫描地址段的方式来找到有可乘之机的其他主机,就犹如大海捞针。在IPv6的世界中,对IPv6网络进行类似IPv4的按照IP地址段进行网络侦察是不可能了。
所以,在IPv6的世界里,病毒、互联网蠕虫的传播将变得非常困难。但是,基于应用层的病毒和互联网蠕虫是一定会存在的,电子邮件的病毒还是会继续传播。此外,还需要注意IPv6网络中的关键主机的安全。IPv6中的组发地址定义方式给攻击者带来了一些机会。例如,IPv6地址FF05::3是所有的DHCP服务器,就是说,如果向这个地址发布一个IPv6报文,这个报文可以到达网络中所有的DHCP服务器,所以可能会出现一些专门攻击这些服务器的拒绝服务攻击。
IPv4到IPv6的过渡技术
另外,不管是IPv4还是IPv6,都需要使用DNS,IPv6网络中的DNS服务器就是一个容易被黑客看中的关键主机。也就是说,虽然无法对整个网络进行系统的网络侦察,但在每个IPv6的网络中,总有那么几台主机是大家都知道网络名字的,也可以对这些主机进行攻击。而且,因为IPv6的地址空间实在是太大了,很多IPv6的网络都会使用动态的DNS服务。而如果攻击者可以攻占这台动态DNS服务器,就可以得到大量的在线IPv6的主机地址。另外,因为IPv6的地址是128位,很不好记,网络管理员可能会常常使用一下好记的IPv6地址,这些好记的IPv6地址可能会被编辑成一个类似字典的东西,病毒找到IPv6主机的可能性小,但猜到IPv6主机的可能性会大一些。而且由于IPv6和IPv4要共存相当长一段时间,很多网络管理员会把IPv4的地址放到IPv6地址的后32位中,黑客也可能按照这个方法来猜测可能的在线IPv6地址。所以,对于关键主机的安全需要特别重视,不然黑客就会从这里入手从而进入整个网络。所以,网络管理员在对主机赋予IPv6地址时,不应该使用好记的地址,也要尽量对自己网络中的IPv6地址进行随机化,这样会在很大程度上减少这些主机被黑客发现的机会。
以下这些网络攻击技术,不管是在IPv4还是在IPv6的网络中都存在,需要引起高度的重视:报文侦听,虽然IPv6提供了IPSEC最为保护报文的工具,但由于公匙和密匙的问题,在没有配置IPsec的情况下,偷看IPv6的报文仍然是可能的;应用层的攻击,显而易见,任何针对应用层,如WEB服务器,数据库服务器等的攻击都将仍然有效;中间人攻击,虽然IPv6提供了IPsec,还是有可能会遭到中间人的攻击,所以应尽量使用正常的模式来交换密匙;洪水攻击,不论在IPv4还是在IPv6的网络中,向被攻击的主机发布大量的网络流量的攻击将是会一直存在的,虽然在IPv6中,追溯攻击的源头要比在IPv4中容易一些。
IPv4到IPv6的过渡技术
由于Internet的规模以及目前网络中数量庞大的IPv4用户和设备,IPv4到v6的过渡不可能一次性实现。而且,目前许多企业和用户的日常工作越来越依赖于Internet,它们无法容忍在协议过渡过程中出现的问题。所以IPv4到v6的过渡必须是一个循序渐进的过程,在体验IPv6带来的好处的同时仍能与网络中其余的IPv4用户通信。能否顺利地实现从IPv4到IPv6的过渡也是IPv6能否取得成功的一个重要因素。
实际上,IPv6在设计的过程中就已经考虑到了IPv4到IPv6的过渡问题,并提供了一些特性使过渡过程简化。例如,IPv6地址可以使用IPv4兼容地址,自动由IPv4地址产生;也可以在IPv4的网络上构建隧道,连接IPv6孤岛。目前针对IPv4-v6过渡问题已经提出了许多机制,它们的实现原理和应用环境各有侧重,这一部分里将对IPv4-v6过渡的基本策略和机制做一个系统性的介绍。
在IPv4-v6过渡的过程中,必须遵循如下的原则和目标:
?保证IPv4和IPv6主机之间的互通;
?在更新过程中避免设备之间的依赖性(即某个设备的更新不依赖于其它设备的更新);
?对于网络管理者和终端用户来说,过渡过程易于理解和实现;
?过渡可以逐个进行;
?用户、运营商可以自己决定何时过渡以及如何过渡。
主要分三个方面:IP层的过渡策略与技术、链路层对IPv6的支持、IPv6对上层的影响
对于IPV4向IPV6技术的演进策略,业界提出了许多解决方案。特别是IETF组织专门成立了一个研究此演变的研究小组NGTRANS,已提交了各种演进策略草案,并力图使之成为标准。纵观各种演进策略,主流技术大致可分如下几类:
双栈策略
实现IPv6结点与IPv4结点互通的最直接的方式是在IPv6结点中加入IPv4协议栈。具有双协议栈的结点称作“IPv6/v4结点”,这些结点既可以收发IPv4分组,也可以收发IPv6分组。它们可以使用IPv4与IPv4结点互通,也可以直接使用IPv6与IPv6结点互通。双栈技术不需要构造隧道,但后文介绍的隧道技术中要用到双栈。 IPv6/v4结点可以只支持手工配置隧道,也可以既支持手工配置也支持自动隧道。
隧道技术
在IPV6发展初期,必然有许多局部的纯IPV6网络,这些IPV6网络被IPV4骨干网络隔离开来,为了使这些孤立的“IPV6岛”互通,就采取隧道技术的方式来解决。利用穿越现存IPV4因特网的隧道技术将许多个“IPV6孤岛”连接起来,逐步扩大IPV6的实现范围,这就是目前国际IPV6试验床6Bone的计划。
工作机理:在IPV6网络与IPV4网络间的隧道入口处,路由器将IPV6的数据分组封装入IPV4中,IPV4分组的源地址和目的地址分别是隧道入口和出口的IPV4地址。在隧道的出口处再将IPV6分组取出转发给目的节点。
隧道技术在实践中有四种具体形式:构造隧道、自动配置隧道、组播隧道以及6to4。
TB(Tunnel Broker,隧道代理)
对于独立的v6用户,要通过现有的IPv4网络连接IPv6网络上,必须使用隧道技术。但是手工配置隧道的扩展性很差,TB的主要目的就是简化隧道的配置,提供自动的配置手段。对于已经建立起IPv6的ISP来说,使用TB技术为网络用户的扩展提供了一个方便的手段。从这个意义上说,TB可以看作是一个虚拟的IPv6 ISP,它为已经连接到IPv4网络上的用户提供连接到IPv6网络的手段,而连接到IPv4网络上的用户就是TB的客户。
双栈转换机制(DSTM)
DSTM的目标是实现新的IPv6网络与现有的IPv4网络之间的互通。使用DSTM,IPv6网络中的双栈结点与一个IPv4网络中的IPv4主机可以互相通信。DSTM的基本组成部分包括:
?DHCPv6服务器,为IPv6网络中的双栈主机分配一个临时的IPv4全网唯一地址,同时保留这个临时分配的IPv4地址与主机IPv6永久地址之间的映射关系,此外提供IPv6隧道的隧道末端(TEP)信息;
?动态隧道端口DTI:每个DSTM主机上都有一个IPv4端口,用于将IPv4报文打包到IPv6报文里;
?DSTM Deamon:与DHCPv6客户端协同工作,实现IPv6地址与IPv4地址之间的解析。
协议转换技术
其主要思想是在V6节点与V4节点的通信时需借助于中间的协议转换服务器,此协议转换服务器的主要功能是把网络层协议头进行V6/V4间的转换,以适应对端的协议类型。
优点:能有效解决V4节点与V6节点互通的问题。
缺点:不能支持所有的应用。这些应用层程序包括:① 应用层协议中如果包含有IP地址、端口等信息的应用程序,如果不将高层报文中的IP地址进行变换,则这些应用程序就无法工作,如FTP、STMP等。② 含有在应用层进行认证、加密的应用程序无法在此协议转换中工作。
SOCKS64
一个是在客户端里引入SOCKS库,这个过程称为“socks化”(socksifying),它处在应用层和socket之间,对应用层的socket API和DNS名字解析API进行替换;
另一个是SOCKS网关,它安装在IPv6/v4双栈结点上,是一个增强型的SOCKS服务器,能实现客户端C和目的端D之间任何协议组合的中继。当C上的SOCKS库发起一个请求后,由网关产生一个相应的线程负责对连接进行中继。SOCKS库与网关之间通过SOCKS(SOCKSv5)协议通信,因此它们之间的连接是“SOCKS化”的连接,不仅包括业务数据也包括控制信息;而G和D之间的连接未作改动,属于正常连接。D上的应用程序并不知道C的存在,它认为通信对端是G。
传输层中继(Transport Relay)
与SOCKS64的工作机理相似,只不过是在传输层中继器进行传输层的“协议翻译”,而SOCKS64是在网络层进行协议翻译。它相对于SOCKS64,可以避免“IP分组分片”和“ICMP报文转换”带来的问题,因为每个连接都是真正的IPV4或IPV6连接。但同样无法解决网络应用程序数据中含有网络地址信息所带来的地址无法转换的问题。
应用层代理网关(ALG)
ALG是Application Level Gateway的简称,与SOCKS64、传输层中继等技术一样,都是在V4与V6间提供一个双栈网关,提供“协议翻译”的功能,只不过ALG是在应用层级进行协议翻译。这样可以有效解决应用程序中带有网络地址的问题,但ALG必须针对每个业务编写单独的ALG代理,同时还需要客户端应用也在不同程序上支持ALG代理,灵活性很差。显然,此技术必须与其它过渡技术综合使用,才有推广意义。
过渡策略总结
双栈、隧道是主流
所有的过渡技术都是基于双栈实现的
不同的过渡策略各有优劣、应用环境不同
网络的演进过程中将是多种过渡技术的综合
根据运营商具体的网络情况进行分析
由不同的组织或个人提出的IPV4向IPV6平滑过渡策略技术很多,它们都各有自己的优势和缺陷。因此,最好的解决方案是综合其中的几种过渡技术,取长补短,同时,兼顾各运营商具体的网络设施情况,并考虑成本的因素,为运营商设计一套适合于他自己发展的平滑过渡解决方案。
IPv6测试
IPv6产品经过测试,获得“IPv6 Ready”Logo,即表明该产品是业界公认的支持.
IPv6 Ready:Phase I 第一阶段
基本测试(RFC2460, 2461, 2462, 2463)
测试对象:主机,路由器,交换机,应用终端,系统软件,特殊设备通告设备、服务的互通性和一致性情况
IPv6 Ready:Phase II 第二阶段
Phase II面向专业应用, 增加Core,IPsec,MIPv6等增强特性的测试,根据IPv6技术标准检查和确保设备与服务的互通性和一致性.
Core测试
RFC: 1981,2460,2461,2462,2463
测试对象:主机,路由器
IPsec测试
RFC: 1829,1851,2401,2403,2404,2405,2406,2410,3566,3602
测试对象: End-Node(终端节点),SGW(信令网关)
MIPv6测试
RFC: 3775,3776
测试对象: MN(移动节点),CN(通信节点),HA(家乡代理)
NEMO测试
RFC:3963,3775
测试对象:家乡代理和移动路由器
DHCPv6测试
RFC:3315,3646,3736
测试对象:客户端、服务器和中继代理
SIP测试
RFC: 3261,3264,4566,2617,3665
测试对象:SIP服务器和SIP UA