报文的认证处理方法及装置、认证服务器的制作方法

文档序号:7720897阅读:214来源:国知局
专利名称:报文的认证处理方法及装置、认证服务器的制作方法
技术领域
本发明涉及计算机网络通信领域,具体而言,涉及一种报文的认证处理方法及装
置、认证服务器。
背景技术
随着802. IX认证的大规模应用,认证用户规模迅速增长,认证性能逐渐成为一个急待提升的特性,各种解决方法也开始出现,在相关技术中,主要解决方法有如下几种
1、硬件提升法该方法从认证服务器硬件着手,升级服务器各种硬件,包括中央处理器CPU,内存,硬盘,使得认证服务器的认证处理性能得到较大提升, 一般该方法应用于认证软件系统所占用硬件资源较多的情况。缺点是硬件提升也是有极限的,到达极限后对认证性能的提升也就到头了。 2、信息缓存法在服务器硬件提升的情况下,认证性能得到了阶段性的提升,但往往还是由于信息从硬盘上进行读写导致整体认证性能仍不够理想,在这样的情况下出现的就是信息缓存法,把认证需要读写的信息不再存储到硬盘中,而是在运行过程中将需要的信息都缓存到内存中,这样可以完全避免直接读写硬盘,往往能很大程度的提升认证处理性能。缺陷是如果在信息缓存后仍然无法达到认证性能的要求,则已经没有解决办法了 。相关技术的信息缓存方法描述如下 在lx认证体系下远程用户拨号认证系统(Remote AuthenticationDial In UserService,简称为Radius)认证服务器主要用于接收认证接入设备发送的认证报文和记账报文,Radius服务器的处理性能将直接影响到认证用户的使用感受,这里不讨论如何使Radius认证服务器的性能最好,而是针对Radius认证过程中在某种特定应用模式下的某个特殊环节的性能瓶颈提供一种简单有效的方法来使得Radius认证性能更加有效,避免不必要的认证性能开销。 其中,所针对的应用模式具有以下特征交互过程要求回应;要求有重传机制;重试间隔和次数限制。 该应用模式的目的主要是为了使得整个认证过程更可靠,必须要求服务器有回应,并对一定间隔内没有得到回应的进行多次重传,但是此模式会存在某些问题,例如当服务器性能比较好时,要求回应和重传机制使得认证更可靠,但是当服务器性能由于各种因素变得缓慢的时候,重传机制将导致服务器性能空耗。
目前相关技术为了得到更有效的性能,一般常见的解决方法包括以下四种硬
件层使用高性能服务器及存储设备;网络层对Radius服务器进行虚拟局域网(Virtual
Local Area Network,简称为VLAN)隔离;软件层使用多线程;缓冲区设计模式。 以上四种方法确实可以提升认证服务器的性能,但是无论服务器的性能怎么提
高,总是无法避免在运行过程中由于各种因素导致性能下降,加上在上面的应用模式,服务
器很有可能形成空耗状态。 针对上文性能下降问题,提出一种在上面应用特性的前提下对缓冲区设计的优化
3方法。
图1是根据相关技术认证服务器性能好时处理报文的示意图;图2是根据相关技
术认证服务器性能差时处理报文的示意图。 如图1和图2所示,根据认证性能设置一个合适的缓冲区大小,比如认证性能为N
个/秒,那么缓冲区大小一般设置成N,做的灵活点可以提供可配置方式,可以根据实际的
情况,如硬件性能,存储性能等来自定义设置,以满足不同的应用;但是此方案存在一个缺
陷由于缓冲区固定,当报文比较多时报文被丢弃,丢弃的报文被要求重传,但重传的报文
即使服务器进行了回应也被丢弃,浪费了服务器的性能;在实际环境中服务器的认证性能
并不是完全固定的,随着长时间的运行或受到网络攻击的情况下,认证服务器的性能会变
得很差,在有重传机制及要求回应的情况下,重传机制会导致服务器性能无法得到及时缓
解,很多在缓冲区的报文直到处理时报文实际已经超时,服务器不能及时处理超时文件,造
成报文的无效处理,服务器处在一个空耗状态,而且还导致后来认证的认证报文也无法得
到及时处理,在这种情况下会导致认证困难,成为服务器性能的一个瓶颈。 比如接入设备配置了超时重发,超时间隔为3秒,则报文在发给服务器之后,在3
秒内没有得到认证服务器的响应就重传,并最多重传3次,由于缓冲区固定,这里重传使得
服务器要处理更多的请求报文,而重传后原先的报文就算之后服务器进行了回应也认为是
无效报文而丢弃,这样的情况下,服务器就会处理较多的已经无需处理的超时报文,导致服
务器报文处理效率降低,反过来导致交换机重传报文数量的增大,再引起服务器更多的无
效超时报文处理,最终形成恶性循环使得服务器报文处理能力大为降低甚至没有任何有效
的报文处理,极端情况下,所有报文都超时了 ,那所有的处理也就无效了 。 图3是根据相关技术的报文的认证处理的流程图。如图3所示,该方法包括以下
步骤 步骤S301,交换机发送认证请求报文到认证服务器;步骤S303,认证服务器接收 报文存入报文缓冲区,该缓冲区为固定值;步骤S305,认证服务器从缓冲区中取出报文进 行处理及响应,将结果交给交换机。 3、认证负载均衡法在进行了硬件提升以及信息缓存后,如果仍然无法满足认证 性能的需求,逐渐的人们使用了认证负载均衡的方法来提升性能,简单来说就是原来1台 认证服务器做的事情使用两台,三台甚至可扩展的n台来做,这样做可以避免方法1和方法 2的缺点没有瓶颈,理论上可以无限提升性能,但成本较高,稳定性没有保障。
针对相关技术中服务器在处理报文时,往往形成空耗状态,进而导致服务器处理 效率较低的问题,目前尚未提出有效的解决方案。

