[发明专利]一种控制RADIUS报文发送速率的方法在审
申请号: | 201410774204.0 | 申请日: | 2014-12-16 |
公开(公告)号: | CN104486239A | 公开(公告)日: | 2015-04-01 |
发明(设计)人: | 李胜军;周能强;潘伟;汪申华;周光如 | 申请(专利权)人: | 安徽皖通邮电股份有限公司 |
主分类号: | H04L12/811 | 分类号: | H04L12/811;H04L12/861 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤 |
地址: | 230000 *** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 控制 radius 报文 发送 速率 方法 | ||
技术领域
本发明涉及通信领域,尤其涉及了一种控制RADIUS报文发送速率的方法。
背景技术
RADIUS是一种AAA(Authentication、Authorization、Accounting)类型的网络应用协议,用于认证、授权和计费等功能。该协议实现了对于用户接入的远程控制。通常,一个RADIUS服务器会接收多个网络设备的RADIUS报文,这样,对RADIUS服务器的处理能力提出了很高的要求:如果一台 RADIUS服务器与10台网络设备相连,每台最多每秒发送2000个报文,则RADIUS服务器需要每秒能处理20000个报文,对于多数服务器来说,达到这样的处理速度是有困难的,将会导致报文的积压和延迟,严重的甚至可能导致RADIUS服务器的崩溃。因此,服务器要求网络设备对发送RADIUS报文进行限速。网络设备因此通常做一个每秒最多发送几百个报文的限制。但是,由于RADIUS报文的产生具有突发性的特点——例如线卡重启等原因可能造成用户短时间大量下线和上线,这样在一秒内同样发送速率是不均匀的:可能几百个报文在几毫秒内全部发往RADIUS服务器,对服务器造成冲击,影响处理效果。
发明内容
本发明针对现有技术中网络设备向RADIUS服务器发送报文存在突发性的缺点,提供了一种控制RADIUS报文发送速率的方法。
为了解决上述技术问题,本发明通过下述技术方案得以解决:
一种控制RADIUS报文发送速率的方法,包括以下步骤:
A:在设备上设置每秒最大发送报文数Xmax,并在系统中开辟一段缓存来存放等待发送的radius报文;
B:设置队列的扫描定时器时间间隔,时间间隔小于100毫秒;在定时器设定定时扫描缓存队列,该定时器时长小于1秒;
C:获取当前系统时间,时间单位为秒,再取整获得当前系统时间的初始时间Tinit,并记录当前系统时间已发送报文数为Xsendold 0;
D:当设备产生新的RADIUS报文后,存放到缓存尾部等待发送;
E:取系统时间Tnow,获取本次发送最大报文数Xsend=Xmax*(Tnow-Tinit)-Xsendold,发送不超过最大报文数Xsend的报文;加上当前系统时间已发送报文数Xsendold并保存为Xsendold值;
F:到达定时器时长后,执行步骤E);
G:重复步骤D)和F)。
作为优选,所述的设备与RADIUS服务器分别运行在IP网络中,所述设备与RADIUS服务器进行配合工作。
作为优选,所述设备为路由器或接入服务器。该设备为可以进行radius报文发送的任意网络设备,包括路由器、接入服务器等。
本发明由于采用了以上技术方案,具有显著的技术效果:
本发明设置每秒最大发送报文数Xmax,记录当前秒已发送报文数Xsendold,网络设备每隔一段时间(间隔小于1秒)获取当前系统时间Tinit,单位秒,精确到毫秒,通过事件(如收到RADIUS报文、设定的定时器时间到等)触发发送RADIUS报文,计算当前时间Tnow与Tinit的差值,当前最大发送报文数Xsend=Xmax*(Tnow-Tinit)-Xsendold。这样,就实现了报文的均匀发送,避免了对RADIUS服务器的冲击。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的网络示意图;
图2是本发明的控制RADIUS报文发送速率方法的流程图。
具体实施方式
下面结合实施例对本发明做进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。
如图1所示,所述的设备与RADIUS服务器分别运行在IP网络中,所述设备与RADIUS服务器进行配合工作。
实施例1:
一种控制RADIUS报文发送速率的方法,如图2所示,包括以下步骤:
A:在设备上设置每秒最大发送报文数Xmax,并在系统中开辟一段缓存来存放等待发送的radius报文;
B:设置队列的扫描定时器时间间隔,时间间隔小于100毫秒;在定时器设定定时扫描缓存队列,该定时器时长小于1秒;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安徽皖通邮电股份有限公司,未经安徽皖通邮电股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410774204.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种报文处理方法及装置
- 下一篇:一种AFDX网络时延降低方法