◆ MPLS - LDPのネイバー確立の流れ
LDPは、ネイバーとラベル情報を交換するためのアプリケーション層のプロトコルです。TCPとUDPの両方を
使用して、使用ポート番号もTCP、UDPともに646です。TCPではLDPセッションの確立、ラベル情報の交換、
エラー通知をします。UDPでは、LDPネイバーの発見 (宛先:224.0.0.2) とLDPセッションの維持を行います。
Step 1 : LDPのDiscoveryメッセージ (224.0.0.2) によりネイバーの検出
Step 2 : TCPコネクションの確立 ※1、2
Step 3 : LDPセッションの確立
Step 4 : ラベル情報の交換
※1 自身のLDP Router-IDを送信元、相手のLDP Router-IDを宛先とするTCPコネクション
※2 LDP Router-ID間でIP到達性の必要性あり( 例えばOSPFのRouter-IDの場合は、その必要性はない )
◆ MPLS - LDPのラベルアサインとアドバタイズメント
LDPはFEC(ルーティングエントリ)に対して任意のラベルを割り当てます。Ciscoルータにおける任意とは
16 〜 1048575の値を意味します。この割り当てられるラベルは隣接ルータ間のみで使用されるものなので
ルータ上でローカルに決定されます。ちなみにラベル値である 0 〜 15 は以下の用途として予約されています。
ラベル値 |
用途 |
0 |
IPv4 Explicit Null Label |
1 |
Router Alert Label |
3 |
Implicit Null Label |
4 〜 15 |
Reserved |
LDPネイバー確立後、LDPによりローカルに割り当てられたラベルを全てのLDPネイバーに通知します。そして
隣接ルータはこの通知された情報をもとにLIB (Label Information Base) テーブルを作成していきます。なお
同じ宛先ネットワークに対するラベルを複数のLDPネイバーから受信すると、宛先ネットワークがルーティング
テーブル上でネクストホップになっているネイバールータからのラベルをパケット転送用の際に使用します。
◆ MPLS - LDPのネイバー確立( Ciscoでの設定例 )
MPLSによるラベルスイッチングの前提は、そのMPLS網の各ルータでIPルーティングが確立していることです。
IPルーティングの確立には、一般的にOSPFやIS-ISなどのIGPが使用されます。このIPルーティングの土台に
ラベル配布プロトコルであるLDPによってLDPネイバーを確立させるのですが、一般的にルータのループバック
インターフェースのアドレスをLDP Router-IDとして使用するので、MPLS網内のIGPで loopback I/F も通知。
LDPネイバーを確立するためには以下のとおりに設定します。これにより自動的にLIBテーブルが作成されます。
MPLSを稼働させるルータでCEFを有効(ip cef)にする必要があります。次に、LDPのルータIDを指定します。
下図のようにLDPのルータIDを指定しない場合は、そのルータの一番大きいアドレスの物理インターフェースの
IPアドレスがルータIDになります。Loopbackインターフェースがある場合、Loopback I/FのIPが優先されます。
最後に、MPLS網に参加するインタフェースのみ、MPLSを有効にします。Loopback I/F での有効化は不要です。
Ciscoルータでは、デフォルトではLDPが有効になっているため、インターフェースに mpls ip の設定をすれば
LDPネイバーの確立を自動的に開始します。ラベルプロトコルをLDPではなく、例えばTDPに変更したい場合は
インターフェースごとに次のコマンドで変更できます。 (config-if )# mpls label protocol [ ldp | tdp | both ]
◆ MPLS - コントロールプレーンとデータプレーン
MPLSを有効にしたルータではコントロールプレーンとデータプレーンの2つのコンポーネントが形成されます。
コントロールプレーンでは、ルーティングやラベルスイッチングに必要な情報が収集されます。具体的には
ルーティングテーブルやFIBテーブルにより情報が収集されます。データプレーンでは、コントロールプレーン
で収集したテーブル情報をキャッシュして、実際に受信パケットの転送処理を行う場所となります。具体的には
ルーティングテーブルからFIBテーブルを、LIBテーブルからLFIBテーブルを作成しそこで転送処理を行います。
プレーン |
MPLSの4つのテーブル |
説明 |
コントロール |
ルーティングテーブル |
ルーティングプロトコルの設定により作成される。 |
LIBテーブル |
LDPの設定により作成される。 |
データ |
FIBテーブル |
ルーティングテーブルをベースに作成される。( IPパケットの転送に使用) |
LFIBテーブル |
LIBテーブルをベースに作成される。(ラベル付きパケットの転送に使用) |
つまり、MPLSを有効にしたルータでは4つのテーブルを保持することになります。ルーティングテーブルやLIB
テーブル生成のように、FIBテーブルやLFIBテーブル生成のための設定は不要です。コントロールプレーンの
情報から自動的に生成されます。※ 当然ながら、CEFは有効化している必要はあります。→ (config)# ip cef
MPLSの4つのテーブルの確認コマンドは以下です。
◇ ルーティングテーブル
⇒ show ip route
◇ LIBテーブル
⇒ show mpls ldp binding
◇ FIBテーブル
⇒ show ip cef
◇ LFIBテーブル
⇒ show mpls forwarding-table
|
|
|