支持IPv6多地址接入的业务控制方法和设备的制作方法

文档序号:7752789阅读:248来源:国知局
专利名称:支持IPv6多地址接入的业务控制方法和设备的制作方法
技术领域
本发明涉及下一代互联网环境中IPv6接入认证技术,更具体地,本发明涉及一种 利用RADIUS协议属性扩展而实现的IPv6多地址接入控制方法和设备。
背景技术
随着近几年IPv6技术得到不断完善和IPv6网络的不断扩大,IPv6技术的商业应 用也越来越受到重视,各种IPv6的产品设备也随着环境的完善进入市场。对于网络运营商 或者多数网络管理方来说,单单有IPv6的设备还不能满足需求,还需要能够用于IPv6网络 环境的网络接入控制方法,这样才能解决下一代互联中对接入用户的各种权限控制、认证 登陆等问题。但是,由于IPv6地址生成方式的多样性,往往一台机器会拥有多个不同的IPv6地 址,而在RADIUS协议中,并没有提供对IPv6多地址接入的支持。而且,在现有技术中,尚不 存在对具有多个不同的IPv6地址的接入请求进行接入控制的机制,最新的RFC协议文档中 也只提供了对单IPv6接入的理论支持。

发明内容
为此,本发明旨在解决上述技术问题。具体地,本发明通过对RADIUS协议进行扩 展,实现了 IPv6多地址接入。根据本发明的一个方面,提供了一种支持IPv6多地址接入的业务控制方法,包 括在接入控制网关处,接收包含用户信息和多个IPv6地址的接入请求,通过将多个IPv6 地址进行拼接而形成RADIUS认证请求,并将该RADIUS认证请求发送至RADIUS认证服务 器;以及在RADIUS认证服务器处,接收并解析RADIUS认证请求以获得RADIUS认证请求中 包含的多个IPv6地址,对用户信息和每一个IPv6地址进行认证和授权,并向接入控制网关 返回RADIUS认证结果。优选地,该方法还包括如果RADIUS认证结果指示用户信息认证通过,则接入控 制网关根据RADIUS认证结果为多个IPv6地址开通相应的访问权限。优选地,将多个IPv6地址拼接后保存在RADIUS认证请求的Called-Station-Id 属性字段中。优选地,RADIUS协议利用FreeRadius库来实现。根据本发明的另一个方面,提供了一种支持IPv6多地址接入的接入控制网关,包 括地址拼接单元,被配置为接收包含用户信息和多个IPv6地址的接入请求,通过将多个 IPv6地址进行拼接而形成RADIUS认证请求,并将该RADIUS认证请求发送至RADIUS认证服 务器;以及结果处理单元,被配置为接收并处理来自RADIUS认证服务器的RADIUS认证结^ ο优选地,地址拼接单元将多个IPv6地址拼接后保存在RADIUS认证请求的 Called-Station-Id 属性字段中。
优选地,结果处理单元还被配置为如果RADIUS认证结果指示用户信息认证通 过,根据RADIUS认证结果为多个IPv6地址开通相应的访问权限。优选地,接入控制网 关利用Linux系统来实现,而RADIUS协议利用FreeRadius库 来实现。根据本发明的又一个方面,提供了一种支持IPv6多地址接入的RADIUS认证服务 器,包括数据库单元,被配置为存储用户认证信息和地址权限信息;以及认证单元,被配 置为接收并解析来自接入控制网关的RADIUS认证请求以获得RADIUS认证请求中包含的 多个IPv6地址,利用数据库单元中存储的用户认证信息和地址权限信息,对用户信息和每 一个IPv6地址进行认证和授权,并向接入控制网关返回RADIUS认证结果。优选地,认证单元对RADIUS认证请求的CalIed-Station-Id属性字段进行解析, 以获得多个IPv6地址。优选地,RADIUS认证服务器利用Linux系统来实现,而RADIUS协议利用 FreeRadius库来实现。与现有技术相比,本发明能够处理一个用户带有多个不同IPv6地址的接入请求, 并且能够方便地为该用户提供多个IPv6地址的认证与授权接入控制。从而,本发明可以在 下一代互联网环境中为运营商和用户提供多地址接入。


