L2TPv3プロトコル概要

L2TPv3プロトコルで、トンネルが生成されるまでのシーケンス

L2TPv3では、イーサネットフレームをカプセル化するために対向の機器同士で negotiationを行ない、まずControl Conection(tunnel)を確立します。 これには、互いに相手を認証し、問題なく通信してもよいかどうかを確認する処理が含まれています。 Control Connectionが確立されると、Control Messageという L2TP専用のメッセージを用いて、 実際にL2 Dataをカプセル化するための Data Channel(session)を確立する処理が始まります。 これには、セッションを識別し、お互いに意図した通りのカプセル化が行なわれるようにするためのメッセージ交換処理が含まれます。

なお、一つの対向機器同士の間では現状一つのトンネルしか確立することはできず、セッションは複数確立することができます。

図: L2TPv3プロトコルでトンネルが生成されるまでのシーケンス

  • Control Connectionの確立の際、Local Hostnameに設定された値と、対向機器でのRemote Hostnameに設定された値が一致していなければならない
  • Control Connectionの確立の際、Local Router-IDに設定された値と、対向機器でのRemote Router-IDに設定された値が一致していなければならない
  • passwordが設定されている場合、SCCRQ, SCCRPにMessage Digest AVPを付加し、認証を行う
  • Control Connectionの確立の際、相互にSCCRQを送信する状態になった場合はTie Breaker AVPの値を用いてタイブレーク処理を行う
  • Cookieが有効に設定されている場合、Data FrameにCookieフィールドがセットされる。
  • OCRQ, OCRP, OCCNメッセージには対応しない
  • Hidden AVPには対応しない