マルチフィールド分類子の例:マルチフィールド分類の設定
マルチフィールド分類の概要
転送クラスとPLPレベル
Junos OSサービスクラス (CoS)機能を設定して、各パケットを転送クラス、PLP(パケット損失の優先度)レベル、またはその両方に関連付けることで、受信トラフィックを分類することができます。
-
関連付けられた転送クラスに基づいて、各パケットは出力キューに割り当てられ、ルーターは設定した関連するスケジューリングに従って出力キューにサービスを提供します。
-
関連するPLPに基づいて、輻輳が発生した場合に各パケットがドロップされる可能性は低くなります。CoSランダム早期検出(RED)プロセスでは、ドロップ確率設定、出力キューのフルネスの割合、およびパケットPLPを使用して、必要に応じてパケットをドロップし、出力ステージでの混雑を制御します。
マルチフィールド分類とBA分類
Junos OSは、BA(動作集約)分類とマルチフィールド分類の2つの一般的なタイプのパケット分類をサポートしています。
-
BA分類、またはCoS値トラフィック分類とは、CoS設定を使用して、IPパケットヘッダーの CoS値 に基づいてパケットの転送クラスまたはPLPを設定するパケット分類の方法を指します。BA 分類のために検査される CoS 値は、DSCP(差別化されたサービス コード ポイント)値、DSCP IPv6 値、IP 優先度値、MPLS EXP ビット、IEEE 802.1p 値です。デフォルトの分類子は、IP優先度値に基づいています。
-
マルチフィールド分類パケット分類とは、標準的なステートレス ファイアウォール フィルター構成を使用して、DSCP 値(IPv4 のみ)、IP 優先度値、MPLS EXP ビット、 およびIEEE 802.1pビット。マルチフィールド分類は、一般的にIPアドレスフィールド、IPプロトコルタイプフィールド、またはUDPまたはTCP擬似ヘッダーフィールドのポート番号で一致します。CoS値以外のパケット情報のみに基づいてパケットを分類する必要がある場合、BA分類の代わりにマルチフィールド分類が使用されます。
マルチフィールド分類では、ファイアウォールフィルター条件は、条件の
then句でforwarding-class class-nameまたはloss-priority (high | medium-high | medium-low | low)非終了アクションを使用して、一致するパケットに対するパケット分類アクションを指定できます。
パケットのBA分類は、ステートレスファイアウォールフィルターのアクション forwarding-class と loss-priorityによって上書きできます。
QFX5kのマルチフィールド分類子によるトラフィックの誤分類:
-
BUM トラフィックが MF 分類子を介してユニキャスト キューを取得することを強制された場合、パケットは MCQ9 に分類されます。Junosリリース21.4R3、22.1R3、およびJunosリリースバージョン22.2以降、これらのパケットはMCQ8に分類されます。
-
ユニキャストトラフィックがMF分類子を介してマルチキャストキューを取得することを強制された場合、パケットはMCQ9に分類され、リリース19.1R3以降はベストエフォートキューに分類されます。
ポリサーと組み合わせて使用されるマルチフィールド分類
レート制限と組み合わせてマルチフィールド分類を設定するために、ファイアウォールフィルター条件は、シングルレート2カラーポリサーを参照する policer 非終了アクションを使用して、パケットを照合するためのパケット分類アクションを指定できます。
マルチフィールド分類がポリサーを介して分類を実行するように設定されている場合、トラフィックフロー内のフィルターに一致したパケットは、ポリサーが指定するトラフィック制限にレート制限されます。フィルターに一致したパケットの適合フロー内のパケットは、暗黙的に low PLPに設定されます。ポリサーの種類と不適合トラフィックを処理するためのポリサーの設定方法に応じて、不適合トラフィックフロー内のパケットを破棄するか、パケットを指定された転送クラスに設定するか、指定されたPLPレベルに設定するか、またはその両方を行うことができます。
マルチフィールド分類を実行するファイアウォールフィルターとポリサーを同じ 論理インターフェイス に同じトラフィック方向に適用する前に、ポリサーとファイアウォールフィルターの操作順序を考慮してください。
例として、次のシナリオを考えてみましょう。
-
パケットの既存の転送クラスまたはPLPに基づいて、マルチフィールド分類(転送クラス、PLP、またはその両方を設定することで一致したパケットに作用)を実行するファイアウォールフィルターを設定します。ファイアウォールフィルターは、論理インターフェイスの入力に適用します。
-
また、赤色のトラフィック フローに作用する単一レートの 2 色ポリサーを設定するには、これらのパケットを破棄するのではなく、再マーキング(転送クラス、PLP、またはその両方を設定)します。ファイアウォールフィルターを適用するのと同じ論理インターフェイスの入力に、インターフェイスポリサーとしてポリサーとして適用します。
ポリサーとファイアウォールの操作の順序により、入力ポリサーは入力ファイアウォールフィルターよりも前に実行されます。つまり、ファイアウォールフィルターで指定されたマルチフィールド分類は、ポリシングアクションによってすでに一度再マークされた入力パケットに対して実行されます。その結果、ファイアウォールフィルターの条件で指定された条件に一致する入力パケットは、その条件で指定された forwarding-class または loss-priority 非終了アクションに従って、2回目の再マーキングの対象となります。
関連項目
マルチフィールド分類の要件と制限
サポート対象プラットフォーム
loss-priorityファイアウォールフィルターアクションは、以下のルーティングプラットフォームでのみサポートされます。
-
EXシリーズスイッチ
-
拡張CFEB(CFEB-E)を搭載したM7iおよびM10iルーター
-
M120およびM320ルーター
-
MX シリーズルーター
-
拡張IIFPC(フレキシブルPICコンセントレータ)搭載のT Seriesルーター
-
PTXシリーズルーター
CoS トリコロール マーキング要件
loss-priorityファイアウォールフィルターアクションには、RFC 2698で定義されているように、プラットフォーム固有の要件がCoSトライコロールマーキング機能に依存しています。
-
M320ルーターでは、CoSトライコロールマーキング機能を有効にしない限り、
loss-priorityファイアウォールフィルターアクションを含む設定をコミットすることはできません。 -
loss-priorityファイアウォールフィルターアクションをサポートするすべてのルーティングプラットフォームで、CoSトライコロールマーキング機能を有効にしない限り、loss-priorityファイアウォールフィルターアクションをmedium-lowまたはmedium-highに設定することはできません。
CoSトライコロールマーキング機能を有効にするには、[edit class-of-service]階層レベルでtri-colorステートメントを含めます。
制限事項
同じファイアウォールフィルター条件に対して、 loss-priority と非終了アクション three-color-policer を設定することはできません。これら 2 つの非終了アクションは相互に排他的です。
PTXシリーズルーターでは、 policer アクションを別のルールで設定する必要があり、 forwarding-classおよび loss-priority アクションを設定するルールと組み合わせないでください。 PTXシリーズパケットトランスポートルーターとT Seriesマトリックスルーターのファイアウォールとポリシングの違いをご覧ください。
関連項目
M シリーズ ルーターのマルチフィールド分類の制限
問題:入力フィルター分類での出力フィルターマッチング
M Seriesルーター(M120ルーターを除く)では、同じIPv4 論理インターフェイスに適用される入力フィルターで設定されたingress分類に基づいて、出力フィルターが一致するパケットを分類することはできません。
例えば、以下の設定では、ingressというフィルターがすべての受信IPv4パケットをexpedited-forwardingクラスに割り当てます。egressというフィルターは、ingressフィルターでexpedited-forwardingクラスに割り当てられたすべてのパケットをカウントします。この設定は、ほとんどの M シリーズ ルーターでは機能しません。M120ルーター、MX シリーズルーター、T シリーズルーターを含む、他のすべてのルーティングプラットフォームで動作します。
[edit]
user@host # show firewall
family inet {
filter ingress {
term 1 {
then {
forwarding-class expedited-forwarding;
accept;
}
}
term 2 {
then accept;
}
}
filter egress {
term 1 {
from {
forwarding-class expedited-forwarding;
}
then count ef;
}
term 2 {
then accept;
}
}
}
[edit]
user@host# show interfaces
ge-1/2/0 {
unit 0 {
family inet {
filter {
input ingress;
output egress;
}
}
}
}
回避策:イングレスフィルターですべてのアクションを設定する
回避策として、ingressフィルターですべてのアクションを設定できます。
user@host # show firewall
family inet {
filter ingress {
term 1 {
then {
forwarding-class expedited-forwarding;
accept;
count ef;
}
}
term 2 {
then accept;
}
}
}
[edit]
user@host# show interfaces
ge-1/2/0 {
unit 0 {
family inet {
filter {
input ingress;
}
}
}
}
関連項目
例:マルチフィールド分類の設定
この例では、ファイアウォールフィルターアクションと2つのファイアウォールフィルターポリサーを使用して、IPv4トラフィックのマルチフィールド分類を設定する方法を示しています。
要件
開始する前に、環境でこの例に示されている機能がサポートされていることを確認してください。
-
loss-priorityファイアウォールフィルターアクションは、ルーターでサポートされ、4つの値すべてに設定可能である必要があります。-
loss-priorityファイアウォールフィルターアクションを設定できるようにするには、以下のルーティングプラットフォームのいずれか上の論理インターフェイスge-1/2/0.0でこの例を設定します。-
MX シリーズルーター
-
M120またはM320ルーター
-
拡張CFEB搭載のM7iまたはM10iルーター(CFEB-E)
-
拡張IIFPC(フレキシブルPICコンセントレータ)搭載のT シリーズルーター
-
-
loss-priorityファイアウォールフィルターアクションをmedium-lowまたはmedium-highに設定できるようにするには、CoSトライコロールマーキング機能が有効になっていることを確認してください。CoSトライコロールマーキング機能を有効にするには、[edit class-of-service]階層レベルでtri-colorステートメントを含めます。
-
-
expedited-forwardingおよびassured-forwarding転送クラスは、基盤となる物理インターフェイスge-1/2/0でスケジュールする必要があります。-
以下の転送クラスが出力キューに割り当てられていることを確認します。
-
expedited-forwarding -
assured-forwarding
転送クラスの割り当ては、
[edit class-of-service forwarding-classes queue queue-number]階層レベルで設定されます。注:同じ転送クラスを 2 つの異なるキューに割り当てる設定をコミットすることはできません。
-
-
転送クラスが割り当てられている出力キューがスケジューラに関連付けられていることを確認します。スケジューラは、キューに割り当てられるインターフェイス帯域幅の量、パケット保存に割り当てられるメモリバッファのサイズ、キューの優先度、およびキューに関連付けられたランダム早期検出(RED)ドロッププロファイルを定義します。
-
出力キュースケジューラは、
[edit class-of-service schedulers]階層レベルで設定します。 -
出力キューのスケジューラを転送クラスと関連付けるには、
[edit class-of-service scheduler-maps map-name]階層レベルで設定するスケジューラマップを使用します。
-
-
出力キューのスケジューリングが物理インターフェイス
ge-1/2/0に適用されていることを確認します。スケジューラマップは、
[edit class-of-service interfaces ge-1/2/0 scheduler-map map-name]階層レベルで物理インターフェイスに適用します。
-
概要
この例では、ステートレスファイアウォールフィルターアクションと、ファイアウォールフィルターから参照される2つのファイアウォールフィルターポリサーを使用して、論理インターフェイスでの入力IPv4トラフィックにマルチフィールド分類を適用します。送信元アドレスフィールドに基づいて、パケットは low 損失優先度に設定されるか、ポリシングされます。どちらのポリサーも、不適合トラフィックを破棄しません。不適合フローのパケットは、特定の転送クラス(expedited-forwarding または assured-forwarding)のマークが付けられ、特定の損失優先度に設定されてから送信されます。
シングルレートの2カラーポリサーは、 low 損失の優先度を暗黙的に設定した後、常に適合したトラフィックフローでパケットを送信します。
トポロジー
この例では、論理インターフェイス ge-1/2/0.0上のIPv4トラフィックにマルチフィールド分類を適用します。分類ルールは、IPv4ステートレスファイアウォールフィルター mfc-filter と、2つのシングルレート2カラーポリサー( ef-policer と af-policer)で指定されます。
IPv4標準ステートレスファイアウォールフィルター mfc-filter では、3つのフィルター条件が定義されています。
-
isp1-customers—最初のフィルター条件は、送信元アドレスが10.1.1.0/24または10.1.2.0/24のパケットに一致します。一致したパケットはexpedited-forwarding転送クラスに割り当てられ、low損失優先度に設定されます。 -
isp2-customers—2 番目のフィルター条件は、送信元アドレスが 10.1.3.0/24 または 10.1.4.0/24 のパケットに一致します。一致したパケットは、バーストサイズ制限50KB で、帯域幅制限300Kbps にトラフィックをレート制限するポリサーであるef-policerに渡されます。このポリサーは、不適合フロー内のパケットがexpedited-forwarding転送クラスとしてマークされ、high損失優先度に設定されることを指定します。 -
other-customers—最後の3番目でフィルター条件は、他のすべてのパケットをaf-policerに渡します。ポリサーは、トラフィックを帯域幅制限300Kbps 、バーストサイズ制限50KB (ef-policerで定義されているトラフィック制限と同じ)にレート制限します。このポリサーは、不適合フロー内のパケットがassured-forwarding転送クラスとしてマークされ、medium-high損失優先度に設定されることを指定します。
設定
次の例では、設定階層のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、 設定モードでのCLIエディターの使用を参照してください。
この例を設定するには、以下のタスクを実行します。
- CLIクイックコンフィグレーション
- 優先転送および保証転送トラフィックをレート制限するようにポリサーを構成する
- ポリシングも適用するマルチフィールド分類フィルターの設定
- マルチフィールド分類フィルタリングとポリシングを論理インターフェイスに適用する
CLIクイックコンフィグレーション
この例を迅速に設定するには、以下の設定コマンドをテキストファイルにコピーし、改行を削除してから、 [edit] 階層レベルのCLIにコマンドを貼り付けます。
set firewall policer ef-policer if-exceeding bandwidth-limit 300k set firewall policer ef-policer if-exceeding burst-size-limit 50k set firewall policer ef-policer then loss-priority high set firewall policer ef-policer then forwarding-class expedited-forwarding set firewall policer af-policer if-exceeding bandwidth-limit 300k set firewall policer af-policer if-exceeding burst-size-limit 50k set firewall policer af-policer then loss-priority high set firewall policer af-policer then forwarding-class assured-forwarding set firewall family inet filter mfc-filter term isp1-customers from source-address 10.1.1.0/24 set firewall family inet filter mfc-filter term isp1-customers from source-address 10.1.2.0/24 set firewall family inet filter mfc-filter term isp1-customers then loss-priority low set firewall family inet filter mfc-filter term isp1-customers then forwarding-class expedited-forwarding set firewall family inet filter mfc-filter term isp2-customers from source-address 10.1.3.0/24 set firewall family inet filter mfc-filter term isp2-customers from source-address 10.1.4.0/24 set firewall family inet filter mfc-filter term isp2-customers then policer ef-policer set firewall family inet filter mfc-filter term other-customers then policer af-policer set interfaces ge-1/2/0 unit 0 family inet address 192.168.1.1/24 set interfaces ge-1/2/0 unit 0 family inet filter input mfc-filter
優先転送および保証転送トラフィックをレート制限するようにポリサーを構成する
ステップバイステップの手順
優先転送および保証転送トラフィックをレート制限するようにポリサーを設定するには:
-
優先転送トラフィックのトラフィック制限を定義します。
[edit] user@host# edit firewall policer ef-policer [edit firewall policer ef-policer] user@host# set if-exceeding bandwidth-limit 300k user@host# set if-exceeding burst-size-limit 50k user@host# set then loss-priority high user@host# set then forwarding-class expedited-forwarding
-
確実な転送トラフィック用のポリサーを設定します。
[edit firewall policer ef-policer] user@host# up [edit firewall] user@host# edit policer af-policer [edit firewall policer af-policer] user@host# set if-exceeding bandwidth-limit 300k user@host# set if-exceeding burst-size-limit 50k user@host# set then loss-priority high user@host# set then forwarding-class assured-forwarding
結果
show firewall 設定モード コマンドを入力して、ポリサーの設定を確認します。コマンド出力に意図した設定が表示されない場合は、この手順の指示を繰り返して設定を修正します。
[edit]
user@host# show firewall
policer af-policer {
if-exceeding {
bandwidth-limit 300k;
burst-size-limit 50k;
}
then {
loss-priority high;
forwarding-class assured-forwarding;
}
}
policer ef-policer {
if-exceeding {
bandwidth-limit 300k;
burst-size-limit 50k;
}
then {
loss-priority high;
forwarding-class expedited-forwarding;
}
}
ポリシングも適用するマルチフィールド分類フィルターの設定
ステップバイステップの手順
ポリシングを追加適用するマルチフィールド分類フィルターを設定するには:
-
IPv4トラフィックのファイアウォールフィルター条件の設定を有効にします。
[edit] user@host# edit firewall family inet filter mfc-filter
-
送信元アドレスで一致する最初の条件を設定し、一致したパケットを分類します。
[edit firewall family inet filter mfc-filter] user@host# set term isp1-customers from source-address 10.1.1.0/24 user@host# set term isp1-customers from source-address 10.1.2.0/24 user@host# set term isp1-customers then loss-priority low user@host# set term isp1-customers then forwarding-class expedited-forwarding
-
異なる送信元アドレスで一致するように 2 番目の条件を設定し、一致したパケットを規制します。
[edit firewall family inet filter mfc-filter] user@host# set term isp2-customers from source-address 10.1.3.0/24 user@host# set term isp2-customers from source-address 10.1.4.0/24 user@host# set term isp2-customers then policer ef-policer
-
3 番目の条件を設定して、他のすべてのパケットを異なるトラフィック制限とアクションのセットに規制します。
[edit firewall family inet filter mfc-filter] user@host# set term other-customers then policer af-policer
結果
show firewall設定モードコマンドを入力して、フィルターの設定を確認します。コマンド出力に意図した設定が表示されない場合は、この手順の指示を繰り返して設定を修正します。
[edit]
user@host# show firewall
family inet {
filter mfc-filter {
term isp1-customers {
from {
source-address 10.1.1.0/24;
source-address 10.1.2.0/24;
}
then {
loss-priority low;
forwarding-class expedited-forwarding;
}
}
term isp2-customers {
from {
source-address 10.1.3.0/24;
source-address 10.1.4.0/24;
}
then {
policer ef-policer;
}
}
term other-customers {
then {
policer af-policer;
}
}
}
}
policer af-policer {
if-exceeding {
bandwidth-limit 300k;
burst-size-limit 50k;
}
then discard;
}
policer ef-policer {
if-exceeding {
bandwidth-limit 200k;
burst-size-limit 50k;
}
then {
loss-priority high;
forwarding-class expedited-forwarding;
}
}
マルチフィールド分類フィルタリングとポリシングを論理インターフェイスに適用する
ステップバイステップの手順
マルチフィールド分類、フィルタリング、およびポリシングを論理インターフェイスに適用するには:
-
論理インターフェイスでIPv4の設定を有効にします。
[edit] user@host# edit interfaces ge-1/2/0 unit 0 family inet
-
論理インターフェイスのIPアドレスを設定します。
[edit interfaces ge-1/2/0 unit 0 family inet ] user@host# set address 192.168.1.1/24
-
論理インターフェイス入力にファイアウォールフィルターを適用します。
[edit interfaces ge-1/2/0 unit 0 family inet ] user@host# set filter input mfc-filter
注:ポリサーはフィルターよりも先に実行されるため、入力ポリサーが論理インターフェイスにも設定されている場合、インターフェイスに関連付けられたマルチフィールド分類子の転送クラスとPLPを使用できません。
結果
show interfaces configuration mode コマンドを入力して、インターフェイスの設定を確認します。コマンド出力に意図した設定が表示されない場合は、この手順の指示を繰り返して設定を修正します。
[edit]
user@host# show interfaces
ge-1/2/0 {
unit 0 {
family inet {
filter {
input mfc-filter;
}
address 192.168.1.1/24;
}
}
}
デバイスの設定が完了したら、設定モードから commit を入力します。
検証
設定が正常に機能していることを確認します。
論理インターフェイスでポリサーによって処理されたパケット数の表示
目的
論理インターフェイスを通過するトラフィックフローと、論理インターフェイスでパケットが受信されたときにポリサーが評価されることを確認します。
アクション
論理インターフェイスに適用したフィルターに対して show firewall 動作モードコマンドを使用します。
user@host> show firewall filter rate-limit-in Filter: rate-limit-in Policers: Name Packets ef-policer-isp2-customers 32863 af-policer-other-customers 3870
コマンド出力には、ファイアウォールフィルター rate-limit-inによって適用されるポリサーと、フィルター条件に一致したパケット数が一覧表示されます。
パケットカウントには、ポリサーによってポリシングされたすべてのパケットではなく、仕様外(規格外)パケット数が含まれます。
ポリサー名は、ポリサーがアクションとして参照されるファイアウォールフィルター条件の名前と連結して表示されます。
例:マルチフィールド分類子のファイアウォールフィルターの設定と適用
この例では、マルチフィールド分類子を使用してトラフィックを分類するようにファイアウォールフィルターを設定する方法を示しています。分類子は、パケットがインターフェイスに到着すると、CoS にとって関心のあるパケットを検出します。単純なBA分類子ではパケットを分類するのに不十分な場合、ピアリングルーターにCoSビットのマークがない場合、またはピアリングルーターのマーキングが信頼できない場合、マルチフィールド分類子を使用します。
要件
この手順を検証するために、この例ではトラフィックジェネレータを使用します。トラフィックジェネレータは、ハードウェアベースでも、サーバーやホストマシン上で実行されているソフトウェアでもかまいません。
この手順の機能は、Junosを実行するデバイスで広くサポートされています。ここに示す例は、Junos OSリリース10.4を実行しているMXシリーズルーターでテストおよび検証されています。
概要
分類子は、パケットがルーターまたはスイッチに入るときに検査するソフトウェア操作です。パケットヘッダーのコンテンツが検査されます。この検査により、ネットワークがビジー状態になりすぎてすべてのパケットを処理できず、デバイスに無差別にパケットをドロップするのではなく、インテリジェントにパケットをドロップさせたい場合に、パケットがどのように処理されるかが決定されます。対象のパケットを検出する一般的な方法の1つは、送信元ポート番号を使用することです。この例ではTCPポート番号80と12345を使用していますが、ファイアウォールフィルター一致条件を使用して、マルチフィールド分類子ではパケット検出のための他の多くの一致基準が利用可能です。この例の設定では、送信元ポート 80 の TCP パケットを BE データ転送クラスとキュー番号 0 に分類することを指定します。送信元ポート 12345 の TCP パケットは、プレミアム データ転送クラスとキュー番号 1 に分類されます。
通常、パケットが自律システム(AS)に入るときに、ネットワークエッジでマルチフィールド分類子を使用します。
この例では、ファイアウォールフィルターmf-classifierを設定し、デバイスR1でいくつかのカスタム転送クラスを指定します。カスタム転送クラスを指定する際には、各クラスをキューに関連付けます。
分類子の動作を 図1に示します。
マルチフィールド分類子のファイアウォールフィルターは、フィルターを必要とする各顧客向けインターフェイスまたはホスト向けインターフェイスに入力フィルターとして適用します。受信インターフェイスは、デバイスR1のge-1/0/1です。分類とキューの割り当ては、発信インターフェイスで検証されます。発信インターフェイスは、デバイスR1のge-1/0/9インターフェイスです。
トポロジー
図 2 は、サンプル ネットワークを示しています。
CLIクイック構成 は、 図2にすべてのジュニパーネットワークスデバイスの構成を示しています。
ステップバイステップの手順で、デバイスR1の手順を説明します。
分類子の詳細については、以下のジュニパーネットワークスラーニングバイトビデオをご覧ください。
設定
手順
CLIクイックコンフィグレーション
この例をすばやく設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルでCLIにコピーアンドペーストして、設定モードから commit を入力します。
デバイスR1
set interfaces ge-1/0/1 description to-host set interfaces ge-1/0/1 unit 0 family inet filter input mf-classifier set interfaces ge-1/0/1 unit 0 family inet address 172.16.50.2/30 set interfaces ge-1/0/9 description to-R2 set interfaces ge-1/0/9 unit 0 family inet address 10.30.0.1/30 set class-of-service forwarding-classes class BE-data queue-num 0 set class-of-service forwarding-classes class Premium-data queue-num 1 set class-of-service forwarding-classes class Voice queue-num 2 set class-of-service forwarding-classes class NC queue-num 3 set firewall family inet filter mf-classifier term BE-data from protocol tcp set firewall family inet filter mf-classifier term BE-data from port 80 set firewall family inet filter mf-classifier term BE-data then forwarding-class BE-data set firewall family inet filter mf-classifier term Premium-data from protocol tcp set firewall family inet filter mf-classifier term Premium-data from port 12345 set firewall family inet filter mf-classifier term Premium-data then forwarding-class Premium-data set firewall family inet filter mf-classifier term accept-all-else then accept
デバイスR2
set interfaces ge-1/0/9 description to-R1 set interfaces ge-1/0/9 unit 0 family inet address 10.30.0.2/30
ステップバイステップの手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、『Junos OS CLIユーザーガイド』の「構成モードでのCLIエディターの使用」を参照してください。
デバイスR1を設定するには:
-
デバイスインターフェイスを設定します。
[edit interfaces] user@R1# set ge-1/0/1 description to-host user@R1# set ge-1/0/1 unit 0 family inet address 172.16.50.2/30 user@R1# set ge-1/0/9 description to-R2 user@R1# set ge-1/0/9 unit 0 family inet address 10.30.0.1/30
-
カスタム転送クラスと関連するキュー番号を設定します。
[edit class-of-service forwarding-classes] user@R1# set BE-data queue-num 0 user@R1# set Premium-data queue-num 1 user@R1# set Voice queue-num 2 user@R1# set NC queue-num 3
-
送信元ポートが80のTCPトラフィック(HTTPトラフィック)を、キュー0に関連付けられたBEデータ転送クラスに配置するファイアウォールフィルター条件を設定します。
[edit firewall family inet filter mf-classifier] user@R1# set term BE-data from protocol tcp user@R1# set term BE-data from port 80 user@R1# set term BE-data then forwarding-class BE-data
-
送信元ポートが12345のTCPトラフィックを、キュー1に関連付けられたプレミアムデータ転送クラスに配置するファイアウォールフィルター条件を設定します。
[edit firewall family inet filter mf-classifier] user@R1# set term Premium-data from protocol tcp user@R1# set term Premium-data from port 12345 user@R1# set term Premium-data then forwarding-class Premium-data
-
ファイアウォールフィルターの最後に、他のすべてのトラフィックを受け入れるデフォルト条件を設定します。
それ以外の場合、インターフェイスに到着し、ファイアウォールフィルターによって明示的に受け入れられないすべてのトラフィックは破棄されます。
[edit firewall family inet filter mf-classifier] user@R1# set term accept-all-else then accept
-
ファイアウォールフィルターを入力フィルターとしてge-1/0/1インターフェイスに適用します。
[edit interfaces] user@R1# set ge-1/0/1 unit 0 family inet filter input mf-classifier
結果
設定モードから、 show interfaces、 show class-of-service、 show firewall コマンドを入力して設定を確認します。出力に意図した設定が表示されない場合は、この例の手順を繰り返して設定を修正します。
user@R1# show interfaces
ge-1/0/1 {
description to-host;
unit 0 {
family inet {
filter {
input mf-classifier;
}
address 172.16.50.2/30;
}
}
}
ge-1/0/9 {
description to-R2;
unit 0 {
family inet {
address 10.30.0.1/30;
}
}
}
user@R1# show class-of-service
forwarding-classes {
class BE-data queue-num 0;
class Premium-data queue-num 1;
class Voice queue-num 2;
class NC queue-num 3;
}
user@R1# show firewall
family inet {
filter mf-classifier {
term BE-data {
from {
protocol tcp;
port 80;
}
then forwarding-class BE-data;
}
term Premium-data {
from {
protocol tcp;
port 12345;
}
then forwarding-class Premium-data;
}
term accept-all-else {
then accept;
}
}
}
デバイスの設定が完了したら、設定モードから commit を入力します。
検証
設定が正常に機能していることを確認します。
CoS設定の確認
目的
転送クラスが正しく設定されていることを確認します。
アクション
デバイスR1から、 show class-of-service forwardng-classes コマンドを実行します。
user@R1> show class-of-service forwarding-class Forwarding class ID Queue Restricted queue Fabric priority Policing priority SPU priority BE-data 0 0 0 low normal low Premium-data 1 1 1 low normal low Voice 2 2 2 low normal low NC 3 3 3 low normal low
意味
出力は、構成されたカスタム分類子設定を示しています。
TCPトラフィックをネットワークに送信し、キューの配置を監視する
目的
対象のトラフィックが、予想されるキューから送信されていることを確認します。
アクション
-
デバイスR1の発信インターフェイスのインターフェイス統計情報をクリアします。
user@R1> clear interfaces statistics ge-1/0/9
-
トラフィックジェネレータを使用して、50 TCPポート80パケットをデバイスR2または他のダウンストリームデバイスに送信します。
-
デバイスR1で、キューカウンターを確認します。
キューカウンターは、受信インターフェイスではなく、ダウンストリーム出力インターフェイスでチェックすることに注意してください。
user@R1> show interfaces extensive ge-1/0/9 | find "Queue counters" Queue counters: Queued packets Transmitted packets Dropped packets 0 50 50 0 1 0 57 0 2 0 0 0 3 0 0 0 -
トラフィックジェネレータを使用して、50 TCPポート12345パケットをデバイスR2または他のダウンストリームデバイスに送信します。
[root@host]# hping 172.16.60.1 -c 50 -s 12345 -k
-
デバイスR1で、キューカウンターを確認します。
user@R1> show interfaces extensive ge-1/0/9 | find "Queue counters" Queue counters: Queued packets Transmitted packets Dropped packets 0 50 50 0 1 50 57 0 2 0 0 0 3 0 0 0
意味
この出力結果は、パケットが正しく分類されていることを示しています。TCPパケットでポート80が使用されている場合、キュー0がインクリメントされます。ポート12345が使用されると、キュー1がインクリメントされます。