最小のネットワーク。 パート10。 基本的なMPLS

架空の会社linkmeupのネットワークは成長しています。 彼女はすでにさまざまな都市に幹線、顧客ベース、SDSMサイクルで育った優秀なエンジニアスタッフを抱えています。
しかし、それだけでは十分ではありません。 ブロードバンドサービスは適切で必要ですが、VPNを必要とする企業クライアントにとってはまだ大きな潜在市場があります。
みんなはそれについて考え、困惑し、MPLSなしではできないという結論に達しました。

マルチキャストがIPネットワークの理解の再構築を必要とする最初のトピックであった場合、MPLSを学習するとき、以前に知っていたほとんどすべてを忘れる必要があります-これは独自のルールを持つ特別な世界です。



今日の問題:


そして、「IPの何が問題なのですか?」という質問から始めます。




従来のビデオ

そして本当に、何が悪いのでしょうか? MPLSをフェンスする理由

はい、そうです。 IPの長所と短所は、IPが従来のネットワークよりも遅く登場し、非常に柔軟であるという事実に起因しています。 今日では、ネットワークレベルのIPに基づいたあらゆる場所でのパケットスイッチングへの移行があり、チャネルイーサネットはますます人気を集めています。
1つのバックボーンネットワークとアクセスネットワークに基づいて、 ブロードバンドアクセス 、IPテレフォニー、IPTV、およびその他の可能なサービスを提供できるため、これは良いことです。
同じことが携帯電話会社のネットワークでも見られます。 夜明けの第二世代ネットワークは完全に回線交換に基づいていた。 ほとんどの場合、3Gネットワ​​ークのコアはすでにIPですが、回線交換モードでも電話サービスを提供できます。 4Gネットワ​​ークはすでに本格的なIPネットワークであり、音声伝送はブロードバンドアクセスと同様にアプリケーションの1つにすぎません。

ただし、古い技術が使用されているセグメントはまだ多数あります。 たとえば、ATMのある場所では、別の場所でネットワークのある部分から別の部分にPDHを転送する必要があり、クライアントは自分のイーサネットネットワークが直接接続されているかのように、つまりVPNのように都市の反対側からアクセスできることを望んでいました。
以前に決定されたように、2つの地理的ポイント間にATMが必要です-ATM、PDHに基づいてそれらの間にチャネルを構築します-PDHを構築します。
ただし、これらすべてを1つのネットワークを介して行い、トラフィックのタイプごとに個別のネットワークを構築する必要はありません。
このために、当時、GRE、PPPoE、PPPoA、ATM over Ethernet、TDM over IP、および他の多くのものが発明されました。 すでにすべての組み合わせをカバーするためにさらに1000個を作成できます。そして、標準の混乱の中で普遍的な幸福がもたらされます( ちなみに、いくつかの小さなメーカーがこの道を選んでいます )。

90年代半ばに、いくつかの企業(IBM、東芝、シスコ、イプシロン)のホットヘッドが発生し、ルーティング中にパケットの内部を見ずに、より良い方法を求めてルーティングテーブルをくまなく特定のラベルでナビゲートできるメカニズムを作成しました。 シスコで撮影された、メカニズムはプレーンと名付けられました:TAGスイッチング。
さらに、開発者が追求した目標は、高速スイッチがハードウェアのみでトラフィックを送信できるようにすることでした。 実際、ハードウェアIPルーティングは長い間アクセスできなかった喜びであり、低コストのスイッチで使用することは非実用的であり、ラベルに基づいて決定することは簡単かつ迅速です。
しかし同時に、超大規模集積回路が登場しましたが(この用語には同意しませんが、英語のVLSIは本質をはるかによく説明しています)、パッケージの内容の分析を節約するタスクはそれほど急にはなりませんでした。 さらに、FIBの概念が登場しました。これは、各パケットについて、ルーティングテーブルで宛先を検索する必要がなく、それに応じて中央プロセッサが関与することを示唆しています。すべてのホット情報はすでにラインカード上にあります。
つまり、実際には、このようなメカニズムの必要性はなくなりました。

しかし、 突然 、ラベルスイッチングには計画外の可能性があることが明らかになりました-IP、イーサネット、ATM、フレームリレーなど、ラベルの下にあるものは関係ありません。 また、IPルーティングの制限を取り除くことができます。
これは、IETF承認のMPLS-MultiProtocol Label Switchingテクノロジーの起源です。 1997年でした。
そして、この一見取るに足りない詳細が、電気通信の新しい時代を生み出しました。 現在、MPLSは多かれ少なかれ大規模なプロバイダーにあります。

現在MPLSの主なアプリケーション:


それぞれについて個別の記事で説明します-これらは非常に大きなトピックです。 ただし、記事の最後で簡単に触れます。


MPLS


純粋なMPLSのみが使用されることはほとんどありません。 FIBの表示/ヘッダーの一部のフィールドの変更とラベルのテーブルの表示/ MPLSヘッダーのラベルの変更の違いはそれほど大きくないため、パフォーマンスの向上はわずかです。 もちろん、上記のアプリケーションが使用されます。
ただし、この記事では、最も基本的な形式での動作を理解するために、純粋なMPLSに焦点を当てています。
以下では 、純粋なMPLSの1つのアプリケーションも検討します。

MPLSは、それが動作するネットワークのタイプに結び付けられていないという事実にもかかわらず、現在ではIPとのみ共生しています。 つまり、ネットワーク自体はIP上に構築されますが、同時に他の多くのプロトコルからデータを転送できます。
しかし、すでにポイントに行きましょう。最初に、 MPLSはIPルーティング代わるものではなく 、その上で動作することを述べたいと思います。

具体的には、このようなネットワークを取り上げます。



現在は完全な動作状態ですが、MPLSのヒントはありません。 つまり、たとえば、R1はR6を認識し、そのループバックをpingできます。
PC1はICMP要求をサーバー172.16.0.2に送信します。 ICMP要求はIPパケットです。 R1では、基本原則に従って、パケットはR2のFE0 / 0インターフェイスを通過します-ルーティングテーブルはそう述べています。
パケットを受信した後、R2は宛先アドレスをチェックし、そのFIBを調べ、次のルーターを見つけて、パケットをFE0 / 0インターフェイスに送信します。
そして、このプロセスは何度も繰り返されます。 各ルーターは、パケットの運命を独自に決定します。

これは、トラフィックダンプが非常によく見える方法です。



MPLSをアクティブにするとどうなりますか? すぐに、その瞬間に世界は変わります。 その後、ラベルテーブルがルーターに入力され、複数のLSPが構築されます。

そして今、同じパスが少し異なって行われます。



PC1からのIPパケットがMPLSネットワークに入ると、最初のルーターがラベルを切断し、このパケットが宛先に送られ、後続の各ルーターがラベルを別のものに変更します。 MPLSネットワークを終了すると、ラベルは削除され、クリーンIPパケットが最初に送信されたように送信されます。

これがMPLSの基本原則です。ルーターは、MPLSパケットの内部を見ることなくラベルによってパケットを切り替えます。 最初のものは追加し、最後のものは削除します。

PC1から宛先ノードへのデータパケットの段階的な転送を見てみましょう。

1. PC1-通常のコンピューター-通常のパケットをリモートサーバーに送信します。

2.パッケージがR1に届きます。 18のラベルを追加します。IPヘッダーとイーサネットの間に挿入されます。
彼はFIBからこの情報を取得できます。



FIBは、宛先6.6.6.6のパケットに18のラベルを付け、 FE0 / 0インターフェイスに送信する必要があることを示しています。
実際、彼はこれを行います。彼は見出しを追加し、18を書き込みます。


R1とR2の間のダンプ

3. R2はこのパケットを受信し、イーサネットヘッダーでMPLSパケット(Ethertype 8847)であることを確認し、ラベルを読み取り、そのラベルテーブルを参照します。





MPLSパケットにラベル18が付いていた場合、20に変更し、FE0 / 0インターフェイスにパケットを送信する必要があります。


R2の後にダンプします。

4. R5は同様のアクションを実行しますラベル20のパケットが到着したことを確認し、0に変更してFE1 / 0に送信する必要があります。 ルーティングテーブルへの参照なし。

5. MPLSパケットを受信したR6は、ラベルをチェック解除する必要があることをテーブルで確認します。 それを削除すると、彼はすでにパケットの宛先-172.16.0.2-が直接接続されたネットワークであることを確認しました。 さらに、パケットはラベルなしでルーティングテーブルに沿って通常の方法で送信されます。

つまり、プロセス全体は次のようになります。


スキームを複雑にしないために、エンドノードは考慮しません。

これまでのところ、すべてが単純なように見えますが、理由は明らかではありません。

現在、IGPとMPLSドメインは一致しており、MPLSは将来、L2VPN、L3VPN、MPLS TEの利点のみを約束します。
しかし、実際、私たちがプロバイダーであることを思い出すと、基本的なMPLSでも利点があります。
プロバイダーとして、AS間のルーティングにIGPプロトコルを使用しません。 このために、BGPを使用します。 また、MPLSの利点が明らかになるのは、BGPと連動しています。
ネットワークを近隣ASと組み合わせて検討してください。



BGPリリースから、ASのルーターでBGPを構成する必要があることがわかります。 そうしないと、ASを介して近隣のASおよびお客様にトラフィックを送信できなくなります。 各ルーターはすべてのルートを知っている必要があります。

しかし、それはMPLSの前でした!
ネットワークでMPLSを構成すると、ネットワーク内の各ルーターでBGPを構成する必要がなくなります。 ASの境界ルーター、他のクライアントまたはプロバイダーに接続されている境界ルーターでのみ構成するだけで十分です。



しかし、これはすべての良いニュースではありません。 AS内のすべてのルーターでBGPを構成できないという事実に加えて、ルーターは各BGPプレフィックスのラベルを作成する必要もありません。 ネクストホップとしてリストされているIPアドレスに到達する方法を知るだけで十分です。 つまり、BoopセッションがLoopback0 R1とLoopback0 R6の間に設定されている場合、それぞれがBGPを介して数十万のルートを送信しても、ラベルテーブルでは何も変更されません。

