标题：AAA服务器
简介
AAAAAA是验证、授权和记账（Authentication、Authorization、Accounting ）三个英文单词的简称。其主要目的是管理哪些用户可以访问网络服务器，具有访问权的用户可以得到哪些服务，如何对正在使用网络资源的用户进行记账。具体为：
1、 验证(Authentication): 验证用户是否可以获得访问权限；  AAA服务器方案2、 授权(Authorization) : 授权用户可以使用哪些服务；
3、 记账(Accounting) : 记录用户使用网络资源的情况。
AAA服务器AAA服务器（AAA server）是一个能够处理用户访问请求的服务器程序。提供验证授权以及帐户服务。AAA服务器通常同网络访问控制、网关服务器、数据库以及用户信息目录等协同工作。同AAA服务器协作的网络连接服务器接口是“远程身份验证拨入用户服务 (RADIUS)”。
RADIUS协议
协议概述RADIUS（Remote Authentication Dial In  User Service）协议是在IETF的RFC 2865和2866中定义的。RADIUS 是基于 UDP 的一种客户机/服务器协议。RADIUS客户机是网络访问服务器，它通常是一个路由器、交换机或无线访问点。RADIUS服务器通常是在UNIX或Windows 2000服务器上运行的一个监护程序。RADIUS 协议的认证端口是1812 ，计费端口是1813。
RADIUS协议的主要特点概括的来说，RADIUS 的主要特点如下：
1、 客户/服务模式(Client/Server)
RADIUS是一种C/S结构的协议，它的客户端最初就是网络接入服务器NAS（Network Access Server），现在运行在任何硬件上的RADIUS客户端软件都可以成为RADIUS的客户端。客户端的任务是把用户信息（用户名，口令等）传递给指定的RADIUS服务器，并负责执行返回的响应。
RADIUS服务器负责接收用户的连接请求，对用户身份进行认证，并为客户端返回所有为用户提供服务所必须的配置信息。
一个RADIUS服务器可以为其他的RADIUS Server或其他种类认证服务器担当代理。  AAA服务器2、 网络安全
客户端和RADIUS服务器之间的交互经过了共享保密字的认证。另外，为了避免某些人在不安全的网络上监听获取用户密码的可能性，在客户端和RADIUS服务器之间的任何用户密码都是被加密后传输的。
3、 灵活的认证机制
RADIUS服务器可以采用多种方式来鉴别用户的合法性。当用户提供了用户名和密码后，RADIUS服务器可以支持点对点的PAP认证（PPP PAP）、点对点的CHAP认证（PPP CHAP）、UNIX的登录操作（UNIX Login）和其他认证机制。
4． 扩展协议
所有的交互都包括可变长度的属性字段。为满足实际需要，用户可以加入新的属性值。新属性的值可以在不中断已存在协议执行的前提下自行定义新的属性。
RADIUS的工作过程
RADIUS协议旨在简化认证流程。其典型认证授权工作过程是：
1、用户输入用户名、密码等信息到客户端或连接到NAS；
2、客户端或NAS产生一个“接入请求（Access-Request）”报文到RADIUS服务器，其中包括用户名、口
令、客户端（NAS）ID 和用户访问端口的ID。口令经过MD5算法进行加密。
3、RADIUS服务器对用户进行认证；
4、若认证成功，RADIUS服务器向客户端或NAS发送允许接入包（Access-Accept），否则发送拒绝加接
入包（Access-Reject）；
5、若客户端或NAS接收到允许接入包，则为用户建立连接，对用户进行授权和提供服务，并转入6；若
接收到拒绝接入包，则拒绝用户的连接请求，结束协商过程；
6、客户端或NAS发送计费请求包给RADIUS服务器；
7、RADIUS服务器接收到计费请求包后开始计费，并向客户端或NAS回送开始计费响应包；
8、用户断开连接，客户端或NAS发送停止计费包给RADIUS服务器；
9、RADIUS服务器接收到停止计费包后停止计费，并向客户端或NAS回送停止计费响应包，完成该用户的
一次计费，记录计费信息。
新一代的AAA协议——Diameter
（1） Diameter的基础协议Diameter基本协议为移动IP（Mobile IP）、网络接入服务（NAS）等应用提供最基本的服务，例如用户会话、计费等，具有能力协商、差错通知等功能。协议元素由众多命令和AVP（属性值对）构成，可以在客户机、代理、服务器之间传递鉴别、授权和计费信息。但是不管客户机、代理还是服务器，都可以主动发出会话请求，对方给予应答，所以也叫对等实体之间的协议。命令代码、AVP值和种类都可以按应用需要和规则进行扩展。
（2）Diameter的NAS协议Diameter的NAS协议既是Network Access Service（网络接入服务）协议。由NAS客户机处理用户MN的接入请求（RegReq），将收到的客户认证信息转送给NAS服务器；服务器对客户进行鉴别，将结果（Success/Fail）发给客户机；客户机通过RegReply将结果发回给MN，并根据结果对MN进行相应处理。
NAS作为网络接入服务器，在其用户端口接收到呼叫或服务请求时便开始与AAA服务器之间进行消息交换，有关呼叫的信息、用户身份和用户鉴别信息被打包成一种AAA消息发给AAA服务器。实际上，移动IP中的FA可以看成是通过空中的MPPP链路接收移动终端MN的服务连接请求的NAS服务器，它作为AAA服务器的客户机，在两者之间交换NAS消息请求和应答。
（3）Diameter的EAP协议Diameter EAP （Extensible Authentication Protocol ——可扩展鉴别协议）协议提供了一个支持各种鉴别方法的标准机制。EAP其实是一种框架，一种帧格式，可以容纳各种鉴别信息。EAP所提供的多回合鉴别是PAP和CHAP所不具备的。
EAP协议描述用户、NAS(AAA客户机)和AAA服务器之间有关EAP鉴别消息的请求和应答的关系，完成一次对鉴别请求的应答，中间可能需要多次消息交换过程。在移动终端MN移动的环境下，MN与FA之间的鉴别扩展采用EAP，即把FA看做是一个NAS，它作为Diameter AAA的客户机，Diameter AAA服务器作为EAP的后端服务器，两者之间载送EAP分组。端到端的EAP鉴别发生在用户和它的H-AAA之间。
（4）Diameter的CMS协议Diameter CMS（Cryptographic Message Syntax ——密码消息语法）协议实现了协议数据的Peer-to-Peer（端到端）加密。由于Diameter网络中存在不可信的Relay（中继）和Proxy（代理），而IPSec和TLS又只能实现跳到跳的安全，所以IETF定义了Diameter CMS应用协议来保证数据安全。
（5）Diameter的MIP协议由于未来移动通信网络正逐步向全IP网络演进，这就不可避免碰到用户移动到外部域的问题。 Diameter MIP应用协议允许用户漫游到外部域，并在经过鉴权后接受外部域Server（服务器）和Agent（代理）提供的服务。在未来移动通信中，这种情况将十分常见，因此MIP协议对于移动通信系统来说至关重要. 当用户移动到外部域的时候，需要进行一系列的消息交换才能安全地接入外部网络，接受其提供的服务。MIP协议的实现环境中MN和HA都可以在家乡域或在外地域，其中比较典型的一种情况是MN在外地域而HA在家乡域。
AAA在移动通信系统中的应用
在移动通信系统中，用户要访问网络资源，首先要进行用户的入网认证，这样用户才能访问网络资源。鉴别的过程就是验证用户身份的合法性；鉴别完成后，才能对用户访问网络资源进行授权，并对用户访问网络资源进行计费管理。一般来讲，鉴别过程由三个实体来完成的。用户（Client）、认证器（Authenticator）、AAA服务器（Authentication 、Authorization和Accounting Server）。在第三代移动通信系统的早期版本中，用户也称为MN（移动节点），Authenticator在NAS（Network Access Server）中实现，它们之间采用PPP协议，认证器和AAA服务器之间采用AAA协议（以前的方式采用远程访问拨号用户服务RADIUS（Remote Access Dial up User Service）；Raduis（远程访问拨号接入用户服务）英文原意为半径，原先的目的是为拨号用户进行鉴别和计费。后来经过多次改进，形成了一项通用的鉴别计费协议）。
RADIUS是一种C/S结构的协议，它的客户端最初就是NAS（Net Access Server）服务器，现在任何运行RADIUS客户端软件的计算机都可以成为RADIUS的客户端。RADIUS协议认证机制灵活，可以采用PAP、CHAP或者Unix登录认证等多种方式。RADIUS是一种可扩展的协议，它进行的全部工作都是基于Attribute-Length-Value的向量进行的。RADIUS的基本工作原理是:用户接入NAS，NAS向RADIUS服务器使用Access-Require数据包提交用户信息，包括用户名、密码等相关信息，其中用户密码是经过MD5加密的，双方使用共享密钥，这个密钥不经过网络传播；RADIUS服务器对用户名和密码的合法性进行检验，必要时可以提出一个Challenge，要求进一步对用户认证，也可以对NAS进行类似的认证；如果合法，给NAS返回Access-Accept数据包，允许用户进行下一步工作，否则返回Access-Reject数据包，拒绝用户访问；如果允许访问，NAS向RADIUS服务器提出计费请求Account-Require，RADIUS服务器响应Account-Accept，对用户的计费开始，同时用户可以进行自己的相关操作。
RADIUS是目前最常用的认证计费协议之一，它简单安全，易于管理，扩展性好，所以得到广泛应用。但是由于协议本身的缺陷，比如基于UDP的传输、简单的丢包机制、没有关于重传的规定和集中式计费服务，都使得它不太适应当前网络的发展，需要进一步改进。
随着新的接入技术的引入（如无线接入、DSL、移动IP和以太网）和接入网络的快速扩容，越来越复杂的路由器和接入服务器大量投入使用，对AAA协议提出了新的要求，使得传统的RADIUS结构的缺点日益明显。目前,3G网络正逐步向全IP网络演进，不仅在核心网络使用支持IP的网络实体，在接入网络也使用基于IP的技术，而且移动终端也成为可激活的IP客户端。如在WCDMA当前规划的R6版本就新增以下特性：UTRAN和CN传输增强；无线接口增强；多媒体广播和多播（MBMS）；数字权限管理（DRM）；WLAN-UMTS互通；优先业务；通用用户信息（GUP）；网络共享；不同网络间的互通等。在这样的网络中，移动IP将被广泛使用。支持移动IP的终端可以在注册的家乡网络中移动，或漫游到其他运营商的网络。当终端要接入到网络，并使用运营商提供的各项业务时，就需要严格的AAA过程。AAA服务器要对移动终端进行认证，授权允许用户使用的业务，并收集用户使用资源的情况，以产生计费信息。这就需要采用新一代的AAA协议——Diameter。此外，在IEEE的无线局域网协议802.16e的建议草案中，网络参考模型里也包含了鉴别和授权服务器ASA Server，以支持移动台在不同基站之间的切换。可见，在未来移动通信系统中，AAA服务器占据了很重要的位置。
经过讨论，IETF的AAA工作组同意将Diameter协议作为下一代的AAA协议标准。Diameter（为直径，意为着Diameter协议是RADIUS协议的升级版本）协议包括基本协议，NAS（网络接入服务）协议，EAP（可扩展鉴别）协议，MIP（移动IP）协议，CMS（密码消息语法）协议等。Diameter协议支持移动IP、NAS请求和移动代理的认证、授权和计费工作，协议的实现和RADIUS类似，也是采用AVP，属性值对（采用Attribute-Length-Value三元组形式）来实现，但是其中详细规定了错误处理, failover机制,采用TCP协议，支持分布式计费，克服了RADIUS的许多缺点，是最适合未来移动通信系统的AAA协议。