通过下面结合

本发明的优选实施例,将使本发明的上述及其它目的、特 征和优点更加清楚,其中图1是示出了根据本发明一个实施例的IPv6多地址接入控制系统的示意图;图2是示出了根据本发明一个实施例的接入控制网关的框图;图3是示出了根据本发明一个实施例的RADIUS认证服务器的框图;以及图4是示出了根据本发明一个实施例的支持IPv6多地址接入的业务控制方法的 流程图。
具体实施例方式为了清楚详细的阐述本发明的实现过程,下面给出了一些本发明的具体实施例。 参照附图对本发明的实例进行详细说明,为了清楚起见,在描述过程中省略了对于本发明 来说是不必要的细节和功能,以防止对本发明的理解造成混淆。图1是示出了根据本发明一个实施例的IPv6多地址接入控制系统100的示意图。 该系统100包括登陆客户端110、接入控制网关120和RADIUS认证服务器130。登陆客户端110是用户当前使用的请求开通网络的计算机。客户端110需要通过 登陆认证后才能开通网络访问服务。具体地,客户端110可以通过访问指定页面或者使用 指定登陆程序进行登陆,登陆数据将被传送到接入控制网关120。接入控制网关120与登陆客户端110和外网相连,并负责对用户的接入设置和通 过的数据包进行权限访问控制。具体地,接入控制网关120从登陆客户端110接收用户登 陆时的数据,并向RADIUS服务器130提交认证。之后,接入控制网关120从RADIUS服务器 130接收认证结果,并向登陆客户端110返回用户登陆结果。
登陆成功后,接入控制网关120对所经过的每个网络数据分组执行过滤处理,利 用权限判断数据分组将要被转发还是丢弃。每段地址的权限可以灵活的设定。如果将不同 的网络段设置为不同的权限,那么接入控制网关120对各网络段的数据分组的处理就会不 同,从而能够实现向用户开放不同类型的服务。接入控制网关120可以通过各种技术来实现。例如,在本发明的一个具体实施例 中,接入控制网关120是基于Linux系统而实现的IPv6控制网关,其中,利用FreeRadius 开发库实现本发明的RADIUS协议。RADIUS认证服务器130与接入控制网关120相连,用于接收由接入控制网关120 发送的认证请求等,并将认证结果返回接入控制网关120。同样,RADIUS认证服务器130可以通过各种技术来实现。例如,在本发明的一个 具体实施例中,利用Free Radius开源程序在Linux服务器上实现RADIUS认证服务器130。 其中,对FreeRadius的认证规则进行设置,使其使用授权数据库中的数据 对用户信息进行 认证。图2是示出了根据本发明一个实施例的接入控制网关200的框图。接入控制网关 200包括地址拼接单元210和结果处理单元220。地址拼接单元210在其输入201上接收来自登陆客户端110的IPv6多地址接入 请求。该请求包括用户信息以及登陆客户端110的多个IPv6地址。接下来,地址拼接单 元210将多个IPv6地址分别转化成字符串并拼接在一起,然后将其保存于RADIUS协议的 Called-Station-Id属性中。下面以一个具体实例说明具体拼接过程。根据RADIUS标准协议,Called-Station-Id属性的具体格式如下Type|Length|String其中Type字段占用一个字节,其值为30,此值是RADIUS协议为 Called-Station-Id属性分配的代号。Length字段占用一个字节,其值为Type、Length、 String三个字段的长度总和。String字段代表CalIed-Station-Id字段的实际值,RADIUS 标准协议规定其占用长度范围为大于等于1字节小于等于253字节。假设当前要认证的IPv6地址有四个,分别为200121a:da8::92001:21a:da8::102001:21a:da8::112001:21a:da8::12在一个实施例中,以分号为分隔符将其拼接在一起,拼接后的字串为 2001:21a:da8::9 ;200121a:da810 ;200121a:da811 ;200121a:da812。本领域的技术人员可以理解,也可以用其他字符作为分隔符,只要该字符是IPv6 地址中规定不使用的字符、可起到分隔作用即可。因此,在上面的示例中,将四个地址封装后形成的Called-Station-Id属性的具 体内容为30 I 68 I 2001 21a: da8 9 ;2001 21a: da8 10 ;2001 21a: da8 11 ; 2001:21a:da8::12。此外,需要说明的是,对用户信息合法性的认证并不由接入控制网关200完成,而是由下文详细描述的RADIUS认证服务器完成。因此,地址拼接单元210将用户信息连同所 生成的Called-Station-Id属性一并组成为RADIUS认证请求,并在其输出202上向RADIUS 认证服务器发送该RADIUS认证请求。
结果处理单元220在其输入203上接收来自RADIUS认证服务器的认证结果。如 果用户信息认证通过,则结果处理单元220为所提交的IPv6多地址接入请求中的多个IPv6 地址开通相应的访问权限。最后,结果处理单元220在其输出204上向登陆客户端110返回 登陆结果。登陆结果可分为登陆成功和登陆出错两种类型,而登陆出错又可分为两种类型, 一种是用户身份不合法,比如无此用户或密码错误等;一种是此用户所提交IPv6地址全都 无法取得合法的授权。图3是示出了根据本发明一个实施例的RADIUS认证服务器300的框图。RADIUS 认证服务器300包括认证单元310和数据库单元320。其中,认证单元310在其输入301 上接收来自接入控制网关200的RADIUS认证请求。然后,认证单元310根据数据库单 元320中相应的用户信息来验证登陆用户的合法性,并对RADIUS认证请求中所包含的 Called-Station-Id属性进行解析,以获得相应的多个IPv6地址。接下来,如果用户信息认 证通过,则认证单元310利用数据库单元320中已保存的地址权限信息,对解析得到的每个 IPv6地址分别进行认证和授权。最后,认证单元310在其输出302上将认证结果返回给接 入控制网关200。在本发明的一个实施例中,使用FreeRadius开发RADIUS协议,其中将多个IPv6 地址分别转化成字符串并拼在一起,并保存于RADIUS协议的Called-Station-Id属性中。 通过该RADIUS协议,实现了接入控制网关200与RADIUS服务器300之间的通信。然而, 本领域的技术人员可以理解,本发明的实现并不仅仅依赖于FreeRadius库,其它任何支持 RADIUS协议的开发库都可以用来实现本发明。图4是示出了根据本发明一个实施例的支持IPv6多地址接入的业务控制方法400 的流程图。方法400在步骤S401开始。在步骤S403,接入控制网关接收IPv6多地址接入请求。客户端登陆时会将用户身 份信息以及本机的多个IPv6地址通过IPv6多地址接入请求传送到接入控制网关。在步骤S405,接入控制网关将多个IPv6地址分别转化成字符串并拼在一起,并保 存在RADIUS协议的Called-Station-Id属性中。在步骤S407,接入控制网关利用Called-Station-Id属性和用户信息,生成 RADIUS认证请求,并将其发送给RADIUS认证服务器。在步骤S409,RADIUS认证服务器接收成RADIUS认证请求,并根据数据库中的用户 信息验证登陆用户的合法性。此外,RADIUS认证服务器解析Called-Station-Id属性以获 得其中保存的多个IPv6地址。在步骤S411,RADIUS认证服务器利用数据库中已保存的地址权限信息对每个 IPv6地址分别进行认证与授权。然后,RADIUS认证服务器将认证结果返回接入控制网关。在步骤S413,接入控制网关对认证结果进行分析。如果用户信息的认证通过,则在 步骤S415根据RADIUS认证服务器对每个IPv6地址的认证结果而设置相应的权限。否则, 不对IPv6地址的权限进行设置,处理直接进行至步骤S417。在步骤S417,接入控制网关将登陆结果返回给登陆客户端。
最后,方法400在步骤S419处结束。 至此已经结合优选实施例对本发明进行了描述。应该理解,本领域技术人员在不 脱离本发明的精神和范围的情况下,可以进行各种其它的改变、替换和添加。因此,本发明 的范围不局限于上述特定实施例,而应由所附权利要求所限定。
权利要求
一种支持IPv6多地址接入的业务控制方法,包括在接入控制网关处,接收包含用户信息和多个IPv6地址的接入请求,通过将多个IPv6地址进行拼接而形成RADIUS认证请求,并将该RADIUS认证请求发送至RADIUS认证服务器;以及在RADIUS认证服务器处,接收并解析RADIUS认证请求以获得RADIUS认证请求中包含的多个IPv6地址,对用户信息和每一个IPv6地址进行认证和授权,并向接入控制网关返回RADIUS认证结果。
2.如权利要求1所述的支持IPv6多地址接入的业务控制方法,还包括如果RADIUS认证结果指示用户信息认证通过,则接入控制网关根据RADIUS认证结果 为多个IPv6地址开通相应的访问权限。
3.如权利要求1所述的支持IPv6多地址接入的业务控制方法,其中,将多个IPv6地址 拼接后保存在RADIUS认证请求的Called-Station-Id属性字段中。
4.如权利要求1至3中任意一项所述的支持IPv6多地址接入的业务控制方法,其中, 接入控制网关利用Linux系统来实现,而RADIUS协议利用FreeRadius库来实现。
5.一种支持IPv6多地址接入的接入控制网关,包括地址拼接单元,用于接收包含用户信息和多个IPv6地址的接入请求,通过将多个IPv6 地址进行拼接而形成RADIUS认证请求,并将该RADIUS认证请求发送至RADIUS认证服务 器;以及结果处理单元,用于接收并处理来自RADIUS认证服务器的RADIUS认证结果。
6.如权利要求5所述的支持IPv6多地址接入的接入控制网关,其中,所述地址拼接单 元将多个IPv6地址拼接后保存在RADIUS认证请求的CalIed-Station-Id属性字段中。
7.如权利要求5所述的支持IPv6多地址接入的接入控制网关,其中,如果RADIUS认证 结果指示用户信息认证通过,则所述结果处理单元根据RADIUS认证结果为多个IPv6地址 开通相应的访问权限。
8.如权利要求5所述的支持IPv6多地址接入的接入控制网关,其中,接入控制网关利 用Linux系统来实现,而RADIUS协议利用FreeRadius库来实现。
9.一种支持IPv6多地址接入的RADIUS认证服务器,包括数据库单元,用于存储用户认证信息和地址权限信息;以及认证单元,用于接收并解析来自接入控制网关的RADIUS认证请求以获得RADIUS认证 请求中包含的多个IPv6地址,利用数据库单元中存储的用户认证信息和地址权限信息,对 用户信息和每一个IPv6地址进行认证和授权,并向接入控制网关返回RADIUS认证结果。
10.如权利要求8所述的支持IPv6多地址接入的RADIUS认证服务器,其中,所述认证 单元对RADIUS认证请求的Called-Station-Id属性字段进行解析,以获得多个IPv6地址。
全文摘要
本发明提供了一种支持IPv6多地址接入的业务控制方法,包括在接入控制网关处,接收包含用户信息和多个IPv6地址的接入请求,通过将多个IPv6地址进行拼接而形成RADIUS认证请求,并将该RADIUS认证请求发送至RADIUS认证服务器;以及在RADIUS认证服务器处,接收并解析RADIUS认证请求以获得RADIUS认证请求中包含的多个IPv6地址,对用户信息和每一个IPv6地址进行认证和授权,并向接入控制网关返回RADIUS认证结果。本发明还提供了一种支持IPv6多地址接入的接入控制网关和一种支持IPv6多地址接入的RADIUS认证服务器。本发明能够处理一个用户带有多个不同IPv6地址的接入请求,并且能够方便地为该用户提供多个IPv6地址的认证与授权接入控制。
文档编号H04L29/12GK101867585SQ201010212920
公开日2010年10月20日 申请日期2010年6月30日 优先权日2010年6月30日
发明者吴建平, 李星, 李松, 胡松, 黄友俊 申请人:赛尔网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1