[index]
CentreCOM 8316XL/8324XL コマンドリファレンス 2.7
QoS/概要・基本設定
- プライオリティータグと送信キュー
- 送信キューの重み付けと最大送信遅延時間
- ハードウェアパケットフィルターによるIPベースのQoS
パケットごとに送信時の優先度を変化させるQoS(Quality of Service)機能について解説します。本製品はIEEE 802.1p準拠のプライオリティータグに基づくQoSと、IPヘッダー等の情報に基づくIPベースのQoSに対応しています。
802.1QのVLANタグヘッダーには、3ビットのユーザープライオリティーフィールド(802.1p)が設けられています。

本製品は、このフィールドの値にしたがって、受信フレームの送信に優先度をつけることができます。
本製品の各ポートは、それぞれ4レベル(0〜3)の送信キューを備えています(キュー3が優先度最高)。フレームは相対的に最も優先度の高いキューからのみ送信されます。たとえば、キュー3とキュー2にフレームが格納されている場合、キュー3が空になるまでキュー2内のフレームは送信されません。
割り当てられる帯域は次のようになります(数値は一番左が相対的に最もレベルの低いキュー、一番右が相対的に最もレベルの高いキューに割り当てられる帯域(%)を示しています)。
- 同時に2つのレベルのキューにパケットがある場合 → 0:100
- 同時に3つのレベルのキューにパケットがある場合 → 0:0:100
- 同時に4つのレベルのキューにパケットがある場合 → 0:0:0:100
受信フレームがどのキューに入れられるかは、ユーザープライオリティー値とキューのマッピング設定によって決まります。
デフォルトのマッピングは次のとおりです。VLANタグのないフレーム(タグなしフレーム)は、ユーザープライオリティー0(すなわちキュー1に入る)として扱われます。キューは番号が大きいほど優先度が高くなります。
表 1
ユーザープライオリティー |
キュー番号 |
0 |
1 |
1 |
0 |
2 |
0 |
3 |
1 |
4 |
2 |
5 |
2 |
6 |
3 |
7 |
3 |
■ ユーザープライオリティー値とキューのマッピングを変更するには、SET QOS HWPRIORITYコマンドを使います。たとえば、下図のようなマッピングにするには、次のコマンドを実行します。
SET QOS HWPRIORITY QUEUE=0,0,0,1,1,2,2,3 ↓
表 2
ユーザープライオリティー |
キュー番号 |
0 |
0 |
1 |
0 |
2 |
0 |
3 |
1 |
4 |
1 |
5 |
2 |
6 |
2 |
7 |
3 |
■ ユーザープライオリティーとキューのマッピングを確認するにはSHOW QOS HWPRIORITYコマンドを使います。
特に設定を行わないと、前述の帯域割り当てでも説明したように、送信キューのレベル(優先度)の高いパケットが優先的に送信され、レベルの高いキューのパケット送信が終了するまで次のレベルのキューのパケットは送信されません。(Strict Priority-Based Scheduling)
本製品では、高いレベルの送信キューのパケット送信が終了するまで待つ事なく、低いレベルのキューのパケット送信を行うように設定する事が可能です。
これには、次の2つの方式があります。
- 送信キューの重み付けを行い、ラウンドロビンで送信していく方式(Weighted Round-Robin Scheduling)
- 送信キューごとに最大送信遅延時間を保証する方式(Weighted Round-Robin With Bounded Delay)
■ 設定は、SET QOS HWQUEUEコマンドで行います。
すべての送信キューに重み付けを行う場合には、次のように設定します。
SET QOS HWQUEUE=3 MAXPACKETS=10 ↓
SET QOS HWQUEUE=2 MAXPACKETS=5 ↓
SET QOS HWQUEUE=1 MAXPACKETS=2 ↓
SET QOS HWQUEUE=0 MAXPACKETS=1 ↓
この比率に従って、各キューのパケットは順番に送信されます。
Note
- 最大送信パケット数を設定して、すべての送信キューに重み付けを行うには、すべてのキューに最大送信パケット数の設定を行ってください。最大送信パケット数が設定されているキューと設定されていないキューがあると、設定されていないキューのパケットが先に送信されます。
最もレベルの高いキュー3に届いたパケットを最優先に送信し、残りの帯域をキュー0〜2に重み付けを行う場合には、次のように設定します。
SET QOS HWQUEUE=2 MAXPACKETS=5 ↓
SET QOS HWQUEUE=1 MAXPACKETS=3 ↓
SET QOS HWQUEUE=0 MAXPACKETS=2 ↓
これで、キュー3のパケットは最優先に送信し、残りの帯域を比率に従って送信します。たとえば、4つのキューすべてに帯域の50%程度の負荷がかかっている場合、キュー3は帯域の50%、キュー0〜2はそれぞれ帯域の10%、15%、25%の比率でパケットが送信されることになります。
最大送信遅延時間を設定するには、次のように設定します。
SET QOS HWQUEUE=3 MAXLATENCY=100 ↓
SET QOS HWQUEUE=2 MAXLATENCY=500 ↓
SET QOS HWQUEUE=1 MAXLATENCY=700 ↓
SET QOS HWQUEUE=0 MAXLATENCY=1200 ↓
低いレベルのキューに最大送信遅延時間を設定することで、高いレベルのキューのパケット送信中でも、低いレベルのキューの送信が開始されます。
また、低い送信レベルのキューに最大送信遅延時間を設定した場合は、高いレベルのキューの最大送信遅延時間を短く設定すれば、待ち時間は短くなります。
■ 送信キューの重み付け、最大送信遅延時間設定は、SHOW QOS HWQUEUEコマンドで確認できます。
■ 各設定の優先順位は、優先度の高いものから、最大送信遅延時間、送信キューのレベル、最大送信パケット数の順になります。
ハードウェアパケットフィルターによるIPベースのQoS |
ハードウェアパケットフィルターを利用すると、IPアドレスやTOS優先度などのIPヘッダー情報、TCPやUDPのポート番号などに基づき、受信パケットを送信するときのキューレベルを設定することができます。
ハードウェアパケットフィルターによるQoSでは、マッチしたパケットに内部的なプライオリティーを付与し、SET QOS HWPRIORITYコマンドのマッピングに基づき送信キューレベルを決定します。この場合のプライオリティーは仮想的なものであり、受信フレームにプライオリティータグが付いている必要はありません。
■ ハードウェアパケットフィルターを使って特定のパケットを任意の送信キューに入れるには、ACTIONパラメーターでSENDCOSを指定し、PRIORITYパラメーターで希望するユーザープライオリティーを指定します。たとえば、次のようなフィルターを設定すると、始点アドレスが192.168.10.2のIPパケットに対して、内部的なユーザープライオリティー7が付与されます。
ADD SWITCH L3FILTER MATCH=SIPADDR SCLASS=HOST ↓
ADD SWITCH L3FILTER=1 ENTRY SIPADDR=192.168.10.2 PRIORITY=7 ACTION=SENDCOS ↓
パケット送信時には、プライオリティーとキューのマッピング設定にしたがい、プライオリティー7に対応するキューに該当パケットが入れられます。
■ 次の例では、SSHトラフィックをユーザープライオリティー5に相当するキューから送出します。
ADD SWITCH L3FILTER MATCH=PROTOCOL,TCPDPORT ↓
ADD SWITCH L3FILTER MATCH=PROTOCOL,TCPSPORT ↓
ADD SWITCH L3FILTER=1 ENTRY PROTOCOL=TCP TCPDPORT=22 PRIORITY=5 ACTION=SENDCOS ↓
ADD SWITCH L3FILTER=2 ENTRY PROTOCOL=TCP TCPSPORT=22 PRIORITY=5 ACTION=SENDCOS ↓
ハードウェアパケットフィルターの詳細については、「ハードウェアパケットフィルター」をご覧ください。
Copyright (C) 2004-2010 アライドテレシスホールディングス株式会社
PN: J613-M0249-11 Rev.J