一种在IPV6接入节点中数据包转发的方法和装置转让专利

申请号 : CN200880127986.1

文献号 : CN101971569B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 温海波刘刚

申请人 : 上海贝尔股份有限公司

摘要 :

针对IPv6接入网络的接入节点设备中在进行防止IP欺骗所存在的技术问题,本发明提出了一种在IPv6接入节点中数据包转发的方法和装置,用于转发来自驻地网关的数据包。在该方法中,首先,接入节点设备接收来自驻地网关的数据包;其次,获取所述数据包的源IPv6地址中的网络前缀;然后,判断所述数据包的源IPv6地址中的网络前缀是否是所述驻地网关所对应的用户驻地网络的一个合法网络前缀;最后,如果是,则转发所述数据包。特别是在本发明中的接入节点设备可通过侦听网络前缀分配响应消息等技术手段,自动获得合法网络前缀,从而大大提高了IPv6接入网络的安全性以及运营效率,简化了对IPv6接入网络的网络管理。

权利要求 :

1.一种在IPv6接入网络中的接入节点设备中用于转发来自驻地网关的数据包的方法,其中,包括如下步骤:b.所述接入节点设备接收所述驻地网关报告的合法的网络前缀,或者本接入节点设备通过侦听网络前缀分配服务器发送给所述驻地网关的网络前缀分配响应消息或配置服务器发送给所述驻地网关的相关消息,以获得分配给所述驻地网关的网络前缀,并添加到本接入节点设备预存的用户驻地网络的合法网络前缀集合中,其中,本接入节点设备预存的所述用户驻地网络的合法网络前缀集合包括一个或多个合法网络前缀;

c.接收来自所述驻地网关的数据包;

d.获取所述数据包的源IPv6地址中的网络前缀;

e.判断所述数据包的源IPv6地址中的网络前缀是否是所述驻地网关所对应的用户驻地网络的一个合法网络前缀,判断所述数据包的源IPv6地址中的网络前缀是否属于本接入节点设备预存的所述用户驻地网络的合法网络前缀集合;

f.如果是,则转发所述数据包。

2.根据权利要求1所述的方法,其特征在于,本接入节点设备预存的所述用户驻地网络的合法网络前缀集合包括一个或多个合法网络前缀以及对应的有效生命时间信息;

其中,还包括步骤:

o.根据所述合法网络前缀集合中的每一个合法网络前缀所对应的有效生命时间信息,判断该合法网络前缀是否已经过期,如果过期,则从所述合法网络前缀集合中删除该合法网络前缀以及对应的有效生命时间信息。

3.根据权利要求1所述的方法,其特征在于,所述步骤b还包括:

-当本接入节点设备通过侦听网络前缀分配服务器发送给所述驻地网关的网络前缀分配响应消息以获得分配给所述驻地网关的网络前缀时,将获得分配给所述驻地网关的网络前缀以及对应的有效生命时间信息,并添加到本接入节点设备预存的所述用户驻地网络的合法网络前缀集合中;如果所获得分配给所述驻地网关的网络前缀已经包含在所述合法网络前缀集合中,则用获得的有效生命时间信息更新该合法网络前缀所对应的有效生命时间信息。

4.根据权利要求3所述的方法,其特征在于,所述网络前缀分配服务器包括DHCPv6服务器或者代理路由器,所述网络前缀分配响应消息包括用于前缀分配的DHCP前缀分配响应消息或者用于前缀分配的DHCP重配置消息。

5.根据权利要求4所述的方法,其特征在于,还包括步骤:

i.接收来自所述驻地网关的上行DHCP消息,插入本接入节点设备用来标识所述驻地网关的逻辑标识,然后转发所述上行DHCP消息;

j.接收来自所述DHCPv6服务器或者代理路由的下行DHCP消息,根据其中包含的本接入节点设备用来标识所述驻地网关的逻辑标识,转发所述下行DHCP消息至对应的驻地网关。

6.根据权利要求5所述的方法,其特征在于,所述上行DHCP消息包括DHCP SoIicit消息、DHCP Request消息、DHCP Renew消息、DHCP Rebuild消息,所述下行DHCP消息包括用于前缀分配的DHCP Advertise消息、用于前缀分配的DHCP前缀分配响应消息、用于前缀分配的DHCP重配置消息。

7.根据权利要求5所述的方法,其特征在于,所述接入节点设备和所述驻地网关之间通过数字用户线路连接,本接入节点设备用来标识所述驻地网关的逻辑标识包括所述数字用户线路的线路号。

8.一种在IPv6接入网络中的接入节点设备中用于转发来自驻地网关的数据包的装置,其中,包括:-侦听单元,用于接收所述驻地网关报告的合法的网络前缀,或者侦听网络前缀分配服务器发送给所述驻地网关的网络前缀分配响应消息或配置服务器发送给所述驻地网关的相关消息,以获得分配给所述驻地网关的网络前缀,并添加到本接入节点设备预存的用户驻地网络的合法网络前缀集合中,其中,本接入节点设备预存的所述用户驻地网络的合法网络前缀集合包括一个或多个合法网络前缀;

