QoS

パケットを効率的に送出するためのQoS(Quality of Service)機能を提供します。

1. デフォルトの動作状態
機能 状態 備考
QoS(CBQ) 無効

Class-based Queuing(CBQ)

CBQとは、トラフィックをデータパターンによってクラスと呼ぶ単位に分類し、クラスごとにパケットをキューイングしながら各クラスが占める送信帯域を調整するための仕組みです。インタフェースの送信キューに作用する機能であり、送信トラフィックの制御に利用されます。

受信インタフェースの回線帯域に比べて送信インタフェースの回線帯域が小さい場合や、自身の送信性能に比べて送信先装置の受信性能が低い場合など、帯域のボトルネックとなる箇所で通信内容による帯域の確保(制限)や送信優先度の上げ下げといった制御を行うことで、帯域という観点からネットワーク資源を計画的に分配します。

クラス設計と帯域の割り当て

1. クラスの階層構造

CBQによる帯域制御の効果を得るには、ネットワークの通信要件を把握し、回線の実効帯域を上限として帯域をクラスに割り当て、トラフィックをクラスに振り分けます。上図は回線の実効帯域を500Mbpsと想定してクラス分けを設計したイメージです。

クラスの帯域は、合計1000Mbpsを1Mbps単位で割り当てることができます。帯域保証型の回線を利用する場合は、契約帯域を上限としてクラスに割り当てます。帯域が保証されないベストエフォート型の回線を利用する場合は、帯域が意図通り制御されることの重要度が高い時間帯の実効帯域を測定し、安定して利用可能と言える値を上限としてクラスに割り当てます。

クラスに帯域を割り当て、トラフィックをクラスに振り分けると、それぞれのトラフィックの送信帯域はクラスに設定された帯域が上限になります。

注: CBQが管理するクラス毎の帯域は、回線の実効帯域の変動に追従しません。ベストエフォート型の回線サービスでは他の利用者の利用状況によって実効帯域が変動しますが、実際に利用可能な回線帯域がクラスに設定した帯域の合計を下回ると、帯域制御は想定通りに働きません。
注: 各クラスが割り当てられた帯域を最大限占有するためには、階層構造の最末端のクラス(子を持たないクラス)のみにトラフィックを振り分けるようにクラス分けフィルタを設定します。親となっているクラスにトラフィックが振り分けられると、子クラスが帯域を占有できない場合があります。

クラスの種類

root
予め定義される最上位クラスです。帯域は1000(Mbps)に固定されています。
class0~class15
ユーザが帯域等を定義可能なクラスです。インタフェースごとに16個(0~15番)まで設定できます。
rootクラスを含む他のクラスを親クラスに指定でき、rootを含まず8階層まで階層化できます。
デフォルトクラス
クラス分けされなかったパケットの振り分け先として、rootクラスまたはユーザ定義クラスから一つ指定します。

QoSの適用インタフェース

送信帯域の制御は任意のGEインタフェースに適用でき、有効/無効を設定できます。

PPPoEやIPsec等の論理インタフェースのトラフィックも、送信インタフェースとなるGEインタフェースにQoSが適用されている場合には制御対象になります。

注:

SEIL/x86 Ayameは、VMwareのe1000を除く仮想ネットワークアダプタにのみQoSを適用できます。

他のネットワークアダプタが使用されている場合はQoS機能の設定を含むコンフィグを反映できません。SMFサービスのコントロールパネル上のコンフィグ検証機能はこのエラーを検知できないため注意してください。

クラス分けフィルタ

帯域を区分けしたクラスにトラフィックを割り当てるために、クラス分けフィルタを設定します。

クラス分けフィルタは任意のインタフェースに適用できます。フィルタにマッチしたパケットはマーキングされ、送信時のインタフェースにCBQが適用されている場合はマーキングに基づいてクラス分けされます。また、フィルタにマッチしなかったパケットは指定されたデフォルトクラスに振り分けられます。

複数のインタフェースにクラス分けフィルタが設定されるとフィルタ評価の機会が複数発生する場合がありますが、いずれかのフィルタにマッチしてマーキングされたパケットは、以降はクラス分けフィルタの評価対象になりません。

なお、IP-IPやESP(IPsec)等のカプセル化が行われた場合もマーキング状態は変化しません。このため、本装置がカプセル化を行って送信するVPNトラフィックは、受信インタフェースのクラス分けフィルタではカプセル化前、送信インタフェースのクラス分けフィルタではカプセル化後のパケット情報を元にマッチングが行われます。

クラス分けフィルタは、次のカテゴリのパケットに適用できます。
  • 本装置がルーティングにより転送するIPv4パケット(本装置自身が送信元のパケットを含む)
  • 本装置がルーティングにより転送するIPv6パケット(本装置自身が送信元のパケットを含む)
  • 本装置がブリッジにより転送するIPv4パケット
  • 本装置がブリッジにより転送するIPv6パケット

VLANを含む、IPパケットとして送受信できないイーサネットフレームはクラス分けフィルタにマッチングできないため、送信する場合はデフォルトクラスに振り分けられます。

クラス分けフィルタを適用するインタフェースにNAT/NAPTも設定されている場合は、受信時はNAT/NAPT適用後に、送信時はNAT/NAPT適用前にクラス分けフィルタが評価されます。

帯域の借り受け

帯域の借り受けが有効であると、親クラスに余剰帯域がある場合(同一の親クラスを持つ兄弟クラスの使用帯域と親クラスに直接振り分けられた使用帯域の合計が、親クラスの設定帯域より小さい場合)に自クラスの設定帯域を超える帯域を借りて使用することができます。

これにより、ピーク時の占有帯域割り当てを確保しつつ余剰帯域を有効に活用できます。

2. 帯域を借りる(borrow : enable)

帯域の借り受けはデフォルトで有効化されます。無効化すると、割り当てられた帯域を超える占有を行いません。

ヒント: 帯域制御を行うにあたり回線の契約帯域または実効帯域が1000Mbpsより小さい場合は、想定する実効帯域を最上位のユーザ定義クラスに設定し、そのクラスの借り受けを無効化することを推奨します。(上図の場合はclass0)。借り受けが有効なクラスの親クラスも借り受けが有効な場合、最大でrootクラスの帯域(1000Mbps)まで占有可能になるため、実効帯域(上図の場合は500Mbps)に基づく帯域制御が実質的に働かなくなります。

優先制御

クラスには送信優先度を設定することができます。

優先度の高いクラスに振り分けられたトラフィックは優先的に送出されるため、優先度が低いクラスに比べて送信遅延が小さくなります。

注: 優先度は帯域の制御に影響しないため、制御帯域に比べて実効帯域が小さい場合のドロップ率は、優先度の設定によって変化しません。

送出時のマーキング

クラスにはマーキングを設定することができます。

IPパケットのDSCP値
IPv4パケットまたはIPv6パケットを送出するとき、IPヘッダのToSフィールドに任意のDSCP値を書き込むことができます。
  • VLANフレームを送出する場合もペイロードのIPパケットに適用されます
VLANフレームのCoS値
VLANフレームを送出するとき、IEEE 802.1qヘッダに任意のCoS値を書き込むことができます。