转自:http://www.networkdictionary.net/protocols/radius.php
RADIUS 是一种在网络接入服务器(Network Access Server)和共享认证服务器间传输认证、授权和配置信息的协议。RADIUS 使用 UDP 作为其传输协议。此外 RADIUS 也负责传送网络接入服务器和共享计费服务器间的计费信息。
RADIUS 主要特征如下:
- 客户/服务器模式:网络接入服务器作为 RADIUS 的客户端,负责将用户信息传递给指定的 RADIUS 服务器,然后根据返回信息进行操作。RADIUS 服务器负责接收用户连接请求,认证用户后,返回所有必要的配置信息以便客户端为用户提供服务。RADIUS 服务器可以作为其他 RADIUS 服务器或认证服务器的代理。
- 网络安全:客户端与 RADIUS 记帐服务器之间的通信是通过共享密钥的使用来鉴别的,这个共享密钥不会通过网络传送。此外,任何用户口令在客户机和 RADIUS 服务器间发送时都需要进行加密过程,以避免有人通过嗅探非安全网络可得到用户密码。
- 灵活认证机制:RADIUS 服务器支持多种用户认证方法。当用户提供了用户名和原始口令后,RADIUS 服务器可支持 PPP PAP 或 CHAP、UNIX 登录和其它认证机制。
- 协议的可扩充性:所有的事务都是由不同长度的“属性-长度-值”的三元组构成的。新的属性值的加入不会影响到原有协议的执行。
协议结构
8 | 16 | 32 bit |
Code | Identifier | Length |
Authenticator (16 bytes) |
- Code ― 信息类型如下所述:1、请求访问(Access-Request);2、接收访问(Access-Accept);3、拒绝访问(Access-Reject);4、计费请求(Accounting-Request);5、计费响应(Accounting-Response);11、挑战访问(Access-Challenge);12、服务器状况(Status-Server — Experimental);13、客户机状况(Status-Client — Experimental);255、预留(Reserved)
- Identifier ― 匹配请求和响应的标识符。
- Length ― 信息大小,包括头部。
- Authenticator ― 该字段用来识别 RADIUS 服务器和隐藏口令算法中的答复。
组织来源:RADIUS 由 IETF (http://www.networkdictionary.cn/www.ietf.org)定义在 RFC 2865和2866中。
相关链接:
http://www.javvin.com/protocol/rfc2865.pdf:Remote Authentication Dial In User Service (RADIUS)
http://www.javvin.com/protocol/rfc2866.pdf:RADIUS Accounting