RADIUS报文格式
网络协议报文格式大全http://bbs.hh010.com/thread-531884-1-1.html
(出处: 鸿鹄论坛)
RADIUS报文格式RADIUS(Remote Authentication Dial In User Service)远程用户拨号认证系统,是目前应用最广泛的AAA协议。RADIUS是一种分布式的、客户端/服务器(Client/Server)结构的信息交互协议,规定了客户端与服务器之间传递用户信息和计费信息的过程和报文格式。其用途是完成用户的认证、授权、计费功能。报文格式图1 RADIUS报文格式
http://www.023wg.com/message/message/image/radius-format.png
字段长度描述
Code1 byte用来标识RADIUS报文类型。
[*]Code = 1: Access-Request,接入请求报文
[*]Code = 2: Access-Accept,接入成功回应报文
[*]Code = 3: Access-Reject,接入拒绝回应报文
[*]Code = 4: Accounting-Request,计费请求报文
[*]Code = 5: Accounting-Response,计费回应报文
[*]Code = 11: Access-Challenge,接入挑战报文
[*]Code = 12: Status-Server (experimental),服务器状态报文(试验)
[*]Code = 13: Status-Client (experimental),客户端状态报文(试验)
[*]Code = 255: Reserved,保留
Packet Identifier1 byte用于匹配请求和回应报文。果在一个很短的时间内接收到相同的源IP地址、源UDP端口号和相同的Identifier域的请求报文,RADIUS服务器就可以认为是重复的请求报文。
Packet Length2 bytes包含了报文中的Code域,Identifier域,Length域,Authenticator域和属性域的总长度。如果收到的报文实际长度超过Length,超过部分被当做填充内容忽略掉,如果实际长度小于Length,报文被丢弃。
Authenticator16 bytes用于认证来自服务端的响应,也用于用户密码的加密处理中。
AVPs变长属性字段,承载认证、授权、计费以及配置等信息。采用TLV格式:
[*]类型(Type): 占位一个字节。具体类型值对应的属性名请参见下表。
[*]长度(Length)域:占位一个字节,表示包括Type、Length、Value域在内的属性的长度。
[*]值(Value)域:占位零个或者更多字节,它包含了属性信息的详细描述。值域的格式和长度是由属性的类型和长度决定的。需要指出的是,在RADIUS中没有任何类型的属性值是以NULL(十六进制的0x00)结束的。
表1 Radius属性
属性编号属性名
1User-Name
2User-Password
3CHAP-Password
4NAS-IP-Address
5NAS-Port
6Service-Type
7Framed-Protocol
8Framed-IP-Address
9Framed-IP-Netmask
10Framed-Routing
11Filter-Id
12Framed-MTU
13Framed-Compression
14Login-IP-Host
15Login-Service
16Login-TCP-Port
18Reply-Message
19Callback-Number
20Callback-Id
22Framed-Route
23Framed-IPX-Network
24State
25Class
26Vendor-Specific
27Session-Timeout
28Idle-Timeout
29Termination-Action
30Called-Station-Id
31Calling-Station-Id
32NAS-Identifier
33Proxy-State
34Login-LAT-Service
35Login-LAT-Node
36Login-LAT-Group
37Framed-AppleTalk-Link
38Framed-AppleTalk-Network
39Framed-AppleTalk-Zone
40Acct-Status-Type
41Acct-Delay-Time
42Acct-Input-Octets
43Acct-Output-Octets
44Acct-Session-Id
45Acct-Authentic
46Acct-Session-Time
47Acct-Input-Packets
48Acct-Output-Packets
49Acct-Terminate-Cause
50Acct-Multi-Session-Id
51Acct-Link-Count
52Acct-Input-Gigawords
53Acct-Output-Gigawords
55Event-Timestamp
60CHAP-Challenge
61NAS-Port-Type
62Port-Limit
63Login-LAT-Port
64Tunnel-Type
65Tunnel-Medium-Type
66Tunnel-Client-Endpoint
67Tunnel-Server-Endpoint
68Acct-Tunnel-Connection
69Tunnel-Password
70ARAP-Password
71ARAP-Features
72ARAP-Zone-Access
73ARAP-Security
74ARAP-Security-Data
75Password-Retry
76Prompt
77Connect-Info
78Configuration-Token
79EAP-Message
80Message-Authenticator
81Tunnel-Private-Group-ID
82Tunnel-Assignment-ID
83Tunnel-Preference
84ARAP-Challenge-Response
85Acct-Interim-Interval
86Acct-Tunnel-Packets-Lost
87NAS-Port-Id
88Framed-Pool
89Chargeable-User-Identity
90Tunnel-Client-Auth-ID
91Tunnel-Server-Auth-ID
94Originating-Line-Info
95NAS-IPv6-Address
96Framed-Interface-Id
97Framed-IPv6-Prefix
98Login-IPv6-Host
99Framed-IPv6-Route
100Framed-IPv6-Pool
101Error-Cause
192-223保留给实验用
224-240保留给特定实现用
241-255预留的,而且不应该使用它们
报文示例http://www.023wg.com/message/message/image/Radius-example.png
参考标准
标准描述
RFC 2865Remote Authentication Dial In User Service (RADIUS)
RFC 2866RADIUS Accounting
RFC 2867RADIUS Accounting Modifications for Tunnel Protocol Support
RFC 2868RADIUS Attributes for Tunnel Protocol Support
RFC 2869RADIUS Extensions
RFC 3162RADIUS and IPv6
RFC 3576Dynamic Authorization Extensions to Remote Authentication Dial In User Service (RADIUS)
RFC 4372Chargeable User Identity
{:6_267:}{:6_267:}{:6_267:}{:6_267:}{:6_267:}{:6_267:}{:6_267:}{:6_267:}{:6_267:}{:6_267:}{:6_267:} {:6_267:}{:6_267:}{:6_267:}{:6_267:}{:6_267:}{:6_267:}{:6_267:}{:6_267:}{:6_267:}{:6_267:}{:6_267:}{:6_267:} 感谢楼主分享! 感謝版主! dddddddddddddd
页:
[1]