-接收单元,用于接收来自所述驻地网关的数据包;

-获取单元,用于获取所述数据包的源IPv6地址中的网络前缀;

-判断单元,用于判断所述数据包的源IPv6地址中的网络前缀是否是所述驻地网关所对应的用户驻地网络的一个合法网络前缀,判断所述数据包的源IPv6地址中的网络前缀是否属于本接入节点设备预存的所述用户驻地网络的合法网络前缀集合;

-转发单元,用于转发所述数据包。

9.根据权利要求8所述的装置,其特征在于,本接入节点设备预存的所述用户驻地网络的合法网络前缀集合包括一个或多个合法网络前缀以及对应的有效生命时间信息;

其中,还包括:

-删除单元,用于根据所述合法网络前缀集合中的每一个合法网络前缀所对应的有效生命时间信息,判断该合法网络前缀是否已经过期,如果过期,则从所述合法网络前缀集合中删除该合法网络前缀以及对应的有效生命时间信息。

10.根据权利要求8所述的装置,其特征在于,所述侦听单元还用于:

-当本接入节点设备通过侦听网络前缀分配服务器发送给所述驻地网关的网络前缀分配响应消息以获得分配给所述驻地网关的网络前缀时,将获得分配给所述驻地网关的网络前缀以及对应的有效生命时间信息,并添加到本接入节点设备预存的所述用户驻地网络的合法网络前缀集合中;如果所获得分配给所述驻地网关的网络前缀已经包含在所述合法网络前缀集合中,则用获得的有效生命时间信息更新该合法网络前缀所对应的有效生命时间信息。

11.根据权利要求10所述的装置,其特征在于,所述网络前缀分配服务器包括DHCPv6服务器或者代理路由器,所述网络前缀分配响应消息包括用于前缀分配的DHCP前缀分配响应消息或者用于前缀分配的DHCP重配置消息。

12.根据权利要求11所述的装置,其特征在于,所述侦听单元还用于:

-接收来自所述驻地网关的上行DHCP消息,插入本接入节点设备用来标识所述驻地网关的逻辑标识,然后转发所述上行DHCP消息;以及-接收来自所述DHCPv6服务器或者代理路由的下行DHCP消息,根据其中包含的本接入节点设备用来标识所述驻地网关的逻辑标识,转发所述下行DHCP消息至对应的驻地网关。

13.根据权利要求12所述的装置,其特征在于,所述上行DHCP消息包括DHCP Solicit消息、DHCP Request消息、DHCP Renew消息、DHCP Rebuild消息,所述下行DHCP消息包括用于前缀分配的DHCP Advertise消息、用于前缀分配的DHCP前缀分配响应消息、用于前缀分配的DHCP重配置消息。

14.根据权利要求12所述的装置,其特征在于,所述接入节点设备和所述驻地网关之间通过数字用户线路连接,本接入节点设备用来标识所述驻地网关的逻辑标识包括所述数字用户线路的线路号。

说明书 :

一种在IPv6接入节点中数据包转发的方法和装置

技术领域

[0001] 本发明涉及IPv6环境下的接入网络中的接入接点设备,特别涉及IPv6接入网的接入节点设备中数据包转发的方法和装置。

背景技术

[0002] 随着网络的演进,IPv4地址的枯竭,以及用户驻地网络(CPN,Customer Premises Network),如用户家庭网络或者企业网络中的越来越多的设备要求与互联网(Internet)连接,接入网络已经开始转向支持IPv6。宽带论坛(Broadband Forum)已经着手对数字用户线路(DSL,Digital Subscriber Line)接入网向支持IPv6的演进进行相关标准化工作。
[0003] 接入节点(AN,Access Node)是运营商在接入网中第一个完全受控的设备,因此在接入节点中对数据包进行合法性检查,排除非法数据包,对运营商的网络完全至关重要。在IPv4接入网中,在AN中执行防止IP地址欺骗等网络安全措施,以确保网络的安全以及服务不会被窃取。然而在IPv6网络环境中,如果还执行与目前IPv4中类似的防止IP地址欺骗功能,则变得困难起来,其具体原因是:
[0004] 1)越来越多的设备通过用户驻地网络与运营商的接入节点相连接,因此就必然要求更多的防止IP欺骗的记录添加到接入节点中,则将导致接入节点要求具备非常高的存储量,以及非常高的运行性能,由此将导致建设IPv6接入网络的接入节点设备成本的大幅提升。
[0005] 2)在IPv6的用户驻地网络中的很多用户终端并不直接从运营商的DHCPv6服务器等网络设备中获得IPv6地址,而是基于无状态地址自动配置机制或者本地的DHCPv6服务器通过与驻地网关等设备交互并形成用户终端使用的IPv6地址,因此AN无法实时获得当前用户驻地网络的用户终端正在使用的IPv6地址列表,从而AN也无法如同在IPv4网络中一样,通过检查每个数据包中的源IPv6地址是否为当前正在使用的IPv6地址,来对数据包进行合法性检查。