たとえば、BGPを介したルーターR1は、ルーターR6からいくつかのルートを受信しました。


ネットワーク100.0.0.0/16に向かうパケットがどのように処理されるかを見てみましょう。


上記の出力は、パッケージにラベル27が追加されることを示しています。
また、ラベルテーブルを見ると、BGPが認識しているルートのラベルはありませんが、ラベル27があり、6.6.6.6 / 32に対応しています。 そして、これは、R6からBGP経由で到達したルートで見たアドレスです。


以下に設定の例を示します

少し先を走りましたが、基本的なMPLSが提供する利点が明らかになったので、MPLSの世界の概念的な装置に突入することができます。


用語


ラベル -ラベル-0〜1,048,575の値。これに基づいて、LSRはパケットをどう処理するかを決定します。どの新しいラベルをハングさせるか、どこに送るかです。
これはMPLSヘッダーの一部です。

ラベルスタック -タグのスタック。 各パッケージには、1つ、2つ、3つ、少なくとも10個のタグを重ねて運ぶことができます。 パッケージをどうするかは、トップラベルに基づいて決定されます。 各レイヤーはいくつかの役割を果たします。
たとえば、パケットを送信する場合、トランスポートラベル、つまり最初から最後のMPLSルーターへのトランジットを編成するラベルが使用されます。
他の人は、このパケットが特定のVPNに属しているという情報を伝える場合があります。
この問題では、常に1つのラベルのみが存在します。これ以上は必要ありません。

プッシュラベル -ラベルをデータパケットに追加する操作-は、MPLSネットワークの最初のルーター(この例ではR1)で最初に実行されます。

スワップラベル -ラベル置換操作-MPLSネットワークの中間ルーターで発生-ノードは1つのラベルを持つパケットを受信し、それを変更して別のラベル(R2、R5)から送信します。

ポップラベル -ラベル削除操作-最後のルーターによって実行-ノードはMPLSパケットを受信し、 トップラベルを削除してから(R6)に渡します。

実際、ラベルはMPLSネットワーク内のどこでも追加および削除できます。
それはすべて特定のサービスに依存します。 ラベルはパスの最初のルーター(LSP)によって追加され、最後のルーターによって削除されると言う方が正しいでしょう。
ただし、この記事では、簡単にするために、MPLSネットワークの境界について説明します。
また、トップラベルを削除しても、ラベルスタックに到達した場合に純粋なIPパケットが残ることを意味しません。 つまり、3つのラベルを持つパッケージでラベルのポップ操作が実行された場合、2つのラベルが残り、MPLSとして処理されます。 そして、この例では1つありましたが、その後は1つではありません。これはすでにIPの問題です。


LSR- ラベルスイッチルーターは、MPLSネットワーク内の任意のルーターです。 タグを使用していくつかの操作を実行するため、そのように呼ばれます。 この例では、これらはすべてノードR1、R2、R3、R4、R5、R6です。
LSRは3つのタイプに分けられます:
中間LSR -MPLS中間ルーター-スワップラベル(R2、R5)操作を実行します。
入力LSR- 「入力」、最初のMPLSルーター-プッシュラベル(R1)操作を実行します。
出力LSR- 「出力」、最後のMPLSルーター-操作Pop Label(R6)を実行します。
LER- ラベルエッジルーターは、MPLSネットワークのエッジにあるルーターです。
特に、入力LSRと出力LSRは境界です。つまり、これらもLERです。

LSP- ラベルスイッチングパス -ラベルスイッチングパス。 これは、入力LSRから出力LSRへの単方向チャネル、つまり、パケットが実際にMPLSネットワークを通過するパスです。 つまり、LSRシーケンスです。
LSP は実際には単方向であることを理解することが重要です。 これは、第一に、それに沿ったトラフィックが一方向にのみ送信されることを意味します。第二に、「ある」場合は必ずしも「戻る」とは限らず、第三に、「戻る」は必ずしも同じ経路をたどらない、それは「そこに行きます。」 まあ、それはGREのトンネルインターフェースのようなものです。

LSPはどのように見えますか?



はい、表現できません。
これは、4つのLSR(R1、R2、R5、R6)からのコンパイル済み出力です。 つまり、LSRでは、BGPの属性AS-PATHとして、エントリから終了までのノードの完全なシーケンスは表示されません。 ここでは、各ノードは入力ラベルと出力ラベルのみを知っています。 しかし、LSPは存在します。

これは、IPルーティングに少し似ています。 ポイントAからポイントBへのパスがあるという事実にもかかわらず、ルーティングテーブルはトラフィックが送信される次のノードのみを知っています。 しかし、違いは、LSRは宛先アドレスに基づいて各パケットを決定しないことです。パスは事前に決定されています。

対処する最も重要な概念の1つは、 FEC 転送等価クラスです。 なんらかの理由で、それは非常に一生懸命に与えられましたが、実際には-すべてが単純です。 FECはトラフィッククラスです。 最も単純なケースでは、クラス識別子は宛先アドレスのプレフィックス(大まかに言うと、宛先IPアドレスまたはサブネット)です。
たとえば、異なるクライアントおよび異なるアプリケーションからのトラフィックフローがあり、それらはすべて同じアドレスに送られます。これらのフローはすべて1つのクラスに属し、1つのFECが1つのLSPを使用します。
他のクライアントおよびアプリケーションから別の宛先アドレスに他のストリームを取得する場合、それぞれ異なるクラスおよび異なるLSPになります。

理論的には、FECは宛先アドレスに加えて、たとえばQoSラベル、送信元アドレス、VPN識別子、またはアプリケーションタイプを考慮することができます。 ここで、同じFECからのパケットが同じ宛先アドレスに移動する必要がないことを理解することが重要です。 同時に、2つのパケットが1つの場所に続いても、必ずしも1つのFECに属するわけではありません。

これがすべて必要な理由を説明します。 実際には、各FECに対して、独自のLSPが選択されます-MPLSネットワークを通る独自のパスです。 そして、たとえば、WEBサーフィンの場合、QoS BEの優先順位を設定します。これは1つのFECになり、VoIPの場合はEF-別のFECになります。 さらに、FEC BE LSPは広く、しかし長く、保証されていない方法で進むべきであり、FEC EFでは狭いが高速であることが指摘できる。

残念ながら、幸いなことに、IPプレフィックスのみがFECとして機能できます。 QoSマーキングなどは考慮されません。


ラベルテーブルに注意を払うと、ラベル置換パラメータがFECに基づいて正確に決定されるため、そこにFECが存在しますが、これはこれらのラベルが配布される最初の瞬間にのみ行われます。 実際のトラフィックがLSPで実行されると、Ingress LSR以外は誰もそれを見ません。ラベルとインターフェースのみです。 入力LSRは、FECとトラフィックを送信するLSPの決定に関するすべての作業を行います。クリーンパケットを受信した後、それを分析し、所属するクラスをチェックして、適切なラベルをハングさせます。 異なるFECのパケットは異なるラベルを受信し、対応するインターフェイスに送信されます。
同じFECのパケットは同じラベルを受け取ります。

つまり、中間LSRは、すべての通過トラフィックに対してラベルが切り替えることのみを行う脱穀機です。 そして、知的作業はすべてIngress LSRによって行われます。

LIB- ラベル情報ベース -ラベルテーブル。 IPのルーティングテーブル(RIB)の類似物。 各入力ラベルについて、パッケージの処理方法を示します。ラベルを変更または削除し、送信するインターフェイスを指定します。
LFIB- ラベル転送情報ベース -FIBと同様-は、ネットワークプロセッサがアクセスするラベルベースです。 新しいパッケージを受け取ったら、CPUにアクセスしてラベルテーブルを検索する必要はありません。すべて手元にあります。



MPLSの最初のアイデアの1つである、コントロールプレーンとデータプレーンを可能な限り破壊することは、忘却になりました。
開発者は、ルーターを介してパケットを送信する際に分析を行わないことを望んでいました。ラベルを読み取って別のラベルに変更し、目的のインターフェースに渡すだけです。
これを実現するために、2つの別個のプロセスがありました。比較的長いパスの構築(コントロールプレーン)と、このパスに沿ったトラフィックの高速伝送(データプレーン)です。

しかし、安価なチップ(ASIC、FPGA)とFIBメカニズムの出現により、通常のIP転送も迅速かつ簡単になりました。
ルーターの場合、パケットを送信するときにFIBまたはLFIBのどこを見るかは関係ありません。
しかし、間違いなく重要で有用なのは、MPLSがその見出しの下で送信されるもの(IP、イーサネット、ATM)を気にしないことです。 GREやその他の不快なVPNを関節痛に保護する必要はありません。 しかし、これについてもう一度話しましょう。

MPLSヘッダー


MPLSヘッダー全体は32ビットです。 フィールドの形式とその長さは固定されています。 多くの場合、タイトル全体がラベルと呼ばれますが、これは完全に真実ではありません。



ラベル -ラベル自体。 長さは20ビットです。
TC-トラフィッククラス。 IPのDSCPフィールドのように、パケットの優先度を伝えます。
長さは3ビットです。 つまり、8つの異なる値をエンコードできます。
たとえば、MPLSネットワークを介してIPパケットを送信する場合、DSCPフィールドの値は特定の方法でTC値に関連付けられます。 したがって、パケットは、純粋なIPセクションとMPLSの両方で、パス全体に沿ったキューでほぼ均等に処理できます。
しかし、もちろん、この非可逆変換-6 DSCPビットはTCの3ビットでタイトです:64対8。したがって、範囲全体が1つの値である特別な対応表があります。
当初、このフィールドはEXP(実験的)と呼ばれていましたが、その内容は規制されていませんでした。 研究、新機能の導入に使用できると想定されていました。 しかし、これは過去のものです。
このフィールドは実験的であり、QoS機能について正式に承認されていないと誰かが主張した場合、彼 人生の裏側でまともなことをしません


=======================
タスク番号1

単純なQoSポリシーがネットワーク上で構成され、ホスト10.0.17.7からアドレス6.6.6.6に向かうIPパケットがマークされ、MPLSネットワークを介して送信されます。 EXP, 3.




R6 QoS, EXP.
, , R6 . , , EXP 3 class default.

