概述:远程认证拨号
服务,是一种分布式、C/S架构信息交互协议,通常应用在既要求较高安全性、又允许远程用户访问的各种网络环境中
传输方式:UDP,端口1812和1813作为认证、计费端口,思科设备认证、授权端口为1645,计费端口1646
Radius协议最初是针对拨号用户AAA的协议,随着用户接入方式的多样性发展,Radius已支持多种用户接入方式,如以太网接入等,通过认证授权来提供接入服务,通过计费来手机、记录用户对网络资源的使用
架构:C/S (客户端/服务器模式)
客户端:位于网络接入服务器NAS上,负责传输用户信息到指定的RADIUS服务器,然后根据服务器返回的信息进行处理,如接受或拒绝用户接入
服务器端:运行在中心计算机或工作站上,维护用户认证与网络访问相关信息,负责接受用户请求并认证用户,然后返回相关信息给客户端
Users:用于存储用户信息(如用户名、口令以及使用的协议、IP地址等配置信息)
Clients:用于存储RADIUS客户端的信息(如接入设备的共享密钥、IP地址等)
Dictionary:用于存储RADIUS协议中的属性和属性值含义的信息
各字段的解释如下:
Code:长度为1个字节,用来说明RADIUS报文的类型。
Identifier:长度为1个字节,用来匹配请求报文和响应报文,以及检测在一段时间内重发的请求报文。客户端发送请求报文后,服务器返回的响应报文中的Identifier值应与请求报文中的Identifier值相同。
Length:长度为2个字节,用来指定RADIUS报文的长度。超过Length取值的字节将作为填充字符而忽略。如果接收到的报文的实际长度小于Length的取值,则该报文会被丢弃。
Authenticator:长度为16个字节,用来验证RADIUS服务器的响应报文,同时还用于用户密码的加密。
Attribute:不定长度,为报文的内容主体,用来携带专门的认证、授权和计费信息,提供请求和响应报文的配置细节。Attribute可以包括多个属性,每一个属性都采用(Type、Length、Value)三元组的结构来表示。