MPLS
パケットにラベルと呼ばれる短い識別子を付け、網の中のルータが、IPアドレスではなくその識別子を見て転送する技術。通信事業者のIP-VPNや、経路を指定した転送(トラフィックエンジニアリング)に使われる。
イマシルちゃんの解説
MPLSは、パケットに短い識別子のラベルを添えて運ぶ転送技術だよ。
通信事業者のネットワークの入口で、宛先などに応じた識別子を選ぶんだ。
途中のルータはIPアドレスを調べ直す代わりに、この識別子と対応表から次の送り先を決めるよ。
中継するときは、次の区間で使う値に付け替えながら進めるの。
こうすると、通したい経路をあらかじめ指定して通信を流すこともできるんだ。
混雑を避けるなど、網全体の使い方に合わせて転送を制御するのに役立つよ。
この解説はわかりやすかったですか?
より深い解説
定義
MPLS(Multi-Protocol Label Switching)は、RFC 3031などで定められた、ラベルを使ってパケットを転送する技術である。レイヤ2のヘッダーとIPヘッダーの間にMPLSのヘッダー(シムヘッダー、4オクテット)を挿入するため、「レイヤ2.5」の技術とも呼ばれる。IP以外のプロトコルも運べることから、Multi-Protocol と名付けられている。
仕組み
| 機器 | 役割 |
|---|---|
| 入口のルータ(Ingress LER) | パケットの宛先などから、通る経路(LSP)を決め、ラベルを付ける(push) |
| 中継のルータ(LSR) | ラベルだけを見て、ラベルの対応表に従って、ラベルを付け替え(swap)て転送する |
| 出口のルータ(Egress LER) | ラベルを取り除いて(pop)、元のIPパケットとして転送する |
ラベルの対応は、LDPなどのプロトコルでルータの間に配る。網の中では、IPアドレスによる経路表の検索(ロンゲストマッチ)をせず、固定長のラベルの照合だけで転送できる。
IP-VPNでは、利用者側のCEルータから受け取ったパケットに、入口のPEルータがラベルを付け、出口側で取り外して相手拠点へ届ける。通信事業者網の内部ルータは、利用者ネットワークごとの宛先をすべて直接検索する代わりに、外側のラベルに従って転送できる。
実際のMPLSでは、出口の一つ手前で最上位ラベルを外すPHP(Penultimate Hop Popping)もある。したがって、すべてのラベルを必ず出口PEだけが取り除くわけではない。ラベルスタックを使うVPNでは、外側の輸送用ラベルと内側のVPNを識別するラベルを区別する。
MPLSヘッダー(シムヘッダー)
ラベルは、何枚も重ねて付けられる(ラベルスタック)。
主な用途
| 用途 | 内容 |
|---|---|
| IP-VPN(MPLS-VPN) | 利用者ごとに異なるラベルを使い、通信事業者の網の中で、複数の企業の通信を分ける。企業どうしでIPアドレスが重なっていてもよい |
| トラフィックエンジニアリング | 経路を明示的に指定して、混んでいる区間を避けたり、帯域を確保したりする |
| 高速な切替え | 障害時に、あらかじめ用意した迂回経路にすばやく切り替える |
似た用語との区別
| 用語 | 内容 |
|---|---|
| MPLS | ラベルによるパケット転送の技術 |
| IPsec | IPに暗号化や認証のセキュリティ機能を加える |
| L2TP | L2FとPPTPを統合した、データリンク層のトンネリングプロトコル |
| PPTP | PPPのフレームをIPパケットでカプセル化して、インターネットを通過させるトンネリングプロトコル |
MPLS自体には暗号化の機能はない。IP-VPNの安全性は、通信事業者の閉じた網と、ラベルによる利用者の分離に基づいている。
障害箇所の近くで切り替える
ファストリルートは、障害に備えた迂回経路を利用して、通信をすばやく切り替える考え方である。MPLSのRSVP-TEでは、バックアップのLSPを準備し、障害箇所の近くで局所的に切り替える仕組みがRFC 4090で定められている。IPの経路制御にも、別の方式による高速な迂回がある。
事前の準備を使う局所的な復旧と、障害情報が広がった後にネットワーク全体で経路を再計算する収束は、役割と時間軸が異なる。どの障害を保護できるかは構成に依存し、多重障害まで無条件に回避できるわけではない。
ラベルスイッチングは、ラベルを参照してパケットを転送することを指す。高速な迂回や、BGPの経路配布の集約と同じ意味ではない。