マルチプロトコルラベルスイッチング(MPLS)とは、一般的なルーティング処理を使用せず、ネットワーク上に専用の経路を設定する方法です。
この記事を読み終えると、以下のことができるようになります。
関連コンテンツ
是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!
記事のリンクをコピーする
マルチプロトコルラベルスイッチング(MPLS)は、1990年代に開発されたネットワーク接続の高速化技術です。公衆インターネットでは、宛先に到着するまでパケットをルーターから次のルーターへ転送することによって機能しています。一方、MLPSは、あらかじめ決められたネットワーク経路に沿ってパケットを送ります。その結果、パケットは毎回同じ経路を通り、ルーターが各パケットをどこに転送するかの判断時間が短縮されるため理想的です。
長距離のドライブの計画を考えてみましょう。目的地に到達するためにどの町や都市を通らなければならないかを判断するよりも、通常は正しい方向に向かう道路を特定する方が効率的です。同様に、MPLSは一連の中間目的地ではなく、経路(ネットワークにおける「道路」)を特定します。
MPLSは、 OSI参照モデルのレイヤー「2.5」、ネットワーク層(レイヤー3)の下、データリンク層(レイヤー2)の上で作動すると考えられます。
インターネット上で、あるコンピューターから別のコンピューターに送られるデータは一度にすべて送られるのではなく、パケットと呼ばれる小さな断片に分割されます。例えば、このWebページは、一連のパケットとしてあなたのコンピューターまたは端末に送信され、機器によって再度組み立てられて表示されています。各パケットには、送信先のIPアドレス(郵便物の宛先のようなもの)を含む、パケットの送信元と送信先に関する情報が含まれるヘッダーが付加されています。
ルーターは、パケットを目的の宛先に到達させるために、パケットをあるネットワークから次のネットワークに転送し、最終的に宛先IPアドレスが存在するネットワークに到達させる必要があります。そのネットワークが、そのアドレスに関連するデバイスまでパケットを転送します。
ルーターは、パケットを最終的なIPアドレスに転送する前に、まずパケットがどこに行くべきかを判断する必要があります。ルーターは、各パケットの転送方法を示すルーティングテーブルを参照し、これを維持することによってこれを行います。各ルーターは、パケットのヘッダーを調べ、内部のルーティングテーブルを参照し、パケットを次のネットワークに転送します。次のネットワークのルーターも同じ処理を行い、パケットが宛先に到着するまで、このプロセスが繰り返されます。
ルーティングにおけるこのアプローチは、ほとんどの目的で問題なく機能します。インターネットの大部分は、IPアドレスとルーティングテーブルを使用して実行されています。しかし、ユーザーや組織の中には、自分たちが直接制御できる経路でデータをより速く移動させたいと考える人もいます。
一般的なインターネットルーティングでは、個々のルーターが内部のルーティングテーブルに基づいて個々に判断します。同じ宛先の2つのパケットが同じ場所から来ても、最初のパケットが通過した後にルーターがルーティングテーブルが更新されると異なるネットワーク経路を通る場合可能性があります。一方、MPLSでは、パケットは常に同じ経路を通ります。
MPLSを使用するネットワークでは、各パケットに転送等価クラス(FEC)と呼ばれるクラスが割り当てられます。パケットが通ることのできるネットワーク経路をラベル交換パス(LSP)と呼びます。パケットのクラス(FEC)によって、そのパケットがどのパス(LSP)に割り当てられるかが決まります。同じFECを持つパケットは同じLSPをたどります。
各パケットには1つ以上のラベルが付加され、すべてのラベルはMPLSヘッダーに含まれています。MPLSヘッダーはパケットに付加された他のすべてのヘッダーの先頭に追加されます。FECは各パケットのラベルの中に記載されています。ルータはパケットの他のヘッダを検査しないため、IPヘッダは基本的に無視されます。代わりに、パケットのラベルを調べてパケットを正しいLSPに誘導します。
MPLSをサポートするルータは与えられたパケットに付けられたMPLSラベルを見るだけでよいので、MPLSはほとんどすべてのプロトコルで動作することができます(「マルチプロトコル」という名前の由来です)。ルータはパケットの先頭にあるMPLSラベルを読むため、パケットの残りの部分がどのようにフォーマットされているかは関係ありません。
MPLSは、ある特定のMPLSパスを1つの組織だけが使うという意味で、「プライベート」と考えることができます。しかしながら、MPLS はトラフィックを暗号化しません。もしパケットがパスの途中で傍受された場合、それらは読むことができます。仮想プライベートネットワーク(VPN)は暗号化を提供し、ネットワーク接続を真にプライベートな状態に保つための1つの方法です。
コスト:MPLSは、通常のインターネットサービスよりも高価なものになります。
設定時間の長さ:1つまたは複数の大規模ネットワークにまたがる複雑な専用パスを設定するのは時間がかかります。LSPはMPLSベンダーまたはMPLSを使用する組織が手動で設定する必要があります。このため、組織が迅速にネットワークを拡張することは困難です。
暗号化の不足:MPLSは暗号化されません。MPLSのパス上のパケットを傍受する攻撃者は誰でもそれを平文で読むことができます。暗号化は別途セットアップする必要があります。
クラウドの課題:クラウドサービスを使用する組織は、データやアプリケーションが置かれている特定のサーバーにアクセスできないことからクラウドサーバーに直接ネットワーク接続を設定できない場合があります。
MPLSは、スピードと信頼性を重視する場合に使用することができます。ほぼ瞬時のデータ配信を必要とするアプリケーションは、リアルタイムアプリケーションとして知られています。音声通話とビデオ通話は、リアルタイムアプリケーションの2つの一般的な例です。
MPLSは、ワイドエリアネットワーク(WAN)の構築にも利用することができます。しかし、MPLSで構築されたWANは、上述のようにコストが高く、拡張が困難です。Cloudflare Magic WANを使用することで、これらのMPLS接続を、構築が簡単で高価なハードウェアアプライアンスに依存しないクラウドベースのネットワークに置き換えます。詳しくはMagic WANをご覧ください。