7. 制御接続状態機械 (Control Connection State Machines)
本章では、L2TP 制御接続とセッションの確立、維持、切断の状態機械を定義します。
7.1 制御接続プロトコル操作 (Control Connection Protocol Operation)
制御接続状態機械は、トンネルの確立と切断の状態遷移を説明します。各状態は受け入れ可能なイベント、対応するアクション、および次の状態を定義します。
7.2 制御接続の状態 (Control Connection States)
制御接続には以下の状態があります。
- idle: 初期状態、接続未確立
- wait-ctl-reply: ピアからの制御接続応答を待機中
- wait-ctl-conn: 制御接続の完了を待機中
- established: 制御接続が確立済み
- closing: 制御接続を閉じている最中
7.2.1 制御接続の確立 (Control Connection Establishment)
制御接続の確立は 3 ウェイハンドシェイク(SCCRQ、SCCRP、SCCCN)を使用して完了します。状態遷移は以下の通りです。
- idle → wait-ctl-reply(SCCRQ を送信)
- wait-ctl-reply → wait-ctl-conn(SCCRP を受信)
- wait-ctl-conn → established(SCCCN を受信)
7.3 タイミングの考慮事項 (Timing Considerations)
- 再送タイマー: 信頼性のある転送のための制御メッセージ再送
- Hello 間隔: 定期的な Hello メッセージ送信の間隔
- タイムアウト検出: トンネル障害を検出するタイムアウトメカニズム
7.4 着信呼 (Incoming Calls)
着信呼の確立には LAC と LNS の協調した状態遷移が含まれます。
7.4.1 LAC 着信呼の状態 (LAC Incoming Call States)
LAC 側の着信呼の状態:
- idle: アクティブな呼なし
- wait-reply: LNS からの ICRP を待機中
- wait-connect: 呼の接続を待機中
- established: セッションが確立済み
7.4.2 LNS 着信呼の状態 (LNS Incoming Call States)
LNS 側の着信呼の状態:
- idle: アクティブな呼なし
- wait-connect: LAC からの ICCN を待機中
- established: セッションが確立済み
7.5 発信呼 (Outgoing Calls)
発信呼は LNS によって開始され、LAC が実際の呼操作を実行します。
7.5.1 LAC 発信呼の状態 (LAC Outgoing Call States)
LAC 側の発信呼の状態:
- idle: アクティブな呼なし
- wait-reply: OCRQ への応答を待機中
- wait-cs-answer: 呼の応答を待機中
- established: セッションが確立済み
7.5.2 LNS 発信呼の状態 (LNS Outgoing Call States)
LNS 側の発信呼の状態:
- idle: アクティブな呼なし
- wait-reply: LAC からの OCRP を待機中
- wait-connect: OCCN を待機中
- established: セッションが確立済み
7.6 トンネルの切断 (Tunnel Disconnection)
トンネルの切断は LAC または LNS が StopCCN メッセージを送信することで開始できます。StopCCN を受信したピアはメッセージを確認し、関連するすべてのリソースをクリーンアップすべきです。
注:完全な状態遷移表と詳細な状態機械図については、RFC 2661 の原文を参照してください。本章では状態機械の概要と主要な状態遷移フローを提供します。