: , R6 .

R7 . MPLS R7 R1 .

.
=====================


S-スタックの下部-ラベルスタックの下部のインジケータは1ビット長です。パケットには複数のMPLSヘッダーが存在する場合があります。たとえば、MPLSネットワークでのスイッチング用の外部、および内部は特定のVPNを示します。 LSRが何を扱っているのかを理解させるため。 Sマークが最後のマーク(スタックの最下部に到達)の場合、Sビットに「1」が書き込まれ、スタックに複数のマーク(まだ最下部ではない)が含まれる場合、「0」が書き込まれます。つまり、LSRはスタック上にあるラベルの合計数を知りませんが、それが1つ以上かどうかは知っており、実際にはこれで十分です。結局のところ、下にあるものに関係なく、最上位のラベルのみに基づいて決定が下されます。しかし、ラベルを取り除いて、彼はすでにパッケージで次に何をすべきかを知っています。MPLSプロセスを引き続き使用するか、他のプロセス(IP、イーサネット、ATM、FRなど)に渡します。

: “, , , ” — . MPLS, , ( Ethertype Ethernet' Protocol IP).
— — , , , ?
— , , , , — IP Ethernet -. . , Pop Label, ( ) , .




一般に、ここでの古典的な意味でのスタックは、最後に配置され、最初に取得されます(LIFO-最後の入力-最初の出力)。

その結果、MPLSヘッダーの長さが固定されているという事実にもかかわらず、多くのヘッダー自体が存在する可能性があり、それらはすべて次々に配置されます。

TTL -Time To Live- IP TTLの完全な対応物。同じ長さでも-8ビットです。唯一のタスクは、ループが発生した場合にパケットがネットワーク上を無限にさまようことを防ぐことです。 MPLSネットワークを介してIPパケットを送信する場合、IP TTL値をMPLS TTLにコピーしてから戻すことができます。または、カウントダウンは255から再び開始され、クリーンなIPネットワークに入ると、IP TTL値は入力する前と同じになります。



ご覧のとおり、MPLSヘッダーは、データリンク層と、それが運ぶデータ(IPの場合はネットワーク)の間で圧縮されます。したがって、比phor的に、MPLSは技術レベル2.5と呼ばれ、見出し-Shim-header-heading-wedgeと呼ばれます。
ところで、ラベルはMPLSヘッダーにある必要はありません。IETFによると、ATM、AAL5、フレームリレーヘッダーに埋め込むことができます。


これは人生でどのように見えるかです:



ラベルスペース


上記のように、2 ^ 20個のタグが存在できます。

これらのうち、いくつかが予約されています:

0IPv4明示的NULLラベル。 「明示的な空白ラベル。」ラベルテーブル(より正確にはLFIB)を見なくてもこのマーク0を削除できることを通知するために、最後のMPLSスパン(出力LSRの前)で使用されます。
ローカル(直接接続)で発信されたFECの場合、出力LSRは0マークを選択し、それを近隣の最後から2番目のLSR(最後から2番目のLSR)に渡します。
データパケットを送信するとき、最後から2番目のLSRは現在のラベルを0に変更します。
出力LSRはパケットを受信すると、トップラベルを単に削除する必要があることを確認します。

. , 0 , LSR MPLS .
- , , .
0 () Pop Label , .


1ルーターアラートラベル(IPのルーターアラートオプションに類似)は、スタックの最下部を除く任意の場所に配置できます。パケットは、ラベルが付属していた場合、それはローカルユニットに引き渡されなければならない、と彼は低かったラベル、に応じて切り替え-再びラベル1に追加する必要があり、スタックの最上位で、実際の交通

2IPv6の明示的な文のNULLラベル -同じ0として、IPプロトコルバージョンに対してのみ調整されます。

3暗黙のヌル。 MPLSパケットを出力LSRに送信するプロセスを最適化するために使用されるダミーラベル。このラベルはアドバタイズできますが、実際にはMPLSヘッダーで使用されることはありません。後で検討してください。

4-15:予約済み。

ベンダーによっては、他のラベル値を固定できます。たとえば、Huawei機器では、静的LSPにタグ16〜1023が使用され、動的LSPの場合はそれ以上のものが使用されます。シスコでは、利用可能なタグは16日から始まります。

======================
タスクNo. 2

次の図では、R5を除くすべてのルーターがHuaweiルーターです。R5-シスコ。

スキーム



以下のR5ルーター構成の場合、ラベル値の分布がHuaweiと一致するように構成する必要があります。問題は、Huaweiの動的タグは1024から始まり、Ciscoでは16から始まるということです。

R5の構成
ip cef ! interface Loopback0 ip address 5.5.5.5 255.255.255.255 ip router isis ! interface FastEthernet0/0 description to R4 ip address 10.0.45.5 255.255.255.0 ip router isis mpls ip ! interface FastEthernet0/1 description to R2 ip address 10.0.25.5 255.255.255.0 ip router isis mpls ip ! interface FastEthernet1/0 description to R6 ip address 10.0.56.5 255.255.255.0 ip router isis mpls ip ! router isis net 10.0000.0000.0005.00 ! mpls ldp router-id Loopback0 force 



タスクの詳細はこちらです。
=======================





一般に、トラフィックの送信方法とMPLSタグの関係が明らかになりました。
しかし、タグはブルドーザーから取られたものではありません。新年の前夜に誰も追加の混乱を必要としません。 特別なプロトコルは、出力LSRと入力LSRの間でラベルを配布し、LSPを作成します。


タグ配布


まず、既に理解したように、一部のデバイスでは、すべてを手動で行うことができます-熱意と勤勉さを植え付けてください!
しかし、自動洗濯機の時代には、タグを配布するための3つの基本プロトコル、LDP、RSVP-TE、およびMBGPがあります。

つまり、LDP-最も簡単で最も直感的な方法-は、ノードのルーティング情報に依存しています。 RSVP-TEは、かつて開発されたが人気のないRSVPプロトコルの進化版であり、特定の条件を満たすLSPを構築するためにMPLS-TEで使用されます。 その作業には、トラフィックエンジニアリング(OSPF、ISIS)をサポートするIGPが必要です。
MBGPはBGPの近縁ですが、歴史が少し異なるプロトコルであり、他の目的のためにラベルを渡します。 したがって、LDPおよびRSVP-TEとは異なります。

それらのそれぞれについて話しましょうが、その前に、LSRが一般的にラベルを処理する方法についてのいくつかの言葉。

ラベル配布方法


最初の明らかな事実は、ラベルがトラフィックの受信者から送信者、より正確には出力LERから入力LERに伝播することです。 最初の非自明の事実-MPLSでは、ダウンストリームは送信者から受信者へ、アップストリームは受信者から送信者へです。 LSPは、ツリーのようにFECからIngress LERに「成長」し、ブランチに沿った雨水のように、LSPを介して受信者にユーザートラフィックが「下降」します。 つまり、タグはトラフィックに向けて配信されます。

彼らはまた、LSPはトラフィックを満たすために構築されていると言っています。

ラベル配布メカニズム自体は、プロトコル、設定、およびメーカーによって異なります。


DU対DoD

まず 、ルーターは不要な質問をせずにタグをすぐにすべての隣接ノードに配信でき、より高いものからの要求に応じてそれらを発行できます(はい、どの方向がアップストリームと呼ばれますか?)
最初のモードはDU- Downstream Unsolicitedと呼ばれます。 LSRはFECについて学習するとすぐに、このFECのラベルをすべてのMPLSネイバーに送信します。
次のようになります。



すべてのLSRは、あらゆる可能な方法ですべてのFECについて学習します。 最初に、FECタグのマッチングは、PIM SMのBootStrapメッセージのように、ネットワーク全体でネイバーからネイバーに分岐します。 そして、各LSRは、ベストパスに沿ったものだけを選択し、LSPに使用します。これは、同じPIM SMReverse Path Forwardingが機能するのと同じ方法です。

すぐに、簡単に、理解できるようになりますが、すべての人がすべてを知っている必要は必ずしもありません。

2番目のモードはDoD- Downstream-on-Demandです。 LSRはFECを知っており、近傍を持っていますが、このFECのラベルを尋ねるまで、LSRは沈黙しています。



この方法は、帯域幅など、LSPにいくつかの要件が課される場合に便利です。 すぐにドロップした場合、なぜそのようなタグを送信するのですか? より良いことに、より高いLSRはより低いものを要求します。このFECにはあなたからのラベルが必要です。それは「OK、ON」です。

マーキングのモードはインターフェイスに固有であり、接続時に決定されます。 どちらの方法もネットワーク上で使用できますが、同じ回線では、ネイバーは特定の1つだけに同意する必要があります。

順序制御と独立制御

第二に、LSRは、このFECのラベルが出力LERから来るのを待ってから、アップストリームネイバーに通知できます。 または、彼が自分のことを知ったらすぐにFECにタグを送信できます。

最初のモードは順序制御と呼ばれます



データが転送されるまでに、出力LERまでのパス全体が構築されるようにします。

2番目のモードはIndependent Controlです。



つまり、タグは順不同で送信されます。 パス全体が構築される前であっても、トラフィックの送信を開始できるので便利です。 同じことは危険です。


リベラルラベル保持モードと保守的ラベル保持モード

第三に 、LSRが渡されたラベルをどのように処理するかが重要です。
たとえば、このような状況では、R1は、R6に到達する最良の方法ではない、ネイバーR3から受信したラベル20に関する情報を保存する必要がありますか?



そして、これはラベル保持モードによって決まります。
リベラルラベル保持モード -ラベルが保存されます。 R3が次のステップになる場合(たとえば、メインパスの問題)、ラベルが既に存在するため、トラフィックはより早くリダイレ​​クトされます。 つまり、反応率は高くなりますが、使用されるラベルの数は多くなります。
保守的なラベル保持モード -余分なラベルは、受信するとすぐに破棄されます。 これにより、使用するタグの数が減りますが、MPLSは、事故が発生した場合の応答も遅くなります。


Php

いいえ、これはあなたが考えた種類のPHPではありません。 最後から二番目のホップポップについてです。 すべてのエンジニアは少しのオプティマイザーであり、ここでは、MPLSヘッダーを2回処理する必要がある理由を考えました。最初に最後から2番目のルーターで、次に週末に。
そして、最後から2番目のLSRでラベルを削除することを決定し、このアクションをPHPと呼びました。
PHPには特別なラベルがあります-3。
例に戻ると、FEC 6.6.6.6および172.16.0.2の場合、R6はラベル3を選択し、R5に報告します。
パケットをR6に転送する場合、R5はダミーラベル-3を割り当てる必要がありますが、実際には適用されず、インターフェイスにベアIPパケットが送信されます(PHPはIPネットワークでのみ動作することに注意してください)-つまり、Pop Label手順はR5で実行されました。

私たちが今知っていることすべてを考慮に入れて、パッケージの寿命を追跡しましょう。



トラフィックの送信方法については、多かれ少なかれ明らかです。 しかし、ラベルを作成し、テーブルに記入するという巨匠の仕事を誰がしているのでしょうか?


ラベル配布プロトコル


それほど多くはありません-3つ:LDP、RSVP-TE、MBGP。
グローバルな目標は2つあります-トランスポートラベルの配布とサービスラベルの配布です。
説明してみましょう。 トランスポートラベルは、MPLSネットワーク経由でトラフィックを送信するために使用さます。 これらは私たちが問題全体について話しているものにすぎません。 LDPとRSVP-TEを使用します。

サービスタグは、異なるサービスを分離するために使用されます。 ここで、MBGPとLDPプロセスtLDPがアリーナに入ります。
特に、MBGPでは、たとえば、そのようなルートがそのようなVPNに属していることに注意することができます。 その後、彼は、vpn-ipv4ファミリーのようなこのルートをラベルで隣人に渡し、後でハエをカツレツから分離できるようにします。
それで、彼が分離できるように、彼はラベルFECについて知らされる必要があります。
しかし、これは別のプレイのアクションであり、6か月または1年後にプレイします。

すべての動的ラベル割り当てプロトコルの動作の前提条件は、IP接続の基本構成です。 つまり、IGPがネットワーク上で実行されている必要があります。



さて、私はあなたを完全に混乱させたので、あなたは解き明かすことができます。
それでは、タグを配布する最も簡単な方法は何ですか? 答えは、LDPを有効にすることです。


LDP


非常にわかりやすい名前のプロトコル-Labed Distribution Protocol-には、対応する動作原理があります。
linkmeupネットワークで検討してください。問題全体をカバーしています。



1. LDPをオンにした後、LSRは、LDPがアクティブになっているアドレス224.0.0.2およびポート646へのすべてのインターフェイスへのUDPデータグラムのマルチキャスト送信を行います。これにより、近隣が検索されます。
直接接続されたノード間でLDP近隣が確立されるため、このようなパケットのTTLは1です。

一般的に言えば、これは常にそうであるとは限りません。LDPセッションは、特定の目的のために、リモートホストを使用してインストールできるため、tLDP- Targeted LDPと呼ばれます。 他の問題で彼について話します。

これらのメッセージはHelloと呼ばれます。

2.ネイバーが検出されると、ポート646- 初期化でも、ネイバーとTCP接続が確立されます。 それ以降のメッセージ(Helloを除く)は、既に255のTTLで送信されています。

3.現在、LSRはTCPを介してキープアライブメッセージを定期的に交換し、Helloを使用して近隣の検索を試み続けています。

4.ある時点で、LSRの1つが2番目のパーソナリティであるEgress LSRを発見します。つまり、FECの週末です。 これは、世界に報告する必要がある事実です。
モードに応じて、このFECのラベル要求を待つか、すぐに送信します。



この情報は、 ラベルマッピングメッセージで送信されます。 名前に基づいて、それ自体でFECとラベルの対応を保持しています。

R5はFEC 6.6.6.6/32およびラベル3(暗黙のヌル)コンプライアンス情報を受信し、ラベルテーブルに書き込みます。 これで、6.6.6.6にデータを送信する必要がある場合、上位MPLSヘッダーを削除し、残りのパケットをFE1 / 0インターフェイスに送信する必要があることがわかります。

次に、指定されたFECの入力ラベルを選択し、この情報を自分のラベルテーブルに書き込み、上位の近隣に送信します。



これで、R5は、ラベル20のMPLSパケットが到着した場合、ラベルを削除することにより、つまりPHPプロシージャを実行することにより、FE1 / 0インターフェイスに渡す必要があることを認識します。

R2は、R5 FECラベル(6.6.6.6-20)からコンプライアンス情報を受け取り、それをテーブルに入力し、その入力ラベル(18)を作成して、さらに高く転送します。 など、すべてのLSRが出力ラベルを取得するまで。



したがって、R1からR6にLSPを構築しました。 R1は、6.6.6.6 / 32にパケットを送信するときに、ラベル18(プッシュラベル)を追加して、ポートFE0 / 0に送信します。 ラベル18のパケットを受信したR2は、ラベルを20(スワップラベル)に変更し、ポートFE0 / 0に送信します。 R5は、ラベル20のパケットの場合、PHPを実行する必要があることを確認し(出力ラベルは3-暗黙的なヌル)、ラベル(Pop Label)を削除し、データをポートFE1 / 0に送信します。

同時に、R2からR6、R5からR6、R4からR6などのLSPが並行して構築されました。 つまり、すべてのLSRから-私はそれをイラストに表示しませんでした。

十分な強度がある場合は、下のGIFで、プロセス全体をダイナミクスで見ることができます。



当然のことながら、R6が突然FECタグ通信を送信し始めただけでなく、他のすべて-R1 1.1.1.1/32、R2-2.2.2.2/32などについても理解します。 これらのメッセージはすべて、MPLSネットワーク全体で高速に処理され、多数のLSPを構築します。 その結果、各LSRは既存のすべてのFECを認識し、対応するLSPが構築されます。

繰り返しますが、上記のgifでは、プロセスは最後まで示されていません。R1は情報をR3、R3からR4、R4からR5に転送します。
また、R5を見ると、FEC 6.6.6.6/32の場合、予想どおり1つの出力ラベルはありませんが、3:



さらに、R6自体はR5から受信するFEC 6.6.6.6のラベルを記録します。



Inuse-正しい-R6へのインプヌル。 しかし、リングの他の2つはR2とR4からのものです。 これは間違いでもループでもありません。R2とR4だけが、既知のFEC 6.6.6.6/32ルーティングテーブル用にこれらのラベルを生成しました。

2つの質問が発生します。
1)彼はどのようにそれらを使用する予定ですか? 彼らは愚かです。 答え:何もありません。 2.2.2.2または4.4.4.4が6.6.6.6への途中の次のノードである場合、ネットワークに状況はありません。IGPはこのようなルートを構築しません。 つまり、ラベルは使用されません。 それは、LDPが愚かであるということです-そのメッセージはネットワーク全体に散らばっており、あらゆる亀裂を突破します。 そして、スマートLSRが使用するものを決定します。
2)ループはどうですか? TTLが期限切れになるまで、LDPメッセージはネットワーク上で実行されませんか?
そして、ここではすべてが単純です-新しいラベルマッピングメッセージを受信して​​も、新しいラベルマッピングメッセージの作成は開始されません-受信した通信はLDPテーブルに単に書き込まれます。 つまり、私たちの場合、R5はすでにFEC 6.6.6.6/32のラベルを一度作成し、それを上位の近隣に送信しました。LDPプロセスが再起動するまで、ラベルは変更されません。
LDPを設定するときにループ検出機能を有効にできることにすでに気づいているかもしれませんが、安心させてください-これはTTLがないネットワーク(ATMなど)の場合です。 この機能は、LDPをDoDモードに切り替えます。

