测试:IPv6在边缘路由器上的部署正实现

  美国新罕布什尔州大学互操作性实验室(UNH-IOL)近日进行了第三次IPv6客户边缘路由互操作性测试。

  这一测试将边缘路由设备的用户与供应商关联起来,目的是对符合IETF 基本要求的IPv6客户边缘路由的当前互操作状态进行了解。

  在IPv6 客户边缘路由的测试中,UNH-IOL使用了公共IPv6地址,让参与者链接到全球IPv6互联网。八个参与的供应商公司在为其一周的时间里测试了12个不同的客户边缘路由部署。 参与者包括Actiontec,Broadcom,思科,D-Link,Lantiq,摩托罗拉移动和时代华纳。

  IPv6客户边缘路由器是指准备在家里或在小型办公室中使用的路由。这种路由连接了终端用户网络与服务供应商的网络,并且把没有明确地址的数据包转发给它。在客户边缘路由上部署IPv6是非常有必要的,目的是维持互联网的可用性。

  目前可分配的IPv4地址殆尽,尽管IPv6是可以保证当前用户联网并满足新增网络用户的一种方案,但目前它还没有广泛部署到宽带网络中。也就是说,可能的话运营商正想办法在可操作网络上部署本地IPv6。切换到IPv6的一个结果是某些运营商开始在新部署的网络上选择本地IPv6而不是IPv4.当接入网络不是双堆栈时,运营商会寻求转换机制,如6RD和DS-Lite,目的是将让用户接入IPv4和IPv6网络。随着越来越多的网络可用于IPv6操作,这些机制也被简化,使终端用户更易于转换。

  UNH-IOL会继续进行IPv6客户边缘路由器互操作性的测试,目的是帮助运营商找到改善互操作性的方案,使转换更顺利,因此成本效益加速了Ipv6宽带的部署。

  测试方法

  这次执行的系列测试是为了验证IPv6客户边缘路由器;也就是说,IPv6客户边缘路由会在路径表中查询Ipv6地址,然后将其发送到正确的接口,然后如IETF定义的Ipv6节点那样运作。这些测试旨在验证WAN端的配置,特别是需要节点支持协议来启用多网络访问架构中的Ipv6部署。LAN端的配置测试也因为时间限制而受限。

  下面的常见拓扑结构被用于所有测试案例: 

                                                

  1. WAN接口是DOCSIS,DSL或是用于客户边缘路由设备的以太网网络。

  2. 思科网络注册员(CNR)既是DHCP-Server1也是DNS-Server。

  3. TAR-Host1,REF-Host1和REF-Host2由当前很普遍的操作系统组成,包括微软Windows 7,Linux和苹果Mac OS X Lion。

  可观察到的结果

  这次测试对于去年慎重部署客户边缘路由有着至关重要的作用。一些必要的要求在这次测试中得到阐述,包括从大于/64的前缀池委派前缀,阻止转发循环以及复制地址检测。尽管这些部署已经相比较以前的IPv6客户边缘事件而言具有更多改进,但仍存在如下问题:

  1. Router Advertisement中的M和O标记。

  2. 路径指定前缀。

  3. 没有路由可用。

  4. 没有地址可用。

  5. 支持6RD。

  不过这里面有些问题已经得到解决,且在解决后又进行了重新测试。

  Router Advertisement中的M 和O标记

  最近关于IETF的讨论,热议的话题是可否用Router Advertisement中的M和O标记控制客户边缘路由的DHCP客户端。下面的表格记录了M和O标记对启动DHCP客户端和DHCP前缀代表的客户边缘路由有何影响。

  如上面表格显示的,部署会根据M和O标记的配置发生变化。有些部署把O标记当做打开前缀代表的指示器。不过,这种行为不符合RFC 6204,因为它会指明应该完成前缀代表而不看M和O标记的状态。其他部署会忽视标记且经常获取DHCP IA_NA和IA_PD。对于目前的RFC 6204来说这是可以接受的。多变且不一致的客户编译路由设备表明IETF需要进一步说明M和O标记与客户编译路由设备中DHCP之间的关系。由此可见,目前的要求导致我们要根据M和O标记的配置进行部署。这样就会导致管理员和运营商对DHCP客户端的运行出现不理解和误配置。

  路径指定前缀

  DHCP前缀授权是用来从指定路由到请求路由委派长期前缀的机制。这样互联网服务供应商就可以为客户边缘路由器指定前缀。在前期测试中,从大于/64的指定池中为LAN指定前缀似乎在部署中会出现问题。尽管如此,在最近的测试中,测试宣称可以从/60和/52指定池中为LAN网络指定一个/64前缀。另一个重要的组件就是恰当地对指定的和非指定前缀进行路径选择。如果前缀的路由出错会导致转发循环以及网络流量超载。

  为了测试指定前缀的路径而创设了以下条件。一个DHCP服务器通过DHCP前缀授权为客户边缘路由器指定了一个/60前缀。客户边缘路由器随后从/60指定前缀池中为LAN接口指定了一个/64前缀,并宣告前缀位于Router Advertisement中。一个IPv6 Host,常见拓扑结构中的TAR-Host1,被附加到LAN网络发送要发往/60指定前缀池的IPv6地址。地址的节点识别符并不重要,因为没有指定前缀。

  有些客户边缘路由部署为从非指定前缀发往TAR-Router1的数据包寻找路由,这是默认的路由而非无效目的地。TAR-Router1将客户边缘路由作为指定前缀的下一次跳转,并且为数据包寻找回到客户边缘路由的路径。这种操作会导致循环转发以及网络流量超载。

  在所述情况下此前未观察到的操作是为了响应数据包(假定被授权但未指定的前缀)对ICMPv6 Redirect信息进行转发。这些信息类型表明客户边缘路由为整个授权前缀池指定了一个通向LAN接口的路径,而不仅仅是分配的/64前缀。这种操作会出现问题,因为IPv6主机会尝试为连接中的数据选择路由,这会再次导致网络流量超载以及应用故障。大多数部署都会解决这类操作并在最后在测试后期进行纠正。

  无路由可用

  当WAN接口上的客户边缘路由无有效路由使用时,路由器必须将一个路由周期为零的Router Advertisement发送给LAN接口,这个接口会告诉主机不要把这个设备作为默认路由器使用。测试中的三个路由器发送了三个默认路由周期大于零的Router Advertisement而不是一个路由周期为零的Router Advertisement。这样即会告诉LAN网络中的IPv6主机有路由可用,而事实却是没有有效路由,由此可能导致网络中的不当路径选择。

  另有一个路由器发送的LAN上Router Advertisement默认路由周期优先于WAN接口的Router Advertisement。一旦默认路由周期为零的Router Advertisement被WAN接口接收,那么客户边缘路由就会发送LAN接口上默认路由周期为零的Router Advertisement。虽然这种操作并未被IETF标准禁止,但是如果第二个路由周期为零的Router Advertisement丢失,IPv6主机就会出现延时。

  无地址可用

  在测试中有一个重要的情境无法进行测试,因为DHCP服务器和客户边缘路由支持无地址情况的处理。当客户边缘路由被授权一个无效前缀时会出现这种情况,不过服务器上没有DHCP客户端单点播放地址可用。在试图使用无状态全球地址的网络中这种情况会加剧,因为网络没有要求提供有状态的DHCP地址。不过,仍然需要DHCP前缀授权。下面详细解释了初始RFC和更新后RFC。

  客户边缘路由器会在DHCP Solicit中请求IA_NA和IA_PD,不过会接收到一个有NoAddrsAvail状态代码选项的DHCP Advertise,它指明了无有效地址。在DHCP Advertise中接收NoaddrsAvail选项的客户边缘路由不会处理余下选项。

  据RFC 3315的要求,一个DHCP服务器必须进行如下操作:“如果服务器不能为客户端连续请求的IA指定任何地址,那么服务器必须发送Advertise信息给客户端,这一信息中要包含一个有NoAddrsAvail代码的状态代码选项以及一条给用户的状态信息,一个带有服务器DUID的服务器识别符选项以及一个带有客户端DUID的客户端识别符选项。”同样,客户端必须根据RFC 3315的规定进行相对应的操作:“客户端必须忽略任何包括状态代码选项(内含NoAddrsAvail)的Advertise 信息,除非客户端可以向用户显示相关状态信息。”

  IETF在2010年发布的正误表更改了RFC 3315中的描述。RFC现在这样规定:“如果服务器不能为客户端发出的连续请求中的IA指定地址,那么服务器必须为客户端发送一条Advertise信息,其中包括含有NoAddrsAvail状态代码的选项,给用户的状态信息,带有服务器DUID的服务器识别符选项以及带有客户端DUID的客户端识别符选项。” 服务器应该包含其他有状态的IA选项(如IA_PD)以及Advertise 信息中的其他配置选项。

  同样DHCP客户端的规则也进行了更新:“客户端必须忽略任何Advertise信息,包括含有NoAddrsAvail的状态代码项,除非客户端可以向用户显示相关状态信息。”

  因此,对于未来的测试,UNH-IOL会使用更新后支持发送NoAddrsAvail状态代码项的DHCP服务器。当带有NoAddrsAvail的状态代码项被发送到IA外时,发送DHCP Solicit的部署只有IA_PD获取了前缀。

  支持6RD

  在12个边缘路由部署中的有8个支持6RD。6RD是一种允许网络运营商在现有IPv4网络基础上推出IPv6的机制。所有的部署都可以使用6RD DHCPv4选项来请求6RD参数。除了一个边缘路由之外,其他都要被配置为使用6RD;另一个则是在接收到6RD DHCPv4选项时开始使用6RD。应注意到,在同时可用的情况下,边缘路由倾向于把Ipv6流量导入所创建的6RD隧道而不是本地IPv6接口。

  结论

  IPv6是互联网访问的首选,因为IPv4地址殆尽。把IPv6部署到客户边缘设备中是很重要的事情,这样运营商就可以使用IPv6。此次测试的参与者也认为IPv6在客户边缘路由器中的部署也逐渐成为现实。

  而且,他们也打算尽快解决测试中出现的问题。部署者非常有必要进行全面测试,尽量减少问题以确保IPv6的部署。而且也有必要了解其他详细解释转发机制与本地IPv6互作的标准。

  另外,UNH-IOL还将与IPv6论坛合作,创建一个IPv6 Ready CPE Logo项目,帮助运营商和设备制造了解他们需要为全球IPv6部署提供怎样的性能支持。在基本要求得到满足后,一些新领域,如转换机制,路径选择协议等还需要进行新的测试。