Closed20

CCNP-ENARSI_MPLS

ito_110ito_110

MPLS-VPN

MPLS-VPNは、ISPが提供するL3VPNサービスの一つで、「VRF」「MPLS」「MP-BGP」といった技術を組み合わせて実現
プロパイダ同士などに利用される大規模なWANのようなネットワーク

ito_110ito_110

MPLS(Multiprotocol Label Switching)

IPアドレスではなく「ラベル」と呼ばれる情報を使用してパケットを転送する技術
ラベルはレイヤ2ヘッダとレイヤ3ヘッダの間に挿入される

ito_110ito_110

MPLSヘッダの構成

  • ラベル(20bit):パケットを転送するための情報
  • EXP(3bit):IPプレシデンス値
  • S(1bit):ラベルの期限
  • TTL(8bit):生存時間
ito_110ito_110

MPLSに関する主な用語

MPLSドメイン(MPLS網)

MPLSが稼働しているネットワーク

CE(Customer Edge)

顧客側のルータ
MPLSには関与しない。PEからの情報を受け取るだけ

PE(Provider Edge)

プロパイダ側のルータ

P(Provider)

MPLS網内部のルータ
LSR(Labed Edge Router)とも呼ばれる

ito_110ito_110

PHP(Penultimate Hop Popping)

LERの一つ手前でラベルを外す機能

PHPなしの動作

通常動作の場合、ラベル交換の際に16以上のラベル値を伝えておきます。

LSRは伝えられたラベル値に付け替えてパケットを転送します。
Ping-t_最強WEB問題集 CCNP ENARSI(300-410)
Ping-t_最強WEB問題集 CCNP ENARSI(300-410)より引用

PHPありの動作


Ping-t_最強WEB問題集 CCNP ENARSI(300-410)より引用

PHPを行っている場合、ラベル交換の際にLERはLSRにラベル値3のImplicit Null(特別な意味を持つラベルとして予約されてるうちの1つ)を伝えておきます。

LSRはImplicit Null(imp-null)を伝えてきた相手に転送する場合はラベルを外して転送します。

ラベル値

ラベルで使用される値は0~1048575(20bit)

0~15は特別な意味を持つラベルとして予約されているため、転送で使われるラベルは16~1048575

主な予約ラベル

Explicit Null Label(明示的なNullラベル)

  • ラベル値:0
  • QoSで使用するEXPビットをLERまで保持するために使用

Implicit Null Label(暗黙のNullラベル)

  • ラベル値:3
  • LERの一つ手前でラベルを外すために使用
ito_110ito_110

MPLSの動作

  1. FECごとにラベルを割り当てる(ラインバイディング)
  2. ラベルの配布(LDPやRSVP-TEなどを使用)
  3. ラベル情報に従ったパケット転送
ito_110ito_110

FEC(Forwarding Equivalence Class)

パケットのグループ
宛先ネットワークやQoSによってグループ分けされている

ito_110ito_110

LSP(Label Switched Path)

MPLS網におけるラベル付きパケットが通過する経路
なお、片方向のみ

ito_110ito_110

LDPラベルバインディング

LECにどのラベルを付けるか関連付けを表したもの

  • 各ルータにローカルで関連付け後、自身のラベルバインディングをネイバーに通知する
  • MPLSにおいてラベルの付け替えに利用する
ito_110ito_110

LDP(Label Distribution Protocol)

ラベルを配布するためのプロトコル
ルーティングプロトコルによる最短経路を使う
Distributionとは「流通」の意味

ito_110ito_110

LDPで使用するメッセージ

Discovery

  • LDPネイバーを検出するためのメッセージ
  • UDP646
  • DiscoveryにてLDP_Discovery_Hello_Messageとしてネイバー検出などに利用される

Session

  • LDPセッションを確立・維持・終了するためのメッセージ
  • TCP646

Advertisement

  • Advertisement:広告という意味
  • ラベル情報を交換するためのメッセージ
  • TCP646

Notification

  • Notification:通知という意味
  • エラーなどを通知するためのメッセージ
  • TCP646
ito_110ito_110

LDP_Discovery_Hello_Message

LDPにおいてLDPネイバー検出に利用されたりする
下記の2種類存在する

LDP Hello Message

ネイバーと直接接続しているLSR(Pルータ)同士でやり取りするメッセージ

LDP Target Hello Message

ネイバーと直接接続していないLSR同士でやり取りするメッセージ

ito_110ito_110

LDPセッションの確立

直接接続している場合

  • LDP Hello Message のマルチキャストにてLDPネイバーの検出
  • 通称:Basic Discovery
  • ルータはアクティブ・パッシブに役割が分けられる
    • IPアドレスが高いルータがアクティブに選出され、TCP接続とパラメータのネゴシエーションを担当する

直接接続していない場合

  • LDP Target Hello MessageのユニキャストにてLDPネイバーの検出
  • 通称:Extend Discovery(拡張ディカバリ)
ito_110ito_110

LDPターゲットセッション

直接接続していないLSR間のセッションをLDPターゲットセッション

ito_110ito_110

MPLS_LDPセッションの保護

タイトルは保護だけど、ニュアンスとしては復旧が近い
LDP Target Hello Messageでバックアップ用のLDPセッションを作成
Hello Messageのプライマリセッションが使用不可でもバックアップですぐ利用できるようになる
基本的にHello MessageでLDPセッションを確立
バックアップ用としてTarget Hello Messageを利用

ito_110ito_110

LDPルータIDの選出方法

  1. router-idコマンドで設定
  2. 最大のループバックIPアドレス
  3. 最大のIPアドレス

OSPFのルータID選出と同じ選出方法

ito_110ito_110

LDPにおけるMD5認証

MD5認証を設定すれば、不正なルータとの接続を拒否できる

ito_110ito_110

LDPにおけるラベルの配布モード

LDPではDU(Downstream Unsolicited)でラベル配布される
→ DUとは一方的にラベル配布するモード

  • Downstream:下流という意味
  • Unsolicited:未承諾という意味

反対に、DoD(Downstream-on-Demand)モードも存在する
ラベル情報の要求があった場合のみラベルを配布す

  • on-Demand:要求があった場合
ito_110ito_110

MPLSで使用するテーブル

RIB(Routing Information Base)

ルーティングプロトコルをもとに生成されるコントロールプレーンのテーブル

FIB(Forwarding Information Base

RIBをもとに生成されるデータプレーンのテーブル
IPパケットを転送る際に使用される

LIB(Label Information Base)

LDPをもとに生成されるされるコントロールプレーンのテーブル

LFIB(Label Forwarding Information Base

LIBをもとにして作成されるコントロールプレーンのテーブル

Ping-t_最強WEB問題集 CCNP ENARSI(300-410)より引用

ito_110ito_110

MP-BGP(Multiprotocol BGP)

MP-BGPは、BGPを拡張してIPv4以外に対応できるようにしたプロトコル
VPNv4アドレス、VPN識別ラベル、RT(Route Target)などを伝えられるという特徴を持つため、MPLS-VPNのPE-PE間で使用される

このスクラップは2024/03/11にクローズされました