远程用户拨号认证服务客户端、服务器、发送/接收方法

文档序号:7944731阅读:140来源:国知局
专利名称:远程用户拨号认证服务客户端、服务器、发送/接收方法
技术领域
本发明涉及通信领域,具体地,涉及一种Radius请求的发送/ 4妻4丈方法、Radius客户端、Radius月良务器。
背景技术
在现有技术中,协议包中的标识(Identifier)字段用来对radius 请求包(包4舌Radius iU正i青求和Radius计费i青求)及其响应包进 行匹配,占用1个字节。远程用户拨号认证服务(Remote Authentication Dial In User Service, 简-尔为Radius )客户端(仿H口, 宽带4妄入月l务器(Broad Remote Access Server,简称为BRAS )、交 换机)支持多用户接入,在需要对用户进行Radius认证或Radius 计费时,会向Radius服务器发送Radius请求(包括Radius认证请 求和Radius计费请求),并为每一个Radius请求在标识字段配置一 个标识,例如,以轮询的方式从0至255获取当前^"询到的标识20, 将标识20配置到当前请求的标识字段。这样,Radius客户端在短时 间内最多只能向Radius月l务器并发256个请求(或称为最多并发256 个请求)。这一 Radius请求的发送才几制纟皮称为Radius请求的并发机 制。在Radius服务器端,如果在短时间内收到同样标识、相同客户 端地址的多个Radius请求包,则会认为是这多个请求包是复制包或 者重发包,会拒绝或者不处理这些重复包。
在实际的应用中,随着Radius客户端设备支持的用户数快速增 加,导致Radius请求的并发数也快速增加,应用原有的Radius并 发机制,会导致在短时间内Radius客户端为不同用户发送的Radius 请求中携带有相同的标识、相同客户端地址,这样,radius服务器 会认为这些请求是重复请求,而拒绝处理这些请求,从而导致这些 请求失败。因此,无法满足大量用户同时接入认证及计费的需求。