发明内容

[0006] 因此,本发明的提出正是为了解决在IPv6接入网络中为实现防止IP地址欺骗等网络安全控制而存在的上述技术问题。基于本发明,通过在IPv6接入网络的接入节点设备中保存合法网络前缀(Prefix),并对来自驻地网关的数据包的源IPv6地址中的网络前缀进行检查,如果发现数据包的源IPv6地址中的网络前缀属于所保存的合法网络前缀之一,则接入节点设备转发该数据包。因为仅仅检查IPv6地址中的网络前缀部分,因此只需在接入节点设备中保存数量不大的合法网络前缀信息,从而避免了直接保存大量合法IPv6地址而需要大量存储空间的问题;同时,优选地,接入节点设备可通过侦听发送给驻地网关的网络前缀分配消息的方式,在接入节点设备运行过程中自动获得那些对应于用户驻地网络的合法网络前缀。
[0007] 根据本发明的第一个方面,提供了一种在IPv6接入网络中的接入节点设备中用于转发来自驻地网关的数据包的方法,首先,接入节点设备接收来自驻地网关的数据包;其次,获取所述数据包的源IPv6地址中的网络前缀;然后,判断所述数据包的源IPv6地址中的网络前缀是否是所述驻地网关所对应的用户驻地网络的一个合法网络前缀;最后,如果是,则转发所述数据包。
[0008] 根据本发明的第二个方面,提供了一种在IPv6接入网络中的接入节点设备中用于转发来自驻地网关的数据包的装置,该装置包括接收单元、获取单元、判断单元和转发单元;其中,接收单元用于接收来自所述驻地网关的数据包;获取单元用于获取所述数据包的源IPv6地址中的网络前缀;判断单元用于判断所述数据包的源IPv6地址中的网络前缀是否是所述驻地网关所对应的用户驻地网络的一个合法网络前缀;转发单元用于转发所述数据包。

附图说明

[0009] 通过以下结合附图对非限定性实施例所作描述,本发明的其它目的、特征及优势将更为明显。
[0010] 图1示出了根据本发明的一个具体实施例的IPv6接入网络的网络拓扑结构示意图;
[0011] 图2示出了根据本发明的一个具体实施例的IPv6接入网络的接入节点设备中用于数据包转发方法的消息流图;
[0012] 图3示出了根据本发明的另一个具体实施例的IPv6接入网络的接入节点设备中用于数据包转发的装置框图;
[0013] 图4示出了根据本发明的另一个具体实施例的IPv6接入网络的接入节点设备中用于数据包转发方法的消息流图;
[0014] 图5a示出了DHCPv6协议中IA_PD选项的结构示意图;
[0015] 图5a示出了DHCPv6协议中IA前缀选项的结构示意图。
[0016] 其中,相同或相似的附图标记表示相同或相似的步骤特征或装置(模块)。

具体实施方式

