专利名称:宽带接入系统中的计费服务器检测系统及其方法
技术领域:
本发明涉及通信系统中的计费系统及其方法,特别涉及宽带接入中的计费系统及其方法。
背景技术:
随着互联网及宽带网络的发展,带宽不断扩充,网络主机性能也大大增强,用户数也与日俱增。根据2001年7月中国互联网络信息中心(ChinaInternet Network Information Center,简称CNNIC)的调查结果显示,我国上网总人口已达2650万。另外,随着近几年宽带城域网的建设,宽带上网的人数成几何倍数增长,接入方式也越来越多样化,有综合业务数字网(Integrated Services Digital Network,简称“ISDN”)、局域网(Local AreaNetwork,简称“LAN”)、非对称数字环路(Asymmetric Digital SubscriberLine,简称“ADSL”)、无线局域网(Wireless Local Area Network,简称“WLAN”)等,不管是那种接入方式,都必须要解决宽带用户的认证计费问题,在认证计费问题上,业界普遍采用请求评注(Request for Comments,简称“RFC”)标准的远端验证拨号上网用户服务(Remote Authentication DialIn User Service,简称“RADIUS”)协议。
RADIUS协议定义了在网络接入服务器(Network Access Server,简称“NAS”)和集中存放计费信息的RADIUS服务器之间传输认证、授权和配置信息的协议。其协议的标准最新的定义在RFC2865《Remote AuthenticationDial In User Service(RADIUS)》(中文名称可译为《远端验证拨号上网用户服务认证协议》)和RFC2866《RADIUS Accounting》(中文名称可译为《远端验证拨号上网用户服务计费协议》)中。RADIUS以客户端服务器(Client/Server)模式工作,实现了对远程拨号用户的身份认证、授权和计费功能。其客户端多为NAS,主要用来将用户信息传递给服务器;服务器则对用户进行认证,并返回用户的配置信息。为保证传输的安全性,在客户端和服务器之间传送的数据均以MD5方式加密。
RADIUS是一种基于用户数据报协议(User Datagram Protocol,简称“UDP”)协议的上层协议,认证服务的监听端口号为1812,记费服务的监听端口号为1813。标准的RADIUS数据包的结构包括代码、标识号、长度、认证者和属性等几个部分。其中,代码表示该包的类型;标识号区分不同消息并给予相应的应答;长度为该RADIUS包的总长度;认证者是供MD5加密使用的字符串;属性则对应包中具体内容。
RADIUS协议的交互机制的基本原理如下对于认证操作,当用户上线时NAS会将用户的认证信息如用户名、用户密码等,打包在CODE=1的认证请求(AuthRequest)报文中,通过UDP协议将数据包发送给认证服务器的知名端口1812。认证服务器在收到用户认证请求后,会根据用户名在用户数据库中查找用户信息,再通过MD5加密算法对用户密码进行加密后判断比较,如果认证通过服务器会发送一个认证接收(AuthAccept)的报文CODE=2给NAS,否则会发送一个认证拒绝(AuthReject)报文CODE=3给NAS。
对于计费操作,当用户上线认证通过后,NAS会发送一个CODE=4的计费开始(AcctStart)报文给计费服务器的知名端口1813,计费服务器收到该报文后,会将用户的计费信息保存起来,并发送一个CODE=5的计费响应(ACCTResponse)报文给NAS设备。
由于RADIUS协议所采用的UDP协议是一种典型的无连接的传输方式,因此RADIUS协议的传输方式是一种不可靠的传输方式。虽然在RADIUS协议中也定义了一些关于报文如何进行重传的保证机制,但这些都无法避免报文的丢失。最为致命的是RADIUS协议没有类似于Hello报文的检测机制,即发送一个Hello报文,返回应答(ACK)或无应答(NACK),使得发起报文的NAS端不知道与之通信的计费服务器当前的工作状态是否正常。因此经常发生计费服务器工作异常,而NAS端不知道,还无休止的发送报文,导致网络拥塞的情况。而且在实际应用网络中,通常为了便于业务的开展,经常是服务器放置在异地,例如北京,而接入设备NAS被放置在深圳,从而更加增加了报文传输的不可靠因素。
现有的技术中,一般的接入设备NAS对外只支持对外接入一个计费服务器,不管计费服务器是否正常工作都根据RADIUS协议向计费服务器发送认证、计费报文,在报文重传几次失败后就将该用户的认证、计费信息丢弃。对于这类接入设备NAS,外接的计费服务器不存在状态。
上述现有NAS的体系结构如图1。现有NAS中,用户接入模块10完成宽带接入设备基本功能,负责用户的接入和数据报文转发;用户信息采集模块20负责收集用户上网的流量、时长、上网策略等计费信息;状态机处理模块30负责上网用户的状态位迁移的调度;服务器接口40负责和唯一支持的一台计费服务器进行协议交互。其中,服务器接口40不仅完成用户认证、计费请求报文的发送,同时也要完成来自服务器的用户认证、计费响应报文的接收。用户认证、计费请求报文与用户认证、计费响应报文必须是一一对应的,如果在一段时间内发送用户认证、计费请求的服务器接口不能够正确的收到来自服务器的响应,那么必须进行重发,重发的时间间隔可以根据需要设定。
上述的现有NAS不能检测计费服务器的状态,在计费服务器发生故障时不能够自动进行切换,因而造成网络传输不可靠,会产生业务中断。
而在电信级网络中,通常对设备提出了很高的要求,尤其是对设备能否进行自动备份,在设备异常进行切换时是否能够自动进行提出了非常高的要求。同时随着近几年宽带的迅猛发展,宽带业务已经不再只有无限时包月一种业务,这就意味着对计费提出了高的需求。其中要求宽带接入设备NAS可以同时接入多个计费服务器,并能够进行智能的自动切换。
如果要保证网络传输的可靠性,必须有一种机制使得NAS接入侧动态实时获知计费服务器当前的工作状态。如何利用现有的RADIUS协议,而又能够对计费服务器的工作状态进行必要的监测,从而保证宽带用户计费信息进行高效的、可靠的报文传输,对NAS设备来说是一个非常重要的技术难题。
在实际应用中,上述方案存在以下问题接入设备NAS在计费服务器发生故障时不能够自动进行切换,会产生业务中断。
造成这种情况的主要原因在于,在现有的技术中,对于接入设备NAS,外接的计费服务器不存在状态,NAS无法得知计费服务器是否正常工作,因而也无法在计费服务器发生故障的时候进行自动切换以保障网络传输的可靠性和业务的连续性。
发明内容
本发明要解决的技术问题是提供一种宽带接入系统中的计费服务器检测系统及其方法,使得NAS能够实时检测计费服务器的状态并根据计费服务器的状态进行切换以提高网络传输的可靠性,保障业务的连续性。
为了解决上述技术问题,本发明提供了一种宽带接入系统中的计费服务器检测系统,包含至少一个服务器接口,一个服务器检测模块和一个服务器调度模块;所述服务器接口负责发送认证或计费请求并接收来自对应计费服务器的认证或计费响应;所述服务器检测模块负责对所有所述计费服务器进行状态检测并设定所述服务器接口的状态;
所述服务器调度模块负责根据所述服务器接口的状态选择所述服务器接口发送认证或计费请求。
其中,所述服务器接口的状态包含以下4种工作正常,代表所述服务器接口对应的所述计费服务器工作正常,可以发送所述认证或计费请求;尝试恢复,代表可以对所述服务器接口对应的所述计费服务器能否正常工作进行测试,但只能够发送有限数目的所述认证或计费请求;工作异常,代表所述服务器接口对应的所述计费服务器无法正常工作,不可以发送所述认证或计费请求;等待响应,代表正在等待所述服务器接口对应的所述计费服务器的测试回应,不可以发送所述认证或计费请求。
所述有限数目是一个。
本发明还提供了一种宽带接入系统中的计费服务器检测方法,包含以下步骤A在所述服务器接口不能正确接收所述计费服务器的响应时重发认证或计费请求;B重发次数超过最大重发次数仍不能正确接收所述计费服务器的响应时将该服务器接口的状态设置为工作异常,并切换到另外可用的所述服务器接口发送;C在所述服务器接口的状态设置为工作异常后,定期自动尝试激活该服务器接口。
其中,所述步骤C还包含以下子步骤C1在所述服务器接口的状态设置为工作异常后,等待一个时间检测间隔后将该服务器接口的状态设置为尝试恢复;
C2随机获取一个认证或计费请求通过该服务器接口发送,并在发送后将该服务器接口的状态设置为等待响应;C3在最大重传次数内如果收到来自所述计费服务器的响应,则将该服务器接口的状态设置为工作正常,否则将该服务器接口的状态设置为工作异常。
通过比较可以发现,本发明的技术方案与现有技术的区别在于,本发明提出的在宽带接入系统中实现计费服务器检测的系统中的NAS连接多个计费服务器并实时监测计费服务器的工作状况,根据多个对应响应计费服务器的服务器接口的状态选择可以使用的计费服务器使用,能够在当前使用的计费服务器发生故障时自动切换并自动监测激活已经排除故障的计费服务器。
这种技术方案上的区别,带来了较为明显的有益效果,即首先,由于本发明在宽带接入系统中实现计费服务器检测的方案能够实时监测计费服务器的工作状况并在发生计费服务器故障时停止向该计费服务器数据的发送,从而避免了许多无谓的请求报文的发送,减少对网络的冲击。其次,本发明在宽带接入系统中实现计费服务器检测的方案能够在计费服务器发生故障时自动切换到备份的计费服务器,充分保证了运营业务不被中断,提高了业务的可靠性。
图1为现有技术中NAS的体系结构示意图;图2为根据本发明的一个实施例的在宽带接入系统中实现计费服务器检测的系统组成示意图;图3为根据本发明的一个较佳实施例的在发送一个认证或计费请求时检测服务器接口所对应的计费服务器异常并在异常时进行切换的流程图;图4为根据本发明的一个较佳实施例的在服务器接口状态被设置为工作异常之后系统自动重新激活工作异常的计费服务器对应的服务器接口的流程图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
本发明提出一种新的NAS和与之配套的方法以检测RADIUS服务器工作状态是否正常,支持在宽带接入设备NAS上实现主备计费服务器的自动切换。本发明方案在一个宽带接入NAS上同时配置多个计费服务器,当一个计费服务器发生异常后,NAS利用本发明提出的检测机制能够及时地检测到计费服务器异常,然后平滑的切换到另外一台备份计费服务器上进行用户的认证、计费,从而使得业务不被中断。
根据RADIUS协议的交互机制,在本发明方案中,认为不管宽带接入设备NAS收到了来自计费服务器的任何报文都认为计费服务器工作状态正常,否则为异常。根据这个前提来判定计费服务器的工作状态是否正常。
下面结合本发明的一个较佳实施例来说明本发明方案。该较佳实施例的系统组成如图2。
图2根据本发明的一个实施例的在宽带接入系统中实现计费服务器检测的系统由用户接入模块10,用户信息采集模块20,状态机处理模块30,三个服务器接口40,服务器调度模块50和服务器检测模块60组成。一个NAS接入多个计费服务器。
图2中,用户接入模块10,用户信息采集模块20,状态机处理模块30和服务器接口40的功能和上述图1现有技术中的模块相同。其中,多个服务器接口40分别连接对应的多个计费服务器。在本发明中服务器接口40有四种状态工作正常(UP),尝试恢复(TRY),工作异常(DOWN)和等待响应(READY)。
服务器检测模块60根据一定的检测机制对与NAS连接的所有计费服务器进行状态检测。例如,根据重发的次数来判断服务器接口40是否工作异常,如果重发超过设定的门限值就认为该服务器接口40对应的计费服务器工作异常,该服务器接口40的状态就会被设定为DOWN。在本发明的一个较佳实施例中,设定每两次重发的间隔为10秒,当重发3次还没有收到响应后就设定该服务器接口40的状态为DOWN。服务器检测模块60还定期对状态为DOWN的服务器接口40进行尝试恢复,例如,在本发明的一个较佳实施例中,服务器检测模块60每300秒检测一次状态为DOWN的服务器接口40。尝试恢复时,服务器接口40的状态为TRY;等待尝试恢复时发送的信息的响应时,服务器接口40的状态为READY。
服务器调度模块50根据服务器检测模块60得出的当前计费服务器的状态,调度用户认证、计费请求报文,根据服务器接口40状态为UP或TRY时才被调度使用的调度原则,决定由系统中哪一个服务器接口40来发送。在本发明的一个较佳实施例中,服务器接口40的状态为UP时,服务器接口40的发送接收完全正常;服务器接口40的状态为TRY时,服务器接口40只发送一个由服务器调度模块50从用户信息采集模块20中随即获得的认证或计费报文,发送后即将服务器接口40的状态设定为等待响应状态READY。为了防止该服务器接口40同时发送多个用户认证或计费报文。当服务器接口40状态为READY后,服务器调度模块50将不会再使用该服务器接口40发送报文。
在本发明的一个较佳实施例中,在发送一个认证或计费请求时检测服务器接口40所对应的计费服务器异常并在异常时进行切换的流程图如图3。
首先进入步骤110,调度选择一个状态为UP的服务器接口40发送认证或计费请求。在本发明的一个较佳实施例中,调度由服务器调度模块50负责,所发送的认证或计费请求由用户信息采集模块20提供。接着进入步骤120。
在步骤120中,判断在设定的时间内该服务器接口40是否正确接收到计费服务器的响应,如果是则结束,否则进入步骤130。需要说明的是,用户认证、计费请求报文与用户认证、计费响应报文必须是一一对应的。
在步骤130中,该服务器接口40重发认证或计费请求。如果在一段时间内发送用户认证、计费请求的服务器接口不能够正确的收到来自服务器的响应,那么必须进行重发,重发的时间间隔可以根据情况设定。在本发明的一个较佳实施例中,重发的时间间隔的系统建议缺省值为10秒。接着进入步骤140。
在步骤140中,判断在重发的时间间隔内该服务器接口40是否正确接收到计费服务器的响应,如果是则结束,否则进入步骤150。在实际情况中,发送不成功后的重传不一定能够成功,经常可能因为计费服务器的异常工作或者网络的异常而导致重传不成功。
在步骤150中,判断认证或计费请求的重传次数是否超过最大允许重传次数,如果是则进入步骤160,否则进入步骤130。最大允许重传次数可以设定,在本发明的一个较佳实施例中,最大允许重传次数的缺省值设定为3。
在步骤160中,将该服务器接口40的状态设定为DOWN。当服务器接口40的状态为DOWN时,即表示该服务器接口40对应的计费服务器工作异常,服务器调度模块50将不会选择该服务器接口40发送认证或计费请求。接着进入步骤170。
在步骤170中,选择其它可调度服务器接口40发送认证或计费请求。该步骤实现发送认证或计费请求的服务器接口40对应的计费服务器异常时的平滑切换,从而保证业务不中断。
至此,完成在发送一个认证或计费请求时检测服务器接口40所对应的计费服务器异常并在异常时进行切换的流程。
熟悉本领域的技术人员可以理解,在实际的网络应用环境中,有很多可能会导致宽带接入设备NAS无法正常收到响应,如网络中断、计费服务器宕机等等。作为一个可运营、可管理的宽带接入设备NAS,在一个服务器接口40状态被设置为DOWN之后,需要能够不需要在故障排除之后,人为地进行手工操作,重新激活工作异常的计费服务器对应的服务器接口40。在本发明技术方案中我们通过如下方法得以实现宽带接入设备NAS自动的重新激活工作异常的计费服务器对应的服务器接口40。
本发明的一个较佳实施例中,在服务器接口40状态被设置为DOWN之后系统自动重新激活工作异常的计费服务器对应的服务器接口40的流程图如图4所示。
首先进入步骤210,系统将一个服务器接口40的状态设置为DOWN。在本发明的一个较佳实施例中,当系统将一个服务器接口40的状态设置为DOWN后即开始系统重新激活该服务器接口40的流程。接着进入步骤220。
在步骤220中,判断该服务器接口40状态设置为DOWN后是否经历了一个检测时间间隔,如果是则进入步骤230,否则进入步骤220继续等待。其中,检测时间间隔可以根据实际系统需要设定。在本发明的一个较佳实施例中,将检测时间间隔的缺省值设置为300秒,当该服务器接口40设置为DOWN后经历了一个检测时间间隔则进入下一个步骤。
在步骤230中,将该服务器接口40的状态设置为TRY。当服务器接口40的状态为TRY时,该服务器接口40并不能够被大量的用户认证、计费请求使用,系统只允许被一个用户认证、计费请求使用,其目的是为了防止服务器还没有恢复正常,就有大量用户认证、计费请求发向服务器,而服务器又肯定不能够正确给出响应,这些不能够得到正确响应的用户认证、计费请求又要被服务器接口进行多次重发。这样会给宽带接入设备NAS本身和上行到服务器的网络带来非常大的冲击,实践证明通常是致命的。接着进入步骤240。
在步骤240中,该服务器接口40随机发送一个认证或计费请求。其中,认证或计费请求由服务器调度模块50随机从用户信息采集模块中获取,并向该服务器接口40对应的计费服务器发送。接着进入步骤250。
在步骤250中,将该服务器接口40的状态设置为READY。当服务器接口40状态为READY后,服务器调度模块50将不会再使用该服务器接口40发送报文。该步骤通过将该服务器接口40的状态设置为READY以防止该服务器接口40同时发送多个认证或计费报文。接着进入步骤260。
在步骤260中,判断在设定的最大重传次数内是否收到该服务器接口40对应的计费服务器的响应,如果是则进入步骤270,否则进入步骤280。该步骤的在具体实施时,首先判断该服务器接口40是否收到对应的计费服务器的响应,如果是则不需要重传,否则需要重传,其中,最大重传次数可以由管理人员根据系统需要设定,如果在重传次数达到最大重传次数后仍然没有收到该服务器接口40对应的计费服务器的响应,则进入步骤280,如果在最大重传次数内的重传收到了对应的计费服务器的响应则进入步骤270。
在步骤270中,将该服务器接口40的状态设置为UP后结束该流程。该步骤在该服务器接口40收到对应的计费服务器的响应之后执行。收到了计费服务器的响应即说明计费服务器工作已经正常,可以重新使用,因此将该服务器接口40激活,即从不可用的状态恢复为可用状态。
在步骤280中,将该服务器接口40的状态设置为DOWN后结束该流程。该步骤在该服务器接口40在最大重传次数都用完后仍没有收到计费服务器的响应后执行。收不到计费服务器的响应即说明该服务器接口40对应的计费服务器仍然工作异常,不能够使用,因此将该服务器接口40的状态仍然设置为DOWN。
至此,完成一次在服务器接口40状态被设置为DOWN之后系统自动重新激活工作异常的计费服务器对应的服务器接口40的流程。
需要说明的是,该流程只是说明一次尝试激活的过程,实际上在步骤280完成后,又进入了一个新的尝试激活的过程。
虽然通过参照本发明的某些优选实施例,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。
权利要求
1.一种宽带接入系统中的计费服务器检测系统,其特征在于,包含至少一个服务器接口,一个服务器检测模块和一个服务器调度模块;所述服务器接口用于发送认证或计费请求并接收来自对应计费服务器的认证或计费响应;所述服务器检测模块用于对所有所述计费服务器进行状态检测并设定所述服务器接口的状态;所述服务器调度模块用于根据所述服务器接口的状态选择所述服务器接口发送认证或计费请求。
2.根据权利要求1所述的宽带接入系统中的计费服务器检测系统,其特征在于,所述服务器接口的状态包含以下4种工作正常,代表所述服务器接口对应的所述计费服务器工作正常,可以发送所述认证或计费请求;尝试恢复,代表可以对所述服务器接口对应的所述计费服务器能否正常工作进行测试,但只能够发送有限数目的所述认证或计费请求;工作异常,代表所述服务器接口对应的所述计费服务器无法正常工作,不可以发送所述认证或计费请求;等待响应,代表正在等待所述服务器接口对应的所述计费服务器的测试回应,不可以发送所述认证或计费请求。
3.根据权利要求2所述的宽带接入系统中的计费服务器检测系统,其特征在于,所述有限数目是一个。
4.一种宽带接入系统中的计费服务器检测方法,其特征在于,包含以下步骤A在所述服务器接口不能正确接收所述计费服务器的响应时重发认证或计费请求;B重发次数超过最大重发次数仍不能正确接收所述计费服务器的响应时将该服务器接口的状态设置为工作异常,并切换到另外可用的所述服务器接口发送;C在所述服务器接口的状态设置为工作异常后,定期自动尝试激活该服务器接口。
5.根据权利要求4所述的宽带接入系统中的计费服务器检测方法,其特征在于,所述步骤C还包含以下子步骤C1在所述服务器接口的状态设置为工作异常后,等待一个时间检测间隔后将该服务器接口的状态设置为尝试恢复;C2随机获取一个认证或计费请求通过该服务器接口发送,并在发送后将该服务器接口的状态设置为等待响应;C3在最大重传次数内如果收到来自所述计费服务器的响应,则将该服务器接口的状态设置为工作正常,否则将该服务器接口的状态设置为工作异常。
全文摘要
本发明涉及计费系统,公开了一种宽带接入系统中的计费服务器检测系统及其方法,使得NAS能够实时检测计费服务器的状态并根据计费服务器的状态进行切换以提高网络传输的可靠性,保障业务的连续性。这种宽带接入系统中的计费服务器检测系统包含至少一个服务器接口,一个服务器检测模块和一个服务器调度模块;所述服务器接口负责发送认证或计费请求并接收来自对应计费服务器的认证或计费响应;所述服务器检测模块负责对所有所述计费服务器进行状态检测并设定所述服务器接口的状态;所述服务器调度模块负责根据所述服务器接口的状态选择所述服务器接口发送认证或计费请求。
文档编号H04L12/14GK1614930SQ20031011402
公开日2005年5月11日 申请日期2003年11月6日 优先权日2003年11月6日
发明者查敏, 程荣, 罗成, 邹旭东, 周杰, 欧阳伟龙 申请人:华为技术有限公司