5. 属性
本章节描述 RADIUS 计费属性。属性定义遵从 RADIUS 认证属性 [2] 使用的约定,并作如下扩展:
5.1. Acct-Status-Type
描述:此属性指示当前计费请求所涉及的记账事件类型。该属性必须包含在计费请求数据包中。
长度为 6 的八位组字符串,包含 4 字节的未签名整数值(按网络字节序)。
值:
1 开始 (Start) 2 停止 (Stop) 3 计费-on (Accounting-On) 4 计费-off (Accounting-Off) 7 interim-update (Interim-Update,临时更新) 8 reserved, 失败 (Reserved, Failure) 9 reserved, 计费-重启 (Reserved, Accounting-Interim-Interval)
开始 (Start):表示用户会话的开始。
停止 (Stop):表示用户会话的结束。
计费-on (Accounting-On) 和计费-off (Accounting-Off):分别表示 NAS 与计费服务器的会话开始和会话结束。它们用于指示 NAS 正在上线(计费-on)或下线(计费-off)。Acct-Status-Type 设为 Accounting-On 或 Accounting-Off 的计费请求,必须忽略除 NAS-IP-Address、NAS-Port 和被计费服务器忽略的属性之外的所有属性。这样的请求可能由代理服务器发出,以指示该 NAS 已经重新启动或关机。
Interim-Update:表示在会话进行过程中发生的临时计费事件,如同 Acct-Interim-Interval 属性设置的那样。仅在会话期间发生,以避免丢失计费记录;该数据包包含的计费信息,描述自上一次计费数据包(开始、停止或临时更新)以来的会话。
reserved, 失败 (Failure):表示计费记录由于某种原因(例如,用户调用了一个未定义的服务)而失败。
reserved, 计费-重启 (Accounting-Interim-Interval):此值保留,不应用于新实现。
5.2. Acct-Delay-Time
描述:此属性指示计费请求数据包的发送已被延迟的时间量,单位为秒。此属性必须包含在计费请求数据包中,且必须设为客户端开始尝试发送计费请求时经过的秒数(例如,由于与计费服务器通信失败时重传引起)。在代理情况下,代理服务器在转发数据包到另一个服务器之前,必须将 Acct-Delay-Time 字段递增它接收到的数据包中携带的值。
长度为 6 的八位组字符串,包含 4 字节的未签名整数值(按网络字节序)的延迟时间。
客户端必须为每个计费请求数据包生成一个 Acct-Delay-Time 属性,该值必须表示客户端在收到 RADIUS 计费服务器对此请求的响应之前,已经等待的秒数。代理在转发请求时,必须递增 Acct-Delay-Time。
5.3. Acct-Input-Octets
描述:此属性指示在计费会话期间客户端接收到的八位组总数。仅当 Acct-Status-Type 为 Stop 或 Interim-Update 时出现。
长度为 6 的八位组字符串,包含 4 字节的未签名整数值(按网络字节序)。
当为 Stop 时,该值应当为在会话期间从客户端接收的八位组总数。
对于 Interim-Update,该值应当是自上一次计费数据包(开始、停止或临时更新)以来接收的八位组总数。
仅当 Acct-Input-Packets 和 Acct-Output-Packets 都为零(0)时,Acct-Input-Octets 和 Acct-Output-Octets 才必须包含 32 位回绕计数;否则,必须省略它们。
5.4. Acct-Output-Octets
描述:此属性指示在计费会话期间客户端发送(传输)的八位组总数。仅当 Acct-Status-Type 为 Stop 或 Interim-Update 时出现。
长度为 6 的八位组字符串,包含 4 字节的未签名整数值(按网络字节序)。
当为 Stop 时,该值应当为在会话期间从客户端发送的八位组总数。
对于 Interim-Update,该值应当是自上一次计费数据包(开始、停止或临时更新)以来发送的八位组总数。
仅当 Acct-Input-Packets 和 Acct-Output-Packets 都为零(0)时,Acct-Input-Octets 和 Acct-Output-Octets 才必须包含 32 位回绕计数;否则,必须省略它们。
5.5. Acct-Session-Id
描述:此属性作为此会话中计费信息的唯一标识符,应当被当作不透明的字符串。给定会话的开始和停止计费请求,必须带有相同的 Acct-Session-Id。在代理情况下,代理服务器必须保留 Acct-Session-Id。
文本字符串,长度至少 1 字节,至多 253 字节(可打印字符)。
5.6. Acct-Authentic
描述:此属性指示用户是被如何认证的,从而使后端计费数据库能够将认证方式与计费信息关联。
长度为 6 的八位组字符串,包含 4 字节的未签名整数值(按网络字节序)。
值:
1 RADIUS 2 本地 (Local) 3 远程 (Remote)
RADIUS:表示用户由 RADIUS 认证。
本地 (Local):表示用户由 NAS 本地认证(例如,CHAP、PAP、Signin、令牌、等等)。
远程 (Remote):表示用户由某种非 RADIUS 远程服务认证(例如,TACACS+,Kerberos,等等)。
当 Acct-Status-Type 为 Start、Stop 或 Interim-Update 时,Acct-Authentic 必须被包含。
5.7. Acct-Session-Time
描述:此属性指示会话的持续时间,单位为秒。仅当 Acct-Status-Type 为 Stop 或 Interim-Update 时出现。
长度为 6 的八位组字符串,包含 4 字节的未签名整数值(按网络字节序)。
当为 Stop 时,该值应当为从会话认证成功之后,到用户断开连接或会话结束的时间,单位为秒。
对于 Interim-Update,该值应当是自上一次计费数据包(开始、停止或临时更新)以来经过的秒数。
5.8. Acct-Input-Packets
描述:此属性指示在计费会话期间客户端接收的数据包总数。仅当 Acct-Status-Type 为 Stop 或 Interim-Update 时出现。
长度为 6 的八位组字符串,包含 4 字节的未签名整数值(按网络字节序)。
当为 Stop 时,该值应当为在会话期间从客户端接收的数据包总数。
对于 Interim-Update,该值应当是自上一次计费数据包(开始、停止或临时更新)以来接收的数据包总数。
如果 Acct-Input-Packets 和 Acct-Output-Packets 都非零(即,至少其中之一非零),则必须省略 Acct-Input-Octets 和 Acct-Output-Octets。
5.9. Acct-Output-Packets
描述:此属性指示在计费会话期间客户端发送的数据包总数。仅当 Acct-Status-Type 为 Stop 或 Interim-Update 时出现。
长度为 6 的八位组字符串,包含 4 字节的未签名整数值(按网络字节序)。
当为 Stop 时,该值应当为在会话期间从客户端发送的数据包总数。
对于 Interim-Update,该值应当是自上一次计费数据包(开始、停止或临时更新)以来发送的数据包总数。
如果 Acct-Input-Packets 和 Acct-Output-Packets 都非零(即,至少其中之一非零),则必须省略 Acct-Input-Octets 和 Acct-Output-Octets。
5.10. Acct-Terminate-Cause
描述:此属性指示会话终止的原因,仅在 Acct-Status-Type 为 Stop 时出现。
长度为 6 的八位组字符串,包含 4 字节的未签名整数值(按网络字节序)。
值:
1 用户请求 (User Request) 2 丢失载波 (Lost Carrier) 3 丢失服务 (Lost Service) 4 空闲超时 (Idle Timeout) 5 会话超时 (Session Timeout) 6 管理员重置 (Admin Reset) 7 管理员重新启动 (Admin Reboot) 8 端口错误 (Port Error) 9 网络错误 (NAS Error) 10 无法使用 (NAS Request) 11 非特定 (NAS Reboot) 12 进入 (Port Unneeded) 13 (reserved) 14 授权无效 (Port Preempted) 15 是否 (Port Suspended) 16 服务不可用 (Service Unavailable) 17 回调 (Callback) 18 用户错误 (User Error) 19 主机请求 (Host Request) 20 计费请求 (Supplicant Restart) 21 (reserved) 22 (reserved)
用户请求 (User Request):用户自行终止会话,例如,用户注销或主动断开。
丢失载波 (Lost Carrier):由于丢失载波(如调制解调器挂断)而导致会话意外终止。
丢失服务 (Lost Service):由于 NAS 服务丢失(如 PPP 终止或 MAC 地址改变)而导致会话意外终止。
空闲超时 (Idle Timeout):由于会话在 Idle-Timeout 时间段内无活动而致会话终止,该时间段在会话建立时由 NAS 设置。
会话超时 (Session Timeout):由于会话达到了 Session-Timeout 限制(由 RADIUS 认证服务器在 Access-Accept 中提供)而致会话终止。
管理员重置 (Admin Reset):由于管理员重置端口而致会话终止。
管理员重新启动 (Admin Reboot):由于管理员通过重新启动 NAS 而致会话终止(例如,电源循环或热启动)。
端口错误 (Port Error):由于 NAS 端口接收到错误(如被物理移除、硬件故障等)而致会话终止。
网络错误 (NAS Error):由于 NAS 内部错误而致会话终止。
无法使用 (NAS Request):由于 NAS 发起的会话终止请求(例如,被会话管理软件强制)而致会话终止。
非特定 (NAS Reboot):由于 NAS 重新启动(如电源循环或热启动)而致会话终止,并非由管理员直接或间接发起。
进入 (Port Unneeded):因为端口不再需要(如被另一个用户请求)而致会话终止。
授权无效 (Port Preempted):由于端口被更高优先级用户抢占(例如,拨入调制解调器池中的端口被更高优先级的呼入占用)而致会话终止。
是否 (Port Suspended):由于端口被暂停(如由于某种管理策略)而致会话终止。
服务不可用 (Service Unavailable):由于所请求的服务不可用(如主机不可达)而致会话终止。
回调 (Callback):由于回调(如用户挂断以接收回调)而致会话终止。
用户错误 (User Error):由于用户侧错误(如错误密码、登录失败)而致会话终止。
主机请求 (Host Request):由于主机侧请求(如由主机侧会话管理软件强制)而致会话终止。
计费请求 (Supplicant Restart):由于用户站点的 802.1X 请求方重启而致会话终止。
5.11. Acct-Multi-Session-Id
描述:此属性作为一组相关会话中计费信息的唯一标识符,应当被当作不透明的字符串。当用于多链路或捆绑会话时,捆绑中的每个会话都带有相同的 Acct-Multi-Session-Id。Acct-Multi-Session-Id 应跨越捆绑中的多个链路,且对于给定的多会话唯一。例如,如果 Acct-Session-Id 为“el-切”的会话,由 Acct-Session-Id 为“el-切-1”和“el-切-2”的两个会话组成,则“el-切-1”和“el-切-2”都带有相同的 Acct-Multi-Session-Id(如“el-切-多”)。此属性可用于关联捆绑中的多个链路。
文本字符串,长度至少 1 字节,至多 253 字节(可打印字符)。
5.12. Acct-Link-Count
描述:此属性指示捆绑中链路的数量。它仅出现在 Acct-Multi-Session-Id 出现的会话里,且仅当 Acct-Status-Type 为非 Interim-Update 时出现。捆绑中的所有链路都带有相同的值。
长度为 6 的八位组字符串,包含 4 字节的未签名整数值(按网络字节序)的链路数。
5.13. 属性表
下表列出了 RADIUS 计费属性及其值的摘要。
| # | 属性 | 类型 | 地址 | 计数 |
|---|---|---|---|---|
| 1 | User-Name | 字符串 | ||
| 2 | User-Password | 字符串 | ||
| 3 | CHAP-Password | 字符串 | ||
| 4 | NAS-IP-Address | 地址 | ||
| 5 | NAS-Port | 整数 | ||
| 6 | Service-Type | 整数 | ||
| 7 | Framed-Protocol | 整数 | ||
| 8 | Framed-IP-Address | 地址 | ||
| 9 | Framed-IP-Netmask | 地址 | ||
| 10 | Framed-Routing | 整数 | ||
| 11 | Filter-Id | 字符串 | ||
| 12 | Framed-MTU | 整数 | ||
| 13 | Framed-Compression | 整数 | ||
| 14 | Login-IP-Host | 地址 | ||
| 15 | Login-Service | 整数 | ||
| 16 | Login-Port | 整数 | ||
| 17 | (reserved) | |||
| 18 | Reply-Message | 字符串 | ||
| 19 | Callback-Number | 字符串 | ||
| 20 | Callback-Id | 字符串 | ||
| 21 | (reserved) | |||
| 22 | Framed-Route | 字符串 | ||
| 23 | Framed-IPX-Network | 整数 | ||
| 24 | State | 字符串 | ||
| 25 | Class | 字符串 | ||
| 26 | Vendor-Specific | 字符串 | ||
| 27 | Session-Timeout | 整数 | ||
| 28 | Idle-Timeout | 整数 | ||
| 29 | Termination-Action | 整数 | ||
| 30 | Called-Station-Id | 字符串 | ||
| 31 | Calling-Station-Id | 字符串 | ||
| 32 | NAS-Identifier | 字符串 | ||
| 33 | Proxy-State | 字符串 | ||
| 34 | Login-LAT-Service | 字符串 | ||
| 35 | Login-LAT-Node | 字符串 | ||
| 36 | Login-LAT-Group | 字符串 | ||
| 37 | Framed-AppleTalk-Link | 整数 | ||
| 38 | Framed-AppleTalk-Network | 整数 | ||
| 39 | Framed-AppleTalk-Zone | 字符串 | ||
| 40 | Acct-Status-Type | 整数 | ||
| 41 | Acct-Delay-Time | 整数 | ||
| 42 | Acct-Input-Octets | 整数 | ||
| 43 | Acct-Output-Octets | 整数 | ||
| 44 | Acct-Session-Id | 字符串 | ||
| 45 | Acct-Authentic | 整数 | ||
| 46 | Acct-Session-Time | 整数 | ||
| 47 | Acct-Input-Packets | 整数 | ||
| 48 | Acct-Output-Packets | 整数 | ||
| 49 | Acct-Terminate-Cause | 整数 | ||
| 50 | Acct-Multi-Session-Id | 字符串 | ||
| 51 | Acct-Link-Count | 整数 | ||
| 52 | Acct-Input-Gigawords | 整数 | ||
| 53 | Acct-Output-Gigawords | 整数 | ||
| 54 | (reserved) | |||
| 55 | Event-Timestamp | 整数 | ||
| 56 | (reserved) | |||
| 57 | (reserved) | |||
| 58 | (reserved) | |||
| 59 | (reserved) | |||
| 60 | CHAP-Challenge | 字符串 | ||
| 61 | NAS-Port-Type | 整数 | ||
| 62 | Port-Limit | 整数 | ||
| 63 | Login-LAT-Port | 字符串 | ||
| 68 | Acct-Tunnel-Connection | 字符串 | ||
| 85 | Acct-Interim-Interval | 整数 |
Acct-Status-Type、Acct-Delay-Time、Acct-Input-Octets、Acct-Output-Octets、Acct-Session-Id、Acct-Authentic、Acct-Session-Time、Acct-Input-Packets、Acct-Output-Packets、Acct-Terminate-Cause、Acct-Multi-Session-Id、Acct-Link-Count、Acct-Interim-Interval、Acct-Tunnel-Connection 和 Event-Timestamp 是由本备忘录新定义的。其余属性来自 RADIUS [2],并在 RADIUS 计费中具有与 RADIUS 中相同的含义。