この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
Class Based Flow Control(CBFC)または Per Priority Pause(PPP)とも呼ばれるプライオリティ フロー制御(PFC;IEEE 802.1Qbb)は、輻輳が原因のフレーム損失を防ぐメカニズムです。PFC は 802.3x フロー制御(ポーズ フレーム)またはリンク レベル フロー制御(LFC)と類似しています。ただし、PFC はサービス クラス(CoS)ごとに動作します。
輻輳が原因でバッファしきい値を超過した場合、指定された期間リンク上のすべてのデータ送信を一時停止するために、ピアにポーズ フレームを送信します。輻輳が軽減される(トラフィックが設定されたしきい値を下回る)と、再開フレームが生成され、リンク上でデータ送信が最下位されます。
一方、輻輳中は、どの CoS 値を一時停止する必要があるかを示すポーズ フレームを PFC が送信します。PFC ポーズ フレームには、トラフィックが一時停止する必要のある時間の長さを示す各 CoS の 2 オクテットのタイマー値が含まれます。タイマーの時間単位はポーズ量子で指定されます。量子は、ポートの速度で 512 ビットを送信するために必要な時間です。範囲は 0 ~ 65535 です。ポーズ量子が 0 のポーズ フレームは、一時停止したトラフィックを再開する再開フレームを示します。
![]() (注) | 他のクラスが通常の動作を許可される一方で、トラフィックの特定のサービス クラスのみがフロー制御を使用できます。 |
PFC はピアに対して、既知のマルチキャスト アドレスにポーズ フレームを送信して、特定の CoS 値を持つフレームの送信を停止するように求めます。このポーズ フレームは、ピアによる受信時に転送されない 1 ホップ フレームです。輻輳が軽減されると、PFC はピアにフレームの送信の再開を要求できます。
次の表に、この機能のライセンス要件を示します。
製品 |
ライセンス要件 |
---|---|
Cisco NX-OS |
PFC 機能にライセンスは必要ありません。ライセンス パッケージに含まれていない機能は NX-OS イメージにバンドルされており、無料で提供されます。NX-OS ライセンス方式の詳細については、『Cisco NX-OS Licensing Guide』を参照してください。 |
PFC には、次の前提条件があります。
PFC 設定時の注意事項と制約事項は次のとおりです。
internal キーワードが付いている show コマンドはサポートされていません。
PFC がポートまたはポート チャネルでイネーブルにされる場合でも、ポート フラップは発生しません。
PFC 設定は、送信(Tx)および受信(Rx)の両方向で PFC をイネーブルにします。
ポーズ フレームの設定時間量子はサポートされていません。
この設定は、特定のトラフィック クラス キューにマッピングされ、一時停止が選択されたストリームをサポートしません。クラスにマッピングされたすべてのフローは、no-drop として扱われます。これにより、キュー全体のスケジューリングが行われず、キューのすべてのストリームでトラフィックが一時停止します。no-drop クラスのロスレス サービスを実現するには、キューでのトラフィックを no-drop クラスのトラフィックに限定することを推奨します。
no-drop クラスが 802.1p CoS x に基づいて分類され、内部プライオリティ値(QoS グループ)の y が割り当てられている場合は、内部プライオリティ値 x を使用して 802.1p CoS のみのトラフィックを分類し、他のフィールドのトラフィックは分類しないことを推奨します。分類が CoS に基づいていない場合、割り当てられるパケット プライオリティは x で、これにより、内部プライオリティ x および y のパケットが同じプライオリティ x にマッピングします。
PFC 機能では、どの最大伝送単位(MTU)サイズでも、最大 3 つの no-drop クラスがサポートされます。ただし、次の要因に基づく PFC 対応インターフェイス数の制限があります。
systemjumbomtu コマンドを使用して、システム内の MTU の上限を定義できます。MTU 範囲は、1500 ~ 9216 バイトで、デフォルトは 9216 バイトです。
インターフェイス QoS ポリシーはシステム ポリシーよりも優先されます。PFC の優先度の派生も同じ順序で行われます。
入力と出力の両方において、すべての PFC 対応インターフェイスで同じインターフェイス レベルの QoS ポリシーを適用していることを確認します。
![]() 注意 | PFC の設定に関係なく、インターフェイス レベルまたはシステム レベルで完全プライオリティ レベルがあるキューイング ポリシーの適用または削除をする前にトラフィックを停止することを推奨します。 |
ネットワークを介してエンドツーエンドのロスレス サービスを実現するには、no-drop クラス トラフィック フロー(Tx/Rx)を介して各インターフェイスで PFC をイネーブルにすることを推奨します。
トラフィックがない場合は PFC 設定を変更することを推奨します。このようにしないと、システムの Memory Management Unit(MMU)にすでに含まれているパケットが、予期されるとおりに処理されない可能性があります。
no-drop クラスにデフォルトのバッファ サイズを使用するか、または 10G および 40G インターフェイスおよび no-drop クラス MTU サイズに適した異なる入力キューイング ポリシーを設定することを推奨します。CLI を使用してバッファ サイズを指定する場合は、リンク速度と MTU サイズに関係なく、すべてのポートに同じバッファ サイズが割り当てられます。10G および 40G インターフェイスへの同一ポーズ バッファ サイズの適用はサポートされません。
出力キューのドロップの原因になるため、no-drop クラスで WRED をイネーブルにしないでください。
ダイナミック ロード バランシングは、PFC を使用する内部リンクではイネーブルにできません。DLB をディセーブルにし、port-channel load-balance internal rtag7 コマンドを使用して内部リンクに対し RTAG7 ロード バランシングをイネーブルにする必要があります。
ダイナミック ロード バランシング(DLB)に基づくハッシュ方式は、ラインカードのすべての内部リンクでデフォルトでイネーブルになっています。DLB がイネーブルの場合、内部リンクの輻輳が発生し、PFC が適用されると、no-drop トラフィックで正しくない順序のパケット配信が発生することがあります。システム上のアプリケーションが正しくない順序の配信の影響を受ける場合、qos-group レベルで DLB をディセーブルにすることで、これに対処できます。QoS ポリシー マップの set dlb-disable アクションと、no-drop クラスに対する set qos-group アクションを使用して、DLB をディセーブルにします。
次の例では、qos-group 1 が no-drop クラスであることを前提とします。set dlb-disable アクションと set qos-group アクションを追加することで、この no-drop クラスに対して DLB がディセーブルになります。
switch(config)# policy-map p1 switch(config-pmap-qos)# class c1 switch(config-pmap-c-qos)# set qos-group 1 switch(config-pmap-c-qos)# set dlb-disable switch(config-pmap-c-qos)# end switch# show policy-map p1 Type qos policy-maps ==================== policy-map type qos p1 class c1 set qos-group 1 set dlb-disable
VLAN タグ付きパケットの場合、プライオリティは VLAN タグの 802.1p フィールドに基づいて割り当てられ、割り当て済みの内部プライオリティ(QoS グループ)よりも優先されます。DSCP または IP アクセス リストの分類は、VLAN タグ付きフレームでは実行できません。
非 VLAN タグ付きパケットの場合、入力 QoS ポリシーで与えられる set qos-group アクションに基づいてプライオリティが割り当てられます。分類は、優先順位、DSCP、アクセス リストなどの QoS ポリシーで許可されるマッチング条件に基づいて行われます。ここでは、network-qos ポリシーでこのクラスに提供される pfc-cos 値が qos-group 値と同じであることを確認してください。
PFC は、100G ポートの Cisco Nexus 9000 シリーズ スイッチではサポートされていません。
NX-OS 7.0(3)I1(2) 以降では、リンクレベル フロー制御および PFC は、Cisco Nexus 9300 シリーズ スイッチおよび ALE(ACI Leaf Engine)を備えたラインカードでサポートされます。
PFC on モードは、PFC をサポートしているがデータセンター ブリッジング機能交換プロトコル(DCBXP)はサポートしていないホストをサポートするために使用されます。
no-drop CoS が完全に一致する場合にのみ、DCBXP によって PFC のネゴシエーションが成功したと見なされます。
DCBX プロトコルは、Cisco Nexus 9300 シリーズ デバイスおよび Cisco Nexus 9500 シリーズ デバイス(NX-OS 7.0(3)I3(1) 以降)でサポートされます。
Cisco NX-OS リリース 7.0(3)I4(2) 以降では、バックツーバック スイッチの両側のインターフェイスで PFC が無効になるように、no lldp tlv-select dcbxp コマンドが拡張されています。
パラメータ |
デフォルト |
---|---|
PFC |
自動 |
アクティブなネットワーク QoS ポリシーで定義されている CoS の no-drop 動作をイネーブルにするには、ポート単位の PFC を設定できます。PFC は、次の 3 種類のモードのいずれかに設定できます。
auto:DCBXP によってアドバタイズされ、ピアとネゴシエートされるように no-drop CoS 値をイネーブルにします。正常なネゴシエーションでは、no-drop CoS での PFC がイネーブルになります。ピア機能の不一致が原因で障害が発生すると、PFC がイネーブルにならない可能性があります(7.0(3)I3(1) 以降)。
on:ピアの機能に関係なく、ローカル ポートで PFC をイネーブルにします。
off:ローカル ポートで PFC をディセーブルにします。
![]() (注) | priority-flow-control mode off-override-interface コマンドを使用して、現在のインターフェイス設定に関係なく、すべてのインターフェイスでグローバルに PFC を無効にすることができます。このコマンドは、トラブルシューティングでの使用を想定したもので、各インターフェイスごとに PFC をディセーブル化することなく、PFC を速やかにディセーブルにできます。これがサポートされているのは、Cisco NX-OS リリース 7.0(3)I4(2) 以降のみで、Cisco Nexus 9200 シリーズ スイッチ、Cisco Nexus 93108TC-EX と 93180YC-EX スイッチ、および Cisco Nexus 9508 スイッチで X9732C-EX ラインカードを備えたものだけです。 |
1.
configure terminal
2.
interfacetypeslot/port
3.
priority-flow-control mode [auto | off |on]
4.
show interface priority-flow-control
特定のトラフィック クラスの PFC をイネーブルにできます。
1.
configure terminal
2.
class-map type qosclass-name
3.
match coscos-value
4.
exit
5.
policy-map type qospolicy-name
6.
class type qosclass-name
7.
set qos-groupqos-group-value
8.
exit
9.
exit
10.
class-map type network-qos match-anyclass-name
11.
match qos-groupqos-group-value
12.
exit
13.
policy-map type network-qospolicy-name
14.
class type network-qosclass-name
15.
pause buffer-sizebuffer-sizepause-thresholdxoff-sizeresume-thresholdxon-sizepfc-coscos-value
16.
exit
17.
exit
18.
system qos
19.
service-policy type network-qospolicy-name
PFC のウォッチドッグ間隔を設定して、no-drop キューのパケットが特定期間内にあふれているかどうかを検出できます。時間間隔を超えると、ドレインされていない PFC キューに一致するインターフェイスで、すべての入力および出力パケットがドロップされます。この機能がサポートされているのは、Cisco NX-OS リリース 7.0(3)I4(2) 以降で、Cisco Nexus 9200 シリーズ スイッチ、Cisco Nexus 93108TC-EX と 93180YC-EX スイッチ、および Cisco Nexus 9508 スイッチで X9732C-EX ラインカードを備えたものだけです。
1.
configure terminal
2.
priority-flow-control watch-dog-interval {on | off}
3.
priority-flow-control watch-dog intervalvalue
4.
priority-flow-control watch-dog shutdown-multipliermultiplier
5.
(任意) priority-flow-control watch-dog internal-interface-multipliervalue
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 | configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 | ||
ステップ 2 | priority-flow-control watch-dog-interval {on | off} 例: switch(config)# priority-flow-control watch-dog-interval on |
すべてのインターフェイスで PFC ウォッチドッグ間隔をグローバルにイネーブルまたはディセーブルにします。
| ||
ステップ 3 | priority-flow-control watch-dog intervalvalue 例: switch(config)# priority-flow-control watch-dog interval 200 |
ウォッチドッグ間隔の値を指定します。有効な範囲は 100 ~ 1000 ミリ秒です。 | ||
ステップ 4 | priority-flow-control watch-dog shutdown-multipliermultiplier
例: switch(config)# priority-flow-control watch-dog shutdown-multiplier 5 |
PFC キューの終了宣言をいつ行うかを指定します。範囲は 1 ~ 10 で、デフォルト値は 1 です。 | ||
ステップ 5 | priority-flow-control watch-dog internal-interface-multipliervalue 例: switch(config)# priority-flow-control watch-dog internal-interface-multiplier 5 | (任意)
HiGig™ インターフェイスでの PFC ウォッチドッグのポーリング間隔の乗数を設定します。範囲は 0 ~ 10 で、デフォルト値は 2 です。値が(0)の場合は、HiGig™ インターフェイスでこの機能はディセーブルになります。 |
ネットワーク QoS ポリシーで指定した一時停止バッファしきい値は、システムのすべてのポートで共有されます。ただし、いくつかのポートで異なるしきい値を必要とする状況もあります(長距離接続など)。この目的には、入力キューイング ポリシーを使用できます。
入力キューイング ポリシーでは、キュー制限の設定によって、no-drop クラスで予約される一時停止バッファに加えて使用できる共有バッファ量を制限することも可能です。
各 no-drop クラスは、入力方向のポート プライオリティ グループのいずれかに内部的にマッピングされます。設定された一時停止バッファしきい値およびキュー制限は、クラスに関連付けられたプライオリティ グループに適用されます。
![]() (注) | 100G 対応デバイス(N9K-M4PC-CFP2 GEM 搭載 Cisco Nexus 9300 シリーズ スイッチなど)のキュー制限について。
|
1.
configure terminal
2.
policy-maptype queuingpolicy-map-name
3.
classtype queuingc-in-q1
4.
pause buffer-sizebuffer-sizepause thresholdxoff-sizeresume thresholdxon-size
5.
no pause buffer-sizebuffer-sizepause thresholdxoff-sizeresume thresholdxon-size
6.
queue-limitqueue size [dynamicdynamic threshold]
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 | configure terminal |
グローバル コンフィギュレーション モードを開始します。 | ||
ステップ 2 | policy-maptype queuingpolicy-map-name |
ポリシー マップ キューイング クラス モードを開始し、type queuing ポリシー マップに割り当てられたポリシー マップを特定します。 | ||
ステップ 3 | classtype queuingc-in-q1 |
タイプ キューイングのクラス マップを付加し、ポリシー マップ クラス キューイング モードを開始します。クラス キューイング名は、「システム定義のタイプ キューイング クラス マップ」表に示されています。
| ||
ステップ 4 | pause buffer-sizebuffer-sizepause thresholdxoff-sizeresume thresholdxon-size |
ポーズと再開のためのバッファのしきい値設定を指定します。 | ||
ステップ 5 | no pause buffer-sizebuffer-sizepause thresholdxoff-sizeresume thresholdxon-size |
ポーズと再開のためのバッファのしきい値設定を削除します。 | ||
ステップ 6 | queue-limitqueue size [dynamicdynamic threshold] |
(任意)入力プライオリティ グループで利用できる静的または動的な共有制限を指定します。静的なキュー制限は、増大するプライオリティ グループに固定のサイズを定義します。動的なキュー制限は、アルファ値の観点から利用可能なフリー セルの検出数によってプライオリティ グループのしきい値サイズを決定します。
|
PFC 設定を表示するには、次の作業を実行します。
コマンド |
目的 |
---|---|
show interface priority-flow-control [modulenumber] |
すべてのインターフェイスまたは特定のモジュールの PFC のステータスを表示します。 |
次に、PFC の設定例を示します。
configure terminal interface ethernet 5/5 priority-flow-control mode on
次に、トラフィック クラスで PFC をイネーブルにする例を示します。
switch(config)# class-map type qos c1 switch(config-cmap-qos)# match cos 3 switch(config-cmap-qos)# exit switch(config)# policy-map type qos p1 switch(config-pmap-qos)# class type qos c1 switch(config-pmap-c-qos)# set qos-group 3 switch(config-pmap-c-qos)# exit switch(config-pmap-qos)# exit switch(config)# class-map type network-qos match-any c1 switch(config-cmap-nqos)# match qos-group 3 switch(config-cmap-nqos)# exit switch(config)# policy-map type network-qos p1 switch(config-pmap-nqos)# class type network-qos c-nq1 switch(config-pmap-nqos-c)# pause buffer-size 20000 pause-threshold 100 resume-threshold 1000 pfc-cos 3 switch(config-pmap-nqos-c)# exit switch(config-pmap-nqos)# exit switch(config)# system qos switch(config-sys-qos)# service-policy type network-qos p1