随着IPv4地址的枯竭,IPv6技术离我们原来越近,各种媒体对IPv6技术也进行了比较广泛的介绍和报道,主流网络设备供应商纷纷推出自己支持IPv6的产品,但同时也看到IPv6技术还远远没有达到普及的程度,其实从IPv6技术本身来说,还有很多亟待解决的问题,特别是过渡到IPv6技术之后,IPv6硬件平台有什么要求?从IPv6如何过渡到规模应用阶段来说,尤其是在保护用户投资方面,异常重要。
IPv6过渡期的技术特点
应该说,处于过渡期的IPv6技术最大特点莫过于不断的升级,IPv4发展了几十年,在路由协议、QoS、组播、报文头扩展、状态机备份、安全等方面还在不断地完善中,相信IPv6在标准建设、协议栈开发方面还有巨大的工作要完成。因此,在相当长的一段时间内,IPv6将会面临不断升级完善的局面。为了兼容现有的IPv4技术,尽快地获取生存空间,支持IPv6的网络设备更多的要在双栈环境下运行,“兼容性”大于“先进性”,在确保兼容性的前提下,如何在应用支持方面,能够做到比IPv4更具优势是过渡期IPv6开发的重点。
那么,如何更好地体现IPv6的技术优势呢?对硬件平台的要求应该是我们考虑的重点。一般而言,目前的硬件平台主要是分为ASIC平台和可编程硬件平台(NP、FPGA等)。下面从几个角度来分析一下这种不同,可以让我们对IPv6技术有一个更为全面的认识。
软件升级支持
针对处在过渡期的IPv6技术会不断升级的特点,NP等可编程硬件显然具备更强的优势。NP对于硬件的技术优势主要在于方便优化、升级,从而很容易增加新特性。由于IPv6网络处于新生时期,协议、特性的更新是频繁的,这就要求IPv6设备能较快的更新换代。从另一个角度,IPv6设计的一个宗旨是方便用户应用层的扩展,因此NP可以根据用户需求设计出实用的私有特性。而ASIC目前能够做的只能是IPv6协议已经固化的转发功能,无法做到支持扩展方面的功能,只能依靠设备中的CPU解决。这样的后果是让整个设备的转发速率下降到一个无法接受的水平(几百Kpps),并且会威胁到设备的稳定性。因此,从这个角度来说,选择可编程的硬件平台设备可以更好地保护用户的投资。
路由表容量问题
IPv6采用128位地址,路由表占用空间在容量不变时要增大到原来的4倍,而ASIC中的硬件转发的路由表存储在ASIC专用的地址空间中,硬件地址表空间很有限,一般情况下也就在几十K的水平,因此ASIC平台在IPv6的环境中,如果保持IPv4一样的地址表空间将会大大提高成本,因此IPv6硬件平台在设计上需要尽量节省私有空间大小而提高路由表容量。在实际的应用环境中,在过渡期,设备往往运行在双栈环境下,同时面临IPv6和IPv4的路由表需求,因此对地址空间的要求将大于目前的纯IPv4环境。
选项头和扩展头的支持
IPv6的选项头更能远远强于IPv4的IP选项,对于扩展头的处理也更加丰富。其中所有转发结点都要处理路由扩展头、逐跳选项头和地址选项头。逐跳选项与地址选项目的是为了支持特殊应用(如安全、管理)而预留的,中间结点需要根据某种策略来处理。目前RFC2460并未定义成熟而有意义的选项,其潜力尚未发挥。因此,当需要使用这些选项头实现用户特殊需求,或者IPv6协议有扩展升级的时候,只有NP等可编程硬件能很快适应这些变化并升级系统,而用ASIC实现则难以快速应对协议升级和市场需求变化。
报文转发效率
IPv6协议的一个设计思想是减轻转发的负担,采用以下了几个思路:
1、基本报文头长度固定,没有多余的头部长度字段;
2、转发结点并不计算校验和;
3、中间结点不得分片。
相对于其它硬件平台来说,ASIC平台最大的优势就在于“硬件”转发,也就是说直接通过ASIC硬件查表实现数据的快速转发。在转发性能、转发延迟方面,在IPv4的环境中ASIC平台相对其它平台有几乎大一个甚至更多数量级的优势,然而随着IPv6的这些特点的产生,其它硬件平台在IP报文头上的开销将大大减小,导致其它平台和ASIC平台之间的差距在缩小。
QoS的实施
作为从IPv4衍生而来的IPv6技术,并没有改变IP技术的最本质特点面向无连接的网络,因此IPv4所面临的所有QoS问题,在IPv6中同样存在。IPv6协议在IP Base(基本)和Extension(扩展)报头中包含了少量特定于QoS的服务元素,包括流量类别(Traffic Class)和相应的流标签(Flow Label)。由于报文头的简化,QoS处理和实施的效率会有所提高。但我们也应该看到,随着IP网络规模的增大和应用业务的日益复杂,IP网络日益已经成为一个“补丁”网络。至今为止在IPv4网络中的QoS技术和标准还在不断产生,而IPv6的QoS问题还根本没有被广泛提及,队列机制、调度机制等标准的制定工作还处于初级阶段。这些机制将牵涉到队列的缓冲区、处理策略等等,IPv4环境下的ASIC的这些处理机制都是固化在芯片中,而在现有的环境下,用ASIC实现将来的IPv6的QoS策略显然不现实,采用可编程硬件将是有效实现将来的QoS策略的唯一选择。
过渡时期的策略
NAT-PT属于一种IPv4到IPv6的过渡策略,目的是进行IPv4到IPv6报文头部的转换。由于转换涉及到高层协议(如FTP)内部的IP地址等信息,必然需要面对完整的IP报文进行解析。因此NAT-PT结点在转换报文前,首先需要将IPv6分片报文重组,会需要缓冲大量乱序报文并记录超时。硬件实现时需要大量的空间和定时器。
另外,IPv6的ACLv6(访问控制列表)也涉及到报文重组,ACLv6更强大的功能在于扩展头地址的解析。ACLv6可以根据IPv6报文任意扩展头的内容、传输层协议的标志等做为策略参数并做决策。强大的ACL特性是NAT-PT、IPsecv6、防攻击设计、防火墙的重要基础。NP等可编程硬件很容易以较低成本实现丰富的ACL特性。
在VPN的应用中,当转发报文的出口为Tunnel(如GRE)时,处理会更复杂一些,需要根据Tunnel类型和特性对报文的重新封装、嵌套、查路由表、分片等等,以适应复杂应用与组网。同时,对于类似GRE的Tunnel,用户可以自定义丰富的附加属性信息以满足需求。NP相对于硬件比较容易的升级以处理丰富的Tunnel特性。
从以上的应用分析可以看出,NP等可编程硬件平台更适合作为过渡时期的IPv6硬件平台。