DIAMETER

DIAMETERは、RADIUSの後継となる認証・認可・課金 (AAA: Authentication, Authorization, Accounting) プロトコルである。

RADIUSからの改善点

DIAMETERという名前は、RADIUSプロトコルにかけた駄洒落である (直径:diameterは半径:radiusの2倍になる)。DIAMETERはRADIUSとの後方互換性はないが、RADIUSからのアップグレード・パスを提供している。RADIUSとの主な違いは、

  • RADIUSで使われているUDPではなく、信頼性のあるトランスポート・プロトコルであるTCPSCTPを用いる
  • トランスポート層のセキュリティ (IPsecまたはTLS) を利用可能
  • RADIUSからの移行をサポート
  • RADIUSよりも大きな属性値ペアと識別子のアドレス空間を持つ (8ビットから32ビットに拡張)
  • サーバ発のメッセージもサポートする点を除き、クライアント・サーバ型のプロトコルである
  • ステートフルおよびステートレスのモデルを利用できる
  • DNSのSRV・NAPTRレコードを用いたピアの動的発見
  • 機能ネゴシエーション
  • アプリケーション層での肯定応答をサポートし、フェイルオーバーの方法とステートマシーンを定義
  • エラー通知
  • 改善されたローミングサポート
  • 新しいコマンドと属性の定義を利用した簡単な拡張
  • 32ビットの区切り
  • ユーザーセッションと課金管理の基本サポート

プロトコルの詳細

Diameter基本プロトコルは、AAAプロトコルの最小限の要求として、RFC 3588で規定されている。Diameterアプリケーションは、新しいコマンドや属性を追加することにより基本プロトコルを拡張することができる。ただし、ここで言うアプリケーションとはプログラムのことではなく、Diameterに基づいたプロトコルのことを指す。DIAMETERのセキュリティは、すでに十分に確立されたプロトコルであるIPsecTLSによって提供される。

パケット・フォーマット

   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  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |    Version    |                 Message Length                |  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  | command flags |                  Command-Code                 |  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |                         Application-ID                        |  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |                      Hop-by-Hop Identifier                    |  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |                      End-to-End Identifier                    |  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |  AVPs                                                         |  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

コマンド

各コマンドには、要求・応答共に利用されるコマンド・コードが割り当てられている。

コマンド名略称コード
AA-RequestAAR265
AA-AnswerAAA265
Abort-Session-RequestASR274
Abort-Session-AnswerASA274
Accounting-RequestACR271
Accounting-AnswerACA271
Capabilities-Exchange-RequestCER257
Capabilities-Exchange-AnswerCEA257
Device-Watchdog-RequestDWR280
Device-Watchdog-AnswerDWA280
Disconnect-Peer-RequestDPR282
Disconnect-Peer-AnswerDPA282
Re-Auth-RequestRAR258
Re-Auth-AnswerRAA258
Session-Termination-RequestSTR275
Session-Termination-AnswerSTA275
User-Authorization-RequestUAR300
User-Authorization-AnswerUAA300
Server-Assignment-RequestSAR301
Server-Assignment-AnswerSAA301
Location-Info-RequestLIR302
Location-Info-AnswerLIA302
Multimedia-Auth-RequestMAR303
Multimedia-Auth-AnswerMAA303
Registration-Termination-RequestRTR304
Registration-Termination-AnswerRTA304
Push-Profile-RequestPPR305
Push-Profile-AnswerPPA305

属性値ペア

   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  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |                           AVP Code                            |  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |V M P r r r r r|                  AVP Length                   |  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |                        Vendor-ID (opt)                        |  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |    Data ...  +-+-+-+-+-+-+-+-+
属性名コードデータ型
Acct-Interim-Interval85Unsigned32
Accounting-Realtime-Required483Enumerated
Acct-Multi-Session-Id50UTF8String
Accounting-Record-Number485Unsigned32
Accounting-Record-Type480Enumerated
Accounting-Session-Id44OctetString
Accounting-Sub-Session-Id287Unsigned64
Acct-Application-Id259Unsigned32
Auth-Application-Id258Unsigned32
Auth-Request-Type274Enumerated
Authorization-Lifetime291Unsigned32
Auth-Grace-Period276Unsigned32
Auth-Session-State277Enumerated
Re-Auth-Request-Type285Enumerated
Class25OctetString
Destination-Host293DiamIdent
Destination-Realm283DiamIdent
Disconnect-Cause273Enumerated
E2E-Sequence300Grouped
Error-Message281UTF8String
Error-Reporting-Host294DiamIdent
Event-Timestamp55Time
Experimental-Result297Grouped
Experimental-Result-Code298Unsigned32
Failed-AVP279Grouped
Firmware-Revision267Unsigned32
Host-IP-Address257Address
Inband-Security-Id299Unsigned32
Multi-Round-Time-Out272Unsigned32
Origin-Host264DiamIdent
Origin-Realm296DiamIdent
Origin-State-Id278Unsigned32
Product-Name269UTF8String
Proxy-Host280DiamIdent
Proxy-Info284Grouped
Proxy-State33OctetString
Redirect-Host292DiamURI
Redirect-Host-Usage261Enumerated
Redirect-Max-Cache-Time262Unsigned32
Result-Code268Unsigned32
Route-Record282DiamIdent
Session-Id263UTF8String
Session-Timeout27Unsigned32
Session-Binding270Unsigned32
Session-Server-Failover271Enumerated
Supported-Vendor-Id265Unsigned32
Termination-Cause295Enumerated
User-Name1UTF8String
Vendor-Id266Unsigned32
Vendor-Specific-Application-Id260Grouped

状態機械

The RFC 3588 defines a core state machine for maintaining connections between peers and processing messages. This is part of the basic protocol functionality and all stacks should support it and as such abstract from the connectivity related operations.

Additionally, application specific state machines can be introduced either later or at a higher abstraction layer. The RFC 3588 defines an authorization and an accounting state machine.

メッセージ・フロー

アプリケーション

Diameter アプリケーションとはアプリケーションソフトウェアのことではなく、Diameter基本プロトコルに基づいたプロトコルのことである。各アプリケーションはアプリケーション識別子によって定義され、新しいコマンドコードや必須属性値ペアを追加することができる。新しいオプション属性値ペアを追加すること自体は新しいアプリケーションを必要とはしない。

Diameterアプリケーションの例:

  • Diameter Mobile IPv4 Application (MobileIP, RFC 4004)
  • Diameter Network Access Server Application (NASREQ, RFC 4005)
  • Diameter Extensible Authentication Protocol Application (RFC 4072)
  • Diameter Credit-Control Application (DCCA, RFC 4006)
  • Diameter Session Initiation Protocol Application (RFC 4740)
  • IP Multimedia Subsystemで使われる様々なアプリケーション

外部リンク

🔥 Top keywords: メインページ飯豊まりえ高橋一生石丸伸二特別:検索キダ・タロー廣瀬智紀弥助三淵嘉子川栄李奈羽賀研二葛西美空岸辺露伴は動かない秋元優里鈴村健一ユージ虎に翼山崎育三郎STARTO ENTERTAINMENT乙黒えり出口夏希窪塚愛流木田美千代緒方賢一Never young beach田村正和ニューカレドニア猿の惑星シリーズマイケル・ゴードンプロポーズ大作戦 (テレビドラマ)スロバキア麿赤兒浅野温子笠松将竜とそばかすの姫堀田賢慎ラナルド・マクドナルド伊倉愛美仲野太賀