例:アウトバウンド ルーティング エンジンと分散プロトコル ハンドラー トラフィックに対して異なるキューイングおよびマーキング のデフォルトを設定する
この例では、ルーティング エンジンによって生成されたトラフィックと分散プロトコル ハンドラーによって生成されたトラフィックが異なる非デフォルト キューに割り当てられ、すべてのエグレス インターフェイスで異なる非デフォルト 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-optionsshow 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。