これは、LDPの機能に関する基本情報です。
実際、ここでのすべてはメーカーに大きく依存しています。 原則として、LDPは、DoD / DU、Independent Control / Ordered Control、Conservative / Liberal Label Retentionのすべての種類のラベル付けモードをサポートしています。 これは、RFCによって規制されていないため、各ベンダーは独自のパスを自由に選択できます。
たとえば、基本的に誰もがLDPにDUを使用しますが、同時にジュニパーのラベルは整然と、シスコでは独立して配布されます。
HuaweiとJuniperはLSRループバックインターフェイスのみをFECとして選択し、Cisco FECはルーティングテーブルのすべてのエントリに対して作成されます。

ただし、これらすべてが実際のネットワークに影響を与えることはほとんどありません。

LDPについて理解する最も重要なことは、その作業で動的ルーティングプロトコルを使用しないことです。原則としてPIM DMと同様です。ネットワーク全体にタグをフラッディングしますが、LSRルーティングテーブルの情報に依存します。 また、異なるネイバーからの1つのFECの2つのラベルがR1に到着した場合、TMからの情報に従って、このFECの前に最適なインターフェイスを介して受信したラベルのみをLSPに選択します。
これは3つのことを意味します。

一般的に、LDPを有効にすると、トラフィックはMPLSタグが表示されることを除いて、トラフィックがない場合と同じようになります。
IPと同様に、LDPを含むECMPは、ハッシュ計算アルゴリズムのみをサポートするため、バランスが異なる場合があります。

LDPに関するIvan Pepelnyakの興味深い記事と、プロトコルの仕組みに関するビデオ

LDPはRFC 5036で説明されています

自民党の練習


linkmeupネットワークに忠実です。



OSPFが実行されており、ルーターはループバックを確認し、MPLSはオフになっています。

初期構成ファイル。

MPLSをグローバルに有効にするには、2つのコマンドを指定する必要があります。
 R1(config)#ip cef R1(config)#mpls ip 

1つ目は、ほとんどすべてのネットワーク機器ですでに事実上の標準であり、2つ目はMPLSとLDPをグローバルに開始します(デフォルトで指定することもできます)。

MPLSのルーターID(およびより一般的な(非シスキア語)LSR ID用語)は、明確に選択されます。
  1. 最大ループバックインターフェイスアドレス
  2. そうでない場合、ルーターで構成されている最大のIPアドレス。

当然、自動化を信頼するべきではありません-LSR IDを手動で設定します:
 R1(config)# mpls ldp router-id Loopback0 force 