发明内容
考虑到相关才支术中存在的Radius i青求的并发才几制无法满足大 量用户同时接入认证及计费需求的问题而做出本发明,为此,本发 明的主要目的在于提供一种改进的Radius请求的发送/接收机制, 以解决相关技术中的上述问题。
为达到上述目的,根据本发明的一个方面,提供了一种远程用 户拨号i人i正月l务Radius i青求的发送方法。
根据本发明的Radius请求的发送方法,对于待并行发送的多个 Radius -清求中的每个Radius _清求,该方法包4舌Radius客户端为 Radius i青求分配一个用户凄t才居十办i义UDP源端口号和一个标识; Radius客户端向Radius月良务器发送Radius ^青求,其中,Radius "i青 求中携带有Radius客户端分配的UDP源端口号和标识。
优选地,上述Radius客户端为预定时间段内待发送的每个 Radius请求分别分配一个UDP源端口号的操作具体包括按照轮询的方式从预先设置的多个UDP源端口号中为每个Radius请求分别 选择一个UDP源端口号。
优选地,上述4安照4仑询的方式乂人预先i殳置的多个UDP源端口号 中为每个Radius请求分别选择一个UDP源端口号的操作具体包括 获取当前的UDP端口号n; n=n+l,并判断rKS是否成立,其中, S为预先设置的多个UDP源端口号的数量,S>1;如果成立,则将 n分配纟会当前待发送的Radius "i青求;如果不成立,则n=T,并一夸n 分配给当前待发送的Radius请求,其中,T为预先设置的多个UDP 源端口号中最小的UDP端口号。
根据本发明的另一个方面,4是供了一种Radius请求的接收方法。
根据本发明的Radius请求的接收方法包括Radius服务器接收 来自Radius客户端的Radius讳-求,其中,Radius-清求携带有用 户数据协议UDP源端口号、标识和客户端地址;Radius服务器根据 Radius请求中携带的UDP源端口号、标识和客户端地址判断Radius 请求是否为重复请求,如果是,则不对Radius请求进行处理,否贝寸, 对Radius _清求进4亍处理。
优选地,上述Radius月良务器判断Radius i青求是否为重复请求 的操作具体包括Radius力良务器判断Radius请求的UDP源端口号、 标识、客户端地址与预定时间段内已接收到的任一 Radius请求的 UDP源端口号、标识、客户端地址是否相同,如果相同,则Radius 请求为重复请求,否则,Radius请求为非重复i青求。
优选地,当判断Radius请求为非重复请求时,该方法还包括 Radius服务器4艮据客户端地址向Radius客户端发送对于Radius请求的响应,其中,p向应中携带有UDP源端口亏、标识,用于通知 Radius客户端Radius月良务器已经4妄收到Radius请求。
根据本发明的另一个方面,提供了一种Radius客户端。
根据本发明的Radius客户端包括分配模块,用于为Radius 请求分配一个用户数据协议UDP源端口号和一个标识;发送模块, 用于向Radius服务器发送Radius请求,其中,Radius请求中携带 有分配才莫块分配的UDP源端口号和纟示识。
才艮据本发明的另 一个方面,4是供了 一种Radius月良务器。
根据本发明的Radius服务器包括接收才莫块,用于接收来自 Radius客户端的Radius i青求,其中,Radius _清求中携带有用户凄史据 协议UDP源端口号、标识、客户端地址;解析模块,用于对接收模 块接收到的Radius请求中的UDP源端口号、标识、客户端地址进 行解析。
优选地,该Radius服务器还包括发送模块,用于在解析模块 的解析结果为Radius请求为非重复请求时,根据客户端地址向 Radius客户端发送对于Radius i青求的响应,其中,响应中携带有 UDP源端口号、标识。
通过本发明的上述技术方案,在Radius请求中以UDP源端口 号和才示识共同作为匹配Radius :清求的组合才示识,能够解决相关4支术 中Radiusi青求的并发才几制无法满足大量用户同时4妻入i人i正及计费需 求的问题,乂人而能够达到增力口 Radius i青求并发凄t的目的。
本发明的其它特4i和优点将在随后的i兌明书中阐述,并且,部 分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附 图中所特别指出的结构来实现和获得。


