Radius协议概述
Raidus(Remote Authentication Dial In User Service)是对远端拨号接入用户的认证服务,Radius服务分客户端和服务器端,典型示意图如下。
通常对Radius协议的服务端口号是1645(认证)、1646(计费)或1812(认证)、1813(计费)。
Radius通信是用UDP协议以“请求 - 响应”方式进行的,即:客户发送一个请求包,服务器收到包后给予响应,其数据包格式如下:
主要字段解释如下:
· Code:包类型;1字节;指示RADIUS包的类型。常用包类型定义如下:
1 Access-Request——请求认证过程
2 Access-Accept——认证响应过程
3 Access-Reject——认证拒绝过程
4 Accounting-Request——请求计费过程
5 Accounting-Response——计费响应过程
· Identifier:包标识;1字节;用于匹配请求包和响应包,同一组请求包和响应包的Identifier应相同。该字段的取值范围为0~255;协议规定:
· 在任何时间,发给同一个RADIUS服务器的不同包的Identifier域不能相同,如果出现相同的情况,RADIUS将认为后一个包是前一个包的拷贝而不对其进行处理。
· Radius针对某个请求包的响应包应与该请求包在Identifier上相匹配(相同)。
Length:包长度;2字节;整个包的长度。
Authenticator:验证字;16字节;用于对包进行签名。
Attributes:属性 ,如用户名,格式如下:
Radius服务器负载均衡
当单台Radius服务器性能不足以满足用户认证需求或者为了提高认证服务器可用性时,引入负载均衡器成为理所当然。下图为典型Radius服务器负载均衡示意图。