「force」キーワードを追加しない場合、LDPセッションを再インストールするときにのみルーターIDが変更されます。 「強制」は、ルーターがルーターIDを強制的に変更することを強制し、必要に応じて(変更されている場合)、LDP接続を再確立します。

次に、必要なインターフェイスで、 mpls ipコマンドを実行します。
 R1(config)#interface FastEthernet 0/0 R1(config-if)#mpls ip R1(config)#interface FastEthernet 0/1 R1(config-if)#mpls ip 

シスコはここでも怠zyなエンジニアの原則を使用しています-スタッフ側の最小限の労力です。 mpls ipコマンドには、希望するかどうかにかかわらず、MPLSと同時にLDPインターフェイスが含まれます。 同様に、 マルチキャスト記事で説明したように、 ip pim sparse-modeコマンドはインターフェイスでIGMPを有効にします。
LDPをアクティブにした後、ルーターはUDPを介して土壌の調査を開始します。


検証は、マルチキャストアドレス224.0.0.2に送信されます。

ここで、R2ですべて同じ操作を繰り返します。
 R2(config)#ip cef R2(config)#mpls ip R2(config)# mpls ldp router-id Loopback0 force R2(config)#interface FastEthernet 0/0 R2(config-if)#mpls ip R2(config)#interface FastEthernet 0/1 R2(config-if)#mpls ip 

結果をお楽しみください。
R2は隣人も探しています。



彼らはお互いについて学び、R2はLDPセッションを上げます:



興味があれば、どのようにTCP接続を確立しますか




現在、それらはネイバーです。これは、 show mpls ldp neighborコマンドで簡単に確認できます。



そして、お互いがFECラベルにその通信について伝えます。



ここで、すでに詳細を確認できます-R1はすぐに12 FECを送信します-ルーティングテーブルの各エントリに1つです。 同じ状況で、Huaweiまたはジュニパーはループバックインターフェイスの6つのFECアドレスのみを送信します。これは、デフォルトで/ 32プレフィックスのみをFECと見なすためです。
この点で、シスコはラベルリソースについて非常に不経済です。
ただし、この動作はどの機器でも変更できます。 この場合、 mpls ldp advertise-labelsコマンドが役立ちます。

しかし、どのように、あなたは尋ねますか? ループバックにのみタグを付ければ十分ですか?

記事の冒頭で、BGPプレフィックスはラベルを受信せず、ラベルはネクストホップにのみ必要であると考えたことを思い出すと、ループバックに十分なラベルがあることが明らかになります。

AS内の他のネットワークにアクセスするには、IGPで十分です。


=======================
タスク番号3

Ciscoがデフォルトですべてのネットワーク(BGP経由で受信したネットワークを除く)のラベルをアナウンスする場合、Juniperでは、デフォルトでループバックのみがアナウンスされます。

スキーム


R5を除くすべてのルーターはジュニパーのルーターです。

以下のR5ルーター構成の場合、Ciscoルーター設定がJuniperのデフォルト設定と一致するように構成します。

R5の構成
 ip cef ! interface Loopback0 ip address 5.5.5.5 255.255.255.255 ip router isis ! interface FastEthernet0/0 description to R4 ip address 10.0.45.5 255.255.255.0 ip router isis mpls ip ! interface FastEthernet0/1 description to R2 ip address 10.0.25.5 255.255.255.0 ip router isis mpls ip ! interface FastEthernet1/0 description to R6 ip address 10.0.56.5 255.255.255.0 ip router isis mpls ip ! router isis net 10.0000.0000.0005.00 ! mpls ldp router-id Loopback0 force 



タスクの詳細はこちらです。
=======================




したがって、 R1は、 FEC 3.3.3.3のトラフィックを送信する場合、ラベル17を使用する必要があることをR2に伝えます。

R3のLDPはまだ提起されていないことに注意してください。つまり、R1はR5からの待機なしにFEC 3.3.3.3のラベルを発表しました。これは、独立制御が使用されていることを示します。
そして、このFECに対するR2からの明示的な要求がなかったという事実は、モードがDownstrean未承諾であることを示唆しています。

さらに、ノードはUDP上でLDP Helloを使用して新しいネイバーを監視し続け、すでにアドレス指定されているLDPキープアライブを交換します。



これで、 show mpls forwarding-tableコマンドを使用して、各FECに割り当てられたラベルを確認できます。



2行目では、FEC 3.3.3.3が既に検討されており、ローカルラベルは17です。つまり、R1はFEC 3.3.3.3の場合、ダンプにあったラベルは17であることを全員に伝えます。
ただし、発信タグまたは出力ラベル- タグなし -これは、パケットがクリーンな IPで転送されることを意味します(スタックへの予約なし)。 Untaggedは、R1とR3の間にMPLSがまったくないことを意味します-そうです。R3で有効にしませんでした。
しかし、R2(最初の行)では状況は異なります。 ローカルラベル16は、R1がすべての人に送信するものです。 そして週末はポップタグです。 つまり、パケットをR2に転送するとき、R1はチェックを解除する必要があります。 私たちの場合、これは純粋なIPが送信されることを意味します(ただし、より一般的なケースでは、トップマークのみが削除されます)。 FEC 3.3.3.3との違いは何ですか? 違いは、R1とR2の間にMPLSがあり、同じPHP(最後から2番目のホップポッピング)があることです。 2.2.2.2にアドレス指定されたパケットは引き続きR2で処理されるため、必要な値を超えるエンティティを生成しないように、R1はマークを削除します。

そして、ここで興味深い疑問が生じます。R1はモヒカン族の最後から2番目であることをどのように知るのでしょうか?結局のところ、LDPはルーティングプロトコルを使用しないため、アドレス2.2.2.2が直接接続されたR2で構成されていることすら知ることはできません。2.2.2.2は10.0.12.2を介してのみ利用可能です。

R2とR1の間のトラフィックダンプは、この質問に答えるのに役立ち



ます。ここでは、同じラベル3が表示されます-暗黙的ヌル。したがって、R2は、MPLSパケットを送信するときにR1がトップマークを削除する必要があることを報告します。
ここで繰り返します-R1はラベル3のパケットをR2に送信しません-トップラベルなしで送信します。私たちの場合、それは単なるIPパケットになります。また、ラベル3はMPLSヘッダーに表示されません。
そして、このラベル3は、MPLSスイッチングテーブルにPop Tagとして表示されます

ノードR5とR6には、MPLSが含まれていませんが、ラベルがありますが、これは、それらへのルートがR2を経由し、R2がFECラベルの一致を生成したためです。この場合、R6上のパケットは、R1とR2の間のMPLSヘッダーを使用それを使用しません
順序制御が使用された場合、R2はR5およびR6のラベルを送信できず、パケットはIPのみを通過することに注意してください。

控えめなネットワークのすべての要素で、MPLS + LDPの構成を完了することを提案します。プロセスには違いはありません-同じ近隣探索、初期化、タグ交換、PHP。

構成テンプレートは次のとおりです。
 <b>mpls ip</b> ! interface Loopback0 ip address 1.1.1.1 255.255.255.255 ip router isis ! interface FastEthernet0/0 description to R2 ip address 10.0.12.1 255.255.255.0 ip router isis <b> mpls ip</b> ! interface FastEthernet0/1 description to R3 ip address 10.0.13.1 255.255.255.0 ip router isis <b> mpls ip</b> ! router isis net 10.0000.0000.0001.00 ! <b>mpls ldp router-id Loopback0 force</b> 


LDP構成ファイル。

そして、上の表を切り替えMPLSで再び見てR1



すべてのFECすでに登場したラベルについて。
R1からR6にLSPを通過し、ラベルがパス

R2に 沿ってどのように変化するかを見てみましょう。R5





だから
1. R1がラベル21の MPLSパケットを受信すると、Fa0 / 0インターフェイスに渡してラベルを18に変更する必要があります
2. R2がラベル18の MPLSパケットを受信すると、それをFa0 / 0インターフェイスに渡し、ラベルを20に変更する必要があります
3. R5の場合タグ20の MPLSパケットを受信した場合、Fa1 / 0インターフェイスに渡し、タグPHPを削除する必要があります

この場合、LSRはルーティングテーブルまたはip cefで何かを検討することすら考えません。単にラベルを操作するだけです。show mpls forwarding table

コマンドですでに見たスイッチングテーブルLFIBLable Forwarding Information Base)です。データ転送のほとんどの一般的な真実はデータプレーンです。しかし、コントロールプレーンはどうでしょうか。自民党が同じくらい知っていることはありそうにない?確かに彼はまだ袖に切り札を持っていますか?
だから:



各FECについて、異なるラベルに関する情報がここに表示されます。
ローカルバインディング -このLSRが
リモートネイバーに渡すもの-このLSRがネイバーから受信したもの。

上の図では、「tib」という単語を見ることができます。TIBは、ラベル情報ベース-LIBと正しく呼ばれるタグ情報ベースです。
これは、自民党の先駆者であるボーズ亡くなったTDPの遺物です

どこでも2つのリモートバインディングがタグを取得する2つの方法であることに注意してください。たとえば、R1から直接、またはR3-R4-R5-R2を介してR2まで到達できます。
つまり、はい、わかりますか?彼はルーティングテーブルの各エントリからFECを作成するだけでなく、この悪党はラベルを保持するために自由保持モードも使用します。
要約すると、デフォルトでは、CiscoのLDPは次のモードで動作します。

要するに、彼の報奨金には限界がありません。show mpls ip binding

コマンドもあります。同様のことを示し、さらに、現在アクティブなパス、つまりLSPの構築方法をすばやく見つけることができます:そして最後の、おそらく、これらすべてのLSPに関連して生じる質問-ルーター自体がIngress LSRである場合、どのようにそれを理解するのかパッケージで行う必要がある、LSPの選択方法そのためには、IP CEFを調べる必要があります。一般に、パケットの処理、FECの決定、および正しいラベルの割り当てのすべての負担を負うのは入力LSRです。次に、あなたとNext Hopと出力インターフェースと出力ラベル












