RADIUS协议
RADIUS协议概述
RADIUS是一种分布式的、客户端/服务器结构的信息交互协议,能保护网络不受未授权访问的干扰,常应用在既要求较高安全性、又允许远程用户访问的各种网络环境中。该协议定义了基于UDP(User Datagram Protocol)的RADIUS报文格式及其传输机制,并规定UDP端口1812、1813分别作为认证、计费端口。
RADIUS最初仅是针对拨号用户的AAA协议,后来随着用户接入方式的多样化发展,RADIUS也适应多种用户接入方式,如以太网接入等。它通过认证授权来提供接入服务,通过计费来收集、记录用户对网络资源的使用。
RADIUS协议的主要特征如下:
客户端/服务器模式
RADIUS客户端:一般位于网络接入服务器NAS(Network Access Server)上,可以遍布整个网络,负责传输用户信息到指定的RADIUS服务器,然后根据从服务器返回的信息进行相应处理(如接受/拒绝用户接入)。
设备作为RADIUS协议的客户端,实现以下功能:
支持标准RADIUS协议及扩充属性。
支持华为扩展的私有属性。
对RADIUS服务器状态的主动探测功能。
计费结束报文的本地缓存重传功能。
RADIUS服务器的自动切换功能。
RADIUS服务器:一般运行在中心计算机或工作站上,维护相关的用户认证和网络服务访问信息,负责接收用户连接请求并认证用户,然后给客户端返回所有需要的信息(如接受/拒绝认证请求)。RADIUS服务器通常要维护三个数据库,如图1-2所示。
- Users:用于存储用户信息(如用户名、口令以及使用的协议、IP地址等配置信息)。
- Clients:用于存储RADIUS客户端的信息(如接入设备的共享密钥、IP地址等)。
- Dictionary:用于存储RADIUS协议中的属性和属性值含义的信息。
网络安全
RADIUS客户端和RADIUS服务器之间认证消息的交互是通过共享密钥的参与来完成的,并且共享密钥不能通过网络来传输,增强了信息交互的安全性。另外,为防止用户密码在不安全的网络上传递时被窃取,RADIUS协议利用共享密钥对RADIUS报文中的密码进行了加密。
良好的扩展性
RADIUS报文是由包头和一定数目的属性(Attribute)构成,新属性的加入不会破坏协议的原有实现。
RADIUS报文介绍
RADIUS报文格式
RADIUS协议采用UDP报文来传输消息,RADIUS报文格式如图1-3所示。
- Code:长度为1个字节,用来说明RADIUS报文的类型。不同RADIUS报文的Code值不相同。例如,Code为1时表示Access-Request报文,Code为2时表示Access-Accept报文。
- Identifier:长度为1个字节,用来匹配请求报文和响应报文,以及检测在一段时间内重发的请求报文。客户端发送请求报文后,服务器返回的响应报文中的Identifier值应与请求报文中的Identifier值相同。
- Length:长度为2个字节,用来指定RADIUS报文的长度。超过Length取值的字节将作为填充字符而忽略。如果接收到的报文的实际长度小于Length的取值,则该报文会被丢弃。
- Authenticator:长度为16个字节,用来验证RADIUS服务器的响应报文,同时还用于用户密码的加密。
Attribute:不定长度,为报文的内容主体,用来携带专门的认证、授权和计费信息,提供请求和响应报文的配置细节。Attribute可以包括多个属性,每一个属性都采用(Type、Length、Value)三元组的结构来表示。
- 类型(Type),1个字节,取值为1~255,用于表示属性的类型。
- 长度(Length),表示该属性(包括类型、长度和属性)的长度,单位为字节。
- 属性值(Value),表示该属性的信息,其格式和内容有类型和长度决定,最大长度为253字节。
RADIUS报文类型
目前RADIUS定义了十六种报文类型,其中认证报文类型如表1-1所示,计费报文类型如表1-2所示,授权报文类型如表1-3所示。
报文名称 |
说明 |
---|---|
Access-Request |
认证请求报文,是RADIUS报文交互过程中的第一个报文,用来携带用户的认证信息(例如:用户名、密码等)。认证请求报文由RADIUS客户端发送给RADIUS服务器,RADIUS服务器根据该报文中携带的用户信息判断是否允许接入。 |
Access-Accept |
认证接受报文,是服务器对客户端发送的Access-Request报文的接受响应报文。如果Access-Request报文中的所有属性都可以接受(即认证通过),则发送该类型报文。客户端收到此报文后,认证用户才能认证通过并被赋予相应的权限。 |
Access-Reject |
认证拒绝报文,是服务器对客户端的Access-Request报文的拒绝响应报文。如果Access-Request报文中的任何一个属性不可接受(即认证失败),则RADIUS服务器返回Access-Reject报文,用户认证失败。 |
Access-Challenge |
认证挑战报文。EAP认证时,RADIUS服务器接收到Access-Request报文中携带的用户名信息后,会随机生成一个MD5挑战字,同时将此挑战字通过Access-Challenge报文发送给客户端。客户端使用该挑战字对用户密码进行加密处理后,将新的用户密码信息通过Access-Request报文发送给RADIUS服务器。RADIUS服务器将收到的已加密的密码信息和本地经过加密运算后的密码信息进行对比,如果相同,则该用户为合法用户。 |
报文名称 |
说明 |
---|---|
Accounting-Request(Start) |
计费开始请求报文。如果客户端使用RADIUS模式进行计费,客户端会在用户开始访问网络资源时,向服务器发送计费开始请求报文。 |
Accounting-Response(Start) |
计费开始响应报文。服务器接收并成功记录计费开始请求报文后,需要回应一个计费开始响应报文。 |
Accounting-Request(Interim-update) |
实时计费请求报文。为避免计费服务器无法收到计费停止请求报文而继续对该用户计费,可以在客户端上配置实时计费功能。客户端定时向服务器发送实时计费报文,减少计费误差。 |
Accounting-Response(Interim-update) |
实时计费响应报文。服务器接收并成功记录实时计费请求报文后,需要回应一个实时计费响应报文。 |
Accounting-Request(Stop) |
计费结束请求报文。当用户断开连接时(连接也可以由接入服务器断开),客户端向服务器发送计费结束请求报文,其中包括用户上网所使用的网络资源的统计信息(上网时长、进/出的字节数等),请求服务器停止计费。 |
Accounting-Response(Stop) |
计费结束响应报文。服务器接收计费停止请求报文后,需要回应一个计费停止响应报文。 |
报文名称 |
说明 |
---|---|
CoA-Request |
动态授权请求报文。当管理员需要更改某个在线用户的权限时(例如,管理员不希望用户访问某个网站),可以通过服务器发送一个动态授权请求报文给客户端,使客户端修改在线用户的权限。 |
CoA-ACK |
动态授权请求接受报文。如果客户端成功更改了用户的权限,则客户端回应动态授权请求接受报文给服务器。 |
CoA-NAK |
动态授权请求拒绝报文。如果客户端未成功更改用户的权限,则客户端回应动态授权请求拒绝报文给服务器。 |
DM-Request |
用户离线请求报文。当管理员需要让某个在线的用户下线时,可以通过服务器发送一个用户离线请求报文给客户端,使客户端终结用户的连接。 |
DM-ACK |
用户离线请求接受报文。如果客户端已经切断了用户的连接,则客户端回应用户离线请求接受报文给服务器。 |
DM-NAK |
用户离线请求拒绝报文。如果客户端无法切断用户的连接,则客户端回应用户离线请求拒绝报文给服务器。 |
RADIUS报文的交互流程
RADIUS认证、授权和计费
接入设备作为RADIUS客户端,负责收集用户信息(例如:用户名、密码等),并将这些信息发送到RADIUS服务器。RADIUS服务器则根据这些信息完成用户身份认证以及认证通过后的用户授权和计费。用户、RADIUS客户端和RADIUS服务器之间的交互流程如图1-4所示。
- 当用户需要访问外部网络时,用户发起连接请求,向RADIUS客户端(即接入设备)发送用户名和密码。
- RADIUS客户端根据获取的用户名和密码,向RADIUS服务器提交认证请求报文。该报文中包含用户名、密码等用户的身份信息。
RADIUS服务器对用户身份的合法性进行检验:
- 如果用户身份合法,RADIUS服务器向RADIUS客户端返回认证接受报文,允许用户进行下一步工作。由于RADIUS协议合并了认证和授权的过程,因此认证接受报文中也包含了用户的授权信息。
- 如果用户身份不合法,RADIUS服务器向RADIUS客户端返回认证拒绝报文,拒绝用户访问接入网络。
- RADIUS客户端通知用户认证是否成功。
- RADIUS客户端根据接收到的认证结果接入/拒绝用户。如果允许用户接入,则RADIUS客户端向RADIUS服务器发送计费开始请求报文。
- RADIUS服务器返回计费开始响应报文,并开始计费。
- 用户开始访问网络资源。
- (可选)在使能实时计费功能的情况下,RADIUS客户端会定时向RADIUS服务器发送实时计费请求报文,以避免因付费用户异常下线导致的不合理计费。
- (可选)RADIUS服务器返回实时计费响应报文,并实时计费。
- 用户发起下线请求,请求停止访问网络资源。
- RADIUS客户端向RADIUS服务器提交计费结束请求报文。
- RADIUS服务器返回计费结束响应报文,并停止计费。
- RADIUS客户端通知用户访问结束,用户结束访问网络资源。
CoA
CoA(Change of Authorization)是指用户认证成功后,管理员可以通过RADIUS协议来修改在线用户的权限。例如,通过CoA为用户下发VLAN,可以保证某一部分的员工无论从哪个设备端口接入网络,均属于同一个VLAN。CoA的报文交互流程如图1-5所示。
- RADIUS服务器根据业务信息,向RADIUS客户端发送CoA-Request报文,请求更改用户的授权信息。该报文中可以包括策略名(具体策略在RADIUS客户端上配置)或是ACL规则。
- RADIUS客户端根据CoA-Request报文里的授权属性,在保持用户在线的情况下更改用户的授权信息。
- RADIUS客户端在回应CoA-ACK/NAK报文。
- 如果更改成功(例如:CoA报文中的策略名与客户端上的配置匹配),则RADIUS客户端向RADIUS服务器回应CoA-ACK报文。
- 如果更改失败,则RADIUS客户端向RADIUS服务器回应CoA-NAK报文。
DM
DM(Disconnect Message)是指用户离线报文,即由RADIUS服务器端主动发起的强迫用户下线的操作。DM的报文交互流程如图1-6所示。
- 管理员在RADIUS服务器上强制用户下线,RADIUS服务器向RADIUS客户端发送DM Request报文,请求用户下线。
- RADIUS客户端接收到RADIUS服务器的DM Request报文后,通知用户离线。
RADIUS客户端回应DM ACK/NAK报文。
- 如果用户成功离线,RADIUS客户端给RADIUS服务器回应DM ACK报文;
- 否则,RADIUS客户端给RADIUS服务器回应DM NAK报文。
RADIUS属性
RADIUS标准属性
协议RFC2865、RFC2866和RFC3576标准规定了RADIUS标准属性,所有主流设备厂商基本上都支持。具体请参见表1-4。
属性编号 |
属性名 |
属性类型 |
属性说明 |
---|---|---|---|
1 |
User-Name |
string |
需要进行认证的用户名。可以采用带域名的“用户名@域名”格式,也可以采用不带域名的“用户名”格式。 |
2 |
User-Password |
string |
需要进行认证的用户密码,仅对PAP(Password Authentication Protocol)认证有效。 |
3 |
CHAP-Password |
string |
需要进行认证的用户密码,仅对CHAP(Challenge Handshake Authentication Protocol)认证有效。 |
4 |
NAS-IP-Address |
ipaddr |
认证请求报文中携带的NAS的IP(Internet Protocol)地址。如果RADIUS服务器绑定了接口地址,则取绑定的接口地址,否则取发送报文的接口地址。 |
5 |
NAS-Port |
integer |
用户接入的物理端口号,可根据实际需要转换成不同格式:
|
6 |
Service-Type |
integer |
用户申请认证的业务类型:
|
7 |
Framed-Protocol |
integer |
用户Frame类型业务的封装协议:
|
8 |
Framed-IP-Address |
ipaddr |
用户的IP地址。 |
9 |
Framed-IP-Netmask |
ipaddr |
用户的地址掩码,该属性必须和Framed-IP-Address一起使用。 |
11 |
Filter-Id |
string |
用户的IPv4 ACL(Access Control List)号。 |
12 |
Framed-MTU |
integer |
用户与NAS之间数据链路的MTU值。例如在802.1X的EAP(Extensible Authentication Protocol)方式认证中,NAS通过Framed-Mtu值指示Server发送EAP报文的最大长度,防止EAP报文大于数据链路MTU导致的报文丢失。 |
14 |
Login-IP-Host |
ipaddr |
管理员用户的IP地址:
|
15 |
Login-Service |
integer |
管理员用户可以使用的服务类型:
说明:
一个属性中可以包含多个服务类型。 |
18 |
Reply-Message |
string |
认证成功或拒绝消息:
|
19 |
Callback-Number |
string |
认证服务器回应的可以显示给用户的信息,例如移动电话号码等。 |
22 |
Framed-Route |
string |
表示由RADIUS服务器为设备上的用户提供路由信息,格式为:<Destination>[/<Mask>] [<NextHop>] [<Metric>] ,例如192.168.1.0/24 192.168.1.1 1。 如果NextHop取值为0.0.0.0,则表示使用用户的IP地址作为下一跳地址。设备只支持获取一个Metric取值,如果RADIUS服务器下发属性时携带有多个Metric,则设备只获取第一个Metric的值。 |
24 |
State |
string |
如果RADIUS服务器发送给设备的认证挑战报文中包含该属性值,则设备在后续的认证请求报文中必须包含相同的值。 |
25 |
Class |
string |
如果RADIUS服务器发送给NAS设备的认证接受报文中包含该属性值,则NAS在后续发送的所有计费请求报文中必须包含相同的值。 |
26 |
Vendor-Specific |
string |
厂商自定义属性,具体请参见表1-5。一个报文中可以有一个或多个私有属性,每个私有属性中可以有一个或多个子属性。 |
27 |
Session-Timeout |
integer |
在认证接受报文中,该属性表示为用户提供服务的剩余时间,单位为秒。 在认证挑战报文中,该属性表示EAP认证用户的重认证时长。 说明:
该属性只对802.1X认证和MAC认证用户生效。 |
28 |
Idle-Timeout |
integer |
会话结束之前,允许用户持续空闲的最大时间,即用户的闲置切断时间,以秒为单位。 说明:
该属性对管理员用户生效。 |
29 |
Termination-Action |
integer |
用户的业务终止方式:
说明:
该属性只对802.1X认证和MAC认证用户生效。 |
30 |
Called-Station-Id |
string |
NAS设备的号码信息,一般为NAS设备的MAC地址。 |
31 |
Calling-Station-Id |
string |
客户端的号码信息,一般为用户的MAC地址。 |
32 |
NAS-Identifier |
string |
NAS设备的主机名称。 |
40 |
Acct-Status-Type |
integer |
计费请求报文Accounting-Request的类型:
|
41 |
Acct-Delay-Time |
integer |
用于上报发送该计费报文花费的时间,单位为秒(不包括网络传输时间)。 |
42 |
Acct-Input-Octets |
integer |
上行流量字节数,单位必须和RADIUS服务器保持一致,可以为Byte,KByte,MByte或GByte。 |
43 |
Acct-Output-Octets |
integer |
下行流量字节数,单位必须和RADIUS服务器保持一致,可以为Byte,KByte,MByte或GByte。 |
44 |
Acct-Session-Id |
string |
计费ID,同一个连接的开始计费、实时计费和停止计费报文的连接的计费ID必须相同。 计费ID格式为:7位主机名+2位槽号+1位子卡号+2位端口号+4位外层VLAN+5位内层VLAN+6位CPU(Central Processing Unit)Tick+6位用户ID。 |
45 |
Acct-Authentic |
integer |
用户的认证模式:
|
46 |
Acct-Session-Time |
integer |
用户的在线时长,以秒为单位。 说明:
当用户上线后,如果管理员对设备的系统时间进行了更改,设备计算出的用户在线时长可能存在误差。 |
47 |
Acct-Input-Packets |
integer |
上行报文的数目。 |
48 |
Acct-Output-Packets |
integer |
下行报文的数目。 |
49 |
Acct-Terminate-Cause |
string |
用户连接中断的原因:
|
55 |
Event-Timestamp |
integer |
生成计费报文的时间,以秒为单位,表示从1970年1月1日0点0分0秒以来的绝对秒数。 |
60 |
CHAP-Challenge |
string |
CHAP认证的质询字段,该质询字段是CHAP认证中由NAS生成的用于MD5(Message Digest algorithm 5)计算的随机序列。 |
61 |
NAS-Port-Type |
integer |
NAS的端口类型,用户可以在设备的接口视图下配置。默认类型是Ethernet(15)。 |
62 |
Port-Limit |
integer |
端口用户数,目前通过该属性限制一个帐号下的用户数。 |
87 |
NAS-Port-Id |
string |
用户接入的端口号,包括以下格式:
|
101 |
Error-Cause |
integer |
下线原因。 |
华为RADIUS扩展属性
RADIUS协议具有良好的可扩展性,协议(RFC2865)中定义的26号属性(Vendor-Specific)用于设备厂商对RADIUS进行扩展,以实现标准RADIUS没有定义的功能。华为公司的RADIUS扩展属性请参见下表。
RADIUS扩展属性中包含各个设备厂商的厂商代号Vendor-ID,华为公司的Vendor-ID是2011。
属性编号 |
属性名 |
属性类型 |
属性说明 |
---|---|---|---|
26-28 |
HW-FTP-Directory |
string |
FTP用户的初始目录。 |
26-29 |
HW-Exec-Privilege |
integer |
管理用户(例如Telnet用户)的优先级,有效值范围0~15。授权大于等于16的为无效值。 |
26-31 |
HW-QOS-Profile-Name |
string |
QoS模板名,最大长度为31字节。RADIUS服务器通过该字段下发QoS模板用于配置流量监管 |
26-59 |
HW-NAS-Startup-Time-Stamp |
integer |
NAS设备启动时间,从1970年1月1日0点0分0秒时开始计算(以秒为单位)。 |
26-82 |
HW-Data-Filter |
string |
RADIUS服务器通过该属性将IPv4或者IPv6的ACL规则下发给用户。 |
26-140 |
HW-DHCPSNP-Data |
string |
虚拟机用户的DHCP Snooping表项。 |
26-251 |
HW-Usr-Group-Name |
string |
用户组的名称。 |
26-252 |
HW-Usr-Service-Type |
integer |
用户的接入类型。 |
26-254 |
HW-Version |
string |
设备的软件版本号。 |
26-255 |
HW-Product-ID |
string |
NAS的产品名称。 |
华为支持的其他厂商RADIUS扩展属性
华为设备支持微软的部分RADIUS扩展属性,具体参见下表。
属性编号 |
属性名 |
属性类型 |
属性说明 |
---|---|---|---|
26-1 |
MS-CHAP-Response |
string |
MS-CHAP认证挑战字回应值。 |
26-2 |
MS-CHAP-Challenge |
string |
MS-CHAP认证挑战字。 |
RADIUS属性在报文中的支持情况
- 1:表示该属性在该类型报文中一定出现一次;
- 0:表示该属性在该类型报文中一定不能出现(即使出现也不起任何作用,该属性将被丢弃);
- 0-1:表示该属性在该类型报文中可能出现一次,也可能不出现;
- 0+:表示零个或多个该属性可能出现在该类型报文中。
属性编号 |
属性名 |
Access-Request |
Access-Accept |
Access-Reject |
Access-Challenge |
---|---|---|---|---|---|
1 |
User-Name |
1 |
0-1 |
0 |
0 |
2 |
User-Password |
0-1 |
0 |
0 |
0 |
3 |
CHAP-Password |
0-1 |
0 |
0 |
0 |
4 |
NAS-IP-Address |
1 |
0 |
0 |
0 |
5 |
NAS-Port |
1 |
0 |
0 |
0 |
6 |
Service-Type |
1 |
0-1 |
0 |
0 |
7 |
Framed-Protocol |
1 |
0-1 |
0 |
0 |
8 |
Framed-IP-Address |
0-1 |
0-1 |
0 |
0 |
9 |
Framed-IP-Netmask |
0 |
0-1 |
0 |
0 |
11 |
Filter-Id |
0 |
0-1 |
0 |
0 |
12 |
Framed-MTU |
0-1 |
0 |
0 |
0 |
14 |
Login-IP-Host |
0-1 |
0-1 |
0 |
0 |
15 |
Login-Service |
0 |
0-1 |
0 |
0 |
18 |
Reply-Message |
0 |
0-1 |
0-1 |
0 |
19 |
Callback-Number |
0 |
0-1 |
0 |
0 |
22 |
Framed-Route |
0 |
0-1 |
0 |
0 |
24 |
State |
0-1 |
0-1 |
0 |
0-1 |
25 |
Class |
0 |
0+ |
0 |
0 |
26 |
Vendor-Specific |
0+ |
0+ |
0-1 |
0 |
27 |
Session-Timeout |
0 |
0-1 |
0-1 |
0-1 |
28 |
Idle-Timeout |
0 |
0-1 |
0 |
0 |
29 |
Termination-Action |
0 |
0-1 |
0 |
0-1 |
30 |
Called-Station-Id |
0-1 |
0 |
0 |
0 |
31 |
Calling-Station-Id |
1 |
0 |
0 |
0 |
32 |
NAS-Identifier |
1 |
0 |
0 |
0 |
44 |
Acct-Session-Id |
1 |
0 |
0 |
0 |
60 |
CHAP-Challenge |
0-1 |
0 |
0 |
0 |
61 |
NAS-Port-Type |
1 |
0 |
0 |
0 |
62 |
Port-Limit |
1 |
1 |
0 |
0 |
87 |
NAS-Port-Id |
0-1 |
0 |
0 |
0 |
26-1 |
MS-CHAP-Response |
1 |
0 |
0 |
0 |
26-2 |
MS-CHAP-Challenge |
1 |
0 |
0 |
0 |
26-28 |
HW-FTP-Directory |
0 |
0-1 |
0 |
0 |
26-29 |
HW-Exec-Privilege |
0 |
0-1 |
0 |
0 |
26-31 |
HW-QOS-Profile-Name |
0 |
0-1 |
0 |
0 |
26-59 |
HW-NAS-Startup-Time-Stamp |
1 |
0 |
0 |
0 |
26-82 |
HW-Data-Filter |
0 |
0+ |
0-1 |
0 |
26-251 |
HW-Usr-Group-Name |
0 |
0-1 |
0 |
0 |
26-252 |
HW-Usr-Service-Type |
0 |
0-1 |
0 |
0 |
26-254 |
HW-Version |
1 |
0 |
0 |
0 |
26-255 |
HW-Product-ID |
1 |
0 |
0 |
0 |
属性编号 |
属性名 |
Accounting-Request(Start) |
Accounting-Request(Interium-Update) |
Accounting-Request(Stop) |
Accounting-Response(start) |
Accounting-Response(Interium-Update) |
Accounting-Response(Stop) |
---|---|---|---|---|---|---|---|
1 |
User-Name |
1 |
1 |
1 |
0 |
0 |
0 |
4 |
NAS-IP-Address |
1 |
1 |
1 |
0 |
0 |
0 |
5 |
NAS-Port |
1 |
1 |
1 |
0 |
0 |
0 |
6 |
Service-Type |
1 |
1 |
1 |
0 |
0 |
0 |
7 |
Framed-Protocol |
1 |
1 |
1 |
0 |
0 |
0 |
8 |
Framed-IP-Address |
0-1 |
0-1 |
0-1 |
0 |
0 |
0 |
9 |
Framed-IP-Netmask |
0-1 |
0-1 |
0-1 |
0 |
0 |
0 |
11 |
Filter-Id |
0-1 |
0-1 |
0-1 |
0 |
0 |
0 |
25 |
Class |
0-1 |
0-1 |
0-1 |
0 |
0 |
0 |
26 |
Vendor-Specific |
0 |
0+ |
0+ |
0+ |
0+ |
0 |
27 |
Session-Timeout |
0 |
0 |
0 |
0-1 |
0-1 |
0 |
28 |
Idle-Timeout |
0-1 |
0-1 |
0-1 |
0 |
0 |
0 |
30 |
Called-Station-Id |
1 |
1 |
1 |
0 |
0 |
0 |
31 |
Calling-Station-Id |
1 |
1 |
1 |
0 |
0 |
0 |
32 |
NAS-Identifier |
1 |
1 |
1 |
0 |
0 |
0 |
40 |
Acct-Status-Type |
1 |
1 |
1 |
0 |
0 |
0 |
41 |
Acct-Delay-Time |
0-1 |
1 |
1 |
0 |
0 |
0 |
42 |
Acct-Input-Octets |
0-1 |
0-1 |
0-1 |
0 |
0 |
0 |
43 |
Acct-Output-Octets |
0-1 |
0-1 |
0-1 |
0 |
0 |
0 |
44 |
Acct-Session-Id |
1 |
1 |
1 |
0 |
0 |
0 |
45 |
Acct-Authentic |
1 |
1 |
1 |
0 |
0 |
0 |
46 |
Acct-Session-Time |
0 |
1 |
1 |
0 |
0 |
0 |
47 |
Acct-Input-Packets |
0-1 |
0-1 |
0-1 |
0 |
0 |
0 |
48 |
Acct-Output-Packets |
0-1 |
0-1 |
0-1 |
0 |
0 |
0 |
49 |
Acct-Terminate-Cause |
0 |
0 |
1 |
0 |
0 |
0 |
55 |
Event-Timestamp |
1 |
1 |
1 |
0 |
0 |
0 |
61 |
NAS-Port-Type |
1 |
1 |
1 |
0 |
0 |
0 |
87 |
NAS-Port-Id |
1 |
1 |
1 |
0 |
0 |
0 |
26-31 |
HW-QOS-Profile-Name |
0-1 |
0-1 |
0-1 |
0 |
0 |
0 |
26-140 |
HW-DHCPSNP-Data |
0 |
0-1 |
0-1 |
0 |
0 |
0 |
26-252 |
HW-Usr-Service-Type |
0 |
0 |
0 |
0 |
0 |
0 |
26-254 |
HW-Version |
0-1 |
0-1 |
0-1 |
0 |
0 |
0 |
26-255 |
HW-Product-ID |
0-1 |
0-1 |
0-1 |
0 |
0 |
0 |
属性编号 |
属性名 |
COA REQUEST |
COA ACK |
COA NAK |
DM REQUEST |
DM ACK |
DM NAK |
---|---|---|---|---|---|---|---|
1 |
User-Name |
0-1 |
0-1 |
0-1 |
0-1 |
0-1 |
0-1 |
2 |
User-Password |
0-1 |
0 |
0 |
0 |
0 |
0 |
4 |
NAS-IP-Address |
0-1 |
0-1 |
0-1 |
0-1 |
0-1 |
0-1 |
5 |
NAS-Port |
0-1 |
0-1 |
0-1 |
0-1 |
0-1 |
0-1 |
6 |
Service-Type |
0-1 |
0 |
0 |
0 |
0 |
0 |
8 |
Framed-IP-Address |
0-1 |
0-1 |
0-1 |
0-1 |
0-1 |
0-1 |
9 |
Framed-IP-Netmask |
0 |
0-1 |
0 |
0 |
0 |
0 |
11 |
Filter-Id |
0-1 |
0 |
0 |
0 |
0 |
0 |
18 |
Reply-Message |
0 |
0 |
0-1 |
0 |
0 |
0 |
25 |
Class |
0+ |
0 |
0 |
0 |
0 |
0 |
26 |
Vendor-Specific |
0+ |
0+ |
0+ |
0+ |
0+ |
0+ |
27 |
Session-Timeout |
0-1 |
0 |
0 |
0 |
0 |
0 |
28 |
Idle-Timeout |
0-1 |
0-1 |
0 |
0 |
0 |
0 |
29 |
Termination-Action |
0-1 |
0 |
0 |
0 |
0 |
0 |
31 |
Calling-Station-Id |
0-1 |
0-1 |
0-1 |
0-1 |
0-1 |
0-1 |
32 |
NAS-Identifier |
0 |
0-1 |
0-1 |
0 |
0 |
0 |
42 |
Acct-Input-Octets |
0 |
0-1 |
0 |
0 |
0 |
0 |
43 |
Acct-Output-Octets |
0 |
0-1 |
0 |
0 |
0 |
0 |
44 |
Acct-Session-Id |
1 |
1 |
1 |
1 |
1 |
1 |
46 |
Acct-Session-Time |
0 |
0-1 |
0 |
0 |
0 |
0 |
47 |
Acct-Input-Packets |
0 |
0-1 |
0 |
0 |
0 |
0 |
48 |
Acct-Output-Packets |
0 |
0-1 |
0 |
0 |
0 |
0 |
87 |
NAS-Port-Id |
0 |
0-1 |
0-1 |
0 |
0 |
0 |
101 |
Error-Cause |
0 |
0 |
1 |
0 |
0 |
1 |
26-31 |
HW-QOS-Profile-Name |
0-1 |
0-1 |
0 |
0 |
0 |
0 |
26-82 |
HW-Data-Filter |
0-1 |
0 |
0 |
0 |
0 |
0 |