従来、Junos OSのパケットマーキング(つまり、書き換えルールを設定する)は、動作集約(BA)の分類子またはマルチフィールド分類子によって決定された転送クラスと損失優先度を使用します。また、転送クラスと損失の優先度は、キューイングの動作を決定するために使用されます。このアプローチでは、転送クラスと損失の優先度の組み合わせの数が限られているため、各顧客に直接ルールを書き換えすることはできません。新しい顧客が追加されると、このアプローチを使用してルールの書き換えを設定するには、コア インターフェイスの設定を変更する必要があります。これは、1 つの間違いがすべての顧客からのトラフィックに影響を与える可能性があるため、回避する必要があります。
ポリシー マップと呼ばれる Junos OS リリース 14.2R3 以降の代替パケット マーキング スキームでは、顧客ごとに(つまり、各顧客に対して)書き換えルールを定義できます。ポリシー マップでは、任意のパケット フィールドを使用して特定のフローを識別し、そのフローの書き換え値を指定できます。
ポリシー マップを構成および適用するには、以下が必要です。
MPCを搭載したMXシリーズルーター
Junos OS リリース 14.2R3 以降
顧客ごとに書き換えルールを割り当てるには、以下の手順に従います。
- ポリシー マップを設定します。
[edit class-of-service policy-map policy-map-name]
user@host# set inet-precedence proto-ip code-point [alias | bits];
user@host# set inet-precedence proto-mpls code-point [alias | bits]
user@host# set dscp proto-ip code-point [alias | bits]
user@host# set dscp proto-mpls code-point [alias | bits]
user@host# set dscp-ipv6 proto-ip code-point [alias | bits]
user@host# set dscp-ipv6 proto-mpls code-point [alias | bits]
user@host# set exp all-label code-point [alias | bits]
user@host# set exp outer-label code-point [alias | bits]
user@host# set ieee-802.1 outer code-point [alias | bits]
user@host# set ieee-802.1 outer-and-inner code-point [alias | bits]
user@host# set ieee-802.1ad outer code-point [alias | bits]
user@host# set ieee-802.1ad outer-and-inner code-point [alias | bits]
メモ:
ポリシー マップには、以下の設定制限があります。
、 、または dscp-ipv6
の両方proto-ip
のproto-mpls
オプションを設定するinet-precedence
場合は、両方のオプションを同じコードポイントまたはコードポイントエイリアスで設定する必要があります。 dscp
同じポリシーマップで と dscp
を設定inet-precedence
することはできません。
同じポリシーマップで と ieee-802.1ad
を設定ieee-802.1
することはできません。
同じポリシー マップ内の および outer-and-inner
コード ポイントに および ieee-802.1
ieee-802.1ad
オプションの両方outer
を設定することはできません。
MPLS POP 操作 EXP 書き換えの場合、内部ヘッダーも MPLS の場合、 オプションall-label
でmpls
指定された値のみがexp
有効になります。
例えば:
[edit class-of-service]
user@host# set policy-map pm1 dscp proto-ip code-point 111000
user@host# set policy-map pm1 ieee-802.1 outer code-point 001
- ポリシー マップを適用します。
ポリシーを適用して、イングレスまたはエグレスファイアウォールフィルターをマッピングします。
[edit firewall family protocol-family-name filter filter-name]
user@host# set term term-name from match-conditions
user@host# set term term-name then policy-map policy-map-name
例えば:
[edit firewall family inet filter f1]
user@host# set term t1 from address 10.2.2.0/24
user@host# set term t1 then policy-map pm1
メモ:
この例では、IP アドレス 10.2.2.0/24 から到着するすべての IPv4 パケットには、 の 111000
DSCP 値が割り当てられます。
または、ポリシー マップをルーティング インスタンスに適用します。
[edit class-of-service]
user@host# set routing-instances routing-instance-name policy-map policy-map-name
例えば:
[edit class-of-service]
user@host# set routing-instances r1 policy-map p1
メモ:
この例では、ルーティング インスタンス r1
内のすべての IPv4 パケットに DSCP 値が 111000
割り当てられます。
または、 イングレス インターフェイスに直接ポリシーマップを適用します。
[edit class-of-service]
user@host# set interfaces interface-name unit logical-unit-number policy-map policy-map-name
例えば:
[edit class-of-service]
user@host# set interfaces xe-4/0/0 unit 0 policy-map p1