发明内容
针对服务器在处理报文时,往往形成空耗状态,进而导致服务器处理效率较低的 问题而提出本发明,为此,本发明的主要目的在于提供一种报文的认证处理方法及装置、认 证服务器,以解决上述问题。 为了实现上述目的,根据本发明的一个方面,提供了一种报文的认证处理方法。
根据本发明的报文的认证处理方法包括接收认证请求报文并将接收请求报文存 入缓冲区;分别统计认证请求报文总数和超时的认证请求报文总数;根据认证请求报文总数和超时的认证请求报文总数来调整缓冲区的大小。 优选地,在分别统计认证请求报文总数和超时的认证请求报文总数之前,方法还 包括记录认证请求报文进入缓冲区的时间;根据认证请求报文进入缓冲区的时间来判断 认证请求报文是否超时。 优选地,在根据认证请求报文总数和超时的认证请求报文总数来调整缓冲区的大 小包括根据认证请求报文总数和超时的认证请求报文总数来计算超时报文的比例;在比 例超过预定门限值的情况下,根据认证请求报文总数和超时的认证请求报文总数来调整缓 冲区的大小。 优选地,根据认证请求报文总数和超时的认证请求报文总数来调整缓冲区的大 小包括根据超时报文比例来确定认证服务器性能;根据认证服务器性能增大或减小缓冲区。 优选地,在根据认证请求报文总数和超时的认证请求报文总数来调整缓冲区的大
小之后,该方法还包括重新对认证请求报文总数和超时的认证请求报文总数进行统计。
优选地,重新对认证请求报文总数和超时的认证请求报文总数进行统计包括每
隔预定的时间重新对认证请求报文总数和超时的认证请求报文总数进行统计。
为了实现上述目的,根据本发明的另一方面,提供了 一种报文的认证处理装置。 根据本发明实施例的报文的认证处理装置包括接收模块,用于接收认证请求报
文并将接收请求报文存入缓冲区;统计模块,用于分别统计认证请求报文总数和超时的认
证请求报文总数;调整模块,用于根据认证请求报文总数和超时的认证请求报文总数来调
整缓冲区的大小。
优选地,认证处理装置还包括记录模块,用于记录认证请求报文进入缓冲区的时 间;判断模块,用于根据认证请求报文进入缓冲区的时间来判断认证请求报文是否超时。
优选地,调整模块还包括判断子模块,用于判断超时报文的比例是否超过预定门 限值;调整子模块,在超时报文的比例超过预定门限值的情况下,用于根据认证请求报文总 数和超时的认证请求报文总数来调整缓冲区的大小。 为了实现上述目的,根据本发明的另一方面,提供了 一种认证服务器。 根据本发明的认证服务器具有上述的任一项的报文的认证处理装置。 通过本发明,采用接收认证请求报文并将接收请求报文存入缓冲区;分别统计认
证请求报文总数和超时的认证请求报文总数;根据认证请求报文总数和超时的认证请求报
文总数来调整缓冲区的大小,解决了相关技术中服务器在处理报文时,往往形成空耗状态,
导致服务器处理效率较低的问题,进而达到了提高处理效率的效果。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中
图1是根据相关技术认证服务器性能好时处理报文的示意图;
图2是根据相关技术认证服务器性能差时处理报文的示意图;
图3是根据相关技术的报文的认证处理的流程图;
图4是根据本发明实施例的报文的认证处理的流程 图5是根据本发明实施例认证服务器性能好时处理报文的示意图; 图6是根据本发明实施例认证服务器性能差时处理报文的示意图; 图7是根据本发明实施例的优选的报文的认证处理流程图; 图8是根据本发明实施例的报文的认证处理装置的示意图。
具体实施例方式
考虑到相关技术中缓冲区固定,误丢失报文和报文无效处理,导致服务器性能浪
费和空耗,本发明实施例提供了一种报文的认证处理方法及装置、认证服务器。 为了更好的描述本发明实施例,首先进行如下描述 802. IX协议是基于客户端/服务器端模式(Client/Server模式)的访问控制 和认证协议。它可以限制未经授权的用户/设备通过接入端口访问局域网(Local Area Network,简称为LAN)/无线局域网(Wireless Local Area Network,简称为WLAN)。在获得 交换机或LAN提供的各种业务之前,802. lx对连接到交换机端口上的用户/设备进行认证。 在认证通过之前,802. lx只允许基于局域网的扩展认证协议(Extensible Authentication Protocol over LAN,简称为EAP0L)数据通过设备连接的交换机端口 ;认证通过以后,正常 的数据可以顺利地通过以太网端口。远程用户拨号认证系统(Remote Authentication Dial In UserService,简称
为Radius),是一种在网络接入服务器(Network AccessServer,简称NAS)和共享认证服
务器间传输认证、授权和配置信息的协议。Radius使用用户数据报协议(User Datagram
Protocal,简称为UDP)作为其传输协议。此外Radius也负责传送网络接入服务器和共享
计费服务器间的计费信息。 Radius具有以下主要特征 Client/Serve模式网络接入服务器作为Radius的客户端,负责将用户信息传递 给指定的Radius服务器,然后根据返回信息进行操作。Radius服务器负责接收用户连接请 求,认证用户后,返回所有必要的配置信息以便客户端为用户提供服务。Radius服务器可以 作为其他Radius服务器或认证服务器的代理。 网络安全客户端与Radius服务器之间的通信是通过共享密钥的使用来鉴别的,
这个共享密钥不会通过网络传送。此外,任何用户口令在客户机和Radius服务器间发送时
都需要进行加密过程,以避免有人通过嗅探非安全网络可得到用户密码。 灵活认证机制Radius服务器支持多种用户认证方法。当用户提供了用户名和原
始口令后,Radius服务器可支持PPP PAP或CHAP, UNIX登录和其它认证机制。 交换机超时交换机作为Radius的客户端,它发送给服务器的Radius报文必须要
求在一定时间内响应,否则它将认为该报文已经超时,则会重发之前发送给服务器的报文,
对于原来发送的报文则不再等待(也就是意味着在超时过后,就算服务器对该超时报文进
行处理并响应,交换机也不会处理该回应报文,在这种情况下,服务器对超时报文的处理和
响应就是无效的)。 在lx认证体系下Radius认证服务器主要用于接收认证接入设备发送的认证报文 和记账报文,Radius服务器的处理性能将直接影响到认证用户的使用感受,这里不讨论如 何使Radius认证服务器的性能最好,而是针对Radius认证过程中在某种特定应用模式下的某个特殊环节的性能瓶颈提供一种简单有效的方法来使得Radius认证性能更加有效, 避免不必要的认证性能开销。 本发明实施例提出了一种对服务器认证性能瓶颈自动调节的方法,它通过根据当 前1X认证服务器实际的认证性能及超时报文比例来自动调节(增大或縮小)请求报文处 理缓冲区大小,使得认证处理性能最有效。 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相 互组合。下面将参考附图并结合实施例来详细说明本发明。 根据本发明的实施例,提供了一种动态调整缓冲区的认证服务器自调节方法及系 统。 图4是根据本发明实施例的报文的认证处理的流程图。 如图4所示,该方法包括如下的步骤S401至步骤S403 : 步骤S401,接收认证请求报文并将接收请求报文存入缓冲区; 步骤S402,分别统计认证请求报文总数和超时的认证请求报文总数; 步骤S403,根据认证请求报文总数和超时的认证请求报文总数来调整缓冲区的大小。 优选地,在分别统计认证请求报文总数和超时的认证请求报文总数之前,该方法 还包括记录认证请求报文进入缓冲区的时间;根据认证请求报文进入缓冲区的时间来判 断认证请求报文是否超时。通过该方法,可以准确地判断哪些报文是超时的报文。
优选地,在根据认证请求报文总数和超时的认证请求报文总数来调整缓冲区的大 小包括根据认证请求报文总数和超时的认证请求报文总数来计算超时报文的比例;在上 述比例超过预定门限值的情况下,根据认证请求报文总数和超时的认证请求报文总数来调 整缓冲区的大小。这样,可以仅在超时报文的比例足够高的情况下才对缓冲区的大小进行 调整,从而减少对缓冲区的大小的频率以及减少系统的负担,有利于提高系统性能。
优选地,根据认证请求报文总数和超时的认证请求报文总数来调整缓冲区的大 小包括根据超时报文比例来确定认证服务器性能;根据认证服务器性能增大或减小缓冲 区。从而,可以根据超时报文比例来确定认证服务器性能的一些性能参数,并且根据这些性 能参数来对缓冲区更好、更准确地进行调整。 优选地,在根据认证请求报文总数和超时的认证请求报文总数来调整缓冲区的大 小之后,该方法还包括重新对认证请求报文总数和超时的认证请求报文总数进行统计。从 而,可以减少每次进行统计时系统中计数器的工作量,便于更快地对认证请求报文总数和 超时的认证请求报文总数来进行调整。 优选地,重新对认证请求报文总数和超时的认证请求报文总数进行统计包括每 隔预定的时间重新对认证请求报文总数和超时的认证请求报文总数进行统计。在每次对缓 冲区的大小进行调整以后,可以通过设定一个时间段,并在每间隔该时间段之后再对对认 证请求报文总数和超时的认证请求报文总数进行统计,以判断是否要对缓冲区再次进行调整。
下面将结合实例对本发明实施例的实现过程进行详细描述。 图5是根据本发明实施例认证服务器性能好时处理报文的示意图;图6是根据本 发明实施例认证服务器性能差时处理报文的示意图。
7
如图5和图6所示,设计一种针对固定缓冲区的优化设计方法,该缓冲区的大小不 再固定,缓冲区默认大小按照Radius服务器的处理性能设定,比如Radius服务器的处理性 能为N个/秒,那么缓冲区的默认大小设置为N,但是此缓冲区的设计有区别,此缓冲区设计 成动态的,且给定一个报文超时间隔,一般以按照交换机上配置的超时时间为准,在此时间 内未处理即认为报文超时,每次收到的认证报文进入缓冲区后被处理,把报文进入缓冲区 的时间记录起来,并将报文总数计数器的计数加l,在处理报文的时候首先判断是否超时, 如果是超时报文,直接丢弃,并将超时报文计数器的计数加l,否则不加,然后定时器每隔n 分钟对计数器进行扫描,按照超时报文数/报文总数,得出超时报文比例,如果超时报文比 例超过10%,则认为目前服务器的性能低下,处理了大量无效的超时报文,则将报文缓冲区 能存放的报文个数自动调整为原大小的95%,如果超时报文数大于0且超时报文数比例小 于10% ,则保持缓冲区大小不变,如果超时报文为0 (注意是超时报文为0,不是超时报文比 例为0% ),则调整报文缓冲区大小自动调整为原大小的105%,每次调整完成后,计数器的 报文总数和超时报文数全部重新初始化为O ;注意缓冲区需要给定一个最小值l和最大值 (为Radius服务器性能的理论最大值M)。 图7是根据本发明实施例的优选的报文的认证处理流程图。
如图7所示,该方法包括以下步骤
步骤S701 ,交换机发送认证请求报文。 步骤S703,认证服务器接收报文存入报文缓冲区,该缓冲区大小可变化,记录报文 进入缓冲区的时间,并同时更新计数器数据,记录报文的总数。 步骤S705,认证服务器从缓冲区中取出报文,根据接收报文时间、当前时间、及交 换机设置的超时时间来确定报文是否超时进而判断是否需要处理,对没有超时的报文进行 处理及响应给交换机,对于超时报文直接丢弃不响应给交换机,并同时更新计数器数据,记 录超时报文数。 步骤S707,定时器每隔3分钟对计数器进行扫描,按照超时报文数及报文总数得 出超时报文比例来确定当前服务器的性能,然后根据性能数据选择增大或减小缓冲区的大 小,同时计数器复位到初始状态。 从以上的描述中,可以看出,本发明能够使报文的认证性能更加有效,避免不必要 的认证性能开销,进而能够提高认证服务器对报文的处理效率,使得整个认证过程更可靠。
根据本发明的实施例,提供了 一种报文的认证处理装置。 需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的 计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不 同于此处的顺序执行所示出或描述的步骤。 图8是根据本发明实施例的报文的认证处理装置的示意图。 如图8所示,该报文的认证处理装置包括接收模块801、统计模块802和调整模 块803。 其中,接收模块801用于接收认证请求报文并将所述接收请求报文存入缓冲区; 统计模块802用于分别统计所述认证请求报文总数和超时的认证请求报文总数;调整模块 803用于根据所述认证请求报文总数和所述超时的认证请求报文总数来调整所述缓冲区的 大小。
优选地,该报文的认证处理装置还包括记录模块804和判断模块805。 其中,记录模块804用于记录所述认证请求报文进入所述缓冲区的时间;判断模
块805用于根据所述认证请求报文进入所述缓冲区的时间来判断所述认证请求报文是否超时。 优选地,该报文的认证处理装置还包括判断子模块806和调整子模块807。
其中,判断子模块806用于判断超时报文的比例是否超过预定门限值;调整子模 块807在超时报文的比例超过预定门限值的情况下,用于根据认证请求报文总数和超时的 认证请求报文总数来调整缓冲区的大小。 根据本发明的实施例,提供了一种认证服务器,该认证服务器具有上述的任一种 报文的认证处理装置。 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们 中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的 硬件和软件结合。 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种报文的认证处理方法,其特征在于,包括接收认证请求报文并将所述接收请求报文存入缓冲区;分别统计所述认证请求报文总数和超时的认证请求报文总数;根据所述认证请求报文总数和所述超时的认证请求报文总数来调整所述缓冲区的大小。
2. 根据权利要求1所述的方法,其特征在于,在分别统计所述认证请求报文总数和超 时的认证请求报文总数之前,所述方法还包括记录所述认证请求报文进入所述缓冲区的时间;根据所述认证请求报文进入所述缓冲区的时间来判断所述认证请求报文是否超时。
3. 根据权利要求1所述的方法,其特征在于,在根据所述认证请求报文总数和超时的 认证请求报文总数来调整所述缓冲区的大小包括根据所述认证请求报文总数和超时的认证请求报文总数来计算超时报文的比例; 在所述比例超过预定门限值的情况下,根据所述认证请求报文总数和超时的认证请求 报文总数来调整所述缓冲区的大小。
4. 根据权利要求3所述的方法,其特征在于,根据所述认证请求报文总数和超时的认 证请求报文总数来调整所述缓冲区的大小包括根据所述超时报文比例来确定所述认证服务器性能; 根据所述认证服务器性能增大或减小所述缓冲区。
5. 根据权利要求1至4中任一项所述的方法,其特征在于,在根据所述认证请求报文总 数和超时的认证请求报文总数来调整所述缓冲区的大小之后,所述方法还包括重新对所述认证请求报文总数和超时的认证请求报文总数进行统计。
6. 根据权利要求5所述的方法,其特征在于,重新对所述认证请求报文总数和超时的 认证请求报文总数进行统计包括每隔预定的时间重新对所述认证请求报文总数和超时的认证请求报文总数进行统计。
7. —种报文的认证处理装置,其特征在于,包括接收模块,用于接收认证请求报文并将所述接收请求报文存入缓冲区; 统计模块,用于分别统计所述认证请求报文总数和超时的认证请求报文总数; 调整模块,用于根据所述认证请求报文总数和所述超时的认证请求报文总数来调整所 述缓冲区的大小。
8. 根据权利要求7所述的认证处理装置,其特征在于,所述认证处理装置还包括 记录模块,用于记录所述认证请求报文进入所述缓冲区的时间;判断模块,用于根据所述认证请求报文进入所述缓冲区的时间来判断所述认证请求报 文是否超时。
9. 根据权利要求7或8所述的认证处理装置,其特征在于,所述调整模块还包括 判断子模块,用于判断超时报文的比例是否超过预定门限值;调整子模块,在超时报文的比例超过预定门限值的情况下,用于根据所述认证请求报 文总数和所述超时的认证请求报文总数来调整所述缓冲区的大小。
10. —种认证服务器,其特征在于,所述认证服务器具有权利要求7至9中任一项所述 的报文的认证处理装置。
全文摘要
本发明公开了一种报文的认证处理方法及装置、认证服务器。其中,该方法包括接收认证请求报文并将接收请求报文存入缓冲区;分别统计认证请求报文总数和超时的认证请求报文总数;根据认证请求报文总数和超时的认证请求报文总数来调整缓冲区的大小。通过本发明,能够提高报文的认证处理效率。
文档编号H04L29/06GK101707612SQ20091024208
公开日2010年5月12日 申请日期2009年12月4日 优先权日2009年12月4日
发明者谌衡化 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1