マルチプロトコルラベルスイッチング(MPLS)は、ネットワークアドレスではなくラベルに基づいてデータをあるノードから次のノードにルーティングする電気通信ネットワークのルーティング技術です。 [ 1 ]ネットワークアドレスはエンドポイントを識別するのに対し、MPLSラベルはエンドポイント間の確立されたパスを識別します。MPLSはさまざまなネットワークプロトコルのパケットをカプセル化でき、 T1 / E1、ATM、フレームリレー、DSLなどのさまざまなアクセス技術をサポートします。
MPLSはもともと、複雑なルーティングテーブル参照への依存を減らすことでパケット転送を改善するために開発されました。ハードウェアベースの転送エンジンの導入により、転送速度はもはや導入の主な理由ではなくなり、今日のMPLSはトラフィックエンジニアリング、差別化されたサービス品質、BGP /MPLS IP仮想プライベートネットワーク(VPN)によく使用されています。[ 2 ] [ 3 ] [ 4 ] [ 5 ]
MPLSネットワークでは、パケット転送の判断はラベルの内容のみに基づいて行われ、パケット自体を検査する必要はありません。これにより、あらゆるプロトコルを使用して、あらゆる種類の伝送媒体でエンドツーエンドの接続を確立できます。主な利点は、特定のOSIデータリンク層技術への依存を排除し、異なる種類のトラフィックに対応するために複数のレイヤ2ネットワークを用意する必要がなくなることです。マルチプロトコルラベルスイッチングは、パケット交換ネットワークの一種です。
MPLSは、従来のOSI参照モデルにおける第2層(データリンク層)と第3層(ネットワーク層)の中間の層で動作し、しばしば第2.5層プロトコルと呼ばれます。回線交換クライアントとデータグラムサービスモデルを提供するパケット交換クライアントの両方に、統一されたデータ伝送サービスを提供するために設計されました。IPパケットをはじめ、ネイティブの非同期転送モード(ATM)、フレームリレー、同期光ネットワーク(SONET)、イーサネットなど、さまざまな種類のトラフィックを伝送できます。
MPLSは、適切なルーティングプロトコルを使用することで、 IPv4環境とIPv6環境の両方で利用可能です。MPLS開発の主な目的は、ルーティング速度の向上でした。しかし、ASIC、TCAM、CAMベースのスイッチングなど、MPLSラベル付きパケットと同等の速度でプレーンIPv4パケットを転送できる新しいスイッチング方式が登場したため、この目的はもはや重要ではなくなりました。したがって、現在では、MPLSの主な利点は、IPv4ネットワーク上で限定的なトラフィックエンジニアリングとレイヤ3またはレイヤ2のサービスプロバイダ型VPNを実装することにあります。
MPLSはIETFによってRFC 3031で標準化されています。2つの施設から非常に大規模な展開まで、接続するために展開されます。実際には、MPLSは主にIPプロトコルデータユニットと仮想プライベートLANサービス(VPLS)イーサネットトラフィックの転送に使用されます。MPLSの主なアプリケーションは、電気通信トラフィックエンジニアリングとMPLS VPNです。MPLSはインターネットプロトコル(IP)とそのルーティングプロトコル(通常は内部ゲートウェイプロトコル(IGP))と連携して動作し、トラフィックエンジニアリングのサポート、重複するアドレス空間を持つレイヤVPNの伝送機能、およびさまざまなトランスポートペイロード( IPv4、IPv6 、ATM、フレームリレーなど)を伝送できるレイヤ2擬似回線を備えた動的で透過的な仮想ネットワークの作成をサポートします。
1996 年、 Ipsilon Networksのグループがフロー管理プロトコルを提案しました。[ 6 ] ATM 上でのみ動作するように定義された彼らのIP スイッチング技術は、市場を席巻することはありませんでした。Cisco Systems は、ATM 伝送に限定されない関連提案であるTag Switching [ 7 ]と Tag Distribution Protocol (TDP) を発表しました。[ 8 ]これは Cisco 独自の提案であり、Label Switchingと改名されました。これは、オープンな標準化のためにインターネット技術タスク フォース(IETF)に引き渡されました。IETF は 1997 年に MPLS ワーキング グループを設立しました。作業には、他のベンダーからの提案と、複数のベンダーの作業の特徴を組み合わせた合意プロトコルの開発が含まれていました。[ 9 ]
しばらくして、Girish ChandranmenonとGeorge Vargheseによるスレッドインデックスの研究が、タグ切り替えの中心となる宛先プレフィックスを表すためにラベルを使用するというアイデアを生み出したことが認識された。[ 10 ]
当初の動機の一つは、長期間にわたり、IPパケットを完全にハードウェアで転送することは非現実的だと考えられていたため、単純な高速スイッチの作成を可能にすることでした。VLSIと転送アルゴリズムの進歩により、IPパケットのハードウェア転送が可能になり、一般的になっています。MPLSの現在の利点は、主に複数のサービスモデルをサポートし、トラフィック管理を実行できることにあります。MPLSはまた、同期光ネットワーク(SONET/SDH)の単純な保護リングを超える堅牢な回復フレームワーク[ 11 ]を提供します。
フレームリレーやATMなど、基本的に同じ目的でこれまで様々な技術が展開されてきました。フレームリレーとATMはラベルを使用して、ネットワークを介してフレームまたはセルを転送します。フレームリレーフレームとATMセルのヘッダーは、フレームまたはセルが存在する仮想回線を参照します。フレームリレー、ATM、およびMPLSの共通点は、ネットワーク全体を通して各ホップでヘッダーのラベル値が変更されることです。これはIPパケットの転送とは異なります。[ 12 ]
MPLS技術は、ATMの長所と短所を考慮して進化してきました。MPLSは、可変長フレームの接続指向サービスを提供しながらATMよりもオーバーヘッドを低くするように設計されており、市場でATMの使用の大部分を置き換えています。 [ 13 ] MPLSは、ATMのセル交換とシグナリングプロトコルの負担を排除します。MPLSは、現代の光ネットワークは、全長1500バイトのパケットでもリアルタイムのキューイング遅延がほとんど発生しないほど高速であるため、現代のネットワークの中核に小さなATMセルは必要ないことを認識しています。[ a ]同時に、MPLSは、フレームリレーとATMを大規模ネットワークの展開に魅力的なものにしたトラフィックエンジニアリング(TE)と帯域外制御を維持しようとしています。
MPLSは、パケットの先頭に1つ以上のラベルを含むMPLSヘッダーを付加することで機能します。これはラベルスタックと呼ばれます。
ラベルスタックの各エントリには、次の4つのフィールドが含まれています。
これらのMPLSラベル付きパケットは、IPルーティングテーブルを参照するのではなく、ラベルに基づいてスイッチングされます。MPLSが考案された当時、ラベルスイッチングはルーティングテーブルを参照するよりも高速でした。これは、スイッチングがスイッチングファブリック内で直接行われ、CPUやソフトウェアの関与を回避できたためです。
このようなラベルの存在はスイッチに通知されなければならない。イーサネットフレームの場合、これはユニキャスト接続とマルチキャスト接続それぞれに対して、 EtherType値0x8847と0x8848を使用することによって行われる。[ 17 ]
ラベルのみに基づいてルーティングを実行するMPLSルータは、ラベルスイッチルータ(LSR)またはトランジットルータと呼ばれます。これはMPLSネットワークの中間に位置するルータの一種で、パケットのルーティングに使用されるラベルを切り替える役割を担います。
LSR(ラベルスイッチルーター)はパケットを受信すると、パケットヘッダーに含まれるラベルをインデックスとして使用し、ラベルスイッチパス(LSP)上の次のホップと、ラベル情報ベースからパケットに対応するラベルを決定します。その後、古いラベルはヘッダーから削除され、新しいラベルに置き換えられてから、パケットは転送されます。
ラベルエッジルータ(LER、エッジLSR(技術的にはより正確)[ 18 ]、または単にエッジルータ[ 19 ]とも呼ばれる)は、MPLSネットワークのエッジで動作し、ネットワークのエントリポイントとエグジットポイントとして機能するルータです。LERは、受信パケットにMPLSラベルをプッシュし[ b ]、送信パケットからラベルを削除します。あるいは、最後から2番目のホップでラベルを削除する場合、この機能はLERに直接接続されたLSRによって実行されることもあります。[ c ]
LERは、 IPデータグラムをMPLSドメインに転送する際、ルーティング情報を使用して適切なラベルを決定し、パケットにラベルを付けてから、ラベル付きパケットをMPLSドメインに転送します。同様に、MPLSドメインから出る予定のラベル付きパケットを受信すると、LERはラベルを削除し、通常のIP転送ルールを使用して結果として得られるIPパケットを転送します。
MPLSベースの仮想プライベートネットワーク(VPN)の特定のコンテキストでは、VPNへのイングレスまたはエグレスルータとして機能するLERは、プロバイダエッジ(PE)ルータと呼ばれることが多い。トランジットルータとしてのみ機能するデバイスも同様にプロバイダ(P)ルータと呼ばれる。[ 20 ] Pルータの仕事は、PEルータの仕事よりもはるかに簡単である。
ラベルは、ラベル配布プロトコル(LDP)[ 21 ]またはリソース予約プロトコル(RSVP)[ 22 ]を使用して、LERとLSR間で配布される場合があります。MPLSネットワーク内のLSRは、標準化された手順を使用してラベルと到達可能性情報を定期的に相互に交換し、ネットワークの完全なイメージを構築して、その情報を使用してパケットを転送できるようにします。
ラベルスイッチパス(LSP)は、ネットワーク事業者がさまざまな目的で確立するもので、ネットワークベースのIP仮想プライベートネットワークの構築や、ネットワーク内の指定されたパスに沿ってトラフィックをルーティングするために使用されます。LSPは、特定のレイヤ2技術に依存しないという点を除けば、ATMやフレームリレーネットワークにおけるパーマネント仮想回線(PVC)と多くの点で違いはありません。
ラベルのないパケットがイングレスルータに入り、MPLSトンネルに転送する必要がある場合、ルータはまずパケットの転送等価クラス(FEC)を判定し、次にパケットに新しく作成されたMPLSヘッダーに1つ以上のラベルを挿入します。その後、パケットはこのトンネルの次のホップルータに転送されます。
OSIモデルの観点から見ると、MPLSヘッダーはネットワーク層ヘッダーとリンク層ヘッダーの間に追加されます。[ 23 ]
MPLSルータがラベル付きパケットを受信すると、最上位のラベルが調べられます。ラベルの内容に基づいて、パケットのラベルスタックに対してスワップ、プッシュ[ d ]、またはポップ[ e ]操作が実行されます。ルータは、受信パケットの最上位ラベルに基づいてどの操作を実行するかを指示する事前構築済みのルックアップテーブルを持つことができ、パケットを非常に迅速に処理できます。
これらの処理中、MPLSラベルスタックより下のパケットの内容は検査されません。実際、トランジットルータは通常、スタックの最上位ラベルのみを検査すれば十分です。パケットの転送はラベルの内容に基づいて行われるため、プロトコルに依存しないパケット転送が可能となり、プロトコル依存のルーティングテーブルを参照する必要がなくなり、各ホップでの高コストなIP最長プレフィックス一致処理を回避できます。
出力ルータでは、最後のラベルが削除されると、ペイロードのみが残ります。これはIPパケットでも、その他の種類のパケットでも構いません。出力ルータは、ラベルルックアップテーブルを使用せずにパケットのペイロードを転送する必要があるため、ペイロードのルーティング情報を保持していなければなりません。MPLSトランジットルータには、このような要件はありません。
通常[ f ]、最後のラベルは最後から2番目のホップ (出力ルータの前のホップ) でポップされます。これは最後から2番目のホップ ポップ(PHP) と呼ばれます。これは、出力ルータが MPLS トンネルから出るパケットを多数抱え、これらの遷移に相当な CPU リソースを消費している場合に役立ちます。PHP を使用することで、この出力ルータに直接接続されているトランジットルータは、最後のラベルを自身でポップすることにより、出力ルータの負荷を効果的に軽減できます。ラベル配信プロトコルでは、この PHP ラベル ポップ アクションはラベル値 3 (暗黙の null) として通知され、ラベルには含まれません。これは、ラベルがポップされることを意味するためです。
エンドツーエンドのQoS管理[ 24 ]や6PE [ 25 ]など、いくつかのMPLSサービスでは、最後から2番目のMPLSルータと最後のMPLSルータの間でラベルを保持し、ラベルの処理は常に最後のMPLSルータで行われる、究極ホップポップ(UHP)[ 26 ] [ 27 ]が必要です。この用途のために、特定のラベル値がいくつか予約されています[ 28 ] [ 29 ]。このシナリオでは、残りのラベルスタックエントリが最後のホップに情報(QoS情報のためのトラフィッククラスフィールドなど)を伝えると同時に、最後のホップに、次の予約済みラベル値のいずれかを使用してラベルスタックをポップするように指示します。
MPLSヘッダーは、MPLSパス内で伝送されるデータの種類を識別しません。同じ2つのルータ間で2種類の異なるトラフィックを伝送し、それぞれのトラフィックに対してコアルータによる異なる処理を行うには、トラフィックの種類ごとに個別のMPLSパスが必要です。
ラベルスイッチパス(LSP)とは、NMSまたはLDP、RSVP-TE、BGP(あるいは現在非推奨となっているCR-LDP )などのシグナリングプロトコルによって設定されるMPLSネットワーク上のパスです。パスはFECの基準に基づいて設定されます。
パスはLERから始まり、LERは適切なFECに基づいてパケットにプレフィックスするラベルを決定します。次に、パケットをパス上の次のルータに転送し、次のルータはパケットの外側のラベルを別のラベルに交換して、さらに次のルータに転送します。パス上の最後のルータはパケットからラベルを削除し、次のレイヤ(例えばIPv4)のヘッダーに基づいてパケットを転送します。LSPを介したパケットの転送は上位のネットワークレイヤからは見えないため、LSPはMPLSトンネルと呼ばれることもあります。
パケットに最初にMPLSヘッダーを付加するルータは、イングレスルータと呼ばれます。LSPの最後のルータで、パケットからラベルを取り出すルータは、エグレスルータと呼ばれます。その間にある、ラベルの交換のみを行うルータは、トランジットルータまたはラベルスイッチルータ(LSR)と呼ばれます。
LSPは単方向であることに注意してください。LSPは、MPLSネットワークを介してパケットをあるエンドポイントから別のエンドポイントへラベルスイッチングすることを可能にします。双方向通信が一般的に求められるため、前述の動的シグナリングプロトコルは、反対方向のLSPを自動的に設定できます。
リンク保護を考慮する場合、LSPはプライマリ(稼働中)、セカンダリ(バックアップ)、およびターシャリ(最終手段となるLSP)に分類できます。
MPLS パスを管理するための標準化されたプロトコルは 2 つあります。ラベル配布プロトコル(LDP) と、トラフィック エンジニアリングのためのリソース予約プロトコル(RSVP)の拡張であるRSVP-TEです。[ 30 ] [ 31 ]さらに、 MPLS パスの管理に使用できるBorder Gateway Protocol (BGP)の拡張も存在します。 [ 20 ] [ 32 ] [ 33 ]
マルチキャストは、ほとんどの場合、MPLS 設計における後付けの機能でした。これは、ポイントツーマルチポイント RSVP-TE によって導入されました。[ 34 ]これは、MPLS 上でブロードバンド ビデオを伝送するというサービス プロバイダの要件によって推進されました。
ハブアンドスポーク型マルチポイントLSP(HSMP LSP)もIETFによって導入されました。HSMP LSPは主にマルチキャスト、時刻同期などの用途に使用されます。
MPLS は、インターネット プロトコル (IP) およびそのルーティング プロトコル (通常は内部ゲートウェイ プロトコル(IGP)) と連携して動作します。 MPLS LSP は、トラフィック エンジニアリングのサポート、重複するアドレス空間を持つレイヤ 3 (IP) VPN を伝送する機能、およびさまざまなトランスポート ペイロード( IPv4、IPv6 、ATM、フレーム リレーなど)を伝送できるPseudowire Emulation Edge-to-Edge (PWE3) [ 35 ]を使用したレイヤ 2擬似ワイヤのサポートを備えた動的で透過的な仮想ネットワークを提供します。 MPLS 対応デバイスは LSR と呼ばれます。 LSR が認識するパスは、明示的なホップ バイ ホップ構成を使用して定義することも、制約付き最短パス優先(CSPF) アルゴリズムによって動的にルーティングすることも、特定の IP アドレスを回避する、または部分的に明示的で部分的に動的である緩やかなルートとして構成することもできます。
純粋なIPネットワークでは、経路が混雑した場合でも、宛先への最短経路が選択されます。一方、MPLSトラフィックエンジニアリングCSPFルーティングを備えたIPネットワークでは、通過するリンクのRSVP帯域幅などの制約も考慮することができ、利用可能な帯域幅を持つ最短経路が選択されます。MPLSトラフィックエンジニアリングは、Open Shortest Path First(OSPF)またはIntermediate System to Intermediate System(IS-IS)およびRSVPへのTE拡張機能の使用に依存しています。RSVP帯域幅の制約に加えて、ユーザーは、リンク属性と、特定の属性を持つリンクを介してトンネルをルーティングする(またはルーティングしない)ための特別な要件を指定することによって、独自の制約を定義することもできます。[ 36 ]
エンドユーザーにとって、MPLSの使用は直接目に見えませんが、tracerouteを実行すると推測できます。完全なIPルーティングを行うノードのみがパス上のホップとして表示され、その間で使用されるMPLSノードは表示されません。したがって、パケットが非常に遠い2つのノード間をホップし、そのプロバイダのネットワーク(またはAS )で他のホップがほとんど見られない場合、そのネットワークはMPLSを使用している可能性が非常に高いです。
IPレイヤでリカバリメカニズムが採用されている場合、ネットワーク要素の障害発生時には復旧に数秒かかることがあり、VoIPなどのリアルタイムアプリケーションには許容できない場合があります。[ 37 ] [ 38 ] [ 39 ]対照的に、MPLSローカル保護は、最短経路ブリッジングネットワークやSONETリングと同等の50ms未満の復旧時間でリアルタイムアプリケーションの要件を満たします 。[ 37 ] [ 39 ] [ 40 ]
MPLSは、ラベル付きフローをATMまたはフレームリレーの仮想回線識別子にマッピングできるため、既存のATMネットワークまたはフレームリレーインフラストラクチャを利用できます。また、その逆も可能です。
フレームリレーは、既存の物理リソースをより効率的に利用することを目的としており、通信事業者が顧客に対してデータサービスを過少に提供することを可能にしています。これは、顧客がデータサービスを常に100%利用するとは限らないためです。結果として、通信事業者が容量を過剰に契約することは、プロバイダーにとっては経済的に有利である一方で、全体的なパフォーマンスに直接影響を与える可能性があります。
通信事業者は、専用線よりも安価な代替手段を求める企業にフレームリレーを販売することが多かった。その利用状況は、地域によって政府や通信会社の政策に大きく左右された。
多くの顧客がフレームリレーからIPまたはイーサネット上のMPLSに移行し、多くの場合、コストが削減され、広域ネットワークの管理性とパフォーマンスが向上しました。[ 41 ]
基盤となるプロトコルや技術は異なるものの、MPLSとATMはどちらもコンピュータネットワークを介してデータを転送するためのコネクション指向型サービスを提供します。どちらの技術においても、エンドポイント間で接続がシグナリングされ、パス上の各ノードで接続状態が維持され、カプセル化技術を用いて接続を介してデータが伝送されます。シグナリングプロトコル(MPLSではRSVP/LDP、 ATMではPNNI)の違いを除いても、両技術の動作には依然として大きな違いがあります。
最も大きな違いは、伝送方式とカプセル化方式にあります。MPLSは可変長パケットに対応できるのに対し、ATMは固定長(53バイト)のセルを使用します。ATMネットワークでは、適応レイヤーを使用してパケットを分割、伝送、再構成する必要があり、データストリームにかなりの複雑さとオーバーヘッドが加わります。一方、MPLSは各パケットの先頭にラベルを付加するだけで、ネットワーク上で送信できます。
接続の性質にも違いがあります。MPLS接続(LSP)は単方向であり、2つのエンドポイント間でデータが一方向にのみ流れることができます。エンドポイント間で双方向通信を確立するには、一対のLSPを確立する必要があります。2つのLSPが使用されるため、順方向に流れるデータは逆方向に流れるデータとは異なるパスを使用する場合があります。一方、ATMポイントツーポイント接続(仮想回線)は双方向であり、同じパスでデータが両方向に流れることができます。[ g ]
ATMとMPLSはどちらも、接続内部の接続のトンネリングをサポートしています。MPLSはラベルスタッキングを使用してこれを実現するのに対し、ATMは仮想パスを使用します。MPLSは複数のラベルをスタックして、トンネル内にトンネルを形成できます。ATMの仮想パスインジケータ(VPI)と仮想回線インジケータ(VCI)はどちらもセルヘッダーに一緒に伝送されるため、ATMのトンネリングレベルは1つに制限されます。
MPLSがATMよりも優れている最大の利点は、当初からIPとの相補性を考慮して設計されている点です。最新のルーターは、共通のインターフェースを介してMPLSとIPの両方をネイティブにサポートできるため、ネットワーク事業者はネットワークの設計と運用において大きな柔軟性を得ることができます。一方、ATMはIPとの互換性が低いため、複雑な適応が必要となり、今日のIP中心のネットワークには比較的適していません。
MPLSはIETFによってRFC 3031で標準化されています。2つの施設を接続する小規模なネットワークから、非常に大規模なネットワークまで幅広く展開されています。実際には、MPLSは主にIPプロトコルデータユニット(PDU)と仮想プライベートLANサービス(VPLS)イーサネットトラフィックの転送に使用されます。MPLSの主な用途は、通信トラフィックエンジニアリングとMPLS VPNです。
MPLSは当初、IPネットワークにおける高性能なトラフィック転送とトラフィックエンジニアリングを実現するために提案されました。しかし、その後、汎用MPLS (GMPLS)へと進化し、SONET/SDHネットワークや波長切り替え光ネットワークといった、ネイティブIPネットワーク以外のネットワークにおいてもLSP(ローカルサービスプロバイダー)を作成できるようになりました。
MPLS は、適切なルーティング プロトコルを使用することで、 IPv4環境とIPv6環境の両方で存在できます。MPLS 開発の主な目標は、ルーティング速度の向上でした。[ 43 ]この目標は、ASIC、 TCAM 、CAMベースのスイッチングなど、 MPLS ラベル付きパケットと同じ速度でプレーン IPv4 を転送できる新しいスイッチング方式の使用により、もはや重要ではなくなりました。 [ 44 ]したがって、現在、MPLS の主な利点は、IPv4ネットワーク上で限定的なトラフィック エンジニアリングとレイヤ 3 またはレイヤ 2 サービス プロバイダタイプの VPN を実装することです。[ 47 ]
{{cite journal}}: CS1 maint: 複数の名前: 著者リスト (リンク){{cite web}}: CS1 maint: 複数の名前: 著者リスト (リンク){{cite book}}: CS1 maint: 複数の名前: 著者リスト (リンク)