IPv6环境下的PPPoE接入技术研究
2010-10-08陈琦
陈 琦
(中国电信股份有限公司广东研究院 广州510630)
1 引言
IPv6良好的可扩展性和出色的管理控制机制,得到了广泛的认可。随着IPv4地址枯竭时间的临近,业界正紧锣密鼓地推进IPv6技术现网应用工作。IPv6的应用,将会推进相关技术和配套设施的升级。PPPoE在IPv4网络中是一种被广泛采用的宽带接入方式,技术成熟,相关标准或规范较完善,但它能否较好地适应IPv6网络有待深入研究。
2 IPv6环境下PPPoE接入方式的典型组网
IPv6环境下常见的PPPoE接入方式组网如图1所示,BRAS为接入控制路由器,AAA Server为PPPoE的认证服务器,Peer为PPPoE接入终端。
3 IPv6环境下PPPoE接入的实现
PPPoE即以太网上的PPP,PPP较早的标准RFC 1661中定义了如下3个部分:一种封装多协议数据报的方法;一种链路控制协议(link contol protocol,LCP),用于建立、配置和测试数据链路连接;一个网络控制协议(NCP)簇,用于建立和配置不同的网络层协议。这3个部分确定了PPP的基本架构及演进方向。PPPoE标准是建立在PPP标准基础之上,可以认为是PPP的延伸或细化。PPPoE标准规定了PPPoE在以太网上建立一个逻辑连接(PPPoE discovery stage)。建立逻辑连接之后,PPPoE进入PPP链路确立阶段、PPP认证阶段、PPP网络层建立和配置阶段。而PPPoE断开连接、释放资源的过程与建立连接的过程相反,先是断开NCP连接(因为NCP配置网络层一个协议或多个协议,单个配置协议中断,可能并不影响PPPoE连接,有时会忽略这个阶段),而后断开LCP连接,最后断开逻辑连接。
在IPv6环境下的PPPoE接入,当完成逻辑连接、PPP链路确立、PPP认证后,NCP协商配置IPv6协议参数时使用IPv6CP协议完成IPv6的接口ID的协商配置,IPv6协议所需要的其他参数配置未涉及。
3.1 各种实现方式的原理与特点
目前,IPv6环境下PPPoE接入是通过以下两种方式完成网络层IPv6协议其他参数配置的。
(1)PPPoE+NDRA方式
通过DHCPv6下传IPv6地址前缀以及指定IPv6的DNS地址。在完成前3个阶段后,Peer和BRAS之间已经建立了二层的链路连接,在IPv6CP阶段,Peer在PPPoE逻辑接口上完成协商接口ID过程,并生成link-local地址,但PPPoE逻辑接口还未获取IPv6公网地址。之后,Peer发起NDRS请求,BRAS收到NDRS后回应的NDRA中包含IPv6公网前缀,Peer收到NDRA后自动生成IPv6公网地址,完成配置Peer的PPPoE逻辑接口IPv6公网地址,但是IPv6的DNS地址Peer还未获取,此时如果Peer的PPPoE逻辑接口设定DNS地址自动获取,那么Peer会通过DHCPv6协议报文发起information-request,BRAS通过DHCPv6的reply报文回应请求报文,下传DNS地址给Peer,至此,Peer上的PPPoE逻辑接口IPv6协议配置完成。
(2)PPPoE+DHCPv6方式
通过NDRA下发IPv6地址前缀、DHCPv6下发IPv6的DNS地址。在完成前4个阶段后,Peer在PPPoE逻辑接口上完成接口ID配置并生成link-local地址,但还未获取IPv6公网地址。而后,Peer通过DHCPv6协议报文发送Solicit组播报文请求IPv6前缀及DNS地址,BRAS发送Advertise单播报文响应,Peer向BRAS发送Request报文,BRAS使用Reply报文确认分配IPv6前缀以及DNS地址。Peer根据获取的IPv6前缀生成IPv6公网地址,完成网络层IPv6协议配置。Peer也可以直接通过DHCPv6获取IPv6地址和DNS地址,完成网络层IPv6协议配置。
上述两种配置方式存在诸多不足,具体表现在以下几个方面。
·从客户体验角度来看,客户需要改变上网习惯,要么使用专用PPPoE接入软件认证上网,要么使用Peer自带PPPoE客户端在完成前3个阶段后,设定Peer端创建PPP网络适配器的参数上网。
·PPPoE连接断开需要联动其他协议,这增加了独立运行的各协议间的关联性。
·就PPPoE+NDRA配置方式而言,在IPv6CP阶段结束后,要触发ND协议发送NDRS报文,如果在这个过程中未能触发ND协议发送NDRS报文,那么网络层可能获取不到IPv6前缀,Peer不能生成IPv6公网地址。PPPoE+DHCPv6配置方式同样存在这个问题,另外如果PPPoE+DHCPv6方式选择直接下传IPv6地址,那么PPPoE断开前还要触发DHCPv6释放分配的IPv6地址。
·这两种方式配置网络层IPv6协议,要求Peer和BRAS都必须支持DHCPv6功能。
·从IPv6协议栈开销以及网络维护来看,这两种方式都会增加协议功能模块间的耦合性,不利于协议的维护开发。
·从网络维护角度来看,采用PPPoE+DHCPv6配置方式,BRAS端需维护同一个Peer的PPPoE和DHCPv6两份资源信息,增加了维护工作量并造成了资源的浪费。
有没有能够弥补上述缺陷的实现方式呢?PPPoE在IPv4协议栈上的表现给出了答案。PPPoE采用IPCP选项配置IPv4地址和DNS地址等。IPv6CP协议有着良好的扩展性,可以通过添加IPv6前缀、IPv6地址、DNS地址选项完成IPv6前缀、IPv6地址、DNS地址的配置。
在IPv6CP报文中IPv6前缀选项的格式如图2所示,Type标识IPv6前缀选项编码,Length标识整个选项长度,Prefix-Length标识前缀长度,IPv6-Prefix标识IPv6前缀。
在IPv6CP报文中IPv6地址选项的格式如图3所示,Type标识IPv6地址选项编码,Length标识整个选项长度,IPv6-Address标识IPv6地址。
在IPv6CP报文中IPv6 DNS地址选项的格式如图4所示,Type标识IPv6 DNS地址选项编码,Length标识整个选项长度,Primary-DNS-IPv6-Addr标识IPv6 DNS地址。
这种配置方式的优点如下:
·从用户体验角度来看,可以实现平滑过渡到IPv6网络,用户不需要改变上网习惯,用户无缝感知。
·在IPv6CP完成接口ID协商配置的同时,完成了IPv6地址、IPv6前缀、IPv6 DNS地址的配置,简化了报文交互过程,用户接入网络的等待时间减少了。
·增加协议的独立性,降低了PPPoE与ND、DHCPv6的关联性。
·从IPv6协议栈开销以及网络维护角度来看,BRAS只需维护PPPoE用户信息,网络维护比较容易。
·从安全角度来看,这种配置方式的安全性更高,因为简化了配置报文交互过程,不再联动发送NDRS多播或Solicit多播。
当然,这种配置方式也存在不足,那就是Peer端所使用的认证客户端不支持新添加的IPv6CP选项,需要客户端升级认证客户端。
对于IPv6环境PPPoE接入中NCP选项用于配置IPv6前缀、全局IPv6地址以及DNS地址部分,还没有制定正式的RFC标准。目前中国电信已经提交draft-qinpppext-ipv6-addr-pref-00.txt和draft-ietf-pppext-ipv6-dns-addr-03.txt草案,前者是定义IPv6CP中如何配置IPv6地址和下传IPv6前缀的,后者是定义IPv6CP中如何配置DNS地址的,以推动这部分添加选项的标准化。
3.2 实现方式的选择
中国电信现网主要采用PPPoE接入,在IPv6试商用阶段,PPPoE接入方式不可能被摒弃,采用前两种配置方式需要用户更改上网习惯,而且用户终端接入配置时间变长,这样会给用户带来很不好的体验,给市场部门造成一定压力,另外网络维护工作量也会加大。如果采用添加选项配置方式,将可以在一定程度上降低各方面的风险和压力,虽然会面临用户终端接入软件升级等压力,但在可操作性、可控性以及用户体验上都要优于前两种配置方式。