MPLS LSPのCoSを設定する
以下のセクションでは、MPLS CoSの概要と、MPLS CoS値の設定方法について説明します。
MPLS向けCoSの概要
IPトラフィックがLSPトンネルに入ると、ingressルーターはすべてのパケットにCoS値をマークし、トラフィックを伝送優先度キューに入れるために使用されます。Junos は、CoS 値を MPLS ヘッダーの一部としてエンコードし、パケットが egressルーターを出るときに MPLS ヘッダーが削除されるまでパケットに残ります。LSP内のルーターは、イングレスで設定されたCoS値を使用します。CoS値は、CoSビット(EXPビットとも呼ばれます)によってエンコードされます。詳細については、 MPLSラベルの割り当てを参照してください。
MPLS CoS は、ルーターの一般的な CoS 機能と連携します。CoS機能を設定しない場合は、デフォルトの一般的なCoS設定が使用されます。MPLS CoS の場合、送信キューの処理方法に優先順位を付けるように WRR を設定することができます。REDを使用して輻輳回避を設定します。
MPLS CoS値を設定する
トラフィックがLSPトンネルに入ると、MPLSヘッダーのCoS値は次の3つの方法のいずれかで設定されます。
パケットがバッファリングされた出力キュー番号とPLPはMPLSヘッダーに書き込まれ、パケットのCoS値として使用されます。これはデフォルトの動作であり、設定は必要ありません。 デフォルトの MPLS EXP 分類子 では、デフォルトの MPLS CoS 値とその値の扱いについて説明しています。
LSP トンネルに入るすべてのパケットに固定の CoS 値を設定します。固定のCoS値は、LSPに入るすべてのパケットが同じサービスクラスを受信することを意味します。
MPLS EXP 書き換えルールを設定して、デフォルトの動作を上書きします。
LSP に入るすべてのパケットに固定CoS値を設定するには、 class-of-service ステートメントを含めます。
class-of-service cos-value;
以下の階層レベルでこのステートメントを含めることができます。
[edit protocols mpls][edit protocols mpls label-switched-path path-name][edit protocols mpls label-switched-path path-name primary path-name][edit protocols mpls label-switched-path path-name secondary path-name][edit protocols rsvp interface interface-name link-protection][edit protocols rsvp interface interface-name link-protection bypass destination][edit logical-systems logical-system-name protocols mpls][edit logical-systems logical-system-name protocols mpls label-switched-path path-name][edit logical-systems logical-system-name protocols mpls label-switched-path path-name primary path-name][edit logical-systems logical-system-name protocols mpls label-switched-path path-name secondary path-name][edit logical-systems logical-system-name protocols rsvp interface interface-name link-protection ][edit logical-systems logical-system-name protocols rsvp interface interface-name link-protection bypass destination]
[edit protocols mpls]階層レベルでclass-of-serviceステートメントを使用して設定されたCoS値は、インターフェイスの[edit class-of-service]階層レベルで設定されたCoS値よりも優先されます。事実上、LSPに設定されたCoS値は、インターフェイスに設定されたCoS値を上書きします。
[edit protocols mpls label-switched-path]階層レベルのclass-of-serviceステートメントは、LSP内のパケットのMPLSシムヘッダーに初期EXP値を割り当てます。この値はイングレス ルーティング デバイスでのみ初期化され、その転送クラスに対して確立された書き換え設定を上書きします。ただし、イングレス ルーティング デバイスに入るパケットのCoS処理(WRR(Weighted Round Robin)とRED)は、MPLS LSP 上の class-of-service ステートメントによって変更されません。分類は、[edit class-of-service]階層レベルのBA(動作集約)分類子または[edit firewall]階層レベルのマルチフィールド分類子に基づきます。
LSP に沿ったすべてのルーティング デバイスは、EXP に同じ入力分類子を持つように設定することをお勧めします。書き換えルールが設定されている場合は、すべてのルーティング デバイスに同じ書き換え設定を使用する必要があります。そうしないと、次の LSR のトラフィックが別の転送クラスに分類され、異なる EXP 値が EXP ヘッダーに書き込まれる可能性があります。
CoS値は、0から7までの10進数にすることができます。この数値は、3 ビットの 2 進数に対応します。CoS値の上位2ビットは、アウトバウンドインターフェイスカードで使用する送信キューを選択します。
CoS値の下位ビットはPLPビットとして扱われ、出力キューで使用するREDドロッププロファイルを選択するために使用されます。下位ビットが 0 の場合は非 PLP ドロップ プロファイルが使用され、下位ビットが 1 の場合は PLP ドロップ プロファイルが使用されます。一般的に、RED は PLP ビットが設定されたパケットをより積極的にドロップすることが予想されます。REDとドロッププロファイルの詳細については、 混雑管理用のREDドロッププロファイルを参照してください。
より積極的にパケットをドロップするようにPLPドロッププロファイルを設定する(例えば、CoS値を6から7に設定する)と、トラフィックが通過する可能性が低くなります。
表1 は、MPLS CoS値が送信キューおよびPLPビットにどのように対応するかをまとめたものです。MPLS では、CoS ビット値と出力キュー間のマッピングはハードコードされていることに注意してください。MPLSのマッピングを設定することはできません。転送 クラスが出力キューにクラスを割り当てる方法を理解するで説明されているように、IPv4トラフィックフローに対してのみ設定できます。
MPLS CoS 値 |
ビット |
送信キュー |
PLPビット |
|---|---|---|---|
0 |
000 |
0 |
未設定 |
1 |
001 |
0 |
セット |
2 |
010 |
1 |
未設定 |
3 |
011 |
1 |
セット |
4 |
100 |
2 |
未設定 |
5 |
101 |
2 |
セット |
6 |
110 |
3 |
未設定 |
7 |
111 |
3 |
セット |
CoS値はMPLSヘッダーの一部であるため、この値はLSPトンネルを通過するパケットにのみ関連付けられます。パケットがLSPトンネルから出るときに、値はIPヘッダーにコピーされません。
LSP(ラベルスイッチパス)の MPLS(MPLS)パケットのサービス クラス(CoS)を設定するには:
CoS値を指定します
CoS値を指定しない場合、パケットのIPヘッダーからのIP優先度ビットがパケットのCoS値として使用されます。
IEEE 802.1p パケット ヘッダーを MPLS CoS 値で書き換える
MPLSとIEEEの両方の802.1p CoS値を設定した値に書き換えることができます。これらの値を書き換えることで、設定された値をL2 VLANパスに渡すことができます。MPLS と IEEE 802.1p の両方の CoS 値を書き換えるには、CoS インターフェイス設定に EXP と IEEE 802.1p 書き換えルールを含める必要があります。EXP書き換えテーブルは、IEEE 802.1pおよびEXP書き換えルールを設定するときに適用されます。
EXPおよびIEEE 802.1p書き換えルールの設定方法については、 パケットヘッダーを書き換えて転送動作を確保するを参照してください。