QoSの機能説明
QoS(Quality of Service)は、ネットワーク上を流れるパケットに優先順位を設定して、通信品質を確保する機能です。たとえば、パケットロスで通信品質が劣化してしまうIP電話などの通信を、優先して処理できます。
本装置では、以下の順序でQoS制御を行います。
- 受信トラフィックの分類
- ポリシングとリマーキング
- キューイング
- スケジューリングとポートごとの帯域制限
QoSの機能概要
ポリシーマップによるポリシングと一部のリマーキング機能は、送信側でも設定できます。
ポートごとの帯域制限機能は、受信側でも設定できます。
受信トラフィックの分類
受信したトラフィックは、装置内部ではCoS値により分類されます。このCoS値は、タグ付きフレームのCoS(802.1p優先度)と同じもので、装置からタグ付きフレームとして送信される場合は、このCoS値が反映されます。
受信トラフィックの分類は、受信トラフィックの分類設定によって動作が異なります。受信トラフィックの分類設定がデフォルトの「受信トラフィックのCoSを信頼するモード」の場合は、以下のように分類されます。
- 受信トラフィックがタグなしフレームの場合: ポートのデフォルトCoS値が適用される。
- 受信トラフィックがタグ付きフレームの場合: 受信したタグ付きフレームのCoS(802.1p優先度)がそのまま適用される。
「受信トラフィックのCoSを信頼するモード」の場合の分類
受信トラフィックの分類設定が「受信トラフィックのDSCPを信頼するモード」の場合は、「DSCPからCoS値へのマッピング設定」に従ってCoS値が適用されます。
「受信トラフィックのDSCPを信頼するモード」の場合の分類
受信トラフィックの分類設定を変更するには、mls qos trustコマンドを使用します。ポートのデフォルトCoS値を変更するには、mls qos cosコマンドを使用します。「DSCPからCoS値へのマッピング設定」を変更するには、mls qos map dscp-cosコマンドを使用します。
なお、mls qos cos overrideコマンドを設定した場合は、受信トラフィックの分類設定にかかわらず、ポートのデフォルトCoS値が適用されます。
mls qos cos overrideコマンドの設定例
受信ポートがトンネルポートの場合は、受信設定コマンドによって適用されるCoS値が変わります。詳細については、『コマンドリファレンス』を参照してください。
ポリシーマップによるCoS値のリマーキング
ポリシーマップを使用してCoS値を変更できます。詳細については、「ポリシーマップ」を参照してください。
受信時のトラフィック初期カラーの決定
受信したトラフィックは、3種類のトラフィックカラー(グリーン、イエロー、レッド)に分類されます。デフォルト設定ではすべてグリーンに分類されます。
受信トラフィックの分類設定がデフォルトの「受信トラフィックのCoSを信頼するモード」の場合は、「CoSからトラフィック初期カラーへのマッピング設定」に従って決定されます。受信トラフィックの分類設定が「受信トラフィックのDSCPを信頼するモード」の場合は、「DSCPからトラフィック初期カラーへのマッピング設定」に従って決定されます。
「CoSからトラフィック初期カラーへのマッピング設定」を変更するには、mls qos map cos-colorコマンドを使用します。「DSCPからトラフィック初期カラーへのマッピング設定」を変更するには、mls qos map dscp-colorコマンドを使用します。
ポリシーマップ
ポリシーマップは、「トラフィックの分類」「ポリシング」「リマーキング」をまとめた機能です。ポリシーマップは受信側ポート、送信側ポートの両方で使用できます。
ポリシーマップの一部のリマーキング機能は、送信側では使用できません。
ポリシーマップではクラスマップによってトラフィックを分類します。クラスマップでは、分類するための一致条件を設定します。分類するための一致条件には以下を指定できます。
- アクセスリスト
- CoS値
- DSCP
- precedence値
- プロトコル
- VLAN ID
ポリシーマップでの「トラフィックの分類」の例
ポリシーマップでは、クラスマップごとにポリサーを適用できます。また、集約ポリサーを利用することにより、複数のクラスマップに対して同じポリサーを適用することもできます。詳細については、「ポリシング」を参照してください。
ポリシーマップでは、クラスマップごとに以下のアクションを設定できます。
- CoS値の変更
- DSCPの変更
- precedence値の変更(受信側ポート適用時のみ)
- cos-queue(送信キューへのマッピング)(受信側ポート適用時のみ)
スタック構成において、cos-queueアクションによる送信キューへのマッピングは、スタック装置を跨がない(受信ポートと同一装置のポートから送信する)トラフィックに対しては動作しますが、スタック装置を跨ぐ(受信ポートと異なるメンバー装置のポートから送信する)トラフィックに対しては動作しません。そのため、該当トラフィックがスタック装置を跨ぐ場合は、cos-queueアクションではなくCoS値の変更アクション(set cosコマンド)を使用することを推奨します。
ApresiaNP2100-48T4X、ApresiaNP2100-48T4X-PoE、ApresiaNP2000-48T4X、およびApresiaNP2000-48T4X-PoEでは、特定のポートを跨ぐ通信(「ポート1~24、49~50で受信して、ポート25~48、51~52から送信するトラフィック」、またはその逆)に対しては、cos-queueアクションによる送信キューへのマッピングは動作しません。そのため、該当トラフィックが条件にマッチする場合は、cos-queueアクションではなくCoS値の変更アクション(set cosコマンド)を使用することを推奨します。
クラスマップを定義するには、class-mapコマンドを使用します。クラスマップで一致条件を設定するには、matchコマンドを使用します。
ポリシーマップを定義するには、policy-mapコマンドを使用します。ポリシーマップにクラスマップを関連付けるには、classコマンドを使用します。関連付けたクラスマップでリマーキングを設定するには、setコマンドを使用します。ポリシーマップを物理ポートに適用するには、service-policyコマンドを使用します。
ポリシーマップに関連付けたクラスマップでポリシングを設定するには、policeコマンド、police cirコマンド、police aggregateコマンドを使用します。集約ポリサーを定義するには、mls qos aggregate-policerコマンドを使用します。
ポリシーマップの設定コマンドの例
ポリシング
ポリシーマップでは、クラスマップごとにポリサーを適用できます。ポリサーは対象トラフィックを計測し、通信量に基づいて3種類のトラフィックカラー(グリーン、イエロー、レッド)に分類します。分類されたトラフィックごとに送信を許可したり破棄することにより、トラフィックの帯域制限を行います。
ポリサーは、平均レートを使用する1レートポリサーと、保証帯域(CIR)および最大帯域(PIR)を使用する2レートポリサーを利用できます。また、各ポリサーでは、ポリサーに入力される前のトラフィック初期カラーを利用しないカラーブラインドモードと、トラフィックの初期カラーを利用するカラーアウェアモードを選択できます。
利用可能レート | トラフィック初期カラーの利用 | ポリサーの種類・動作モード |
---|---|---|
平均レート(バーストサイズ) | 利用しない | 1レート2カラーポリサー・カラーブラインドモード |
平均レート(バーストサイズ、最大バーストサイズ) | 利用しない | 1レート3カラーポリサー・カラーブラインドモード |
平均レート(バーストサイズ、最大バーストサイズ) | 利用する | 1レート3カラーポリサー・カラーアウェアモード |
保証帯域(CIR)および最大帯域(PIR) | 利用しない | 2レート3カラーポリサー・カラーブラインドモード |
保証帯域(CIR)および最大帯域(PIR) | 利用する | 2レート3カラーポリサー・カラーアウェアモード |
カラーブラインドモードは、ポリサーに入力される前のトラフィック初期カラーを利用しないモードです。対象ポリサーでの帯域計測結果のみで、トラフィックが分類されます。
カラーアウェアモードは、ポリサーに入力される前のトラフィック初期カラーを利用するモードです。カラーアウェアモードでは、最終的に分類されるトラフィックカラーが初期カラーよりもよくなることはありません。
- 初期カラーがグリーンの場合は、対象ポリサーでの帯域計測の結果、最終的にグリーン、イエロー、レッドのいずれかに分類される。
- 初期カラーがイエローの場合は、対象ポリサーでの帯域計測の結果、最終的にイエロー、レッドのいずれかに分類される。
- 初期カラーがレッドの場合は、対象ポリサーでの帯域計測後も、レッドに分類される。
ポリサーで分類したトラフィックごとに、以下のアクションを設定できます。
- 対象トラフィックを破棄
- 対象トラフィックを何も変更せずに送信
- 対象トラフィックのCoS値を変更して送信
- 対象トラフィックのDSCPを変更して送信
1レート2カラーポリサー
1レート2カラーポリサーは、平均レート(バーストサイズ)を設定し、トラフィックを2段階(グリーン、イエロー)に分類します。
- 平均レート(バーストサイズ)
グリーントラフィックとイエロートラフィックの境界を定義します。
1レート2カラーポリサーの概要
1レート2カラーポリサーは、policeコマンドで以下を設定します。
- 平均レート(バーストサイズ)
- グリーントラフィックに対するアクション、イエロートラフィックに対するアクション
1レート2カラーポリサーは、カラーブラインドモードでのみ動作します。カラーアウェアモードでは動作しません。
1レート3カラーポリサー
1レート3カラーポリサーは、平均レート(バーストサイズ、最大バーストサイズ)を設定し、トラフィックを3段階(グリーン、イエロー、レッド)に分類します。
- 平均レート(バーストサイズ)
グリーントラフィックとイエロートラフィックの境界を定義します。
- 最大バーストサイズ
イエロートラフィックとレッドトラフィックの境界を定義します。
1レート3カラーポリサーの概要
1レート3カラーポリサーは、policeコマンドで以下を設定します。
- 平均レート(バーストサイズ、最大バーストサイズ)
- グリーントラフィックに対するアクション、イエロートラフィックに対するアクション、レッドトラフィックに対するアクション
- カラーブラインドモード(デフォルト設定)にするか、カラーアウェアモードにするかの設定
2レート3カラーポリサー
2レート3カラーポリサーは、保証帯域(CIR)および最大帯域(PIR)の2つのレートを設定し、トラフィックを3段階(グリーン、イエロー、レッド)に分類します。
- 保証帯域(CIR)
グリーントラフィックとイエロートラフィックの境界を定義します。
- 最大帯域(PIR)
イエロートラフィックとレッドトラフィックの境界を定義します。
2レート3カラーポリサーの概要
2レート3カラーポリサーは、policeコマンドで以下を設定します。
- 保証帯域(CIR)(バーストサイズ)
- 最大帯域(PIR)(バーストサイズ)
- グリーントラフィックに対するアクション、イエロートラフィックに対するアクション、レッドトラフィックに対するアクション
- カラーブラインドモード(デフォルト設定)にするか、カラーアウェアモードにするかの設定
集約ポリサー
ポリシーマップでは、集約ポリサーを利用することにより、複数のクラスマップに対して同じポリサーを適用できます。
集約ポリサーにおいても、1レート2カラーポリサー、1レート3カラーポリサー、および2レート3カラーポリサーを利用できます。
集約ポリサーの概要
集約ポリサーは、mls qos aggregate-policerコマンドで設定します。
DSCP変換機能
DSCP変換機能では、DSCPの値を「DSCP変換マップ」に従って変換します。DSCP変換機能を使用する場合は、受信トラフィックの分類設定を「受信トラフィックのDSCPを信頼するモード」に設定します。
「DSCP変換機能」と「受信側ポリシーマップによるDSCPの変更」の両方を設定している場合は、ポリシーマップの一致条件にマッチしたトラフィックに対しては「ポリシーマップによるDSCPの変更」が適用されます。それ以外のトラフィックに対しては「DSCP変換機能」が適用されます。
DSCP変換機能を設定しても、以下は変換前のDSCPを基に動作します。
- DSCPからCoS値へのマッピング設定(mls qos map dscp-cos)
- DSCPからトラフィック初期カラーへのマッピング設定(mls qos map dscp-color)
- 受信側ポリシーマップの一致条件
DSCP変換マップを定義するには、mls qos map dscp-mutationコマンドを使用します。DSCP変換マップを適用するには、mls qos dscp-mutationコマンドを使用します。
CoS値から送信キューへのマッピング
送信トラフィックをキューイングする送信キューは、CoS値に基づいて決定されます。デフォルト設定の「CoS値から送信キューへのマッピング設定」を以下に示します。
CoS値から送信キューへのマッピング設定(デフォルト)
「CoS値から送信キューへのマッピング設定」を変更するには、priority-queue cos-mapコマンドを使用します。
送信キューごとの帯域制御
送信キューごとに、最大帯域(Max Bandwidth)と最小保証帯域(Min Bandwidth)を設定できます。
最大帯域(Max Bandwidth)を設定した送信キューでは、そのキューから送信するトラフィックが指定した最大帯域に制限されます。
最小保証帯域(Min Bandwidth)を設定した送信キューでは、対象ポートが輻輳状態でも、そのキューから送信するトラフィックが指定した最小帯域分は破棄されずに送信されます。
使用する場合は、最大帯域と最小保証帯域の両方を設定する必要があります。
送信キューごとの帯域制御の例
送信キューごとの帯域制御を設定するには、queue rate-limitコマンドを使用します。
WRED
WREDを有効にすると、キューイングする際に輻輳の可能性を検知し、優先順位が低いトラフィックを重点的に廃棄することで、輻輳を抑えます。また、優先順位が高いトラフィックを廃棄されにくく設定することで、輻輳を抑えながらサービス品質をある程度維持できます。
WREDを有効にするには、random-detectコマンドを使用します。
WREDの動作を変更する場合に利用する設定は以下のとおりです。()内は使用するコマンドです。
- WREDの最小しきい値、最大しきい値、および最大廃棄率(random-detect profileコマンド)
- 平均キューサイズの計算に使用されるWRED指数の加重係数(random-detect exponential-weightコマンド)
NP2100、NP2000、およびNP2500では、WREDを使用できません。
ECNによるWREDの拡張
ECN(Explicit Congestion Notification)を有効化すると、輻輳が発生したときに、トラフィックにECNマーク(ECTビットおよびCEビット)を付与して、送信者(ルーターやエンドホスト)に対して輻輳が発生していることを通知します。
ECNに対応した送信者(ルーターやエンドホスト)は、通知されたECNマークによって、装置において輻輳が発生していることを検知すると、送信するトラフィックを抑えることで輻輳を回避できます。
ECNは、キューごとに有効化できます。ECNを有効化するには、random-detect ecnコマンドを使用します。
NP2100、NP2000、およびNP2500では、WREDを使用できません。
スケジューリング
送信ポートごとにスケジューリングアルゴリズムを設定できます。デフォルト設定では、全ポートWRR(Weighted Round Robin)スケジューリングに設定されています。スケジューリングアルゴリズムは以下を指定できます。
- Strict Priority Queuing
- Round Robinスケジューリング
- WRR(Weighted Round Robin)スケジューリング
- WDRR(Weighted Deficit Round Robin)スケジューリング
WRRスケジューリングまたはWDRRスケジューリングにおいて、重みが0に設定されている送信キューはStrict Priority Queuingで動作します。
Strict Priority Queuingに設定した場合の例
スケジューリングアルゴリズムを設定するには、mls qos schedulerコマンドを使用します。WRRスケジューリングの重みを設定するには、wrr-queue bandwidthコマンドを使用します。WDRRスケジューリングの重みを設定するには、wdrr-queue bandwidthコマンドを使用します。
ポートごとの帯域制限
ポートごとの帯域制限は、受信ポートまたは送信ポートごとに設定できます。
運用中にバーストサイズの設定を大きい値から小さい値に変更すると、トラフィック状況によっては一時的にパケットの中継が停止します。そのため、バーストサイズの設定を大きい値から小さい値に変更する場合は、一度no rate-limitコマンドで削除してから、再度設定してください。
NP7000の受信ポートごとの帯域制限では、IFG(Inter Frame Gap)とPreamble/SFDを含めて帯域計測を行います。送信ポートごとの帯域制限では、IFG(Inter Frame Gap)とPreamble/SFDを含めずに帯域計測を行います。
NP5000、NP4000、NP3000、NP2100、NP2000、およびNP2500の受信ポートごとの帯域制限と送信ポートごとの帯域制限では、IFG(Inter Frame Gap)とPreamble/SFDを含めずに帯域計測を行います。
送信ポートの帯域制限の例
受信ポートごとの帯域制限を設定するには、rate-limit inputコマンドを使用します。送信ポートごとの帯域制限を設定するには、rate-limit outputコマンドを使用します。