RADIUS协议
引论
RADIUS 协议常用的认证端口号为1812或1645,计费端口号为1813或1646。
一个网络允许外部用户通过公用网对其进行访问,于是用户在地理上可以极为分散。大量分散用户通过Modem等设备从不同的地方可以对这个网络进行随机的访问。用户可以把自己的信息传递给这个网络,也可以从这个网络得到自己想要的信息。由于存在内外的双向数据流动,网络安全就成为很重要的问题了。大量的modem形成了Modem pools。对modem pool 的管理就成为网络接入服务器或路由器的任务。管理的内容有:哪些用户可以获得访问权,获得访问权的用户可以允许使用哪些服务,如何对使用网络资源的用户进行记费。AAA很好的完成了这三项任务。
RADIUS通过建立一个唯一的用户数据库,存储用户名,用户的密码来进行验证; 存储传递给用户的服务类型以及相应的配置信息来完成授权。
客户服务器模式
图2 用户,NAS,RADIUS 服务器的关系
RADIUS采用客户/服务器(Client/Server)结构:NAS上运行的AAA程序对用户来讲为服务器端,对RADIUS服务器来讲是作为客户端。
1、RADIUS的客户端通常运行于接入服务器(NAS)上,RADIUS服务器通常运行于一台工作站上,一个RADIUS服务器可以同时支持多个RADIUS客户(NAS)。
2、RADIUS的服务器上存放着大量的信息,接入服务器(NAS)无须保存这些信息,而是通过RADUIS协议对这些信息进行访问。这些信息的集中统一的保存,使得管理更加方便,而且更加安全。
3、RADIUS服务器可以作为一个代理,以客户的身份同其他的RADIUS服务器或者其他类型的验证服务器进行通信。用户的漫游通常就是通过RADIUS代理实现的。
用户<->NAS<->Radius业务流程说明
图3 用户——NAS——Radius认证计费流程
1、用户拨入后(1),所拨入的设备(比如NAS)将拨入用户的用户的信息(比如用户名、口令、所占用的端口等等)打包向RADIUS服务器发送(2)。
2、如果该用户是一个合法的用户,那么Radius告诉NAS该用户可以上网,同时传回该用户的配置参数(3);否则,Radius反馈NAS该用户非法的信息(3)。
3、如果该用户合法,MAS就根据从RADIUS服务器传回的配置参数配置用户(4)。如果用户非法,NAS反馈给用户出错信息并断开该用户连接(4)。
4、如果用户可以访问网络,RADIUS客户要向RADIUS服务器发送一个记费请求包表明对该用户已经开始记费(5),RADIUS服务器收到并成功记录该请求包后要给予响应(6)。
5、当用户断开连接时(连接也可以由接入服务器断开)(7),RADIUS客户向RADIUS服务器发送一个记费停止请求包,其中包含用户上网所使用网络资源的统计信息(上网时长、进/出的字节/包数等)(8),RADIUS服务器收到并成功记录该请求包后要给予响应(9)。