3. Packet Format (パケット形式)
3. Packet Format (パケット形式)
ちょうど 1 つの RADIUS Accounting パケットが UDP Data フィールド [4] にカプセル化され, UDP Destination Port フィールドは 1813 (10 進) を示します.
応答が生成される場合, 送信元ポートと宛先ポートは入れ替えられます.
このメモは RADIUS Accounting プロトコルを文書化します. RADIUS Accounting の初期展開では UDP ポート番号 1646 が用いられましたが, これは "sa-msg-port" サービスと衝突します. RADIUS Accounting に公式に割り当てられたポート番号は 1813 です.
RADIUS データ形式の要約を以下に示します. フィールドは左から右へ送信されます.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Authenticator |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Attributes ...
+-+-+-+-+-+-+-+-+-+-+-+-+-
Code
Code フィールドは 1 オクテットであり, RADIUS パケットの種別を識別します. 無効な Code フィールドを伴うパケットを受信した場合, それは黙って破棄されます.
RADIUS Accounting の Code (10 進) の割り当ては次のとおりです.
4 Accounting-Request
5 Accounting-Response
Identifier
Identifier フィールドは 1 オクテットであり, 要求と応答の対応付けに役立ちます. RADIUS サーバは, 同一クライアントの送信元 IP アドレスと送信元 UDP ポートおよび Identifier が短時間内に同一である場合, 重複要求を検出できます.
Length
Length フィールドは 2 オクテットです. Code, Identifier, Length, Authenticator および Attribute フィールドを含むパケットの長さを示します. Length フィールドの範囲外のオクテットはパディングとして扱われ, 受信時には無視しなければならない. パケットが Length フィールドが示す長さより短い場合, 黙って破棄しなければならない. 最小長は 20, 最大長は 4095 です.
Authenticator
Authenticator フィールドは 16 オクテットです. 最上位オクテットが最初に送信されます. この値はクライアントと RADIUS アカウンティングサーバ間のメッセージ認証に用いられます.
Request Authenticator
Accounting-Request パケットでは, Authenticator の値は 16 オクテットの MD5 [5] チェックサムであり, Request Authenticator と呼ばれます.
NAS と RADIUS アカウンティングサーバは秘密を共有します. Accounting-Request パケットの Request Authenticator フィールドには, Code + Identifier + Length + 16 個のゼロオクテット + 要求属性 + 共有秘密 (+ は連結を表す) というオクテット列に対して計算した一方向 MD5 ハッシュが含まれます. 16 オクテットの MD5 ハッシュ値は Accounting-Request パケットの Authenticator フィールドに格納されます.
Accounting-Request の Request Authenticator は, RADIUS Access-Request の Request Authenticator と同じ方法では計算できないことに注意すること. Accounting-Request には User-Password 属性がないためです.
Response Authenticator
Accounting-Response パケットの Authenticator フィールドは Response Authenticator と呼ばれ, Accounting-Response の Code, Identifier, Length, 応答の対象となっている Accounting-Request パケットの Request Authenticator フィールド, 任意の応答属性, 続いて共有秘密というオクテット列に対して計算した一方向 MD5 ハッシュが含まれます. 得られた 16 オクテットの MD5 ハッシュ値は Accounting-Response パケットの Authenticator フィールドに格納されます.
Attributes
属性は複数インスタンスを持てます. その場合, 同一種別の属性の順序は保持すべきである. 異なる種別の属性の順序の保持は要求されません.