[0017] 如图1示出的本发明的一个具体实施例的IPv6接入网络的拓扑结构示意图中,接入网(NAP,Network Access Provider)通过接入节点(Access Node)设备,与一个或多个驻地网关31(RGW,Residential Gateway)相连接。每个驻地网关31与一个用户驻地网络(CPN,Customers Premises Network)相连接,其中用户驻地网络中的用户终端(User Terminal)1n(自然数n=1,2,...)与驻地网关31相连接,从驻地网关获得网络前缀或者IPv6地址,并通过驻地网关31将包含有用户终端的IPv6地址作为源IP地址的数据包发送给接入网NAP。接入网NAP通过边缘路由器等网络设备与一个或多个网络服务提供商(NSP,Network Service Provider)的网络相连接,其中包括动态主机配置协议(DHCPv6,Dynamic Host Configuration Protocol)服务器、AAA(Authentication、Authorization and Accounting,验证、授权、计费)服务器等网络设备。
[0018] 图2示出了根据本发明的一个具体实施例的IPv6接入网络的接入节点设备中用于数据包转发方法的消息流图,下面结合图1,对图2所示的本发明的一个具体实施方式进行详细说明。
[0019] 首先,接入节点设备41通过步骤S21接收来自驻地网关31的数据包,其中,该数据包包括源IPv6地址。
[0020] 可选地,接入节点设备41和驻地网关31之间可通过多种通信技术进行数据包传输,如数字用户线路(DSL,Digital Subscriber Line)技术、光纤连接、电缆(cable)连接或者包括IEEE 802.16在内的多种无线传输技术。
[0021] 接着,接入节点设备41通过步骤S22从所接收到的数据包中获得所对应的源IPv6地址中的网络前缀。
[0022] 然后,接入节点设备41通过步骤S23判断该数据包的源IPv6地址中的网络前缀是否是驻地网关31所对应的用户驻地网络的一个合法网络前缀。由于在IPv6网络中,一个用户驻地网络中的所有用户终端所使用的IPv6地址通常属于同一个或几个地址空间,也就是说,通常为同一个用户驻地网络分配一个或几个IPv6地址空间,即对应于一个或几个合法网络前缀。
[0023] 可选地,这些网络前缀可以是通过网络前缀分配服务器(如DHCPv6服务器)分配给该用户驻地网络使用的,也可以是通过其它配置服务器在网络部署的时候事先配置或指定的。在具体实施本发明时,当用户驻地网络获得上述合法网络前缀之后,既可以通过驻地网关31将这些合法网络前缀报告给与之相连接的接入节点设备41,也可以接入节点设备41通过侦听网络前缀分配服务器或者配置服务器发送给驻地网关的相关消息,获得上述合法网络前缀。
[0024] 因此,当接入节点设备41在获得该驻地网关31对应的用户驻地网络的合法网络前缀的基础上,就可以对该用户驻地网络中的用户终端通过驻地网关31发来的数据包的源IPv6地址中的网络前缀,是否是上述合法网络前缀之一,进行检查。
[0025] 优选地,接入节点设备41将该用户驻地网络对应的合法网络前缀用集合的形式进行预存,即接入节点设备41预存该用户驻地网络的合法网络前缀集合,这样,在步骤S23中,只要判断从数据包中所获得的源IPv6地址中的网络前缀,是否属于接入节点设备41所预存的该用户驻地网络的合法网络前缀集合。
[0026] 更优选地,对应于接入节点设备41所保存的用户驻地网络的合法网络前缀集合中的每一个集合元素或部分集合元素,即每一个合法网络前缀或部分合法网络前缀,同时还保存有关该合法网络前缀的有效生命时间信息,表示该合法网络前缀所表示的IPv6地址空间在哪个时间段内分配给对应的用户驻地网络使用。通常情况下,一个合法网络前缀的有效生命时间信息可以用如下两种形式表示:
[0027] 1)指定一个起始时间以及从起始时间开始的一个时间长度;
[0028] 如,合法网络前缀3FFE:FFFF:0:C000::/54的有效生命时间信息的起始时间为:2008年8月8日20:00,时间长度为2000秒,则表示该合法网络前缀从2008年8月8日
20:00开始的2000秒内有效,即用户驻地网络中的用户终端可以使用该合法网络前缀所表示的地址空间中的IPv6地址发送数据包。此时,对应地,合法网络前缀集合中的该合法网络前缀可表示为(3FFE:FFFF:0:C000::/54,2008年8月8日20:00,2000秒)。表1示出了用上述形式表示有效生命时间信息的一个合法网络前缀集合,在该集合中包括3个合法网络前缀以及各自的有效生命时间信息。
[0029] 表1
[0030]序号 网络前缀 起始时间 时间长度
合法网络前缀1 3FFE:FFFF:0:C000::/54 2008年8月8日20:00 2000秒
合法网络前缀2 3FFE:EEEE:0:C000::/54 2008年7月8日20:00 200000秒
合法网络前缀3 3FFE:DDDD:0:C000::/54 2008年6月8日20:00 300000秒[0031] 2)指定一个截止时间;
[0032] 如,合法网络前缀3FFE:FFFF:0:C000::/54的有效生命时间信息的截止时间为:2008年8月24日20:00,则表示该合法网络前缀在2008年8月24日20:00之前有效,即用户驻地网络中的用户终端可以使用该合法网络前缀所表示的地址空间中的IPv6地址发送数据包。此时,对应地,合法网络前缀集合中的该合法网络前缀可表示为(3FFE:FFFF:0:C000::/54,2008年8月24日20:00)。表2示出了用上述形式表示有效生命时间信息的一个合法网络前缀集合,在该集合中包括2个合法网络前缀以及各自的有效生命时间信息。
[0033] 表2
[0034]序号 网络前缀 截止时间
合法网络前缀1 3FFE:FFFF:0:C000::/54 2008年8月24日20:00
合法网络前缀2 3FFE:EEEE:0:C000::/54 2008年9月8日20:00
[0035] 作为本发明的优选实施例,在接入节点设备41所保存的用户驻地网络的合法网络前缀集合中还保存有各个合法网络前缀的有效时间生命信息的情况下,接入节点设备41还根据合法网络前缀集合中的每一个合法网络前缀所对应的有效生命时间信息,判断该合法网络前缀是否已经过期,如果某个合法网络前缀已经过期,则将其从合法网络前缀集合中删除。例如,如表2所示的合法网络前缀集合中的一个合法网络前缀为(3FFE:FFFF:0:C000::/54,2008年8月24日20:00),如果当前系统时间为2008年8月24日20:05,则表示该合法网络前缀已经过期了,即用户驻地网络中的用户终端不能再继续使用该合法网络前缀所表示的地址空间中的IPv6地址发送数据包,此时,接入节点设备41将该合法网络前缀(3FFE:FFFF:0:C000::/54,2008年8月24日20:00)从合法网络前缀集合中删除。对应地,如表2所示的合法网络前缀集合在删除了该合法网络前缀之后,可用表3表示。
[0036] 表3
[0037]序号 网络前缀 截止时间
合法网络前缀1 3FFE:EEEE:0:C000::/54 2008年9月8日20:00
[0038] 可选地,在具体实施本发明时,可以通过周期性的对上述合法网络前缀集合中的各个合法网络前缀进行扫描,根据对应的有效生命时间信息以及当前系统时间,判断该合法网络前缀是否已经过期,如果某个合法网络前缀已经过期,则从上述合法网络前缀集合中删除该合法网络前缀。优选地,也可以根据合法网络前缀对应的有效生命时间信息,启动相应的定时器,当发生定时器超时事件时,从上述合法网络前缀集合中删除对应的合法网络前缀。
[0039] 如果上述合法网络前缀集合中的某个合法网络前缀没有保存对应的有效生命时间信息,则认为该合法网络前缀一直被分配给驻地网关31所对应的用户驻地网络使用,即随着时间的推移该合法网络前缀不会过期。
[0040] 另外,优选地,用户驻地网络对应的驻地网关31从网络前缀分配服务器(如DHCPv6服务器或其它AAA服务器)处请求获得该用户驻地网络的合法网络前缀,因此网络前缀分配服务器通常会向驻地网关31发送网络前缀分配响应消息,根据如图1所示的IPv6接入网络的拓扑结构,这些网络前缀分配响应消息必须要经过接入节点设备41才能到达驻地网关31,因此接入节点设备41可以非常方便、及时、高效地侦听到上述网络前缀分配响应消息,并从中获得被分配给用户驻地网络使用的合法网络前缀,以及将这些合法网络前缀添加到它所保存的对应于该用户驻地网络的合法网络前缀集合中(此时,如果接入节点设备41中还不存在对应的合法网络前缀集合,则在添加操作之前,先创建一个空的合法网络前缀集合)。当接入节点设备41从侦听到的网络前缀分配响应消息中,获得被分配给用户驻地网络使用的合法网络前缀的同时,还获得对应的合法网络前缀的有效生命时间信息时,则将该合法网络前缀和它对应的有效生命时间信息一起添加到合法网络前缀集合中。如,被分配的合法网络前缀为3FFE:FFFF:0:C000::/54,用截止时间表示的有效生命时间信息为2008年8月24日20:00,则可以将(3FFE:FFFF:0:C000::/54,2008年8月24日20:00)一起在添加到驻地网关31所对应的用户驻地网关的合法网络前缀集合中;具体地,[0041] 1)如果此时该合法网络前缀集合已经包含了一个合法网络前缀
(3FFE:FFFF:0:C000::/54,2008年8月21日20:00),则只需要将该合法网络前缀对应的生命有效时间信息2008年8月21日20:00更新为2008年8月24日20:00即可,或者首先从合法网络前缀集合中删除已有的(3FFE:FFFF:0:C000::/54,2008年8月21日20:00),然后再将(3FFE:FFFF:0:C000::/54,2008年8月24日20:00)添加入该集合中;
[0042] 2)如果此时该合法网络前缀集合已经包含了一个合法网络前缀3FFE:FFFF:0:C000::/54,但没有任何对应的有效生命时间信息,则只需要将2008年8月24日20:00作为该合法网络前缀的有效生命时间信息即可,即更新之后该合法网络前缀集合包含成员(3FFE:FFFF:0:C000::/54,2008年8月24日20:00);
[0043] 3)其 它情 况下,即 该合 法 网络 前 缀集 合 中没 有包 含 网络 前 缀3FFE:FFFF:0:C000::/54,则只要将(3FFE:FFFF:0:C000::/54,2008年8月24日20:00)作为该合法网络前缀集合的一个新成员加入即可。
[0044] 优选地,前文所述的网络前缀分配服务器包括DHCPv6服务器或者代理路由器(Delegating Router),发送给驻地网关31的网络前缀分配响应消息包括用于前缀分配的DHCP前缀分配响应消息(DHCP Reply)或者用于前缀分配的DHCP重配置消息(DHCP Reconfigure)。
[0045] 另外,优选地,在具体实施本发明时,接入节点设备41往往与多个不同的驻地网关相连接。此时,接入节点设备41为了能更简单地区分所侦听到的用于前缀分配的DHCP前缀分配响应消息或者用于前缀分配的DHCP重配置消息具体将发往哪个驻地网关,在接入节点设备41中还包括如下步骤:
[0046] 首先,接入节点设备41在所接收来自所述驻地网关的上行DHCP消息(在本申请文件中,我们将驻地网关31通过接入节点设备41发送给DHCPv6服务器的DHCP消息称为“上行DHCP消息”,而将DHCPv6服务器通过接入节点设备41发送给驻地网关31的DHCP消息称为“下行DHCP消息”。)中,插入本接入节点设备用来标识所述驻地网关的逻辑标识,然后转发所述上行DHCP消息;
[0047] 其次,接入节点设备41在接收来自所述DHCPv6服务器或者代理路由的下行DHCP消息之后,根据其中包含的本接入节点设备用来标识所述驻地网关的逻辑标识,判断该下行DHCP消息具体发往所包含的逻辑标识对应的驻地网关,并转发所述下行DHCP消息至该驻地网关。其中,在接入节点设备41中,不同的逻辑标识对应于与该接入节点设备41相连接的不同的驻地网关。
[0048] 具体地,上述上行DHCP消息包括DHCPv6协议中的DHCP Solicit消息、DHCP请求(DHCP Request)消息、DHCP更新(DHCP Renew)消息、DHCP重建(DHCP Rebuild)消息等消息,下行DHCP消息则包括用于前缀分配的DHCP广告(DHCP Advertise)消息、用于前缀分配的DHCP前缀分配响应消息(DHCP Reply)、用于前缀分配的DHCP重配置消息(DHCP Reconfigure)。
[0049] 优选地,当接入节点设备41与驻地网关31之间通过数字用户线路相连接时,通常接入节点设备41会使用唯一的数字用户线路号来表示上述数字用户线路,此时,在具体实施本发明时,可以选择该数字用户线路号作为上述本接入节点设备用来标识所述驻地网关的逻辑标识。
[0050] 最后,当接入节点设备41通过步骤S23判断该数据包的源IP地址中的网络前缀是该用户驻地网络的一个合法网络前缀,或者该数据包的源IP地址中的网络前缀属于接入节点设备41所预存的该用户驻地网络的合法网络前缀集合,则通过步骤S24转发该数据包。
[0051] 需要说明的是,前文所述的对合法网络前缀集合进行删除、添加等更新操作,可以在接入节点设备对数据包的源IPv6地址的网络前缀进行检查、转发等过程中持续进行,即对合法网络前缀集合进行删除、添加等更新操作与步骤S21、S22和S23之间没有严格的时序上的要求。
[0052] 图3示出了根据本发明的另一个具体实施例的IPv6接入网络的接入节点设备中用于数据包转发的装置框图,下面结合图1,对图2所示的本发明的一个具体实施方式进行详细说明。
[0053] 该接入节点设备41中用于数据包转发的装置包括接收单元410、获取单元411、判断单元412和转发单元413,以及删除单元414、侦听单元415。为简明起见,该用于数据包转发的装置包括了很多优选实施例中所包含的子装置,本领域技术人员根据本申请的教导,应能理解其中仅接收单元410、获取单元411、判断单元412和转发单元413是实施本发明所必要的装置,其他子装置为可选装置。
[0054] 首先,接入节点设备41通过接收单元410接收来自驻地网关31的数据包,其中,该数据包包括源IPv6地址。
[0055] 接着,接入节点设备41通过获取单元411从所接收到的数据包中获得所对应的源IPv6地址中的网络前缀。
[0056] 然后,接入节点设备41通过判断单元412判断该数据包的源IPv6地址中的网络前缀是否是驻地网关31所对应的用户驻地网络的一个合法网络前缀。判断单元412保存了驻地网关31所对应的用户驻地网络的所有合法网络前缀,即分配给该用户驻地网络使用的网络前缀,换言之,该用户驻地网络中的用户终端可以使用这些网络前缀所表示的IPv6地址空间的IPv6地址发送数据包。
[0057] 优选地,判断单元412将该用户驻地网络对应的合法网络前缀用集合的形式进行预存,即判断单元412预存该用户驻地网络的合法网络前缀集合,这样,判断单元412只要判断从数据包中所获得的源IPv6地址中的网络前缀,是否属于它所预存的该用户驻地网络的合法网络前缀集合。
[0058] 更优选地,对应于判断单元412所保存的用户驻地网络的合法网络前缀集合中的每一个集合元素或部分集合元素,即每一个合法网络前缀或部分合法网络前缀,同时还保存有关该合法网络前缀的有效生命时间信息,表示该合法网络前缀所表示的IPv6地址空间在哪个时间段内分配给对应的用户驻地网络使用。此时,删除单元414根据合法网络前缀集合中的各个合法网络前缀所对应的有效生命时间信息,判断该合法网络前缀是否已经过期,如果某个合法网络前缀已经过期,则将其从合法网络前缀集合中删除。
[0059] 可选地,删除单元414在具体实施时,可以通过周期性的对上述合法网络前缀集合中的各个合法网络前缀进行扫描,根据对应的有效生命时间信息以及当前系统时间,判断该合法网络前缀是否已经过期,如果某个合法网络前缀已经过期,则从上述合法网络前缀集合中删除该合法网络前缀。优选地,也可以根据合法网络前缀对应的有效生命时间信息,启动相应的定时器,当发生定时器超时事件时,删除单元414从上述合法网络前缀集合中删除对应的合法网络前缀。
[0060] 另外,优选地,用户驻地网络对应的驻地网关31从网络前缀分配服务器(如DHCPv6服务器或其它AAA服务器)处请求获得该用户驻地网络的合法网络前缀,因此网络前缀分配服务器通常会向驻地网关31发送网络前缀分配响应消息,此时,侦听单元415可以非常方便、及时、高效地侦听到上述网络前缀分配响应消息,并从中获得被分配给用户驻地网络使用的合法网络前缀,以及将这些合法网络前缀添加到判断单元413所保存的对应于该用户驻地网络的合法网络前缀集合中(此时,如果判断单元413中还不存在对应的合法网络前缀集合,则在添加操作之前,先创建一个空的合法网络前缀集合)。
[0061] 当网络前缀分配响应消息同时包含被分配给用户驻地网络使用的合法网络前缀以及对应的有效生命时间信息时,则侦听单元415通过侦听上述网络前缀分配响应消息,同时获得被分配给用户驻地网络使用的合法网络前缀以及对应的有效生命时间信息,并将该合法网络前缀和它对应的有效生命时间信息,一起添加到判断单元413所保存的合法网络前缀集合中。
[0062] 类似地,侦听单元415可采用如前文描述的方法,向判断单元413所保存的对应于该用户驻地网络的合法网络前缀集合中做上述添加操作。
[0063] 优选地,侦听单元415通过侦听DHCPv6服务器或者代理路由器(Delegating Router)发送给驻地网关31的用于前缀分配的DHCP前缀分配响应消息(DHCP Reply)或者用于前缀分配的DHCP重配置消息(DHCP Reconfigure),获得被分配给用户驻地网络使用的合法网络前缀以及对应的有效生命时间信息。
[0064] 另外,优选地,在具体实施本发明时,接入节点设备41往往与多个不同的驻地网关相连接。此时,侦听单元415为了能更简单地区分所侦听到的用于前缀分配的DHCP前缀分配响应消息或者用于前缀分配的DHCP重配置消息具体将发往哪个驻地网关,侦听单元415还用于:
[0065] 首先,侦听单元415在所接收来自所述驻地网关的上行DHCP消息中,插入本接入节点设备用来标识所述驻地网关的逻辑标识,然后转发所述上行DHCP消息;
[0066] 其次,侦听单元415在接收来自所述DHCPv6服务器或者代理路由的下行DHCP消息之后,根据其中包含的本接入节点设备用来标识所述驻地网关的逻辑标识,判断该下行DHCP消息具体发往所包含的逻辑标识对应的驻地网关,并转发所述下行DHCP消息至该驻地网关。
[0067] 具体地,上述上行DHCP消息包括DHCPv6协议中的DHCP Solicit消息、DHCP Request消息、DHCP Renew消息、DHCP Rebuild消息等消息,下行DHCP消息则包括用于前缀分配的DHCP Advertise消息、用于前缀分配的DHCP前缀分配响应消息、用于前缀分配的DHCP重配置消息。
[0068] 优选地,当接入节点设备41与驻地网关31之间通过数字用户线路相连接时,通常接入节点设备41会使用唯一的数字用户线路号来表示上述数字用户线路,此时,在具体实施本发明时,可以选择该数字用户线路号作为上述本接入节点设备用来标识所述驻地网关的逻辑标识。
[0069] 最后,当判断单元413判断该数据包的源IP地址中的网络前缀是该用户驻地网络的一个合法网络前缀,或者该数据包的源IP地址中的网络前缀属于接入节点设备41所预存的该用户驻地网络的合法网络前缀集合,则通过转发单元414转发该数据包。
[0070] 图4示出了根据本发明的另一个具体实施例的IPv6接入网络的接入节点设备中用于数据包转发方法的消息流图,下面结合图1、图5a、图5b,对图4所示的本发明的一个具体实施方式进行详细说明。
[0071] 在该实施例中的IPv6接入网络中,接入节点设备41通过不同的数字用户线路与不同的驻地网关相连接,在接入节点设备41中用不同的数字用户线路号(DSL line No.)来唯一表示不同的数字用户线路,并对应连接不同的驻地网关。同时,驻地网关31对应于一个用户驻地网络,该网络中的用户终端通过驻地网关向接入节点设备41发送数据包。
[0072] 驻地网关31在与接入节点设备41连接之后,首先通过步骤S31向DHCPv6服务器发送DHCP恳请消息(DHCP Solicit),请求DHCP服务器向其分配对应的网络前缀,其中DHCP恳请消息包含如图5a所示的IA_PD选项(IA_PD-option)信息。
[0073] 接入节点设备41在接收到驻地网关31发送的DHCP恳请消息之后,通过步骤S32,将连接接入节点设备41与驻地网关31的数字用户线路的数字用户线路号,通过DHCPv6协议定义的中继代理用户ID选项(Relay Agent Subscriber ID option),添加到DHCP恳请消息中,并将DHCP恳请消息转发给DHCPv6服务器。需要说明的是,上述数字用户线路号也可以用接入节点设备41用来标识不同的驻地网关的逻辑标识代替,其中,接入节点设备41根据不同的逻辑标识区分与之相连接的不同的驻地网关。例如,可选地,当接入节点设备41用不同的序号唯一表示与之相连接的不同的驻地网关时,则上述数字用户线路号也可以用表示驻地网关31的序号代替。
[0074] 接着,接入节点设备41在接收到DHCPv6服务器发送的DHCP广告消息(DHCP Advertise)之后,通过步骤S33,将其中包含的数字用户线路号去除,并将不再包含数字用户线路号的DHCP广告消息,通过步骤S34,转发给上述数字用户线路号对应连接的驻地网关31。
[0075] 然后,类似地,通过步骤S35,接入节点设备41接收来自驻地网关31发送的DHCP请求消息(DHCP Request),其中包含如图5a所示的IA_PD选项,并且该IA_PD选项包含有如图5b所示的IA前缀选项(Iaprefix-option)信息,随后将连接接入节点设备41与驻地网关31的数字用户线路的数字用户线路号,通过DHCPv6协议定义的中继代理用户ID选项,添加到DHCP请求消息中,并通过步骤S36,将DHCP请求消息转发给DHCPv6服务器。
[0076] 再接着,通过步骤S37,接入节点设备41在接收到DHCPv6服务器发送用于前缀分配的DHCP网络前缀分配响应消息(DHCP Reply for Delegation)之后,将其中包含的数字用户线路号去除,并将不再包含数字用户线路号的DHCP网络前缀分配响应消息,通过步骤S38,转发给上述数字用户线路号对应连接的驻地网关31。其中,用于前缀分配的DHCP网络前缀分配响应消息中包含如图5b所示的IA前缀选项信息,其中IA前缀选项包含的IPv6前缀(IPv6 prefix)即为DHCPv6服务器分配给驻地网关31的网络前缀,而该网络前缀表示所对应的有效生命时间信息即:从驻地网关31接收到该DHCP网络前缀分配响应消息为起始时间、以IA前缀选项包含的有效生命时间(valid-lifetime)为时间长度。
[0077] 至此,通过步骤S31至步骤S38,接入节点设备41可从所侦听到的用于前缀分配的DHCP网络前缀分配响应消息中获得DHCPv6服务器分配给驻地网关31的合法网络前缀,以及对应的有效生命时间信息。例如,接入节点设备41在2008年9月9日20:00接收到DHCPv6服务器发送给驻地网关31的DHCP网络前缀分配响应消息,其中包含的IPv6前缀为3FFE:FFFF:0:C000::/54,包含的有效生命时间(valid-lifetime)为2000秒,并且对应于驻地网关31,接入节点设备41还未保存驻地网关31对应的用户驻地网络的合法网络前缀集合,那么,接入节点设备41会创建一个如表4所示的列表来保存上述分配给用户驻地网络使用的合法网络前缀3FFE:FFFF:0:C000::/54,以及其对应的有效生命时间信息。
[0078] 表4
[0079]序号 网络前缀 起始时间 时间长度
合法网络前缀1 3FFE:FFFF:0:C000::/54 2008年9月9日20:00 2000秒[0080] 此后,用户驻地网络中的用户终端通过步骤S39通过IPv6地址无状态自动分配机制,从驻地网关31得到合法网络前缀信息,并与自身的设备信息一起,组成用户终端可使用的IPv6地址。在随后的步骤S40中,用户终端以新组成的IPv6地址为数据包的源IP地址,向驻地网关31发送数据包。而后驻地网关31通过步骤S41将该数据包转发给接入节点设备41。举例来说,如果分配给驻地网关31的网络前缀为3FFE:FFFF:0:C000::/54,则用户终端形成的一个可能的IPv6地址为3FFE:FFFF:0:C000:1111:2222:AAAA:BBBB,则接入节点设备41通过步骤S42,从驻地网关31转发的来自该用户终端的数据包的源IPv6中获得网络前缀为3FFE:FFFF:0:C000::/54,然后,通过步骤S43,与如表4所示的驻地网关31对应的用户驻地网络的合法网络前缀集合进行判断比较,确定该网络前缀属于如表4所示的合法网络前缀集合,因此接入节点设备41通过步骤S44将该数据包转发至NSP网络或者接入网络的其它设备。
[0081] 以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域普通技术人员可以在所附权利要求的范围内做出各种变型或修改。本发明的技术方案用软件或硬件皆可实现。