また、LDPでは、LER、Ingress LSR、Egress LSRの概念は特定のノードの役割でも、ネットワーク内のノードの場所の特性でもないことに注意してください。それらはFECおよびLSPとは切り離せません。つまり、特定のFECごとに、LSPが導く1つ以上の出力LSRと多くの入力LSR(通常はすべてのルーター)があります。
そうは言っても、特定のLSPについて話すとLERの概念が生じ、誰がイングレスで誰がイーグレであるかを言うことができます。


MPLSおよびBGP


これまで、MPLSがIGPプロトコルと相互作用する方法について説明してきました。複雑なことは何もないことと、設定も非常に簡単であることを確認しました。

しかし、最も興味深いのは、MPLSとBGPの相互作用です。この問題では、このトピックについて少しだけ触れます。ただし、以下では、BGPが果たす役割と、BGPを使用してさまざまなタイプのVPNを編成する方法について詳しく説明します。
次に、最も基本的なレベルでMPLSとBGPがどのように相互作用するかを理解する必要があります。

BGPとIGPの主な違いは、MPLSがBGPルートのラベルを作成しないことです。 BGPが送信するルートの数を思い出せば、これが非常に良いアイデアであることが明らかになります。次に、MPLSとBGPを組み合わせる方法は?
すべてが簡単です:
  1. , next-hop , BGP ( next-hop-self IBGP-).
  2. Ingress LSR , BGP, next-hop, , .

現在、ASの各ルーターでBGPを構成するために、クライアントまたは他のプロバイダーが接続されている境界ルーターでのみ構成できます。

ネットワークの例を見てみましょう


。R1からFilkin証明書ネットワークにアクセスする必要がある場合、R6と6.6.6.6のアドレスにMPLSを「フライスルー」してアクセスできることがわかります。そして、私たちがR6に着いたとき、彼はすでにどこに行くべきかをすでに知っています。 Balagan Telecomでも同様です。

この回路の構成と情報出力があるいくつかのコマンドはここで見つけることができます

=====================
№ 4

MPLS OSPF. MPLS , R7 R1.
R1-R2-R3-R4-R5-R6 MPLS.
BGP, R1 R6.

BGP .
R1 , BGP R6, MPLS IP-, next-hop BGP.

R7 , BGP R6.

:
, R7 100.0.0.1.

:
BGP.




.
=====================



RSVP-TE


自民党は良いです。簡単かつ明確に機能します。しかし、MPLS TE-Traffic Engineeringのようなテクノロジーがあります。そして、彼女は自民党が提供できる最良のルートを持っていません。
トラフィック管理とは、さまざまな制限がある場合、ノード間でトラフィックを好きなように転送できることを意味します。
たとえば、このネットワークでは、クライアントはR1とR6の2つのノード接続ポイントを持っています。そして、それらの間で、彼は100 Mb / sの保証されたチャネル幅でVPNを要求します。しかし同時に、私たちのネットワークでは、VKontakteの通常のブロードバンドビデオドライバーと、VPNをレンタルする数十の他のクライアントも使用していますが、帯域を予約する必要はありません。
この状況に介入しない場合、R2のどこかで過負荷が発生する可能性があり、高価なクライアントの場合は100 Mb / sになりません。

MPLS TEを使用すると、送信者から受信者までネットワーク全体を通過し、各ノードでリソースを予約できます。 IntServの概念に精通している場合は、そうです。各ルーターが通過するパケットを決定するのではなく、パス全体に沿ってQoSを整理することです。
実際、RSVPResource ReSerVation Protocol)はもともと(1993年)であり、IPネットワークでIntServを編成するために考案されました。特定のデータストリームのQoSに関する情報を各ノードに伝え、リソースを予約する必要がありました。

最初の近似では、単純に機能します。

1)ソースノードは、5 Mb / sの速度でデータストリームを送信したい。ただし、その前に、彼はRSVPリクエストを送信して、受信者にパスを予約します-Path Message。このメッセージにはいくつかのストリーム識別子が含まれており、これによりノードはストリームに対して受信したIPパケットの所有権と必要な帯域幅を識別できます。
2)Pathメッセージは、ノードから受信機自体にノードから送信されます。送信先は、ルーティングテーブルに基づいて決定されます。
3)Pathを受信した各ルーターは、リソースをチェックします。十分な空き帯域幅がある場合、ストリームパケットが適切に処理され、常に十分な帯域幅があるように、内部アルゴリズムを調整します。
4)必要な5 Mb / s(他のスレッドによって占有されている)がない場合、リソースの割り当てを拒否し、対応するメッセージを送信者に返します。
5)Pathパケットはストリームの受信者に到達し、Resvメッセージを送り返し、パス全体に沿ったリソースの割り当てを確認します。
6)Resvを受け取った元の送信者は、すべての準備が整っていることを理解し、データを送信できます。

実際、これらの4つの単純なステップの下にははるかに複雑なプロセスがありますが、興味はありません。

しかし、私たちが関心を持っているのは、Traffic EngineeringのRSVP拡張機能、またはより簡単に言うと、MPLS TE専用に開発されたRSVP TEです。
そのタスクはLDPのタスクと同じです。LSR間でラベルを配布し、最終的に受信者から送信者にLSPをコンパイルします。しかし、今、すでに理解しているように、ニュアンスがあります-LSPは特定の条件を満たす必要があります。

RSVP TEを使用すると、プライマリLSPとセカンダリLSPを構築し、すべてのノードでリソースを予約し、ネットワーククラッシュを検出し、事前に回避策を構築し、高速トラフィックリダイレクションを行い、物理的に同じパスを通るチャネルを回避できます。
ただし、これらすべてについては、MPLS TEに関する記事でいくつかの問題を取り上げて説明します。ただし、今日は、RSVP TEがLSPを構築する際の原則に焦点を当てます。
プロトコルの変更から、LSPはそれぞれ単方向であることに変わりはなく、リソースは一方向にのみ予約されます。他の何かが必要な場合-逆LSPを作成します。


まず、リソース予約機能を破棄します。タスクをLSPの作成のみ、つまりLSR間のラベル配布のみにします。

これを可能にするために、標準のRSVPはいくつかのオブジェクトを追加することにより拡張されます。最も単純なオプションを検討してください。
0)R1はFEC 6.6.6.6/32より前にLSPを必要とします6.6.6.6の宛先アドレスとタイプTraffic Engineeringを持つR1のトンネルインターフェースのように見えます。
1)6.6.6.6の方向にRSVP Pathメッセージを送信します。このメッセージに新しいオブジェクトが表示されます-Label Request。 Pathメッセージは、ノードにこのFECのラベルを割り当てるように呼びかけます。つまり、ラベル要求です。
2)次のノードは新しいPathメッセージを形成し、6.6.6.6に送信します。等
3)パスが出力LSRに到達します。彼は、パケットが自分宛であることを確認し、ラベルを選択して、Resvメッセージを送信元に送信します。後者は、新しいオブジェクトLabelも追加しました。その中で、Egress LSRはこのFECのラベルを最後から2番目、最後から2番目の最後などに渡します。
4)Resvはソースに到達し、パスに沿ってラベルを配布します。このようにして、LSPが作成され、すべての準備ができたことがソースに通知されます。

ラベルはダウンストリームで要求され(送信者から受信者へのパスメッセージ)、アップストリームで送信されます(受信者から送信者へのResvメッセージ)。
同時に、これが最もダウンストリームオンデマンド+オーダードコントロールであることに注意してください。パスはラベル要求として機能し、Resvは段階的に受信者から送信されます。ラベルが下位LSRによって送信されるまで、親はそのラベルを近隣に送信できません。

やめて!LDPとは異なり、RSVP TEを使用すると、ルーティングテーブルやIGPに縛られることなく、希望どおりに構築できますが、ここでは「6.6.6.6に向けて」だけです。
ここで、RSVP TEとLDPの根本的な違いに近づきます。 RSVP TEは、動的ルーティングプロトコルと非常に密接に接続されており、作業の結果だけに依存するのではなく、文字どおりの意味で悪用します。
まず、リンクステートアルゴリズム、つまりOSPFとISISに基づくプロトコルのみが適しています。
第二に、OSPFとISISは、プロトコルに新しい要素を導入することで拡大しています。 OSPFには新しいタイプのLSA-Opaque LSAがあり、ISISには新しいTLV ISネイバーIP到達可能性があります
3番目に、入力LSRと出力LSRの間のパスを計算するために、SPFアルゴリズムの特別な変更-CSPF(Constrained Shortest Path Firstが使用されます。

より詳細に。

Pathメッセージは、原則として、ユニキャストによってアドレス指定して送信されます。つまり、送信者のアドレスはR1、受信者のアドレスは6.6.6.6です。そして、それはルーティングテーブルによってもたらされた可能性があります。



しかし実際には、FIBがすべてのノードの魂に置かれるのではなく、Pathがネットワークを介して送信されます。これは、予約を提供したり、バックアップルートを検索したりできないためです。いいえ、彼は特定の道をたどります。
このパスは、各ノードの精度に応じて入力LSRで定義されます。
このパスを構築するには、RSVP TEはネットワークトポロジを知る必要があります。はい、私たちは何に近づいていますか? RSVP自体は、OSPFまたはISISから取得できる場合、その理由とその理由を検討しません。そして、RIP、IGRP、EIGRPがここで適切でない理由が明らかになります。結局のところ、彼らはトポロジを研究せず、可能な最大値はフィージブルサクセサです。
ただし、入力の古典的なSPFアルゴリズムにはネットワークトポロジがあり、出力ではメトリックとADを考慮した最速のルートしか提供できませんが、可能なすべてのパスを計算できます。
そして、ここにCSPFがあります。少なくとも何らかの形で中国を経由するために、最適なパス、2番目に優先度の高いパス、および他のバックアップパスなどを計算できるのはこのアルゴリズムです
つまり、RSVP TEは、2つのノード間の任意のパスを計算するための要求でCSPFに連絡する場合があります。
まあ、まあ、なぜこれのためにIGPプロトコル自体を変更するのですか?ブート。そして、これが制約-制限です。 RSVP TEは、帯域幅、利用可能な最小幅、回線タイプ、またはLSPが通過する必要があるノードでさえ、パス要件を設定できます。そのため、CSPFが制限を考慮することができるように、制限について、およびネットワーク全体のノードで利用可能なリソースについて知る必要があります。入力は、トンネルとネットワークトポロジで指定された制限です。トポロジに、プレフィックスとメトリックに加えて、利用可能なリソースに関する情報が含まれている場合は論理的です。
この目的のために、ルーターはメッセージOSPFおよびISISを通じて基本情報だけでなく、回線、インターフェイスなどの特性も交換します。新しいタイプのメッセージでは、この情報が送信されます。
たとえば、OSPFでは、これのために3つの追加LSAタイプが導入されました。



不透明は不透明(OSPFの場合)を意味します。これらは、ルーティングテーブルの計算時にOSPFで考慮されない特別なLSAタイプです。必要に応じて他のプロトコルを使用できます。したがって、TEはそれらを使用してトポロジを構築します( TED- Traffic Egineering Databaseと呼ばれます)。しかし、理論的には、それらはTEに割り当てられません-トポロジに関する情報の交換を必要とするルーター用のアプリケーションを作成する場合、Opaque LSAも使用できます。
ISISも同様に機能します。新しい投稿:IS-IS TLV 22(拡張IS到達可能性)、134(トラフィックエンジニアリングルーターID)、135(拡張IP到達可能性)。

それでは、このプロセス全体を詳しく見てみましょう。

0)R1では、MPLS TEを有効にし、TEをサポートするためにデータを送信するようにISIS(OSPF)を構成しました。ルーターは利用可能なリソースに関する情報を交換しました。このステップで、TEDが形成されます。 RSVPはサイレントです。



