RADIUS数据报的格式定义如图一所示。每个RADIUS数据报都有一个长度固定的 报头,包含编号、标识符、数据报长度和认证字段。数据报的内容为个或多个属性字段。
图一 RADIUS数据报的格式定义
(1) 编号:1字节,用来说明数据报的类型。编号定义如下表所示。
表 编号定义
(3) 长度字段:2字节,表示包括代码、标识、长度、认证和属性字段在内的长度。
(4) 认证字段:16字节.用于验证服务器的响应和密码隐藏算法。
请求Authenticator置于Access-Request包中,是一个16字节的随机数,客户和服务 器间共享一个密钥。请求Authenticator和这个密钥通过单向MD5哈希算法生成16字 节的值,再与用户输入的密码做异或运算,所得结果被置于Access-Request包的User- Password 属性中。响应 Authenticator 置于 Access-Accept、Access-Reject 和 Access Challenge包中,它的值是以下MD5运算的结果:
ResponseAuthenticator = MD5(Code + ID + Length+ RequestAuthenticator + Attributes + Secret)
(5) 数据报的内容:包含一个或多个属性,每一个属性数据的格式都由类型、长度和值3部分组成,属性数据格式定义如图二所示。
图二 属性数据的格式