资源链接:https://support.huawei.com/hedex/hdx.do?docid=EDOC1100064946&id=dc_fd_aaa_0011_1
RADIUS协议是用于NAS与AAA服务器间通信的一种协议。RADIUS协议最初用来管理使用串口和调制解调器的大量分散用户,后来广泛应用于NAS系统。当用户想要通过某个网络(如电话网络)与NAS建立连接从而取得访问其他网络的权利或取得使用某些网络资源的权利时,NAS起到了认证用户或对应连接的作用。NAS负责把用户的认证、授权和计费信息传递给RADIUS服务器。RADIUS协议规定了NAS与RADIUS服务器之间如何传递用户信息和计费信息。RADIUS服务器负责接收用户的连接请求,完成认证,并把用户所需的配置信息返回给NAS。
以下是对RADIUS的详细介绍:

RADIUS协议是一种客户端/服务器模型(C/S),其中NAS(网络访问服务器)作为RADIUS服务的客户端,RADIUS服务则负责获取用户连接请求,验证用户身份,然后返回所有必要的配置信息给客户端,以便客户端向用户提供服务。
RADIUS协议使用UDP协议进行通信,通常的认证端口号是1812,计费端口号是1813(也有使用1645作为认证端口,1646作为计费端口的情况)。RADIUS通信是以“请求-响应”方式进行的,即客户端发送一个请求包,服务器收到包后给予响应。
RADIUS数据包包含以下几个部分:
另外,为防止用户密码在不安全的网络上传递时被窃取,在RADIUS报文传输过程中还利用共享密钥对用户密码进行了加密。
RADIUS协议广泛应用于各种需要远程认证和授权的场景中,如:
当单台RADIUS服务器性能不足以满足用户认证需求或者为了提高认证服务器可用性时,可以引入负载均衡器。RADIUS服务器负载均衡需要实现以下功能:
TACACS(Terminal Access Controller Access-Control System,终端访问控制器控制系统)是一种起源于二十世纪八十年代的AAA协议。华为公司在TACACS协议的基础上进行了增强,开发了HWTACACS协议。HWTACACS是一种集中式的、客户端/服务器结构的信息交互协议。HWTACACS协议与RADIUS类似,采用客户端/服务器模式实现用户的认证、授权和计费。但与RADIUS协议不同,HWTACACS协议使用TCP提供可靠传输,且将认证和授权分离。HWTACACS协议具有更加可靠的传输和加密特性,更加适用于安全控制。
RADIUS协议与TACACS+协议的主要区别如下图所示。
| 项目 | TACACS+(cisco) | RADIUS(工业标准) |
|---|---|---|
| 端口 | 49 | Authentication/Authorization:1645&1812 Accounting:1646&1813 |
| 数据传输 | 通过TCP传输,网络传输更可靠。 | 通过UDP传输,网络传输效率更高。 |
| 加密方式 | 除了标准的HWTACACS报文头,对报文主体全部进行加密。 | 只是对认证报文中的密码字段进行加密。 |
| 认证和授权 | 认证与授权分离,使得认证、授权服务可以在不同的安全服务器上实现。 | 认证与授权结合,不能分离。 |
| 命令行授权 | 支持对设备上的配置命令进行授权使用。即用户可使用的命令行受到命令级别和AAA授权的双重限制,某一级别的用户输入的每一条命令都需要通过HWTACACS服务器授权,如果授权通过,命令才可以被执行。 | 不支持对设备上的配置命令进行授权使用。用户登录设备后可以使用的命令行由用户级别决定,用户只能使用级别等于或低于用户级别的命令行。 |
| 应用场景 | 适于进行安全控制。 | 适于进行计费。 |
| 推荐使用 | IOS设备管理 | IPSEC VPN;SSL VPN;802.1x等 |