论文部分内容阅读
AAA是认证(Authentication)、授权(Authorization)和计费(Accounting)的简称。AAA认证系统服务器端包括NAS服务器和认证服务器,AAA就是利用这两台服务器之间的交互来实现的。
NAS和认证服务器之间的通信通常采用的是RADIUS协议,工作在客户机朋艮务器模式下。网络接入服务器以客户机方式工作,负责将来自不同网段的用户认证请求信息集中在自己的一个缓冲池里面,然后将用户的信息传送到指定的RADIUS服务器上,RADIUS服务器根据自身数据库中的用户登陆认证表对用户的认证请求进行认证,如果是合法用户,则接受请求,如果用户名和密码不存在,则拒绝请求。
由于现有两层C/S模式存在诸多不足,特别是NAS服务器和RADIUS服务器在传输RADIUS数据包的时候,必须采用同步传输,客户端某个线程向服务器发送请求的时候,在服务器应答之前,该客户端必须等待,直到得到应答或者超时,然后才能接着发送下一个请求,一旦用户认证请求数达到系统所能承受的极限,就容易产生认证响应慢、调用失败的情况。
基于此,通过引入消息队列中间件的机制,在接入服务器与后台服务器之间利用消息传递在未耦合的应用程序之间进行异步通信,通信的两个应用程序不在网络上直接相互对话,而是间接地将消息放入消息队列。这样就使得双方的线程不必频繁地因为等待应答而挂起,发完一个消息后可以接着发第二个消息,从而大大提高数据传输的效率。另外,消息中间件可以降低客户端和服务器端之间的耦合度和依赖性,提高整个系统的健壮性,减少调用失败造成应用程序崩溃的现象。从而适应认证用户不断增多的状况,使网络综合服务业务更高效、稳定的运行。
消息分为消息头和消息体。消息头里面包含消息的各种属性,如接收者地址、消息类型等:消息体是实际的数据。消息队列中的队列项即消息头,内存BUF区中存储的用户数据即消息体。由系统把消息头和消息体装配成消息发送出去。
第四章给出了在原有两层C/S模式的AAA认证系统中引入消息队列中间件后的三层C/S模式的系统整体框架。中间件技术目前在运输、金融、交通等各个领域已经有了广泛应用,但在认证系统中的应用还不多见,随着认证用户数量的不断增多,现有认证系统的NAS服务器和RADIUS服务器的两层C/S架构将不能适应用户对实时性和稳定性的要求,故考虑从架构上进行改进。
第五章设计了新系统的消息异步传输机制,结合AAA认证系统中消息交换量大、消息长度较短、消息格式统一等特点,对当前消息队列技术作了一些改进,主要包括在原有发送队列和接收队列的基础上增加了一个空闲队列、统一使用BuF类型的消息、将BUF区细分为用户BUF和核心BUF、将消息头结构嵌入到队列项结构这四个方面的工作。增加空闲队列使得系统写消息的时候可以直接从空闲队列获得一个队列项,而不需要重新开辟内存缓冲区,读完消息后也不需要放回内存缓冲区,只需加入到空闲队列。统一使用BUF消息,省去了对消息类型的区分,只针对RADIUS包这样的文本类型的格式进行批量处理,提高了工作效率。区分用户BUF和核心BUF,当应用程序向中间件传递消息时,将消息数据存入用户BUF,当底层向中间件传递消息时,将消息数据存入核心BUF,便于管理,并且降低了对BUF控制表搜索的复杂性。将消息头结构嵌入到队列项结构,节约了存储空间,装配消息时滤掉队列项中其它的无用信息,提高了通信效率。