一种鉴权授权计费服务器的测试装置和测试方法

文档序号:7656573阅读:157来源:国知局

专利名称::一种鉴权授权计费服务器的测试装置和测试方法
技术领域
:本发明涉及无线宽带接入领域,尤其涉及的是,一种对WiMAX(WorldInteroperabilityforMicrowaveAccess,全球互操作性微波接入,也称微波存取全球互通)鉴权授权计费(AAA,Authentication、Authorization&Accounting)服务器进行测试的装置和方法。
背景技术
:全球互操作性微波接入是一项基于IEEE802.16标准的宽带无线接入城域网(BWA-MAN)技术,也可以称为IEEEWirelessMAN。该技术是针对微波和毫米波频段提出的一种新的空中接口标准,其主要目标是提供一种在城域网一点对多点的多厂商环境下,可有效地进行互操作的宽带无线接入手段。由于WiMAX具有传输距离远、速率高、容量大和Qos(QualityofService、服务质量)配置灵活的优点,使其具有广泛的应用前景。如图l所示,作为一种端到端的参考模型,WiMAX系统的功能逻辑组包括移动用户台(MSS)、接入网络(ASN)、连接服务网络(CSN)和应用服务提供商(ASP)网络。其中,ASN由基站(BS)和接入网关(AGW)组成,可以连接到多个CSN,为不同网络服务提供商(NSP)的CSN提供无线接入服务。鉴权授权计费服务器,也称认证、授权和计费服务器,作为CSN中的一种服务器,向WiMAX用户提供认证、授权和计费功能,其与AGW之间采用远程身份验证拨入用户服务(RADIUS,RemoteAuthenticationDialInUserService)协议进行通讯。其中,AAA服务器作为RADIUS协议的服务器端,AGW作为RADIUS协议的客户端。RADIUS协议是一种可扩展的协议,其工作原理如图2所示。在步骤201中,客户端接入网络访问服务器(NAS),NAS向RADIUS服务器通过发送接入请求(Access-Request)报文提交用户信息,包括用户名、认证密码、NAS的ID和用户访问的端口号等相关信息,其中认证密码是经过MD5加密的,双方使用"共享密钥,,(ShareSecret),这个密钥不经过网络传播。在步骤202中,RADIUS服务器访问认证数据库,判断Access-R叫uest报文中的用户信息是否有效。如果用户信息被认为无效,则RADIUS服务器给客户端发送一个接入拒绝(Access-Reject)报文,指示该用户非法。如果需要的话,RADIUS服务器还会在该报文中加入一段包含错误信息的文本消息,以便让客户端将错误信息反馈给用户;如果用户信息被确认,RADIUS服务器则提取此用户的信息列表,其中包括了用户口令、访问端口和访问权限等,发送接入允许(Access-Accept)报文给客户端,其中包括了服务类型及其附属的信息等。在步骤203中,客户端向RADIUS服务器提出计费请求(Account-Request)l艮文,开始对用户的计费;在步骤204中,如果RADIUSserver成功记录分组包,则发送计费应答(Account-Response)报文给客户端,作为成功计费的确认,否则不发送确认给客户端。AAA服务器包括认证服务器、授权服务器和计费服务器。其中,认证服务器保存用户的认证信息和相关属性,当接收到认证申请时,可以在数据库中对用户数据的查询;授权服务器在确认用户身份后,根据用户开户时所申请的服务类别,系统可以授予客户相应的权限;计费服务器在用户使用系统资源时,统计用户所对资源的占用情况,据此向客户收取相应的费用。因此,AAA服务器的性能与运营商的经济利益紧密关联。随着访问WIMAX网络的用户数目的逐渐增长,运营商对AAA服务器的性能要求也越来越高,使得装置厂商需要AAA服务器的性能进行相应的测试。在真实环境下,对WiMAX网络的AAA服务器进行性能测试的方法,是使用大量MSS向BS发起分组数据呼叫,BS分配给MSS相应的无线承载资源后,AGW建立与BS数据隧道,最后完成MSS的网络接入。在MSS完成网络接入的过程中,AGW向AAA服务器发送RADIUS协议报文,并从AAA服务器接收相应的响应报文进行处理,以测试AAA服务器的性能。但是,现有技术存在测试成本高,MSS、BS和AGW数量受限,无法集中控制管理以及组网复杂的问题。因此,受实际开发和测试环境的限制,AAA装置供应商在进行AAA服务器性能测试的时候,需要一种负载模拟装置与AAA服务器进行RADIUS消息交互,以获得在不同系统硬件、软件和数据配置下的AAA服务器的性能指标。
发明内容本发明的目的在于提供一种鉴权授权计费服务器的测试装置和测试方法,通过负载模拟装置与AAA服务器进行RADIUS消息交互,以获得在不同系统硬件、软件和数据配置下的AAA服务器的性能指标。本发明的技术方案如下一种AAA服务器的测试装置,其包括控制单元、至少一个负载模拟单元和至少一个统计模块;所述控制单元用于配置并控制所述负载模拟单元进行测试;所述负载模拟单元用于模拟用户的鉴权、授权和计费信息,生成并发送RADIUS协议栈报文到外部的AAA服务器,以及接收其响应报文,还用于调用所述统计模块进行处理,得到测试结果并发送给所述控制单元;所述统计模块用于记录和汇总所述RADIUS协议栈报文及其响应报文的时间和凄史目。所述的测试装置,其中,所述负载模拟单元包括主进程模块和处理进程模块;所述主进程模块用于模拟用户的鉴权、授权和计费信息,调用所述处理进程模块,生成至少一个处理进程;所述处理进程用于生成并发送所述RADIUS协议栈报文到所述鉴权授权计费服务器,以及接收其响应报文,并调用所述统计模块进行处理,得到测试结果后,通过所述主进程模块发送给所述控制单元。所述的测试装置,其中,所述主进程模块包括通信模块和消息处理模块,所述处理进程模块包括RADIUS协议栈模块;所述通信模块用于与所述控制单元传送信息;所述消息处理模块用于模拟用户的鉴权、授权和计费信息,并控制所述处理进程模块;所述处理进程模块用于通过所述RADIUS协议栈模块生成并发送所述RADIUS协议栈报文到所述鉴权授权计费服务器,以及接收其响应报文,并由所述RADIUS协议栈模块调用所述统计模块进行处理,得到测试结果后,通过所述主进程模块发送给所述控制单元。所述的测试装置,其中,所述统计模块设置在所述主进程模块上。所述的测试装置,其中,所述控制单元还包括分析模块,用于统计和分析接收的测试结果。所迷的测试装置,其中,还包括与所述负我模拟单元相对应的媒体接入控制板,所述负载模拟单元设置在所述媒体接入控制板上。—种AAA服务器的测试方法,用于具有控制单元、至少一个负载模拟单元和至少一个统计^^块的测试装置,所述测试方法包括以下步骤Al、通过所述控制单元设置测试的配置信息,并控制所述负载模拟单元开始测试;其中,所述配置信息至少包括移动用户台数目、用户名、认证密码、认证请求^Jl等待时延、认证请求报文最大重发次数、计费请求报文发送次数、计费请求报文等待时延、AAA服务器的目的地址、AAA服务器的目标端口其中之一;A2、所述负载模拟单元根据所述配置信息,模拟用户的鉴权、授权和计费信息,构造RADIUS协议栈报文并发送给AAA服务器;A3、所述AAA服务器向所述负载模拟单元发送所述RADIUS协议栈报文的响应报文;A4、所述负载模拟单元根据所述RADIUS协议栈报文及其响应报文的数目和时间,调用所述统计模块,计算所述配置参数下所述AAA服务器的性能指标,并发送给所述控制单元;其中,所述性能指标至少包括每秒认证次数、认证响应时间、每秒计费次数、计费响应时间其中之一。所述的测试方法,其中,步骤A2具体包括以下步骤Bl、所述负载模拟单元启动主进程,根据所述配置信息,模拟用户的鉴权、授权和计费信息,并生成至少一个处理进程;B2、所述处理进程生成并发送所述RADIUS协议栈报文到所述AAA服务器;并且,步骤A3具体包括以下步骤所述AAA服务器向所述处理进程发送所述RADIUS协议栈报文的响应报文;并且,步骤A4具体包括以下步骤所述处理进程根据所述RADIUS协议栈报文及其响应报文的数目和时间,调用所述统计模块,计算所述配置参数下所述AAA服务器的性能指标,并发送给所述控制单元。所述的测试方法,其中,步骤A3还包括以下步骤所述负载模拟单元对所述AAA服务器发送的非RADIUS协议栈报文,则将其丟弃,继续等待下一个报文。所述的测试方法,其中,步骤A4之后还执行以下步骤所述控制单元根据接收的测试结果,进行统计和分析。采用上述方案,本发明通过使用负载模拟单元取代真实的MSS、BS和AGW设备对AAA服务器进行测试,只需要较少的装置和人力就可以实现大数据量的性能测试,具有成本低,测试组网简单等优点。此外,在AAA服务器性能测试过程中,由于可以动态修改配置信息,测试所需要的数据量可以动态调节,因此达到了灵活测试的效果。图1为现有技术的WiMAX系统模型示意图;图2为现有技术的RADIUS的工作原理流程示意图;图3本发明装置的一种实施方式的结构示意图;图4为本发明装置的应用于测试系统的一种实施方式的结构示意图;图5A为本发明方法的一种实施方式的测试AAA服务器的流程图;图5B为图5A的续图。具体,施方式以下结合附图和具体实施例,对本发明进行详细说明。本发明的目的在于釆用^f莫拟构造RADIUS协议栈"R文的方法,实现对AAA服务器的性能测试。即首先通过负载模拟单元进行组包,生成测试所需要的RADIUS协议栈报文,然后将生成的RADIUS协议栈报文发送给AAA服务器;AAA服务器在收到RADIUS协议栈报文后进行相应处理;处理完毕,AAA服务器将处理结果返回给负载模拟单元,并由负载模拟单元或控制单元对处理结果进行分析以获得统计数据。如图3所示,本发明提供了一种AAA服务器的测试装置,适用于WiMAX系统,能够实现用较少资源对外部的AAA服务器进行性能测试,该测试装置包括控制单元、至少一个负载模拟单元和至少一个统计模块。所述控制单元用于配置并控制所述负载模拟单元进行测试。其中,所述的控制单元用于加载测试所需的配置信息文件,将配置信息发送给负载模拟单元配置测试流程所使用的参数,并发送控制消息对负载模拟器进行启动或终止测试上的控制。其中,所述配置信息至少包括移动用户台数目、用户名、认证密码、认证请求报文等待时延、认证请求报文最大重发次数、计费请求报文发送次数、计费请求报文等待时延、AAA服务器的目的地址、AAA服务器的目标端口其中之一,当然,也可以包括其中多项。所述的控制单元可以设置在PC机或者交换机上,与负载模拟单元釆用TCP/IP(传输控制协议/互联网协议)协议进行通信。所述负载模拟单元用于模拟用户的鉴权、授权和计费信息,生成并发送RADIUS协议栈报文到外部的AAA服务器,以及接收其响应报文,还用于调用所述统计模块进行处理,得到测试结果并发送给所述控制单元。例如,所述的负载模拟单元与AAA服务器之间快速以太网(FE)或千兆以太网(GE)进行连接,底层采用IP/UDP(互联网协议/用户数据包协议),上层采用RADIUS协议。负载模拟单元作为AAA服务器的客户端,传送用户的鉴权、授权和计费信息。其中,所述的负载模拟单元基于标准RADIUS协议。因为RADIUS是国际协议标准,被普遍的应用,因而能够实现对所有AAA服务器的测试。具体地说,所述统计^^莫块用于记录和汇总所述RADIUS协议栈报文及其响应报文的时间和数目。即上述的调用所述统计模块进行处理。实际应用中,该测试装置可以只设置一个统计模块,也可以在每个负载模拟单元上分别设置一个统计^t块。此外,控制单元还可以对从负载模拟单元接收测试结果消息,进行统计和分析;例如,所述控制单元还可以包括分析模块,用于统计和分析接收的测试结果,即所述负载模拟单元调用统计模块进行处理后,得到并发送给所述控制单元的测试结果;更好的是,所述分析模块对测试结果进行统计、分析,以图形或报表的形式将统计和分析的结果输出给用户。并且,所述的测试装置还可以包括与所述负载模拟单元——相对应的媒体接入控制板,这样,所述负载模拟单元可以设置在所述媒体接入控制板上。即,所述的负载模拟单元驻留在MAC(MediaAccessControl,媒体接入控制)上,一块MAC单板代表一个负载模拟单元。在这里,MAC板是既有信令面处理能力又有媒体面处理能力的单板,用来作为RADIUS协议栈的硬件承载对象,其单板软件为嵌入式操作系统。实际应用中,更好的是,一个控制单元可以控制多个负载模拟单元;即所述的控制单元与负载模拟单元是一对一或一对多的关系,一个控制后台可以同时控制多个负载模拟单元。即,可以选择多个所述的负载模拟单元连接到同一个交换机上,由一个控制后台同时控制,支持分布式的并发运行。此时,一个控制后台可以最多同时管理64个负载模拟单元发起测试,从而大大节省了人力和测试资源。如图3所示,所述的测试装置中,负载模拟单元用于模拟真实MSS、BS和AGW与AAA服务器之间的业务,处理RADIUS报文(即RADIUS协议栈报文);按所属的进程类型可分为Main进程下的模块和Handle进程下的模块;即,所述负载模拟单元可以包括主进程模块和处理进程模块。其中,所述主进程模块用于模拟用户的鉴权、授权和计费信息,调用所述处理进程模块,生成至少一个处理进程;所述处理进程用于生成并发送所述RADIUS协议栈报文到所述鉴权授杈计费服务器,以及接收其响应报文,并调用所述统计模块进行处理,得到测试结果后,通过所述主进程模块发送给所述控制单元。所述负载模拟单元可以使用多进程结构。每个负载模拟单元都包含一个静态的Main进程(主进程)以及Main进程根据配置信息动态创建的一定数目的Handle进程(处理进程)。各Handle进程具有相同的进程类型但是不同的进程实例,因此具有各自不同的进程标识(PID)。因此,负载模拟单元就的每个Handle进程可以标识不同的MSS,即Handle进程与MSS为--^对应。所述的测试装置,其中,所述统计模块可以设置在所述主进程模块上,此时,在每个负载模拟单元上都设置有一个统计模块。这样,所述的负载模拟单元可以进行实时的数据汇总和分析,并以测试结果消息的形式上报给控制单元。并且,所述一个负载模拟单元可以最多动态创建1024个的Handle进程标识相同数目的不同的MSS,即可以一个负载模拟单元最多模拟1024个MSS,因此一个控制单元可以使64x1024个模拟MSS发起测试,实现被测AAA服务器的最大配置测试。例如,所述主进程模块可以包括通信模块和消息处理模块,所述处理进程模块包括RADIUS协议栈模块;其中,所述通信模块用于与所述控制单元传送信息;所述消息处理模块用于模拟用户的鉴权、授权和计费信息,并控制所述处理进程模块;所述处理进程模块用于通过所述RADIUS协议栈模块生成并发送所述RADIUS协议栈报文到所述鉴权授权计费服务器,以及接收其响应报文,并由所述RADIUS协议栈模块调用所述统计模块进行处理,得到测试结果后,通过所述主进程模块发送给所述控制单元。更具体地说,所述Main进程下的模块是指由一个静态的Main进程进行管理,且只受Main进程管理的模块,包括以下模块后台通信模块,即通信模块与控制单元建立TCP/IP通信链路,进行TCP/IP消息通信。消息处理模块用于接收控制单元发送的配置信息消息和控制消息。如果是配置信息消息,则该模块对消息进行解析后将配置参数保存在共享内存中供RADIUS协议栈模块调用。如果是控制消息,如测试流程的启动、暂停和终止、则该模块将控制消息转发到各Handle进程上;用于发送测试结果消,t、给控制单元,由控制单元将测试结果以图形或图表的形式输出给用户。其中,所述配置信息包括MSS数目、用户名、认证密码、Access-Request报文等待时延、Access-Request报文最大重发次数、Account-R叫uest报文发送次数、Account-Request报文等待时延以及AAA服务器的目的地址和目标端口。当所述统计模块设置在负载模拟单元时,所述统计模块可以设置在所述Main进程下的模块用于记录和汇总负载模拟单元的各Handle进程发送RADIUS报文和接受响应RADIUS报文的时间和数目,包括接入请求(AccSss-Request)净艮文、4妄入允许(Access-Accept)才艮文、才妻入拒绝(Access-Reject)报文、计费请求(Account-Request)报文和计费应答(Account-Response)报文,计算所述配置参数下的每秒认证次数、认证响应时间、每秒计费次数和计费响应时间,并以调用消息处理模块的接口函数构造测试结果消息。所述的每秒认证次数是指负载模拟单元在每秒钟内收到的对应于相应Access-Request(ili正请求)才艮文的Access-Accept(i/vi正响应)才艮文与Access-Reject(认证拒纟色)报文的数目之和;所述的认证响应时间是指负载模拟单元收到的Access-Accept报文或Access-Reject净艮文的时刻与发送的Access-Request才艮文的时刻的时间差,以ms为单位。所述的每秒计费次数是指负载模拟单元在每秒钟内收到的对应于Account-Request(计费请求)报文的Account-Response(计费响应)报文数目。所述的计费响应时间是指负载模拟单元收到的Account-Response报文的时刻与发送的Account-Request报文的时刻之差,以ms为单位。所述的Handle进程下的模块是指模块功能分布在多个不同的实例进程下,且模块功能在进程中的实现又相互独立,其包括RADIUS协议栈模块;即,多个处理进程可以分别调用RADIUS协议栈模块,RADIUS协议栈模块可以分别被多个处理进程调用。RADIUS协议栈才莫块该模块由多个Handle实例进程组成。每个Handle进程代表一个MSS按照消息处理模块保存的配置参数,向AAA服务器发送用于测试AAA服务器性能的RADIUS协议栈报文,接收来AAA服务器相应响应的RADIUS协议栈报文。该模块每发送或接收一次RADIUS协议栈报文,都会调用统计模块中的接口函数对RADIUS协议栈报文发送或接收的次数和时间进行统计。所述的RADIUS协议栈报文格式如表1所示,包括Code(包类型)、Identifier(包标识)、Length(包长度)、Authenticator(验证字)和Attributes(属性)五个字段<table>tableseeoriginaldocumentpage15</column></row><table>表1RADIUS协议栈报文格式其中,所述Code字段的长度为1字节,代表报文的类型,如Access-Request氺艮文、Access-Accept净艮文、Access-Reject才艮文、Account-Requestl艮文和Account-Responsel艮文;所述Identifier字段的长度为1字节,取值范围为0255;代表报文的序列号,用于匹配"i青求和响应包,同一组:清求包和响应包的Identifier应相同。所述Length字段的长度为2字节,用于说明报文(Code十Identifier十Length十Authenticator十Attributes)的所有域的总长度。当报文长度大于说明长度时,后面部分作为填充字节直接忽略,反之则被丢弃。报文最大长度为4096.字节,最小长度为20字节。所述Authenticator字段的长度为16字节,具体可分为请求Authenticator和响应Authenticator两种类型;其中,请求验证字(RequestAuthenticator)用在请求报文中,必须为全局唯一的随机值,响应验证字(ResponseAuthenticator)用在响应才艮文中,用于鉴别响应才艮文的合法性。在Access-Request4艮文和Account-Request报文中,Authenticator字段为请求Authenticator类型,用于为认证密码力口密。在Access-Accept报文、Access-Reject报文和Account-Response报文中,Authenticator字段为响应Authenticator类型,用于认证自AAA服务器的响应报文。请求Authenticator和响应Authenticator类型字段都是用MD5算法生成的具有唯一性的16位随机数,生成值作为加密的用户密码放入到Attributes字段中。例如,响应验证字=MD5(Code+ID+Length+请求验证字+Attributes+Key)。所述的Attributes字段的长度为变长,包含多个TLV(Type-Length-Value)属性域集合。其中,Type字段为1字节,指示了Attribute的类型,包括认证用户名、加密的用户密码、会话密钥、NAS的IP地址、NAS的端口ID、服务类型和协议类型等;Length字段为1字节,指示了Value字段的长度;Value字段为变长,指示了选定的Attribute类型的数值。并且,需要说明的是,所述负载模拟单元对于AAA服务器发送的不符合RADIUS协议的报文则将其丟弃不予任何处理而继续等待下一个正常的RADIUS协议栈4艮文,使得测试流程不至于中断。具体可以通过设置判断模块来实现,判断AAA服务器发送的报文符合RADIUS协议,则继续进行处理,否则将其丟弃不予任何处理。同时,如图4所示,本发明还提供了一种采用所述测试装置的WiMAX的AAA服务器的测试系统,其包括交换机、控制单元、至少一个负载模拟单元和至少一个统计^t块,以及AAA^^务器;其中,所述控制单元可以单独设置也可以设置在交换机上,用于配置并控制一个或多个所述负载模拟单元进行测试。其中,所述负载模拟单元用于模拟用户的鉴权、授权和计费信息,生成并发送RADIUS协议栈报文到所述AAA服务器;还用于根据测试结果,调用所述统计模块进行统计后发送给所述控制单元。当然,也可以由控制单元、至少一个负载模拟单元和至少一个统计模块组成一个测试装置;具体同上所述。其中,所述控制单元还可以包括分析模块,用于统计和分析接收的测试结果。所述的测试系统中,如上所述,所述测试装置的所述负载模拟单元包括主进程模块和处理进程模块;所述主进程模块用于模拟用户的鉴权、授权和计费信息,调用所述处理进程模块,生成至少一个处理进程;所述处理进程用于生成并发送所述RADIUS协议栈报文到所述AAA服务器,并根据测试结果,调用所述统计模块进行统计后通过所述主进程模块发送给所述控制单元。其中,所述主进程模块包括通信模块和消息处理模块,所述处理进程模块包括RADIUS协议栈模块;所述通信模块用于与所述控制单元传送信息;所述消息处理模块用于模拟用户的鉴权、授权和计费信息,并控制所述处理进程模块;所述处理进程模块用于通过所述RADIUS协议栈模块生成并发送所述RADIUS协议栈报文到所述AAA服务器,以及接收其响应报文,并由所述RADIUS协议栈模块调用所述统计模块进行处理,得到测试结果,通过所述主进程模块发送给所述控制单元。并且,如前所述,所述统计模块可以设置在所述主进程模块上;所述测试系统还可以包括与所述负载模拟单元相对应的媒体接入控制板,所述负载模拟单元设置在所述媒体接入控制板上。如图4所示为釆用了本发明的测试装置的由多个负载模拟单元组成的分布式负载模拟测试系统,以及系统的数据汇总示意。在分布式负载模拟测试系统中,有多个负载模拟单元,通过一个交换机互相连接。每个负载模拟单元启动一个循环定时器,按照一定的时间间隔,把各自的观'K式结果以消息的形式发送给控制单元,由控制单元进行统计和分析,并以图形或列表的形式输出给用户。如图5A和图5B所示,本发明还提供了一种WiMAX的AAA服务器的测试方法,用于具有控制单元、至少一个负载模拟单元和至少一个统计模块的测试装置中,其包括以下步骤Al、通过所述控制单元配置测试信息,并控制所述负载模拟单元开始测试;所述控制单元向一个或多个负载模拟单元发送配置信息和测试开始命令。所述配置信息至少包括移动用户台数目、用户名、认证密码、认证请求报文等待时延、认证请求报文最大重发次数、计费请求报文发送次数、计费请求报文等待时延、AAA服务器的目的地址、AAA服务器的目标端口其中之一。A2、所述负载^^莫拟单元根据所述配置信息,模拟用户的鉴权、授权和计费信息,按照RADIUS协议构造RADIUS协议栈报文并发送给AAA服务器。A3、所述AAA服务器向所述负载模拟单元发送所述RADIUS协议栈报文的响应报文。其中,步骤A3还可以包括以下步骤所述负载模拟单元对所述AAA服务器发送的非RADIUS协议的报文,即非RADIUS协议栈报文,则将其丟弃,继续等待下一个报文。A4、所述负载模拟单元根据所述报文及其响应报文的数目和时间,调用所述统计才莫块,计算所述配置参数下所述AAA服务器的性能指标,并发送给所述控制单元。其中,所述性能指标至少包括每秒认证次数、认证响应时间、每秒计费次数、计费响应时间其中之一。例如,负载模拟单元对发送给的AAA服务器的RADIUS报文和AAA服务器反馈的响应RADIUS报文的数目和时间进行统计,计算所述配置参数下的每秒认证次数、认证响应时间、每秒计费次数和计费响应时间等性能指标,并以测试结果消息的形式发送给控制单元。在步骤A4之后还执行以下步骤所述控制单元根据接收的测试结果,进4亍统计和分析。所述测试方法中,一种较好的实施方式是,步骤A2中具体可以包括以下步骤Bl、所述负载模拟单元启动主进程,根据所述配置信息,模拟用户的鉴权、授权和计费信息,并生成至少一个处理进程;B2、所述处理进程生成并发送所述报文到所述AAA服务器;此时,步骤A3具体包括以下步骤所述AAA服务器向所述处理进程发送所述报文的响应报文;并且,步骤A4具体包括以下步骤所述处理进程根据所述报文及其响应根文的数目和时间,调用所述统计模块,计算所述配置参数下所述AAA服务器的性能指标,并发送给所述控制单元。以下如图5A和图5B所示,具体阐述发明的测试AAA服务器方法的流程图,具体包括以下步骤。如图5A所示,在步骤501中,控制单元加载测试所需的配置信息文件,获得配置信息中的MSS数目、用户名、认证密码、Accept-Request报文等待时延、Acccept-Request报文最大重发次数、Account-Request报文发送次数、Account-Request报文等待时延以及AAA服务器的目的地址和目标端口等参数,发送配置信息消息到负载模拟单元Main进程下的消息处理模块。其中,MSSIt目为Nl,Access-Request才艮文最大重发次数为MaxRetryCoimt,Access-Request报文等待时延为PI,Account-R叫uest报文发送总次数为TotalAccountRequestCount,Account-Request才艮文等4寺时延为P2。在步骤502中,负载模拟单元的Main进程消息处理模块对配置信息消息中的参数进行解析,将配置参数保存在内存中供各Handle进程下的RADIUS协议栈模块进行调用,并根据MSS的数目Nl创建相同数目的Handle进程作为真实MSS的模拟。此外,Main进程初始化Access-Request报文已重发次数RetryCount为0,Account-Request报文已发送次数SendAccountResponseCount为0,已认证次数SuccessAccessCount为0,已计费次数SuccessAccountCount为0。在步骤503中,控制单元发送测试开始消息,通过负载模拟单元的后台通信模块转发到负载模拟单元Main进程下的消息处理模块;在步骤504中,负载模拟单元的Main进程消息处理模块将测试开始消息转发到各Handle进程下的RADIUS协议栈模块。在步骤505中,负载模拟单元各Handle进程的RADIUS协议栈模块读取保存在共享内存中的配置参数,构造Access-Request报文,并发送给AAA服务器。该报文包括报文类型、报文序列号、用户名、认证密码、会话密码、NAS的IP地址、NAS的ID、NAS的端口号和NAS的端口类型等相关用,户信息,其中认证密码经过MD5算法进行加密。每构造一次Access-Request报文,报文序列号进行累进加1操作。在步骤506中,负载模拟单元的各Handle进程判断Access-Request报文已重发次数RetryCoimt是否达到Access-Request才艮文最大重发次数MaxRetryCount,如果达到,则跳到步骤505。在步骤507中,负载模拟单元各Handle进程的RADIUS协议栈模块发送Access-Request报文给AAA服务器。每发送一次报文,RADIUS协议栈模块调用Main进程统计模块的接口函数将Access-Request重发次数RetryCoimt进行累进加1操作,并记录发送的每一个Access-Request报文的时刻。在步骤508中,负载模拟单元的各Handle进程设定各自的定时器Taccess,且定时器时长为Access-Request报文等待时延PI。在步骤509中,负载;f莫拟单元的各Handle进程各Handle进程循环判断定时器Taccess是否超时,如果超时则跳到步骤506,否则继续判断,并执行流程A,即图5B中的各步骤。如图5B所示,接流程A,即图5A中的各步骤之后,判断定时器Taccess未超时,则在步骤510中,AAA服务器对用户进行认证,向各Handle进程的RADIUS协议栈模块发送认证响应报文。若认证成功,AAA服务器则向各Handle进程的RADIUS协议栈模块发送Access-Accept报文,否则将发送Access-Reject报文。在步骤511中,负载才莫拟单元各Handle进程的RADIUS协议栈模块接收到Access-Accept报文或Access-Reject报文,检查报文的序列号是否与步骤505的Access-Request报文的报文序列号相一致。如果一致的话,相应Handle进程重新初始化Access-Request重发次ltRetryCoimt为0,调用Main进程统计模块的接口函数记录接收的每一个Access-Accept报文或Access-Reject才艮文的4妾收时刻,对已i人证次凄tSuccessAccessCount进行累计加1操作,计算出每秒认证次数和认证响应时间,并调用Main进程消息处理模块的接口函数,构造测试结果消息发送给控制单元。在步骤512中,负载模拟单元各Handle进程的RADIUS协议栈模块判断收到的报文是Access-Accept报文还是Access-Reject报文。如果收到Access-Reject报文,则停止负载模拟单元该Handle进程下的测试流程。在步骤513中,负载模拟单元各Handle进程的RADIUS协议栈模块调用Main进程统计模块的接口函数判断Account-Request报文已发送次数SendAccount-ResponseCount是否达到Account-Requestl艮文发送总次凄史TotalAccountRequest-Count,如果达到,则停止该Handle进禾呈下的测-试流程。在步骤514中,负载模拟单元各Handle进程的RADIUS协议栈模块构造Account-Request报文发送给向AAA服务器,该报文包括报文类型、报文序列号、NAS的IP地址、NAS的ID、NAS的端口号和NAS的端口类型等相关用户信息。每构造一次Account-Request报文,报文序列号进行累进加1操作。每发送一次报文,RADIUS协议栈模块调用统计模块的接口函数,'将Account-Requestl艮文发送次凄tSend-AccountRequestCount进4亍累进加1操作,并记录发送的每一个Account-Request净艮文的时刻。在步骤515中,负载模拟单元的各Handle进程设定各自的定时器Taccount,且定时器时长为Account-R叫uest报文等待时延P2。在步骤516中,负载模拟单元的各Handle进程循环判断定时器Taccount是否超时,如果超时则跳到步骤513,否则继续判断。在步骤517中,AAA服务器接收到Account-Request报文后开始计费,并向各Handle进程的RADIUS协议栈模块反馈Account-Response报文。在步骤518中,负载模拟单元各Handle进程的RADIUS协议栈模块接收到Account-Response报文后,检查报文的序列号是否与步骤513的Account-Request报文的报文序列号相一致。如果一致的话,相应Handle进程调用Main进程统计模块的接口函数记录每一个Account-Response报文的接收时刻,对已计费次数SuccessAccountCount进行累计加1操作,计算出每秒计费次数和计费响应时间,并调用Main进程消息处理模块的接口函数,构造测试结果消息发送给控制单元,然后跳到步骤513。本发明的技术方案与现有的技术方案相比,带来了明显的积极效果。通过使用负载模拟单元取代真实的MSS、BS和AGW设备对AAA服务器进行测试,只需要较少的装置和人力就可以实现大数据量的性能测试,成本低,测试组网筒单。此外,在AAA服务器性能测试过程中,由于可以动态修改配置信息,测试所需要的数据量可以动态调节,从而达到灵活测试的目的。应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。权利要求1、一种鉴权授权计费服务器的测试装置,其特征在于,其包括控制单元、至少一个负载模拟单元和至少一个统计模块;所述控制单元用于配置并控制所述负载模拟单元进行测试;所述负载模拟单元用于模拟用户的鉴权、授权和计费信息,生成并发送RADIUS协议栈报文到外部的鉴权授权计费服务器,以及接收其响应报文,还用于调用所述统计模块进行处理,得到测试结果并发送给所述控制单元;所述统计模块用于记录和汇总所述RADIUS协议栈报文及其响应报文的时间和数目。2、根据权利要求1所述的测试装置,其特征在于,所述负载模拟单元包括主进程模块和处理进程模块;'所述主进程模块用于模拟用户的鉴权、授权和计费信息,调用所述处理进程;漠块,生成至少一个处理进程;所述处理进程用于生成并发送所述RADIUS协议栈报文到所述鉴权授权计费服务器,以及接收其响应报文,并调用所述统计模块进行处理,得到测试结果后,通过所述主进程模块发送给所述控制单元。3、根据权利要求2所述的测试装置,其特征在于,所.述主进程模块包括通信模块和消息处理模块,所述处理进程模块包括RADIUS协议栈模块;所述通信;漠块用于与所述控制单元传送信息;所述消息处理模块用于模拟用户的鉴权、授权和计费信息,并控制所述处理进程模块;所述处理进程模块用于通过所述RADIUS协议栈模块生成并发送所述RADIUS协议栈报文到所述鉴权授权计费服务器,以及接收其响应报文,并由所述RADIUS协议栈模块调用所述统计模块进行处理,得到测试给果后,通过所述主进程模块发送给所述控制单元。4、根据权利要求3所述的测试装置,其特征在于,所述统计模块设置在所述主进程一莫块上。5、根据权利要求1所述的测试装置,其特征在于,所述控制单元还包括分析模块,用于统计和分析接收的测试结果。6、根据权利要求1所述的测试装置,其特征在于,其还包括与所述负载模拟单元相对应的媒体接入控制板,所述负载模拟单元设置在所述媒体接入控制板上。7、一种鉴权授权计费服务器的测试方法,用于具有控制单元、至少一个负载模拟单元和至少一个统计模块的测试装置,其特征在于,包括以下步骤Al、通过所述控制单元设置测试的配置信息,并控制所述负载模拟单元开始测试;其中,所述配置信息至少包括移动用户台数目、用户名、认证密码、认证请求报文等待时延、认证请求报文最大重发次数、计费请求报文发送次数、计费请求报文等待时延、鉴权授权计费服务器的目的地址、鉴权授权计费服务器的目标端口其中之一;A2、所述负载模拟单元根据所述配置信息,模拟用户的鉴权、授权和计费信息,构造RADIUS协议栈报文并发送给鉴权授权计费服务器;A3、所述鉴权授权计费服务器向所述负载模拟单元发送所述RADIUS协议栈报文的响应报文;A4、所述负载模拟单元根据所述RADIUS协议栈报文及其响应报文的数目和时间,调用所述统计模块,计算所述配置参数下所述鉴权授权计费服务器的性能指标,并发送给所述控制单元;其中,所述性能指标至少包括每秒认证次数、认证响应时间、每秒计费次数、计费响应时间其中之一。8、根据权利要求7所述的测试方法,其特征在于,步骤A2具体包括以下步骤Bl、所述负载模拟单元启动主进程,根据所述配置信息,模拟用户的鉴权、授权和计费信息,并生成至少一个处理进程;B2、所述处理进程生成并发送所述RADIUS协议栈报文到所述鉴权授权计费服务器;并且,步骤A3具体包括以下步骤所述鉴权授权计费服务器向所述处理进程发送所述RADIUS协议栈报文的响应报文;并且,步骤A4具体包括以下步骤所述处理进程根据所述RADIUS协议栈报文及其响应报文的数目和时间,调用所述统计模块,计算所述配置参数下所述鉴权授权计费服务器的性能指标,并发送给所述控制单元。9、根据权利要求7或8所述的测试方法,其特征在于,步骤A3还包括以下步骤所述负载模拟单元对所述鉴权授权计费服务器发送的非RADIUS协议栈报文,则将其丟弃,继续等待下一个报文。10、根据权利要求7或8所述的测试方法,其特征在于,步骤A4之后还执行以下步骤所述控制单元根据接收的测试结果,进行统计和分析。全文摘要本发明公开了一种鉴权授权计费服务器的测试装置和测试方法,该测试装置包括控制单元、至少一个负载模拟单元和至少一个统计模块;控制单元用于配置并控制负载模拟单元进行测试;负载模拟单元用于模拟用户的鉴权、授权和计费信息,生成并发送RADIUS协议栈报文到外部的鉴权授权计费服务器,以及接收其响应报文,还用于调用统计模块进行处理,得到测试结果并发送给控制单元;统计模块用于记录和汇总RADIUS协议栈报文及其响应报文的时间和数目。本发明只需较少的装置和人力就可以实现大数据量的性能测试,具有成本低,测试组网简单等优点。此外,还可以动态修改配置信息,并且测试所需要的数据量可以动态调节,因此达到了灵活测试的效果。文档编号H04L12/26GK101132321SQ20071012363公开日2008年2月27日申请日期2007年9月26日优先权日2007年9月26日发明者震李申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1