■ RED(Random Early Detection/Discard)は、キュー長が上限に達する前にパケットを徐々に破棄していくことで、キューの枯渇を予防したり、トランスポート層の輻輳回避メカニズムを有効に機能させたりするためのアルゴリズムです。REDを使用すれば、より細やかな帯域制御を実現できます。
Note - REDアルゴリズムは流量制御や輻輳回避の機能を持つTCPトラフィックに対してもっとも効果を発揮します。UDPのように輻輳制御機能を持たないプロトコルに対しては効果がありませんのでご注意ください。
REDの設定は、キュー長とパケット破棄率の関係を示す「REDカーブテンプレート」を定義し、QoSポリシー内の各末端クラスに適用することで行います。
REDカーブテンプレートは以下のパラメーターによって定義されます。
- MIN:破棄開始点(パケットを破棄し始めるポイント)
- MAX:完全破棄点(パケットを完全に破棄し始めるポイント)
- LIMIT:キュー長
- probability:キュー長がMAXのときに破棄するパケットの割合
各パラメーターを図示すると次のようになります。キュー長が MIN から MAX の間にある場合、パケットは 0 から probability(%)の間の確率でランダムに破棄されます。パケットの破棄率はキュー長が MAX に近づくにつれ高くなっていき、MAX のとき probability(%)となります。キュー長が MAX を超えると、すべてのパケットが破棄されます。キュー長が MIN 以下のときはパケットは破棄されません。

