IPv6融合和涵盖了多种先进的网络技术并具有良好的扩展性,成为新型网络体系结构中的网络层支撑协议。随着IPv6网络的大规模建设,IPv4/v6的过渡技术成为制约IPv6网络发展的核心问题。这一问题引起国际互联网标准化组织IETF的高度重视,成立了专门标准工作组Softwire。Softwire工作组致力于IPv4/v6过渡技术中的隧道发现、控制和封装方法的标准化工作,建立统一的隧道和封装方法,为IPv6的大规模应用提供重要技术支持。该标准鼓励多种实现的可交互操作,适用于IPv4网络通过IPv6网络互联和IPv6网络通过IPv4网络互联的应用场景。
Softwire关注的要点在于如何定义Softwire建立过程中的协商协议,以及在节点和相对应Softwire端点的封装办法。Softwire初始化配置包括两个步骤:Softwire端点发现和Softwire建立。工作组将尽可能地采用已有的技术,以现有的一些封装方式作为出发点,通过增加一些功能模块达到解决问题的目的。在Softwire的建立阶段,发起节点将和ISP协商Softwire建立所需参数。它们包括第一,封装类型(IPv4-over-IPv6 或者IPv6-over-IPv4),封装方式的协商需要有一定的扩展性,以覆盖未来的一些单播组播封装方法;第二,如何获得Softwire端点的IP地址。
Softwire工作组现有的草案中主要围绕两个问题展开:“Hubs”和“Spokes”问题和“Mesh” 问题。他们主要的区别在于需要IPv4和IPv6孤岛网络来管理的隧道连接和相关路由器的数量不同。“Hubs”和“Spokes”问题关注的是IPv4/6环境下点到点通信数据包的传输问题,只需要考虑单一配置隧道和静态路由的情况。而“Mesh”问题则针对多点通信的情况,需要考虑多隧道连接和动态路由的情况。总之这两个问题可以归为主机或者局域网连通性以及网络(VPN)连通性问题。他们有一定的相关性,但是处于不同的问题空间,有各自的功能和性能的需求,可以单独处理。
Hubs和spokes问题
在一些应用场景中,手工配置的隧道已经能提供很好的传输机制,充分地解决问题。但是由于特殊应用场景的存在,如动态IP和NAT的应用等,需要一些别的方案来扩充现有的隧道机制。“Hubs”和“Spokes”问题的应用场景如图1所示。
用户的数据从接入网络(access network)通过与其地址族不同的网络到达地址族相同的网络。其中最左边的接入网络代表四种用户接入情况:
1. Softwire发起端是用户本身双栈主机的情况,通过modem直接接入网络。
2. Softwire发起端是双栈路由器的情况,用户主机通过路由器接入网络。
3. Softwire发起端是用户主机的情况,通过与其地址族不同的单协议栈路由器接入网络。
4. Softwire发起端是用户驻地网络中的一个双栈设备,用户通过单协议栈路由器接入网络。
图1中的IPv4和IPv6可以换过来,构成新的应用环境。
在描述了应用场景之后,“Hub and spokes”问题还需要解决一下几个方面的问题和需求。
不升级用户网络设备路由器问题
NAT和PAT的情形
采用静态前缀授权的情形
授权、认证和计费
Softwire结束端的发现过程
Softwire的扩展性、路由、组播等方面
Mesh问题
前面所提到的“Hubs”和“Spokes”问题主要是单个连接的过渡问题,解决的是在IPv4/6环境下两点通信数据包的传输问题。而“Mesh”问题则针对多个通信对端,在不同地址协议族构成的网络中,如何找到一条基于策略的最优路由建立隧道。“Mesh”问题所提出的场景如图2所示。
图2中四个黄色的所标示的网络想通过与其地址族不同的传输网络彼此通信,双栈的边缘路由器完成数据的封装和解封装。相对于传统的手工配置一对一的隧道,“Mesh”问题就是要解决一个多对多的动态隧道问题。边缘路由器如何传递可达信息,基于策略建立最优隧道成为了解决问题的关键。
可以看到Softwire工作组中的Mesh问题和L3VPN工作组的工作很像。在L3VPN中通过传递优化的、私有或者重叠的虚拟地址的路由信息来达到建立自动隧道的目的。可以说Mesh问题是L3VPN问题的派生。他们最大的不同在于Softwire中传递的路由信息不再局限于VPN私有地址或者单一地址簇的地址。
第一,扩展性
在Mesh问题中边缘路由器(AFBR)的数量要与接入的不同地址协议簇的网络个数相当。这些边缘路由器需要互相交换整个互联网需要传递的路由信息。如果接入的网络不是VPN,那么Mesh问题所要解决的扩展性如同一般承载网络所遇到的一样。BGP peer的数量可以通过路由反射器(router reflector)来进行优化。
第二,发现,维持和建立时间
就像L3VPN中边缘路由器那样,Mesh问题中边缘路由器也能够互相发现,在传递路由信息的同时保持和维护彼此的信息。这需要提出新的协议或则对已有协议进行扩展。在边缘路由器之间传递数据的Softwire隧道要保持总是可用的,而不需要在传递数据时引入另外建立的隧道所需的延时。
第三,组播
Softwire需要支持组播。在Mesh的环境中可以分成承载网络不支持组播和承载网络本身具有组播功能两种情况来讨论。当承载网络不支持组播时,边缘路由器需要通过单播的方式将数据复制多份通过Softwire传递。当承载网络本身具有组播功能时,需要利用已有的组播功能为接入网络提供优化的组播服务。
第四,封装
在Mesh问题中,隧道封装的形式不应该单一。相反应该提供多种封装方式,根据本地的配置策略通过某种方法来进行选择。隧道封装至少需要提供以下几种:L2TPv3、IP-in-IP、 MPLS(LDP-based 和 RSVP-TE based)、GRE和IPsec。隧道的选取可以根据策略如数据包种类、路由器类型以及Softwire端点的特征等。
第五,安全
在Mesh问题中,路由信息是发给所有的边缘路由器,所以不需要如“Hub and Spokes”问题中那么强的安全认证手段。但是需要为Softwire上传递的数据提供不同的安全级别。Softwire必须支持IPsec,关于IPsec的一些参数文件必须事先定义。控制信息报也需要一定的安全手段,至少要保证不会被从中篡改。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。