1)トンネルインターフェイスを作成し、そのタイプ(トラフィックエンジニアリング)、宛先アドレス(6.6.6.6)、および必要なリソース要件を指定しました。 LSRはCSPFを開始します。課された条件を考慮して、R1から6.6.6.6への最短経路を計算する必要があります。このステップでは、最適なパスを取得します-ソースから宛先へのノードのリスト(R2、R5、R6)。

2)前のステップの結果はRSVPによって供給され、EROオブジェクトに変換されますR1はRSPVパスをコンパイルします。これにより、当然EROが追加されます。パケットの宛先は6.6.6.6です。さらに、パケットを受信すると、このFEC(6.6.6.6/32)のラベルを割り当てる必要があることを通知するLabel Requestオブジェクトもあります。
ERO-明示的ルートオブジェクト -特別なRSVPパスメッセージオブジェクト。これには、このメッセージが通過するノードのリストが含まれています。


3) RSVP Pathメッセージは特別な方法で送信されます-ルーティングテーブルではなく、EROリストに従って。この場合、最良のIGPルートとEROが一致するため、パケットはR2に送信されます。

4) RSVPパスを受信したR2は、必要なリソースの可用性をチェックし、もしあれば、FEC 6.6.6.6/32のMPLSラベルを割り当てます。古いPathパッケージが破棄され、新しいパッケージが作成され、EROオブジェクトが変更されます-R2自体が削除されます。これは、次のノードがパケットをR2に返そうとしないようにするためです。つまり、新しいEROはすでに次のようになっています(R5、R6)。それに応じて、R2は更新されたパスをR5に送信します。

5)R5は同様の操作を実行します。リソースをチェックし、ラベルを選択し、EROから自身を削除し、Pathパケットを再作成して、次のEROオブジェクトが認識されているインターフェースに渡します-R6。


6)パッケージを受け取ったR6は、彼がすべての混乱の犯人であることを理解しています。これは、パスを破壊するFEC 6.6.6.6のラベルを割り当て、オブジェクトとして挿入ラベル応答メッセージのResvに。
この手順の前に、ラベルは目立っただけで広がりませんでしたが、ラベルを要求したLSRに通知されるようになりました。
7) RESVメッセージはR1(イングレスLSR)に進み、LSPの増大するテールを残します。 Resvは、Pathと同じノードを逆順で通過する必要があります。



8)最終的に、R1から6.6.6.6へのLSPが形成されます。そのデータは、R1からR6にのみ送信できます。反対方向のデータ転送を許可するには、R6に宛先アドレス1.1.1.1のトンネルインターフェイスを作成する必要があります。すべてのアクションはまったく同じです。



質問が発生します-ノードごとに送信され、それらのアドレスがわかっている場合、Path 6.6.6.6パケットの宛先はなぜですか?この質問は怠idleではありません。1つの重要な機能につながります。 EROには、入力LSRから出力LSRまでのすべてのノードが実際に含まれているわけではありません。一部は省略されている場合があります。したがって、各LSRはメッセージの最終的な送信先を知る必要があります。また、イングレスLSRが全体を計算するには遅すぎるため、これは発生しない可能性があります。
問題はIGPゾーンにあります。ルーティングを簡素化するために、OSPFとISISの両方にこの概念があることがわかっています。大規模なネットワーク(数百および数千のノード)では、サービスパケットをブロードキャストする問題と、SPFアルゴリズムによる膨大な数の組み合わせの計算が発生します。したがって、1つのグローバルドメインはルーティングゾーンに分割されます。
そして、全体的な障害は、IGPゾーン内がリンクステートプロトコルである場合、それらの間で-ゾーン内でのみ構築される実際の距離ベクトルネットワークトポロジであり、内部ルーターは他の動作を知らないことですゾーン-特定のネットワークに入るために、特定のABRにパケットを送信する必要があることのみが通知されます
つまり、ネットワークがゾーンに分割されている場合、MPLS TEに問題があります。そのトポロジでは、別のゾーンからの宛先が特定のノードではなくクラウドであるため、CSPFはパス全体を計算できません。
そしてここで、明示的パスが助けになります(EROオブジェクトと混同しないでください)。これは、LSPを構築して管理する最も簡単な方法です。管理者は、LSPを敷設するノードを独立して明示的に指定できます。入力LSRは、これらのガイドラインに正確に従う必要があります。これにより、CSPFアルゴリズムがさらに多様になります。
明示的パスはどのようにゾーンを突破するのに役立ちますか?例を見てみましょう。



中間点があることを明示して示します:
明示的パス:R1、R3、R5。

この明示的なパスにこのCSPFを供給すると、R1からR3までのエリア0:内で可能なチャンクを構築します。
彼が数えるものはEROに入力され、さらにExplicit-pathからの別のノードがR5に追加されます。 R1、R2、R3。 EROに従ってネットワークを介してパスが送信され、R3に到達します。彼は、一般に、自分が受取人ではなく、積み替えポイントに過ぎないことを確認し、必要なリソースと受信ノードのアドレスに指定された条件を明示パスから取得し、CSPFを開始します。後者は、EROに変換される宛先(R3、R4、R5)へのノードの完全なリストを提供し、その後すべてが標準シナリオに従って発生します。
つまり、入力LSRと出力LSRが異なるゾーンにある場合、パス計算はゾーンごとに個別に実行され、参照ポイントはABRです。

明示的パスはこの場合に使用されるだけでなく、LSPを配置する必要のないノードを介してLSPを配置する方法を明示的に指定できる、またはその逆を明示的に指定できるため、一般に便利なツールであることを理解する必要があります。
これについては、MPLS TE専用の問題でさらに詳しく説明します。

Link-State IGPはそれほど必要ではないと言って、彼らは私をwithに非難することができます。まあ、私はEIGRPをmonocycネットワークで実行したいのですが、力はありません。または、RIPを掘り下げたいという好中性的な衝動さえあります。そして今何?TEをあきらめますか?
一般に、救いはありますが、シスコの機器でのみです-それはVerbatimと呼ばれます。

結局、なぜLink-Stateプロトコルが必要なのですか?TEトポロジ情報を収集し、CSPFは入力LSRから出力LSRへのパスを構築します。すごい素晴らしい。 Explicit Path, ? .
, , CSPF.
. , .
:
 Router(config-if)# tunnel mpls traffic-eng path-option 1 explicit name <i>test</i> verbatim 

CSPF.
, . , , .



RSVP TE





LDPが機能するには、mpls ipコマンドが必要でした。今ではもはや必要ありません-それを削除し、で始まる白紙の状態
ここで、mpls traffic-eng tunnelsが必要です。TEトンネルとRSVP TE自体のサポートがグローバルに含まれています。
 R1(config)#mpls traffic-eng tunnels 

インターフェイスでも同じように有効にする必要があります。

 R1(config)# interface FastEthernet 0/0 R1(config-if)# mpls traffic-eng tunnels R1(config)# interface FastEthernet 0/1 R1(config-if)# mpls traffic-eng tunnels 

まだ何も起きていません。RSVPはサイレントです。

次に、TEデータを送信するためにIGPを拡張します。この例では、ISISを使用します。
 R1(config)#router isis R1(config-router)# metric-style wide R1(config-router)# mpls traffic-eng router-id Loopback0 R1(config-router)# mpls traffic-eng level-2 

拡張ラベルモードの有効化は必須です。そうでない場合、TEは機能しません。
LSRで行ったように、LSR-ID
を設定します。特定のISISレベルを設定する必要があります。そうしないと、TEが機能しません。

突然OSPFを使用する場合
R1(config)#mpls traffic-eng area 0
R1(config)router#mpls traffic-eng router-id Loopback0

これらの手順は、他のルーターで繰り返す必要があります。

その直後に、ISISはTEに関する情報の交換を開始し



ます。ご覧のとおり、LSR-IDに関する情報が送信され、近隣(TEをサポートする)に関する拡張情報、インターフェイスに関する拡張情報が送信されます。

この時点で、TEDが形成されます。

ISISでトポロジを確認できます。#show isisデータベースの詳細な

RSVPは、現時点ではサイレントです。

次に、TEトンネルを構成します。
 R1(config)# interface Tunnel1 R1(config-if)# ip unnumbered Loopback0 R1(config-if)# tunnel destination 6.6.6.6 R1(config-if)# tunnel mode mpls traffic-eng R1(config-if)# tunnel mpls traffic-eng path-option 10 dynamic 

