例:アウトバウンド ルーティング エンジンと分散プロトコル ハンドラー トラフィックに対して異なるキューイングおよびマーキング のデフォルトを設定する
この例では、ルーティング エンジンによって生成されたトラフィックと分散プロトコル ハンドラーによって生成されたトラフィックが異なる非デフォルト キューに割り当てられ、すべてのエグレス インターフェイスで異なる非デフォルト DiffServ コード ポイント(DSCP)ビットでマークされるように、IPv4 ネットワークでサポートされているルーターを設定する方法を示します。
この設定により、制御プレーンプロトコルhelloパケットとルーターによって生成されたキープアライブパケットにネットワーク全体の優先度を設定できます。この機能は、M320ルーターのMXシリーズルーター、M120ルーター、および拡張III FPCでホストされるエグレスインターフェイスでサポートされています。
要件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
2つのMX80ルーター、R1およびR2、それぞれ20ポートギガビットイーサネットMICとSFPを備えています。2台のルーターはIPv4ネットワークを介して直接接続されています。
Junos OS リリース 13.2 以降。
この例を設定する前に、ルーターR1のポートge-1/0/19およびルーターR2のポートge-1/1/0からの双方向転送検出(BFD)セッションを設定します。
概要
この例では、ルーティング エンジンによって生成されたトラフィックと分散プロトコル ハンドラーによって生成されたトラフィックが、異なる非デフォルト キューに割り当てられ、異なる非デフォルト DSCP ビットでマークされるように、IPv4 ネットワークに MX80 ルーターを設定します。
分散プロトコル ハンドラーから送信されたトラフィックは、すべてのエグレス インターフェイスのキュー 7 に配置されます。これらのパケットのうち、レイヤー 3 パケットはエグレスで DSCP ビット 001010 でマークされます。
ルーティング エンジンの送信元トラフィックは、すべてのエグレス インターフェイスのキュー 6 に配置されます。これらのパケットのうち、レイヤー 3 パケットはエグレスで DSCP ビット000011マークされます。
この例の MX80 ルーターでは、インターフェイスが 20 ポート ギガビット イーサネット MIC で SFP でホストされているため、 階層レベルで設定ステートメントを含めることで、ホストアウトバウンド トラフィックのデフォルト キューイングおよび DSCP マーキング動作を[edit class-of-service host-outbound-traffic]
上書きできます。この例では、 および dscp-code-point
ステートメントをforwarding-class
使用して、分散プロトコル ハンドラーによって生成されたトラフィックの上書き値を指定します。
この設定は、ルーティング エンジンによって生成されたトラフィックにも影響します。
ルーティング エンジンが送信元トラフィックの異なるキューイングおよび DSCP マーキングを設定するには、2 つ目のオーバーライド設定を適用する必要があります。および dscp
のアクションを使用forwarding-class
して上書き値を指定するIPv4ファイアウォールフィルターを設定し、そのフィルターをルーターループバックアドレスのエグレスにアタッチします。この設定は、ルーティング エンジンが送信元のトラフィックに影響を与えますが、分散プロトコル ハンドラから送信されたトラフィックには影響しません。
構成
エグレスルーティングエンジンと分散プロトコルハンドラートラフィックに対して、異なるキューイングおよびDSCPマーキングのデフォルトを設定するには、以下のタスクを実行します。
- CLI クイックコンフィギュレーション
- R1パケットカウントの設定
- ホストアウトバウンドトラフィックのR2キューイングおよび再マーキングの設定
- ルーティング エンジン送信元トラフィックの R2 キューイングおよび再マーキングの設定
CLI クイックコンフィギュレーション
この例を迅速に設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に合わせて必要な詳細を変更してから、 階層レベルの CLI にコマンドを [edit]
コピー アンド ペーストします。
ルーター R1
set firewall family inet filter f_bfd_source term 1 from forwarding-class control-traffic then count c_sent_bfd set firewall family inet filter f_bfd_source term 1 then accept set firewall family inet filter f_bfd_source term 2 from forwarding-class-except control-traffic then count c_sent_other set firewall family inet filter f_bfd_source term 2 then accept set forwarding-options family inet filter output bfd_source
ルーターR2
set class-of-service forwarding-classes queue-num 7 bfd_keepalive set class-of-service host-outbound-traffic forwarding-class bfd_keepalive set class-of-service host-outbound-traffic dscp-code-point 110000 set class-of-service forwarding-classes queue-num 6 re_control set firewall family inet filter f_out_loopback term 1 then forwarding-class re_control set firewall family inet filter f_out_loopback term 1 then dscp 001010 set firewall family inet filter f_out_loopback term 1 then accept set interfaces lo0 unit 0 family inet filter output f_out_loopback
R1パケットカウントの設定
手順
ルーターR1が、転送クラス用にマークされたパケットを network-control
カウントするように設定するには:
転送クラス用にマークされたパケットをカウントするIPv4ファイアウォールフィルター条件を
network-control
設定します。[edit] user@R1# set firewall family inet filter f_bfd_source term 1 from forwarding-class control-traffic then count c_sent_bfd user@R1# set firewall family inet filter f_bfd_source term 1 then accept
その他のすべてのパケットをカウントするIPv4ファイアウォールフィルター条件を設定します。
[edit] user@R1# set firewall family inet filter f_bfd_source term 2 from forwarding-class-except control-traffic then count c_sent_other user@R1# set firewall family inet filter f_bfd_source term 2 then accept
すべてのエグレス パケットにファイアウォール フィルターを適用します。
[edit] user@R1# set forwarding-options family inet filter output bfd_source
ホストアウトバウンドトラフィックのR2キューイングおよび再マーキングの設定
手順
ルーターR2がホストアウトバウンドトラフィックをキュー7に配置し、DSCPビット110000でレイヤー3パケットを再マークするように設定するには:
転送クラスを
bfd_keepalive
定義し、キュー 7 にマッピングします。[edit] user@R2# set class-of-service forwarding-classes queue-num 7 bfd_keepalive
すべてのエグレス インターフェイスのキュー 7 に、分散型プロトコル ハンドラーによって送信元となるトラフィック(およびルーティング エンジンが送信元トラフィック)を配置するようにルーターを設定します。
[edit] user@R2# set class-of-service host-outbound-traffic forwarding-class bfd_keepalive
レイヤー 3 分散型プロトコル ハンドラーが送信元トラフィック(およびルーティング エンジンが送信元トラフィック)を、ToS ビット 1100 0000 と互換性のある DSCP ビット 1100000 で再マークするようにルーターを設定します。
[edit] user@R2# set class-of-service host-outbound-traffic dscp-code-point 110000
ルーティング エンジン送信元トラフィックの R2 キューイングおよび再マーキングの設定
手順
ルーターR2が、ルーティングエンジンが送信元のトラフィックのみをキュー6に配置し、DSCPビットを持つレイヤー3パケットを再マークするように設定するには、001010:
転送クラスを
re_control
定義し、キュー 6 にマッピングします。[edit] user@R2# set class-of-service forwarding-classes queue-num 6 re_control
一致したパケットをキュー 6 に配置し、DSCP ビット 001010 で一致したレイヤー 3 パケットを再マークし、すべての一致したパケットを受け入れる IPv4 ファイアウォール フィルター
f_out_loopback
を定義します。[edit] user@R2# set firewall family inet filter f_out_loopback term 1 then forwarding-class re_control user@R2# set firewall family inet filter f_out_loopback term 1 then dscp 001010 user@R2# set firewall family inet filter f_out_loopback term 1 then accept
ルーターのループバックアドレスの出力にフィルターをアタッチして、フィルターアクションがルーティングエンジンの送信元トラフィックにのみ適用されるようにします。
[edit] user@R2# set interfaces lo0 unit 0 family inet filter output f_out_loopback
デバイスの設定が完了したら、設定をコミットします。
[edit] user@R2# commit
結果
設定モードから、 、show forwarding-options
show firewall
および のコマンドをshow class-of-service
入力して設定をshow interfaces
確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
ルーター R1
user@R1# show firewall family inet { filter f_bfd_source { term 1 { from { forwarding-class control-traffic; } then { count c_sent_bfd; accept; } } term 2 { from { forwarding-class-except control-traffic; } then { count c_sent_other; accept; } } } }
user@R1# show forwarding-options family inet { filter { output bfd_source; } }
ルーターR2
user@R2# show class-of-service forwarding-classes { queue-num 6 re_control; queue-num 7 bfd_keepalive; } host-outbound-traffic { forwarding-class bfd_keepalive; dscp-code-point 110000; }
user@R2# show firewall family inet { filter f_out_loopback { term 1 { then { forwarding-class re_control; dscp 001010; accept; } } } }
user@R2# show interfaces lo0 { unit 0 { family inet { filter { output f_out_loopback; } } } }
検証
検証を開始する前に、両方のルーターでBFDセッションを有効にします。
設定が正しく機能していることを確認します。
R1がBFDセッションで送信しているトラフィックのキュー割り当ての検証
目的
ルーターR1のBFDソースエンドポイントから送信されたサービスクラス(CoS)転送クラスの割り当てとトラフィックのタイプを確認します。
アクション
ルーターR1の運用モードから、BFDパケットがルーターR1のセッションエンドポイントから送信されていることを確認します。CoS設定がない場合、コマンド出力は、使用中の4つの転送クラスと4つのエグレスキューのキューと送信トラフィックに関する統計を表示します。
user@R1> show interfaces queue ge-1/0/19 egress Physical interface: ge-1/0/19, Enabled, Physical link is Up Interface index: 175, SNMP ifIndex: 121 Forwarding classes: 8 supported, 4 in use Egress queues: 4 supported, 4 in use Queue: 0, Forwarding classes: best-effort Queued: ... Transmitted: ... Queue: 1, Forwarding classes: expedited-forwarding Queued: ... Transmitted: ... Queue: 2, Forwarding classes: assured-forwarding Queued: ... Transmitted: ... Queue: 3, Forwarding classes: network-control Queued: ... Transmitted: ...
意味
エグレスキュー3の統計情報には、ルーターR2に送信されたBFDセッショントラフィックが反映されています。
ルーターR1がBFDトラフィックを送信していることを確認する
目的
ルーターR1がBFDセッションエンドポイントからBFDパケットを送信していることを確認します。
アクション
ルーターR1の運用モードから、R1がBFDセッションエンドポイントから送信するBFDパケットの数が増加し続けています。
user@R1> clear firewall filter f_bfd_source user@R1> show firewall filter f_bfd_source Filter: bfd_source Counters: Name Bytes Packets c_sent_bfd 2770 70 c_sent_other 0 0
user@R1> show firewall filter f_bfd_source Filter: bfd_source Counters: Name Bytes Packets c_sent_bfd 2182022 39482 c_sent_other 0 0
ルーターR2がBFDトラフィックを受信していることを確認する
目的
ルーターR2がBFDセッションエンドポイントでBFDパケットを受信していることを確認します。
アクション
ルーターR2の運用モードから、BFDセッションエンドポイントが、転送クラスのデフォルトDSCP CoS値 network-control
である110000に設定されたルーティングエンジン宛てのパケットを受信していることを確認します。DSCPビット110000は、ToSビット1100 0000、または0xC0にマッピングされます。
user@R2> monitor traffic extensive ge-1/1/0 layer2-headers Address resolution is ON. Use <no-resolve> to avoid any reverse lookup delay. Address resolution timeout is 4s. Listening on ge-1/1/0, capture size 1514 bytes 03:23:10.830472 bpf_flags 0x83, In Juniper PCAP Flags [Ext, no-L2, In], PCAP Extension(s) total length 16 Device Media Type Extension TLV #3, length 1, value: Ethernet (1) Logical Interface Encapsulation Extension TLV #6, length 1, value: Ethernet (14) Device Interface Index Extension TLV #1, length 2, value: 132 Logical Interface Index Extension TLV #4, length 4, value: 68 -----original packet----- PFE proto 2 (ipv4): (tos 0xc0, ttl 255, id 1511, offset 0, flags [none], proto: UDP (17), length: 52) 10.1.1.1.bfd-src > 10.1.1.2.bfd-ip: [udp sum ok] BFDv1, length: 24 One-hop Control, State Up, Flags: [Control Plane Independent], Diagnostic: No Diagnostic (0x00) Detection Timer Multiplier: 3 (30000 ms Detection time), BFD Length: 24 My Discriminator: 0x00000002, Your Discriminator: 0x00000001 Desired min Tx Interval: 10000 ms Required min Rx Interval: 10000 ms Required min Echo Interval: 0 ms
意味
入力パケットエントリーの例では、元のパケットに 、 が付 tos 0xC0
いていると確認され、デフォルトの転送クラスに関連付けられます network-control
。