仮想CoS転送の設定
定義されたルートCoS CBF(ベースフォワーディング)にのみ適用できます。そのため、次の例のようにポリシー ステートメントを設定する必要があります。
[edit policy-options]
policy-statement my-cos-forwarding {
from {
route-filter destination-prefix match-type;
}
then {
cos-next-hop-map map-name;
}
}
この設定では、ルート フィルターに一致するルートが、 で指定CoSネクスト ホップ マッピングの対象となると指定します map-name 。ポリシー ステートメントの設定について、詳しくは ルーティング ポリシー、ファイアウォール フィルター、トラフィック ポリサー ユーザー ガイド を参照してください。
M Series ルーター(M120 ルーターと M320 ルーターを除く)では、転送クラスベースのマッチングと CBF は、転送クラスが入力インターフェイスでマルチフィールド フィルタで設定されている場合、想定通りには機能しません。
Junos OS リリース 17.2 から、MPC または MS-DPC、VMX、PTX3000 ルーター、PTX5000 ルーターを備える MX ルーターは、最大 16 の転送クラスについて CoS ベースの転送(CBF)を設定できます。その他のすべてのプラットフォームでは、最大 8 つの転送クラスの CBF がサポートされています。MXルーター上のCBF用に最大16の転送クラスをサポートするには、階層 enhanced-ip レベルで [edit chassis network-services] 有効にします。
サポートされる転送クラス数以下とデフォルトの転送クラスのみを使用して、デバイス上で CBF を設定できます。この状況では、転送クラスからキューへのマッピングは、1 対 1 または 1 対多のマッピングのいずれかです。ただし、設定されている転送クラスの数がサポートされている数を超えると、CBF を設定することはできません。同様に、CBF を設定した場合、サポートされる転送クラス数以上とデフォルトの転送クラスを設定することはできません。
ネクスト ホップ マップCoSするには、ステートメントを階層レベル forwarding-policy に [edit class-of-service] 含める:
[edit class-of-service] forwarding-policy { next-hop-map map-name { forwarding-class class-name { discard; lsp-next-hop [ lsp-regular-expression ]; next-hop [ next-hop-name ]; non-lsp-next-hop; } forwarding-class-default { discard; lsp-next-hop [ lsp-regular-expression ]; next-hop [next-hop-name]; non-lsp-next-hop; } } }
cBF を OSPF を内部ゲートウェイ プロトコル(IGP)として設定する場合、ネクスト ホップを IPv4 または IPv6 アドレスとしてではなく、インターフェイス名またはネクストホップ エイリアスとして指定する必要があります。これは当てはまるのOSPFポイント to-ポイント インターフェイスのネクスト ホップとしてインターフェイスにルートを追加するためです。ネクスト ホップに IP アドレスは含まれている必要はない。設定の例については、 例: CoS ベース転送の設定 を参照してください。
レイヤー 3 VPN では、VRF インスタンス内の PE(ファーエンド プロバイダ エッジ)ルーターから受信したルートに対してクラスベースの転送を使用する場合、受信したルートに関連付けられた属性に基づいて、ソフトウェアをルートと一致できます。つまり、一致は RIB-in 内のルートに基づいて行えるのです。この場合、階層レベルに含めるステートメントは、ポリシーがテーブルではなくテーブルをチェックします。 route-filter [edit policy-options policy-statement my-cos-forwarding from] bgp.l3vpn.0 vrf.inet.0
Junos OSは、CoSされたネクスト ホップ のセットにネクスト ホップ マップを適用します。ネクスト ホップ自体は、ルーティング デバイス上の任意の送信インターフェイス上に設定できます。たとえば、次の設定では、転送クラスとネクストホップ識別子のセットを関連付けします。
[edit class-of-service forwarding-policy]
next-hop-map map1 {
forwarding-class expedited-forwarding {
next-hop next-hop1;
next-hop next-hop2;
}
forwarding-class best-effort {
next-hop next-hop3;
lsp-next-hop lsp-next-hop4;
}
forwarding-class-default {
lsp-next-hop lsp-next-hop5;
}
}
この例では、あるネクスト ホップに対する IP アドレスまたはエグレス インターフェイスのいずれかであり、そのラベルを持つ任意のネクスト ホップに対応する next-hop N lsp-next-hop N 正規表現です。Q1~Q は、特定のネクスト ホップにマップされる転送 N クラスのセットです。つまり、パケットが Q1 から Q に交換された場合、関連付けられたネクスト ホップに関連付けられた N インターフェースに転送されます。
この設定は、以下のような意味を持っています。
単一の転送クラスを複数の標準ネクスト ホップまたは LSP ネクスト ホップにマップできます。つまり、ロードシェアリングは、同じクラスの値を提供する標準のネクスト ホップまたは LSP のネクスト ホップで行われます。これを適切に機能するために、Junos OS は等コストのネクスト ホップのリストを作成し、その転送クラスの標準のロードシェアリングルールに従ってパケットを転送します。
転送クラスの設定に LSP ネクスト ホップと標準ネクスト ホップが含まれる場合、LSP ネクスト ホップが標準のネクスト ホップより優先されます。前の例では、ルートが適用されているルートの有効なネクスト ホップの両方が有効な場合、転送テーブル
next-hop3lsp-next-hop4にはエントリーmap1のみ含lsp-next-hop4まれます。すべての転送クラスを指定しない場合は、デフォルトの転送クラスがデフォルトとして選択されます。 では、ネクスト ホップ マップ内の転送クラスを満たしていないトラフィックのネクスト ホップを
next-hop-mapdefault-forwarding class 定義します。デフォルト転送クラスがネクスト ホップ マップで指定されていない場合、デフォルトはランダムに指定されます。デフォルトの転送クラスは、queue 0に関連付けられたクラスです。LSP ネクスト ホップの場合、Junos OS UNIX
regex(3)スタイル正規表現を使用します。たとえば、次のラベルが存在する場合、 、 と のステートメントが一致lsplsp1lsp2lsp3lsp-next-hop lsplsplsp1lsp2しますlsp3。この動作が必要ない場合は、アンカー文字(一致のみ)lsp-next-hop " ^lsp$"を使用する必要lspがあります。ルート フィルタは、ポリシーがテーブルではなくテーブルに対してチェックするから、
bgp.l3vpn.0機能vrf.inet.0しません。
最後のステップは、転送エンジンにエクスポートされたルートにルート フィルタを適用します。これは次の例に示されています。
routing-options {
forwarding-table {
export my-cos-forwarding;
}
}
この設定は、ルーティング プロセスに、関連するネクスト ホップ CBF ルールと一致する転送エンジンへのルート my-cos-forwarding を挿入するように指示します。
以下のアルゴリズムは、設定をルートに適用する際に使用します。
ルートが単一のネクスト ホップ ルートの場合、すべてのトラフィックがルートに移動します。CBFは効果を得ない
各ネクスト ホップに対して、適切な転送クラスを関連付ける。ルート内ではなくネクスト ホップがマップ内に表示された場合、それは転送
cos-next-hopテーブルのエントリーに表示されません。すべての転送クラスがネクスト ホップ マップで指定されている場合は、デフォルトの転送クラスが使用されます。デフォルトが指定されていない場合、デフォルトはネクスト ホップ マップで定義された最も低いクラスに割り当てられます。