Multiprotocol Label Switching
わかっていること。MPLSは、IP-VPNで使用されている技術である。ラベルを付与するルータと剥離するルータが存在し、その二つのルータ間ではIPアドレスではなくラベルを見てパケットが転送される。
なぜMPLSが必要なのか?
1) 中継するルータごとにルーティングテーブルを参照すると、時間がかかるため。MPLSの目的は高速な転送=高速な通信である。
2) 論理回線を作成することにより効率的に回線を使用できる。ただしこれはMPLSだけでなくATMとかパケット交換方式の通信全般に言えることである。
ATMも論理回線を作成するときいたがMPLSはそれとどう違うのか?
cross-connectって何?
L2トンネルって何?そもそもトンネルって何?L3トンネルってあるの?
l2、l3という言葉をよく聞くが、L2は下等な通信、高速だが単純で簡単な機能しかないと考えている。実用のためにはそれをL3=ネットワーク層で制御せねばならない、それがネットワークエンジニアの仕事であり、それをおこなっているのがな「ルーター」である。ルーターのほうがスイッチより高度な機能を持つ高級な、インテリジェントな機器である・・・と。ところが最近は「L3スイッチ」という、ルーターとスイッチのアイノコみたいな機種が出てきて、しかもスイッチという名がつくにもかかわらずルーターより処理速度が速いというのである。
インターネットなどの公衆回線網上に、ある2点間を結ぶ閉じられた仮想的な直結通信回線を確立すること。ネットワーク上に外部から遮断された見えない通り道を作るように見えることからトンネルと呼ばれるようになった。本来通信を行ないたいプロトコルで記述されたパケットを、別のプロトコルのパケットで包んで(カプセル化)送り届けることにより通信を行なう。パケットのカプセル化とその解除はトンネルの両端の機器が自動的に行なうため、トンネルで結ばれた機器同士は途中の通信方式や経路を気にする必要はなく、あたかもトンネルの両端の機器が直結しているように見える。
と、用語辞典にある。MPLSとはトンネリングの一種である、と言えるのだろうか。また、ある書籍ではMPLSは郵便番号にたとえられていた。郵便局の局舎間の中継においては荷札の住所ではなく、郵便番号によって行われる。郵便番号の数は、住所より少ない。住所を束ねたかたまりが郵便番号である。住所を郵便番号に変換する作業は膨大なものになるが、郵便物を投函するものが各自で行えばそれほどの負担ではない。郵便番号から住所への変換は、最終目的地を管轄する郵便局の局舎に届いたものだけだから、この作業もそれほど膨大にはならない。ただし、局舎間の転送には、郵便番号表が必要になる。それを製作して配布して維持していくのは大変だろう。それを解決するのがルーティングではなかったのか?そう、わたしはルーティングをもっと有効に使おう、そのほうが簡単じゃないか、という考えなのである。
これをMPLSに置き換えるとどうだろうか。IP-VPNのような通信網の利用者が、ラベルを設定する。
利用者は始点と終点のラベルを任意に設定し、VPN業者がそのラベルと物理的なルーターとを関連付ける。VPN網間は、ラベルを参照することでルーティングを必要とせずに最終目的地へ高速に転送される。
ここで疑問が生じる。VPN網ないにも複数台のルーターが存在する。通常のTCP/IPの通信であればパケットのIPアドレスを参照して自分が保持しているルーティングテーブルを検索して宛先のネクストホップあるいは出力インタフェースに転送する。もしくは、宛先がわからないという理由で破棄する。MPLSではラベルを付与してそのラベルを参照する。さて、そのラベルにはどのような形式で宛先ルータが記載されているのだろうか?もしかして、転送する経路上のルータに逐一ラベルに対応する宛先を定義していくのだろうか?それしか考えられない。そうしなければ通信は成立しない。
しかしそんなことをしたら障害を迂回するなどの網としての機能がなくなってしまうし、回線も論理的とは言え固定されたものになってしまう。でも、それは非常に手間のかかる作業に思える。それでもいままでのルーティングよりもメリットがあるのだろう。