トンネルインターフェイスは、ルーター上で非常に用途の広いものです。これらは、L2TP、GRE、IPIP、およびご覧のようにMPLS TEに使用できます。
ip unnumbered Loopback0は、トンネルの開始点がLoopback0インターフェイスアドレスでなければならないことを意味します。
tunnel destination 6.6.6.6-トンネルインターフェイスのユニバーサルコマンドは、トンネルの終端である終端ポイントを決定します。
トンネルモードmpls traffic-eng-タイプを設定します。ここで、トンネル操作アルゴリズムが決定され、その構築方法が決まります。
tunnel mpls traffic-eng path-option 10 dynamic-このコマンドにより、CSPFは中間ノードを指定せずにパスを動的に構築できます。

その前にすべてを正しく行った場合、トンネルインターフェイスは上昇するはずです。
 %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel1, changed state to up 


どうしたの?
R1はパスを送信しました。


行R1-R2でダンプが削除されました。

宛先アドレス、ERO、およびラベル要求オブジェクトに関心があります。トンネルで構成されている
宛先アドレスは6.6.6.6です。
明示的なルート:
10.0.12.2- > 10.0.25.2- > 10.0.25.5- > 10.0.56.5- > 10.0.56.6。
つまり、出力インターフェイスのリンクアドレスと次のノードのリンクアドレスがそこに登録されます。したがって、各LSRは、Pathを送信するインターフェイスを正確に認識しています。
このEROには10.0.12.1はありません。これは、R1が送信前にすでに削除しているためです。ラベルリクエスト
があるという事実LSRがこのFECのラベルを割り当てる必要があることを示します。
しかし、彼はこのパスに反応しませんでした長い -彼はさらに更新送ります。
以下のResvは、ResvがダウンストリームLSRから来た後に送信されます。

R5でも同じことが起こります。


ダンプはR2-R5行で撮影されます。


行R2-R5でダンプが削除されました。

したがって、PathはR6になります。彼はRSPV Resvを送り返します。


ダンプはR5-R6行で取得されます。

ダンプは、Resvがノードからノードに送信されることを明確に示しています。Label
オブジェクトは、このFECに割り当てられたラベルを渡します

R6がラベル0-Explisit Nullを割り当てていることに注意してください。一般に、これは通常の状況です-これは、R5とR6の間のMPLSラベルが(たとえば、EXPフィールドの値に従ってパケットを処理するために)行われるように行われますが、R6はすぐにラベル0をリセットし、その下にあるものを処理する必要があることを認識しました、ラベルテーブルは検索しませんでした。
問題は、ラベルパケット(VPNなど)に複数ある可能性があることですが、RFC 3032(および前述したように)に従って、R5はラベルスタック全体を削除し、1つでパケットを転送する必要がありますラベル0。この場合、もちろんすべてが壊れます。
実際、ラベル0がスタック上の唯一のものであるという要件は正当化されていないようです。これに対するアプリケーションはありません。したがって、RFC 4182でこの制限は削除されました。スタック上のラベル0だけではない場合があります。
興味深い機能はPHPです。このための特別なラベルがあるという事実にもかかわらず、LSRはラベル0 を受け取ったとしてもPHPを実行します同じPepelnyakからの詳細

R5はResvをR2に、R2をR1に転送します。

行R1-R2でダンプが削除されました。

ここでわかるように、マークはすでに正常です-16。

======================
タスク番号5

Resvを注意深く見ても、そこに行く必要のあるパスは表示されず、ノードのリストはタグを正常に配布し、LSPを構築するため。これはどのように解決されますか?

タスクの詳細はこちらです。
=======================


明示的なパス


パスを変更してみましょう-トラフィックはR1-R3-R4-R5-R6を通過する必要があります。
それと同じくらい簡単:明示的なパスを設定するだけです:
 R1(config)# ip explicit-path name R1-to-R6-primary R1(cfg-ip-expl-path)# next-address 10.0.13.3 R1(cfg-ip-expl-path)# next-address 10.0.34.4 R1(cfg-ip-expl-path)# next-address 10.0.45.5 R1(cfg-ip-expl-path)# next-address 10.0.56.6 

そして、トンネルインターフェイスに適用します。
 R1(config)# Interface Tunnel 1 R1(config-if)# tunnel mpls traffic-eng path-option 5 explicit name R1-to-R6-primary 

前のルールよりも高い優先度(5対10)を設定していることに注意してください。つまり、まずexplicit-pathが使用され、問題がある場合、R1はLSPを(なんとか)動的に構築しようとします。

トンネル構成は次のようになります。
 interface Tunnel1 ip unnumbered Loopback0 tunnel destination 6.6.6.6 tunnel mode mpls traffic-eng tunnel mpls traffic-eng path-option 5 explicit name R1-to-R6-primary tunnel mpls traffic-eng path-option 10 dynamic no routing dynamic 

:そして、ここでEROの新しい運ぶPathメッセージで



トンネルに関する情報を表示するには、コマンドの実行MPLSトラフィック-ENGトンネルの場合ショーを



中間見することが可能である:



LSPをFRR、ルースと厳しい資源の要件の存在下で形成されている方法また、MPLS TEの記事でいくつかの問題を一通り読み、アフィニティなどを読みます。

RSVP-TE最終構成ファイル


Q&A


Q1: RSVP TE LSPとLDP LSPの違いは何ですか?
厳密に言えば、上位プロトコルとMPLS自体の両方の観点から、そのような概念はまったくありません。LSP-それはLSPです-それは単なるラベルの切り替え方法です。
用語CR-LSP(ConstRaintベースのLSP)は区別できます-RSVP TEによって作成されます。この点で、違いは、CR-LSPがトンネルインターフェイスで指定された条件を満たすことです。

Q2:明示的パスとEROはどのように比較されますか?
トンネルに明示的パスが指定されている場合、RSVPは明示的パスの要件を考慮してEROを生成します。この場合、各ノードをExplicit-Path to Egress LSRに登録しても、RSVPは引き続きデータをCSPFに送信します。


Q3:中間ノードの1つがLDP(RSVP TE)をサポートしていない場合、またはインターフェイス/プラットフォームでプロトコルがオフになっている場合、たとえば、このノードでIPに切り替えてから次のノードで再びMPLSに切り替えるようにLSPを構築しますか?
RSVP TE Ingress LSR TED Egress LSR, Path, , LSP.
.

LDP, . , R2 LDP FE0/0 ( R5),
1) R1 FEC 6.6.6.6/32. 2: R2, — R3, — R2, LSP R2.
2) R2 , — 1.1.1.1. , . LSP R1 FEC 6.6.6.6/32 .
3) R5 FEC 6.6.6.6/32

つまり、引き裂かれたLSPを取得します:{R1-R2、R5-R6}。しかし、実際にはそうではありません。そのためのLSPとラベルスイッチドにより、ラベルがずっと変更され、R1からR2 MPLS、R2からR5 IP、そしてR5からR6 MPLSに戻ります。FEC 6.6.6.6/32のLSPはここにありません通常、通常のトラフィックはここを通過しますが、たとえばVPNなどのMPLSアプリケーションについて話をすると、これは機能しません。


Q4:さて、MPLSが必要な理由は次の記事から明らかになります-これは一般に、エンジニアの生活を複雑にするための何らかの人工的なナンセンスですが、なぜMPLS TEが必要なのですか?結局のところ、IGPメトリックを使用して必要な方法でトラフィックを誘導できます。
まず、これは将来のリリースのトピックです。 しかし...
, , , , . , . , .
LSP , . TE .

まあ、一般的に、2つのクライアントに対してそれぞれ40 Mb / sおよび50 Mb / sの保証されたチャネルが必要な場合、回線の使用率をどのように追跡しますか?一度、奇跡的な方法でルーティングとQoSを計算して設定し、目的のサービスレベルを提供しますが、突然3キロメートルの光学系が一度に3か所で切断され、1週間修正することはできません。さらに、50 Mb / sの3つのバックアップチャネルもありますが、両方のクライアントのトラフィックが1か所に飛び込み、すべての正式なSLAを吐き出します


Q5:明示的ヌルと暗黙的ヌルのラベルの違いは何ですか?私は本当にそれらについて知る必要がありますか?
必要です。 , MPLS LSR. «0», Egress LSR , . , TC MPLS, . .

ラベル「3」を使用するコンセプトでは、Egress LSRで不要なアクションを放棄することにしました。QoSを気にしない場合(またはDSCPフィールドなどで優先度をコピーした場合)、最後のフライトでトランスポートラベルを緊急に必要とすることはありません。主なことは、正しいラベルを送信することです。クリーンなIPパケットがあった場合、IPプロセスに渡し、E1があれば、ラベルスタックの場合はストリームを目的のインターフェイスに転送し、LFIBで検索し、さらにアクションを実行する必要があるかどうかを確認します。


Q6: 1つのFECについて、LSRは常に同じラベルをそのすべてのネイバーに割り当てますか?
ラベルスペースの概念があります。
  • インターフェイスラベルスペース
  • スロットラベルスペース
  • プラットフォームラベルスペース

, FEC .
— ( LSR), FEC .
, FEC , , . .




MPLSテクノロジーはラベル配布プロトコルを規制しないことを理解することが重要ですが、特定のネットワークでの最終結果は、異なるプロトコルを使用すると大きく異なる場合があります。親プロトコルおよびアプリケーションは、LSPが誰であるか、またはどのように構築されているかにかかわらず、LSPを使用します。
ところで、TEを介したLPDシナリオは、現代のネットワークでよく見られます。この場合、たとえば、RSVP-TEを使用してトランスポートを編成し、トラフィックエンジニアリングを実装し、LDPを使用してVPNタグを交換します。
MPLSヘッダーの最初のラベルを書き込む出力LSRは、パケットのパス全体を定義します。中間ルーターは、単に1つのラベルを別のラベルに変更します。コンテンツは完全に何でもかまいません。このマルチプロトコルだけで、MPLSはさまざまなVPNサービスの基盤として機能できます。


便利なリンク




記事の最後の仕上げとして、JDimaに感謝しますNatasha Samoilenko
のタスクとこの記事の執筆を手伝ってくれてありがとう
KDPVは、プロジェクトの素晴らしいアーティストであり友人であるNina Dolgopolovaによって描かれました。マキシム・ザ・グラックが
実施したエラーチェックと不正確な検索

Source: https://habr.com/ru/post/J246425/


All Articles