背景技术
IPv6无状态配置(Stateless configuration)被认为是IPv6协议中新定义的一种配置方式,采用该方式可实现对终端的灵活配置,便于终端设备的即插即用(plug&play)。
图1示出了支持IPv6用户装置的接入网络架构的示意图,其中包括多个用户装置(为简明起见,仅示出一个用户装置3)、接入设备(或接入节点)1和路由器2。其中,接入设备1可以为具有部分层3功能的层2设备,一种典型的此类设备为IPDSLAM(IP数据用户线路接入复用器),路由器2可以为基于IPv6协议的边缘路由器(IPv6BRAS/Edge Router)。
在IPv6标准的无状态配置过程中,用户装置3首先自行产生一个本地链路传送地址,然后,以该地址为源地址,用户装置3经由接入设备1向本地链路中所有路由器2多点传送一个被称为路由器请求(Router Solicitation,RS)的地址配置信息。路由器2以一个包含一个可聚集全局单点传送地址前缀和其它相关配置信息的路由器公告(RA)消息来响应该请求。用户装置3用它经由接入设备1得到的来自路由器2的全局地址前缀加上自己生成的接口标识符,自动组合成一个全局地址,在经过地址重复检测后,就可以与互联网中的其它用户装置进行通信了。使用无状态配置,无需手动干预就能够改变网络中所有主机的IP地址。
然而,IPv6无状态配置产生于开放网络应用,其前提是相邻结点是互相信任的。直接将该机制应用于接入网中将会引起接入网络安全性和可扩展性(scalability)的问题,尤其是对于2层或是具有部分3层功能的增强型2层接入设备。下面将对此进行详细描述。
在接入网中直接应用上述标准的IPv6无状态配置机制,将引起下列问题:
1.潜在的安全问题:在无状态配置中,当多条DSL线路共享相同的前缀时,恶意用户装置可以很容易地通过直接获取通告的前缀而进行IP地址欺骗。由于在接入设备1处并未维持终端地址状态信息,因此接入设备1几乎无法支持反欺骗过滤器。
2.潜在的可扩展性问题:当接入设备1接收来自一个边缘路由器2的RA,它必需将该RA消息中继给所有DSL线路用户。这是因为接入设备1并不知晓该RA消息目标指向哪一条DSL线路。随着宽带用户数量持续增加,将RA消息中继到所有DSL线路端口可能引起接入设备1的某些性能问题,这些问题最终将对接入设备1的可扩展性起副作用。
为了改善安全性和可扩展性,优选的,路由器2为每条DSL线路通告一个其专用的地址前缀。由此,1)接入设备1可以很容易地通过检查一个分组源的前缀来实现IP地址反欺骗过滤器,和2)接入设备1可通过只将来自边缘路由器2的RA消息中继给一个特定的DSL线路来避免可扩展性问题。
现有技术中需要解决的问题是如何在具有部分三层功能的二层接入设备的宽带接入网中支持这种给每条DSL线路分配一个地址前缀的配置。
在现有二层接入网络中数据转发可采用基于VLAN的交叉连接模式(cross-connect mode),也可采用基于MAC地址的桥接模式(bridging mode)。对于上述技术问题,现有技术中的一个解决方案是:接入设备1可以工作在交叉连接模式下,VLAN(虚拟局域网)用于标识及分离来自不同DSL线路的业务或信息(例如,RS消息)。在基于IPv6的边缘路由器2处,包含有特定地址前缀的RA消息将仅被发送给由某个VLAN所标识的DSL线路。在交叉连接模式下,接入设备1无需作任何改动。其中,交叉连接模式是指用户的VLAN信息可以被维持在网络端,不同的客户将不共享相同的VLAN标识符。
但是因为VLAN(虚拟局域网)标识号数量有限(<=1024个VLAN)(接入网中最多可支持1024个VLAN),因此在接入网中存在大量DSL线路时,接入网络无法支持每条DSL线一个VLAN标识。VLAN堆叠(stacking)是一种解决标准VLAN方案的可扩展行问题的可替代方案。使用VLAN堆叠,可以扩展支持到1024×1024个不同的VLAN。然而,VLAN堆叠目前并未被标准化,因此并非所有的接入设备和以太网络都支持它。
当接入设备1工作在桥接模式下,由于DSL线路标识无法传送到网络端,从而造成边缘路由器2无法正确实现对每个DSL线路分配特定地址前缀。其中桥接模式是指用户装置的DSL线路信息无法被维持在网络端,因此无法有效区分不同的用户装置。
本发明正是为了解决现有技术中存在的上述问题而提出的。
发明内容
本发明的目的是提供一种使得在桥接模式(bridge-mode)下的接入节点可以支持在接入网络中的每条线路一个地址前缀的IPv6无状态配置的技术方案。通过在RS和RA消息中增加一个中继-代理端口标识符选项,IPv6边缘路由器可以获得DSL线路ID信息并使用该信息来为每个DSL用户分配一个适合的IPv6地址前缀。
VLAN(或VLAN堆叠)方案使用以太网技术实现了每条线路分配一个地址前缀。这要求在用户装置和边缘路由器之间的所有以太网设备支持VLAN机制,并且接入节点需要以交叉连接模式来工作。
本发明使用IP技术,即,通过将DSL线路ID信息封装入RA和RS消息中来实现每条线路分配一个地址前缀。这种解决方案允许接入节点在桥接模式下工作,或是一个VLAN在不同用户之间共享。但是,这种方案要求接入节点和边缘路由器都应支持该RS/RA扩展。
根据本发明的第一方面,提供了一种在支持IPv6协议的通信网络中的接入设备中用于进行地址配置的方法,该方法包括:接收来自一个用户装置的用户请求消息;将一个用于标识所述用户装置的用户标识信息加入所述用户请求消息,以生成一个加入用户标识信息的请求消息,其中,所述用户标识信息包括所述接入设备的中继代理标识与用户装置相应的逻辑端口标识符;将所述加入用户标识信息的用户请求消息发送给路由器;接收来自所述路由器的路由器响应消息;从所述路由器响应消息中分离出地址前缀信息与用户标识信息;根据所述用户标识信息,将所述地址前缀信息发送给相应的用户装置。
根据本发明的第二方面,提供一种在支持IPv6协议的通信网络中用于为用户装置进行地址配置的接入设备,其包括:一个第一接收装置,用于接收来自一个用户装置的请求消息;一个消息组合装置,用于将一个用于标识所述用户装置的用户标识信息加入所述用户请求消息,以生成一个加入用户标识信息的请求消息,其中,所述用户标识信息包括所述接入设备的中继代理标识与用户装置相应的逻辑端口标识符;一个第一发送装置,用于将所述加入用户标识信息的请求消息发送给边缘路由器;优选地,所述接入设备还包括:一个第二接收装置,还用于接收来自所述路由器的路由器响应消息;一个消息分离装置,用于由所述路由器响应消息中分离出地址前缀信息与用户标识信息;一个第二发送装置,用于根据所述用户标识信息,将所述地址前缀信息发送给相应的用户装置。
根据本发明的第三方面,提供一种在支持IPv6协议的通信网络中的路由设备中用于进行用户地址配置的方法,该方法包括:接收来自一个接入设备的用户请求消息;由所述用户请求消息中分离出用户标识信息;基于所述用户标识信息,来分配一个用户特定的地址前缀;将所述用户特定的地址前缀与所述用户标识信息加入一个路由器响应消息;将所述加入用户标识信息及其特定的地址前缀的路由器响应消息发送给所述接入设备;其中,所述用户标识信息包括所述接入设备的中继代理标识与用户装置相应的逻辑端口标识符。
根据本发明的第四方面,提供一种在支持IPv6协议的通信网络中用于为用户装置进行用户地址配置的路由设备,包括:一个接收装置,用于接收来自一个接入设备的用户请求消息;一个消息分离装置,用于由所述用户请求消息中分离出用户标识信息;一个分配装置,用于基于所述用户标识信息来分配一个用户特定的地址前缀;一个消息组合装置,用于将所述用户特定的地址前缀与所述用户标识信息加入一个路由器响应消息;一个发送装置,用于将所述加入用户标识信息及其特定的地址前缀的路由器响应消息发送给所述接入设备;其中,所述用户标识信息包括所述接入设备的中继代理标识与用户装置相应的逻辑端口标识符。
与现有技术相比,本发明通过为每一条数据用户线路分配其专用的地址前缀来为IPv6服务实现了无状态地址配置,解决了现有技术直接应用到接入网中产生的安全性和可扩展性问题。它允许,当VLAN(VLAN堆叠)不被接入设备和EMAN网络支持时,或多线路共享一个VLAN,接入设备可以工作在桥接模式。而且,本发明对用户装置上没有任何改变,用户装置可直接采用标准的IPv6协议栈。
具体实施方式
下面参考附图,并结合具体实施例对本发明作详细描述。应当理解,本发明并不限于具体实施例。
图2A-B示出现有技术中来自图1中所示的用户装置3的用户请求消息(如路由器请求(RS)消息)和来自图1中所示的路由器2的路由器响应消息(如路由器公告(RA)消息)的消息格式示意图。这两种消息都是属于IPv6邻居发现协议(IPv6 neighbor discoveryprotocol)并都被封装在ICMPv6分组中。
如图2A所示,在RS消息中,第1字节用于指示类型;第2字节用于指示代码;第3-4字节为校验和;第5-8字节为保留字节;此后的字节为可选项。
如图2B所示,在RA消息中,第1字节用于指示类型;第2字节用于指示代码;第3-4字节为校验和;第5字节为Cur Hop Limit(具体含义?);在第6字节中,第1比特表示M,第2比特表示O,第3-8比特用于保留;第7-8字节表示路由器存在期;第9-12字节表示可到达时间;第13-16字节表示重传计时;此后的字节为可选项。
RS/RA消息中可选项的具体格式内容如下所述:
IPv6邻居发现消息(包括RS和RA消息)包括零或更多可选项,一些可选项可以在相同消息中出现多次。所有可选项的格式都如图2C所示:
其中,
类型项:该类型项为8比特标识符。在RFC2461标准中定义了如下类型项。如下表1所示:
表1:
| 选项名称 |
类型 |
| 源链路层地址 |
1 |
| 目标链路层地址 |
2 |
| 前缀信息 |
3 |
| 重定向报头 |
4 |
| 最大传输单元(MTU) |
5 |
长度项:为8比特无符号整数。选择的长度(包括类型和长度字段)单元可为8字节。0值为无效。接入装置1必须丢弃具有长度为0的选项的ND分组。
如上所述,在RFC2461标准中已定义有5个选项类型。为了实现本发明,我们提出使用一种新的选项类型,其格式如下表3所示:
其具体的消息格式如图3所示,其中:
类型:6
长度:3(单位为8字节)
链路标识符:该字段唯一地表示接入装置的一个线路(端口)。在DSL接入网络中,每条DSL线路端口的MAC地址可以被用作标识符。如果DSL线路端口没有MAC地址,任何其他本地唯一的2层标识符均可被接入节点用作标识符。
中继代理ID:该字段唯一地标识一个RS/RA消息中继代理(即一个接入装置)。在IPv6接入网中,该字段可采用由服务提供商用作网络管理目的接入节点的IPv6地址(或任何其他2层或3层标识符)。
图4为对于在采用具有部分IP层功能的以太网接入装置(接入节点)1的基于IPv6的通信网络中实现IPv6无状态配置RS/RA方案的示意图。
图4示出了对于具有部分3层(IP层)功能的二层以太网接入装置(接入节点)1的RS/RA代理解决方案,以支持IPv6无状态配置。
具体地,图4中示出一个(支持IPv6的)用户装置3,一个接入设备(具有部分IP层功能的以太网接入设备)1和一个路由设备(例如,IPv6边缘路由器)2。
首先,用户装置3发送一个用户请求消息(例如,RFC2461建议的路由器请求(RS)消息)给接入设备1;
随后,接入设备1在该RS消息中加入一个用于标识用户的用户标识信息,其中包含代表该接入设备1的中继代理ID以及与该用户装置3对应的端口标识符,接入设备1将加入选所述用户标识信息的RS消息发送给路由设备2;
路由设备2由所接收的RS消息中分离出用户标识信息(其包括接入设备1的中继代理ID与该用户装置3对应的端口标识符),并基于所述中继代理ID和端口标识符来分配一个特定地址前缀(例如,IPv6地址前缀),并将这些信息(中继代理ID和端口标识符以及相应的特定地址前缀)包含在一个路由器响应(例如,RFC2461建议的路由器公告(RA)消息)。如图2和3所示,在RFC2461建议的RS和RA消息中,选项3包含该地址前缀信息,选项6包含该中继代理ID和端口标识符,然后路由设备2将该RA消息发送给该中继代理ID对应的接入设备1;
接入设备1从该RA消息中分离出选项3,其中包含所述特定的地址前缀消息,以及选项6中包含的中继代理ID和端口标识符,根据所述中继代理ID和端口标识符所指示的线路接口,并去除选项6后,将去除选项6的RA消息由端口标识符所代表的线路端口发送给用户装置3。
如图2、3和4所示,通过在RS/RA中加入标识接入设备1的中继代理ID和与DSL线路相对应的端口信息(例如,如图2-3所示,在RS/RA消息中增加一个新选项6),路由设备2(例如,边缘路由器)可以为每个用户装置3(或DSL)分配一个专用的地址前缀,接入设备2同时可避免将RA消息扩散给所有DSL线路所导致的可扩展问题,并实现基于预定前缀的IP地址反欺骗过滤器(安全性)。
图5示出根据本发明一个具体实施方式的,在基于IPv6协议的通信网络中为用户装置实现地址配置的接入设备1,其包括一个第一接收装置11、一个消息组合装置12、一个第一发送装置13、一个第二接收装置14、一个消息分离装置15、一个第二发送装置16。
所述第一接收装置11用于接收来自一个用户装置的用户请求消息(例如,RFC2461建议的路由器请求(RS)消息);
所述消息组合装置12用于将用户标识信息加入所述用户请求消息,其中,用户标识信息可包含代表该接入设备1的中继代理ID以及与该用户装置(或DSL)对应的端口标识符;
所述第一发送装置13用于将所述加入用户标识信息的用户请求消息发送给路由设备(例如,边缘路由器);
所述第二接收装置14用于接收来自所述路由设备的路由器响应消息(例如,RFC2461建议的路由器公告(RA)消息),所述RA消息中包含有用户标识信息(可仅包含端口标识符或包含中继代理ID和端口标识符)以及与用户装置相应的特定地址前缀(例如,IPv6地址前缀);
所述消息分离装置15用于由所述路由器响应消息中分离出用户标识信息与相应的特定地址前缀信息,如上所述,其中所述用户标识信息至少包括用于标识用户装置(或DSL)的端口标识符;
所述第二发送装置16用于根据所述用户标识信息,将所述特定地址前缀信息由所述端口标识符所指示的端口发送给相应的用户装置。
优选地,所述接入设备1为具有部分3层功能的二层接入设备,更优选地,为以太网接入设备。
优选地,(将用户标识信息与路由器请求消息相组合和分离的)消息组合装置12和消息分离装置13可以通过利用在图2A-C中所示的RFC2461建议的IP邻居发现消息(RS/RA消息)中加入或分离出图3所示的选项6的方案来实现。
图6示出了根据本发明一个具体实施方式的,在基于IPv6协议的通信网络的接入设备2中用于为用户装置进行地址配置的方法的流程图。
在步骤S101中,接收来自一个用户装置的用户请求消息(例如,RFC2461建议的路由器请求(RS)消息);
随后,在步骤S102中,将用户标识信息加入所述用户请求消息,其中,用户标识信息可包含代表该接入设备1的中继代理ID以及与该用户装置(或DSL)对应的端口标识符;
随后,在步骤S103中,将将所述加入用户标识信息的用户请求消息发送给路由设备(例如,边缘路由器);
在步骤S104中,接收来自所述路由设备的路由器响应消息(例如,RFC2461建议的路由器公告(RA)消息),所述RA消息中包含有用户标识信息(可仅包含端口标识符或包含中继代理ID和端口标识符)以及与用户装置相应的特定地址前缀;
在步骤S105中,由所述路由器响应消息中分离出用户标识信息与相应的特定地址前缀信息,如上所述,其中所述用户标识信息至少包括用于标识用户装置(或DSL)的端口标识符;
在步骤S106中,根据所述用户标识信息,将所述特定地址前缀信息由所述端口标识符所指示的端口发送给相应的用户装置。
优选地,所述接入设备1为具有部分3层功能的二层接入设备,更优选地,为以太网接入设备。
优选地,将用户标识信息与路由器请求消息相组合和分离的步骤可以通过利用在图2A-C中所示的RFC2461建议的IP邻居发现消息(RS/RA消息)中加入或分离出图3所示的选项6的方案来实现。
图7示出根据本发明的一个具体实施方式,在基于IPv6协议的通信网络中为用户装置3进行地址配置的路由设备2,其包括一个接收装置21、一个消息分离装置22、一个分配装置23、一个消息组合装置24、一个发送装置25。
其中,所述接收装置21用于接收来自一个接入设备2的用户请求消息(例如,RFC2461建议的路由器请求(RS)消息),其中,RS消息中包含有一个用户标识信息,该用户标识信息可包含代表该接入设备1的中继代理ID以及与该用户装置(或DSL)对应的端口标识符;
所述消息分离装置22用于由所述用户请求消息中分离出该用户标识信息;
所述分配装置23用于基于所述用户标识信息(中继代理标识和端口标识符)来分配一个相应的特定地址前缀(例如,IPv6地址前缀);
所述消息组合装置24用于将用户标识信息(可仅包含端口标识符或包含中继代理ID和端口标识符)与相应的特定地址前缀加入路由器响应消息(例如,RFC2461建议的路由器公告(RA)消息),);
所述发送装置25用于基于所述中继代理ID,将该路由器响应消息发送给相应的接入设备。
优选地,所述接入设备1为具有部分3层功能的二层接入设备,更优选地,为以太网接入设备。
优选地,由用户请求消息分离出用户标识信息的消息分离装置22和将地址前缀加入路由器响应消息的消息组合装置24可以通过利用在图2A-C中所示的RFC2461建议的IP邻居发现消息(RS/RA消息)中分离或加入出图3所示的选项6的方案来实现。
图8示出根据本发明的一个具体实施方式的,在基于IPv6协议的通信网络的路由设备2中为用户装置3进行地址配置的方法的流程图。
其中,在步骤S201中接收来自一个接入设备2的用户请求消息(例如,RFC2461建议的路由器请求(RS)消息),其中,RS消息中包含有一个用户标识信息,该用户标识信息可包含代表该接入设备1的中继代理ID以及与该用户装置(或DSL)对应的端口标识符;
在步骤S202中,由所述用户请求消息中分离出该用户标识信息;
在步骤S203中,基于所述用户标识信息(中继代理标识和端口标识符)来分配一个相应的特定地址前缀(例如,IPv6地址前缀);
在步骤S204中,将用户标识信息(可仅包含端口标识符或包含中继代理ID和端口标识符)与相应的特定地址前缀加入路由器响应消息(例如,RFC2461建议的路由器公告(RA)消息),);
在步骤S205中,基于所述中继代理ID,将该路由器响应消息发送给相应的接入设备。
优选地,所述接入设备1为具有部分3层功能的二层接入设备,更优选地,为以太网接入设备。
优选地,由用户请求消息分离出用户标识信息的步骤S202和将地址前缀加入路由器响应消息的步骤S204可以通过利用在图2A-C中所示的RFC2461建议的IP邻居发现消息(RS/RA消息)中分离或加入出图3所示的选项6的方案来实现。
与现有技术相比,本发明通过在RS/RA消息中加入用于指示用户装置的用户标识信息来为每一用户装置(或DSL)分配其专用的地址前缀,从而在IPv6服务中实现了无状态地址配置,解决了现有技术直接应用到接入网中产生的安全性和可扩展性问题。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在所附权利要求的范围内做出各种变形或修改。