図1 イーサネットやIPのQoSの仕組み
図1 イーサネットやIPのQoSの仕組み
[画像のクリックで拡大表示]

 QoS(Quality of Service、サービス品質)はもともと通信品質を指す言葉だったが、現在では通信品質を保つための機能や仕組みを意味することも多い。ここでいう通信品質は、伝送速度、信頼性(誤り率やパケットロス率)、遅延といった指標のこと。企業ネットワーク上ではWebブラウザーのほかメール、業務ソフトウエア、IP電話など様々なアプリケーションが利用されている。そのなかで重要なアプリケーションを安定的に使うための機能がQoSである――と考えればよい。

 QoSを実現する仕組みは、プロトコルごとに違う。ここでは、最も広く利用されているIPとイーサネットにおけるQoSを見ていこう。

 IPやイーサネットのQoSには、大きく「優先制御」と「帯域制御」の二つがある。優先制御は、パケットやフレームの種類に応じて優先順位を付け、その順位に従ってルーターやスイッチが送信を実行するというものだ。一方の帯域制御では、パケットやフレームの種類ごとに帯域を割り当てる。「帯域保証」と「帯域制限」の2種類がある。特定の種類のパケットが利用する帯域について、帯域保証は下限値を、帯域制限は上限値をそれぞれ設定する。

 優先制御と帯域制御は単独で利用する場合もあるし、組み合わせて使う場合もある。例えば、IP電話のパケットはリアルタイム性が重要なので優先制御の順番を上げるが、データ量は少ないので帯域制御における帯域の割り当ては小さくするといった具合だ。二つの制御をどのように設定するかで、QoSの結果をコントロールする。

 IPやイーサネットでQoSを実現する際、ルーターやスイッチでどんな処理を実行するのかを図1に示した。ルーターやスイッチなどのネットワーク機器では、主に(1)クラシフィケーション、(2)キューイング、(3)スケジューリング――という三つの処理でQoSを行う。

 (1)のクラシフィケーションでは、条件に基づいて受信パケットやフレームを分類する。分類には主にヘッダーの情報を利用する。例えば、IPヘッダーのToS(Type of Service)、イーサネットヘッダーのプロトコルタイプや優先度などだ。IPアドレスやMACアドレスを使うこともある。続く(2)のキューイングでは、パケットやフレームを種類ごとに「キュー」というバッファーに格納する。最後に(3)のスケジューリングで、キューからパケットやフレームを取り出して送信する。

 (2)と(3)のキューの使い方やスケジューリング方法の組み合わせには、いくつかのパターンがある。よく使われている方法が「SPQ」(Strict Priority Queuing)だ。特定のキューにあるパケットはほかのキューのパケットよりも必ず優先して送出する。そのほか、キューごとに設定した段階的な重み付けによってキューの中のパケットを順番に送出する方法もある。例えば三つのキューがある場合、50%、30%、20%の割合で順番にパケットを送るのだ。これを「WRR」(Weighted Round Robin)と呼ぶ。よりきめ細かい制御が可能な「WFQ」(Weighted Fair Queuing)や「WRED」(Weighted Random Early Detection)などの方法を採用している製品もある。