なお、REDアルゴリズムの動作上、MIN、MAX、LIMIT はバイト数として扱われますが、本製品の設定コマンドではこれらをパケット数 min、max、limit として指定し、それぞれに平均パケットサイズ avpkt(バイト)をかけることで、最終的な MIN、MAX、LIMIT を算出する仕組みになっています。
- REDカーブテンプレートは、red-curveコマンドで作成します。
初期状態ではデフォルトのREDカーブテンプレート「default」が定義されています。
awplus(config-tc)# red-curve RED-drop avpkt 256 min 15 max 50 limit 100 probability 20 ↓
|
この例では、平均パケットサイズ(avpkt)を256バイトと想定しているため、MIN、MAX、LIMITの実際値は次のようになります。
- MIN = 256(バイト/パケット) × 15(パケット)= 3840(バイト)
- MAX = 256(バイト/パケット) × 50(パケット)= 12800(バイト)
- LIMIT = 256(バイト/パケット) × 100(パケット)= 25600(バイト)
また、REDカーブテンプレートでは、キュー長が破棄開始点を超えた場合にパケットを破棄するのではなく、パケットに明示的輻輳通知(ECN)のマーキングを行って送信する設定も可能です。これには、red-curveコマンドのecnパラメーターを指定します。
awplus(config-tc)# red-curve RED-ecn ecn ↓
|
この例では、avpkt、min、max、limit をいずれも省略しているため、それぞれ省略時値の576(バイト)、10(パケット)、32(パケット)、127(パケット)が使われ、MIN、MAX、LIMITの実際値は次のようになります。
- MIN = 576(バイト/パケット) × 10(パケット)= 5760(バイト)
- MAX = 576(バイト/パケット) × 32(パケット)= 18432(バイト)
- LIMIT = 576(バイト/パケット) × 127(パケット)= 73152(バイト)
さらに、ecnパラメーターに加えてecn-dropパラメーターを指定した場合は、破棄開始点から完全破棄点まではECNマーキングを行い、完全破棄点から最大キュー長までの間はパケットを破棄するようになります。
awplus(config-tc)# red-curve RED-ecn-drop ecn ecn-drop ↓
|
- QoSポリシー内の末端クラスにREDカーブテンプレートを適用するには、class(htb)、class(priority)、class(wrr)、sub-class(htb)、sub-class(priority)、sub-class(wrr)、sub-sub-class(htb)、sub-sub-class(priority)、sub-sub-class(wrr)の各コマンドにおいて、red-curveパラメーターで適用するREDカーブテンプレートを指定してください。
REDの設定は、PQ、WRR、HTBいずれのキュー管理方式でも行えます。
awplus(config-tc)# policy MYQOS priority ↓
awplus(config-tc-policy)# class A priority-level 11 red-curve RED-drop ↓
awplus(config-tc-policy)# class B priority-level 10 red-curve RED-ecn ↓
awplus(config-tc-policy)# class C priority-level 9 red-curve RED-ecn-drop ↓
awplus(config-tc-policy)# class D priority-level 8 red-curve default ↓
|
Note - REDカーブテンプレートは各末端クラス内のフロー単位で適用されます。
- REDカーブの情報は、show traffic-control red-curveコマンドで確認できます。
awplus# show traffic-control red-curve ↓
|
■ QoS機能の有効・無効など全般的な情報は
show traffic-controlコマンドで確認できます。
awplus# show traffic-control ↓
|
■ QoSルールの情報は
show traffic-control ruleコマンドで確認できます。
awplus# show traffic-control rule ↓
|
■ QoSルールが有効かどうかをチェックするには、
show traffic-control rule config-checkコマンドを使います。
QoSルールの作成時にはエンティティーとアプリケーションの両定義を使用しますが、これらの定義が不完全な場合(指定したアプリケーションやエンティティーが未定義である、アプリケーション定義でIPプロトコルが未指定、など)、該当ルールは有効にならず無視されてしまいます。
このような事態を避けるには、ルール作成後に
show traffic-control rule config-checkコマンドを実行してルールが有効かどうかをチェックしてください。
awplus# show traffic-control rule config-check ↓
Rule 15:
"To" entity does not exist
|
同コマンドでは、無効なルールがある場合、それが理由とともに示されます。
この例では、次の理由によりルール「15」が無効であることが示されています。
- ルール内で指定した宛先エンティティーの定義が存在しない。
また、次の例では、すべてのルールが有効であることが示されています。
awplus# show traffic-control rule config-check ↓
All rules are valid
|
QoSルールは次の場合に無効とされます。
- The application does not exist(アプリケーション定義が存在しない)
- The application does not have a protocol configured(アプリケーション定義でIPプロトコルが未指定)
- The from entity does not exist(送信元エンティティー定義が存在しない)
- The from entity does not have a subnet or host address(送信元ネットワーク定義にサブネットアドレスが関連付けられていない、あるいは、送信元ホスト定義にアドレスが関連付けられていない)
- The from entity has a subnet with an interface that does not exist(送信元ネットワーク定義のサブネットアドレスとインターフェース指定に矛盾がある)
- The to entity does not exist(宛先エンティティー定義が存在しない)
- The to entity does not have a subnet or host address(宛先ネットワーク定義にサブネットアドレスが関連付けられていない、あるいは、宛先ホスト定義にアドレスが関連付けられていない)
- The to entity does not have an interface(宛先ネットワーク定義のサブネットアドレスにインターフェースの指定がない)
- The to entity has a subnet with an interface that does not exist(宛先ネットワーク定義のサブネットアドレスとインターフェース指定に矛盾がある)
- The from and to entities do not have any subnet or host addresses in the same address family (IPv4/IPv6)(送信元と宛先のネットワーク、ホスト定義の間で、関連付けられたサブネットアドレス、ホストアドレスのアドレスファミリー(IPv4/IPv6)が異なっている)
■ QoSの統計情報は
show traffic-control countersコマンドで確認できます。
awplus# show traffic-control counters ↓
|
■ インターフェースに設定した送信レートの上限値(仮想帯域)や、QoSルールによって予約された帯域などの情報は、
show traffic-control interfaceコマンドで確認できます。
awplus# show traffic-control interface ↓
|
(C) 2015 - 2017 アライドテレシスホールディングス株式会社
PN: 613-002107 Rev.M