此处所说明的附图用来^是供对本发明的进一步理解,构成本申 请的一部分,本发明的示意性实施例及其说明用于解释本发明,并
不构成对本发明的不当限定。在附图中
图1是根据本发明方法实施例一的Radius请求的发送方法流程
图2是根据本发明方法实施例一的为Radius请求分配UDP源 端口号和标识的流^E图3是根据本发明装置实施例一的Radius客户端的结构框图4是根据本发明装置实施例一的Radius客户端的优选结构框
图5是根据本发明方法实施例二的Radius请求的接收方法的流 程图6是根据本发明装置实施例二的Radius服务器的结构框图; 图7是根据本发明装置实施例二的Radius服务器的优选结构框图。
具体实施例方式
功能概述
本发明实施例中,采用Radius协i义中乂于于iU正:清求和计费i青求 没有#文明确的定义的UDP源端口 ,通过Radius客户端采取4吏用不 同的UDP源端口来扩展Radius消息的升发数,这才平,Radius月艮务 器通过判断Radius请求的UDP源端口号、标识、以及客户端地址 来识别Radius请求是否为重复请求,只有在短时间内收到相同UDP 源端口号、标识、以及客户端地址多个Radius请求包,才会认为是 复制包或者重发包,从而能够增加Radius请求的并发数。
需要说明的是,如果不沖突,本发明实施例以及实施例中的各 个特征可以相互结合,均在本发明的保护范围之内。
下面结合附图对本发明的实施例进行说明,应当理解,此处所 描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。 需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机 可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻
辑顺序,^f旦是在某些情况下,可以以不同于此处的顺序执^亍所示出 或描述的步骤。
方法实施例一
根据本发明实施例,提供了 一种Radius请求的发送方法。
图1示出了根据本发明方法实施例一的Radius请求的发送方法 流程,如图l所示,根据本发明方法实施例一的Radius请求的发送 方法包4舌步骤S102, Radius客户端为待并行发送的多个Radius请求中 的每个Radius请求分配一个用户数据协议UDP源端口号和一个标 识。
在具体实施过程中,上述Radius请求包括-但不限于Radius 认证请求和Radius计费请求。
在具体实施过程中,上述标识即为占用1个字节的标识字^殳, 其取值范围在0至255之间,每个认证或者计费服务器组对该标识 分别单独进行管理,因此,发送到i人证或者计费服务器组的请求中 携带的该标识可以重复。
优选地,Radius客户端按照轮询的方式从预先指定的多个UDP 源端口号中选才奪一个UDP源端口号分配^^个Radius "i青求,即, Radius客户端获取当前的UDP端口号n;令n=n+l ,并判断n《S 是否成立,其中,S为预先设置的多个UDP源端口号的数量,S〉 1; 如果成立,则将n分配给当前待发送的Radius请求;如果不成立, 贝'J n=T,并将n分配给当前待发送的Radius请求,其中,T为预先 设置的多个UDP源端口号中最小的UDP端口号。
步骤S104, Radius客户端向Radius服务器发送4寺并4亍发送的 多个Radius请求,其中,每个Radius请求中携带有Radius客户端 为其分配的UDP源端口号和标识。优选地,Radius客户端对发送的 每个Radius请求进行緩存。
通过上述处理过程,在Radius请求中增加UDP源端口号字段, 能够解决相关技术中Radius请求的并发机制无法满足大量用户同时 接入认证及计费需求的问题,能够达到增加Radius请求并发数的目 的。下面^"上述处理过禾呈进^f于详细i兌明。
首先,在Radius客户端(例如BRAS),可以根据需要满足的 并发凄丈(比如,并发的Radius iU正和Radius计费的凄史量)来配置 所需要的UDP源端口号,例如如果最大并发Radius iU正"i青求为 2560个,则配置10个源端口,最大并发Radius计费"i青求为5120 个,则使用20个源端口,根据系统的需求,这个数据可以做适当的 灵活调整。
在以才艮文形式发送^人i正或者计费i青求时,为每一个Radius才艮文 分配一个UDP源端口和一个标识(或称为组合标识),向Radius月良 务器发送携带UDP源端口和标识的Radius请求。优选地,这个组 合标识可以占用2字节,高8位可以用来存放选择UDP源端口号, 低8位可以表示填入Radius请求包中的标识。还可以在发送才艮文后 以消息形式保存在本地等待响应的每个请求中填入该组合标识,由 于每个消息只能同时被一个请求占用,这样标识也不会被同时使用, 达到了增加并发凄t的目的。
具体地,图2示出了才艮据本发明方法实施例一的为Radius i青求 分配UDP源端口号和标识的流程,如图2所示,该流程包括以下的 处理过程(步骤1至步骤7 ):
步骤1, BRAS发起对于用户的认证请求或者计费请求流程;
步骤2, BRAS构造i人证请求或者计费请求才艮文时取得目前用 到的UDP源端口号m和目前的标识n;
步骤3,将目前用到的id号加一,判断n+1是否大于255,如 果判断为不大于,处理进4于的步骤4,否则,处理进4于到步骤5;步骤4, BRAS在iU正请求或者计费i青求4艮文中UDP源端口号 字l殳i真充m,在才示识字萃殳i真充n+l;
步骤5,判断UDP源端口号m+l是否大于指定的最大端口号, 如果判断为不大于,处理进行到步骤6,否则,处理进4于到步骤7;
步骤6, BRAS在i青求才艮文中UDP源端口号字賴:填充m+l,标 识重新/人0开始寿仑询;
步骤7, BRAS在请求净艮文中UDP源端口号字段中填充从最小 的指定端口号,标识重新乂人O开始I仑询。
优选地,BRAS在发送了 Radius "i青求之后,会收到来自Radius 月良务器的只t于Radius讳-求的响应才艮文,该响应用于通^口 BRAS: Radius服务器已经正确接收Radius请求;BRAS对响应进行解析, 得到其中携带的UDP源端口和标识,并4艮据该UDP源端口和标识, 在本地等待响应的消息队列中查找与响应相对应的Radius认证请求 或Radius计费请求,查找到之后删除保存在消息队列中的该请求。
装置实施例一
根据本发明实施例,提供了 一种远程用户拨号认证服务Radius 客户端,优选地,该Radius客户端可以用于实现方法实施例一中提 供的Radius讳v,的发送方法。
图3示出了才艮据本发明装置实施例 一 的Radius客户端的结构, 如图3所示,该装置包括分配模块l、发送模块3;其中,分配模块 1,用于为Radius请求分配一个UDP源端口号和一个标识;优选地, 分配模块1可以实现上述步骤S102;发送模块3,连接至分配模块 1 ,用于向Radius服务器发送Radius请求,其中,Radius请求中携带有分配模块1分配的UDP源端口号和标识。优选地,发送模块3 可以实5见上述步艰《S104。
具体地,上述才莫块的工作流程为首先,对于每个待发送的 Radius请求,分配模块1为其分配一个UDP源端口号和一个标识, UDP源端口号分配的方式可以是以4仑询的方式乂人最小的UDP源端 口号开始分配,标识的分配方式也可以是以4仑询的方式乂人0至255 进行分配;然后,发送模块3将分配模块1分配的UDP源端口号和 标识携带在Radius请求中,将Radius请求发送给Radius服务器。
通过图3所示的装置,可以为Radius -清求分配一个UDP源端 口号和一个标识,并将携带有UDP源端口号和标识的消息发送纟合 Radius服务器,从而能够增加Radius请求的并发数。
图4示出了根据本发明装置实施例 一 的Radius客户端的优选结 构,如图4所示,该优选结构还包括緩存模块5、接收模块7、以及 判决模块9,其中,緩存模块5用于緩存发送模块3发送的Radius 请求,接收模块7用于接收来自Radius服务器对于Radius请求的 响应,判决模块9用于判断接收模块7接收到的响应是否为与所 Radius请求相对应的响应,如果判断为接收模块7接收到的响应是 与Radius i青求相对应的响应,则表明Radius力良务器已经成功4妄收 到Radius请求,并进行了相应处理,这时判决模块9删除緩存模块 5中乡爰存的Radius-清求。
通过图4所示的装置,能够将携带UDP端口号和标识的Radius 请求发送给服务器,并能确认该请求是否发送成功。方法实施例二
根据本发明实施例,提供了 一种Radius请求的接收方法。
图5示出了根据本发明方法实施例二的Radius请求的接收方法 的流程,如图5所示,才艮椐本发明方法实施例二的Radius请求的接 收方法包4舌如下的处理过禾呈
步骤S502, Radius月良务器4妄收来自radius客户端的Radius "i青 求,其中,该Radius请求携带有UDP源端口号、标识和客户端地 址;
步骤S504, Radius服务器获取该Radius请求中携带的UDP源 端口号、标识和客户端;也址;
步骤S506,Radius服务器判断该Radius请求的UDP源端口号、 标识、客户端地址与预定时间段内已接收到的每个Radius请求的 UDP源端口号、标识、客户端地址是否相同,如果相同,则该Radius 请求为重复请求,至此处理结束,否则,Radius请求为非重复请求, 处理进4亍到步艰《S508;
步骤S508, Radius服务器对Radius请求进4亍处理。
优选地,当Radius请求为非重复请求时,Radius服务器还可以 才艮据客户端地址向Radius客户端发送对于Radius i青求的响应,该 响应中携带有Radius请求的UDP源端口号、标识,该响应用于通 知Radius客户端该Radius i會求已经净皮Radius月良务器正确4妾收。
通过上述处理过程,Radius服务器根据Radius请求中携带的 UDP源端口号、标识和客户端;也址判断Radius 二清求是否为重复请 求,能够对增加了并发lt后的Radius i青求进4于正确处理。装置实施例二
根据本发明的实施例,提供了一种Radius服务器,优选地,该 Radius服务器可以实现方法实施例二中提供的Radius请求的接收方法。
图6示出了根据本发明装置实施例二的Radius服务器的结构, 如图6所示,根据本发明装置实施例二的Radius服务器包括接收 模块2和解析模块4,其中,接收模块2,用于接收来自Radius客 户端的Radius请求,其中,Radius请求中携带有用户数据协议UDP 源端口号、标识、客户端地址;优选地,接收才莫块2可以实现上述 步骤S502;解析模块4,连接到接收模块2,用于对接收才莫块2接 收到的Radius请求中的UDP源端口号、标识、客户端地址进行解 析;优选地,解析才莫块4可以实现上述步骤S504。
具体地,上述才莫块的工作流程为首先,4妄收才莫块2^妻收到来 自Radius客户端的Radius请求,其次,解析才莫块4对该Radius请 求中的UDP源端口号、标识、客户端地址进行解析,优选地,解析 模块4将该Radius请求中的UDP源端口号、标识、客户端地址与 预定时间段内接收模块2已接收到的每个Radius请求的UDP源端 口号、标识、客户端地址是否相同,如果相同,则Radius请求为重 复请求,否则,Radius请求为非重复请求,Radius服务器不对重复 的Radius :清求进4于处理,否则,对Radius i青求进4亍相应的处理(例 如,Radius认证或Radius计费)。
通过图6所示的装置,能够4艮据Radius i青求中携带的UDP源 端口号、标识和客户端地址判断Radius i青求是否为重复《青求,能够 对增加了并发凌t后的Radius :清求进4亍正确处理。优选地,图7示出了根据本发明装置实施例二的Radius服务器 的优选结构,该优选结构还可以包括发送才莫块6,用于在解析才莫块4 的解析结果为Radius请求为非重复"i青求时,冲艮据客户端地址向 Radius客户端发送对于Radius请求的响应,其中,响应中携带有 UDP源端口号、才示"i只。
通过图7所示的装置还能够通知Radius客户端已经正确接收到 Radius请求。
综上所述,借助于本发明的技术方案,通过Radius客户端采取 使用UDP源端口来扩展Radius客户端发送Radius请求的并发数, 同时Radius服务器通过增加判断UDP端口号的判断条件,能够解 决相关技术中Radius请求的并发机制无法满足大量用户同时接入认 证及计费需求的问题,能够达到增加Radius请求并发数的目的。
显然,本领域的技术人员应该明白,上述的本发明的各模块或 各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算 装置上,或者分布在多个计算装置所组成的网络上,可选地,它们 可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,或者将它们分别制作成各个集成 电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模 块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述^叉为本发明的优选实施例而已,并不用于限制本发明, 对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在 本发明的精神和原则之内,所作的任何修改、等同替换、改进等, 均应包含在本发明的保护范围之内。
权利要求
1. 一种远程用户拨号认证服务Radius请求的发送方法,其特征在于,对于待并行发送的多个Radius请求中的每个Radius请求,所述方法包括Radius客户端为所述Radius请求分配一个用户数据协议UDP源端口号和一个标识;所述Radius客户端向Radius服务器发送所述Radius请求,其中,所述Radius请求中携带有Radius客户端分配的所述UDP源端口号和所述标识。
2. 根据权利要求1所述的方法,其特征在于,所述Radius客户 端为预定时间段内待发送的每个Radius请求分别分配一个 UDP源端口号包4舌:接照4仑询的方式乂人予贞先i殳置的多个UDP源端口号中为每 个Radius i青求分别选择一个UDP源端口号。
3. 根据权利要求2所述的方法,其特征在于,按照轮询的方式从 预先设置的多个UDP源端口号中为每个Radius请求分别选择 一个UDP源端口号包4舌获取当前的UDP端口号n;n=n+l,并判断n《S是否成立,其中,S为所述预先设置 的多个UDP源端口号的凄t量,S〉l;如果成立,则将n分配给当前待发送的Radius请求;如 果不成立,则n=T,并将n分配给当前待发送的Radius请求, 其中,T为所述预先设置的多个UDP源端口号中最小的UDP 端口号。
4. 一种远程用户拨号认证月l务Radius请求的接收方法,其特^正 在于,所述方法包括Radius月良务器孑妄收来自Radius客户端的Radius i青求,其 中,所述Radius请求携带有用户数据协议UDP源端口号、 标识和客户端地址;所述Radius服务器根据所述Radius请求中携带的所述 UDP源端口号、才示识和客户端J也址判断所述Radius -清求是否 为重复请求,如果是,则不对所述Radius请求进行处理,否 贝'j,对所述Radius请求进行处理。
5. 根据权利要求4所述的方法,其特征在于,所述Radius服务 器判断所述Radius ^清求是否为重复纟青求包4舌所述Radius服务器判断所述Radius请求的所述UDP源端 口号、所述标识、所述客户端地址与预定时间,殳内已4妄收到的 任一 Radius请求的UDP源端口号、标识、客户端地址是否相 同,如果相同,则所述Radius i青求为重复"i青求,否则,所述 Radius请求为非重复请求。
6. 根据权利要求4或5所述的方法,其特征在于,当判断所述 Radius请求为非重复请求时,所述方法还包括所述Radius服务器根据所述客户端地址向Radius客户端 发送对于所述Radius请求的响应,其中,所述响应中携带有 所述UDP源端口号、所述标识,用于通知所述Radius客户端 所述Radius服务器已经接收到所述Radius请求。
7. —种远程用户拨号认证服务Radius客户端,其特征在于,包 .括分配才莫块,用于为Radius ,清求分配一个用户凄t据协i义 UDP源端口号和一个才示识;发送模块,用于向Radius服务器发送所述Radius请求, 其中,所述Radius :清求中携带有所述分配才莫块分配的所述 UDP源端口号和所述标识。
8. —种远程用户拨号认证服务Radius服务器,其特征在于,包 括..接收才莫块,用于接收来自Radius客户端的Radius请求, 其中,所述Radius请求中携带有用户数据协议UDP源端口号、 标识、客户端地址;解析模块,用于对所述接收模块接收到的所述Radius请 求中的UDP源端口号、标识、客户端地址进行解析。
9. 根据权利要求8所述的Radius服务器,其特征在于,所述 Radius服务器还包括发送模块,用于在所述解析模块的解析结果为所述Radius 请求为非重复请求时,根据所述客户端地址向所述Radius客 户端发送对于所述Radius *清求的响应,其中,所述响应中携 带有所述UDP源端口号、所述才示识。
全文摘要
本发明公开了一种Radius请求的发送/接收方法、Radius客户端、Radius服务器,其中,Radius请求的发送方法包括Radius客户端为Radius请求分配一个用户数据协议UDP源端口号和一个标识;Radius客户端向Radius服务器发送Radius请求,其中,Radius请求中携带有Radius客户端分配的UDP源端口号和标识。通过本发明,在Radius请求中以UDP源端口号和标识共同作为匹配Radius请求的组合标识,能够解决相关技术中Radius请求的并发机制无法满足大量用户同时接入认证及计费需求的问题,从而能够达到增加Radius请求并发数的目的。
文档编号H04L29/06GK101510872SQ20091000666
公开日2009年8月19日 申请日期2009年2月9日 优先权日2009年2月9日
发明者杨建军 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1