QoS には3つのカテゴリがある。Best Effort/優先制御/帯域制御だ。最初に登場したのは、QoS 機能を全く持たない 「Best Effort」、次に「優先制御」が登場した。優先度の高いパケットを先に送信する制御方法で、遅延やジッタに敏感な音声や映像を優先して送りたいときに使用する。
次に登場したのが「帯域制御」で、一定量の帯域が必要な映像や音声などに必要帯域を確保する時に使用する。この場合は、帯域の上限値が設定されることが多い。Webサイトアクセスやファイル転送は、優先度を高くしたり帯域を確保する必要はない。しかし、データ量が非常に多いため映像や音声などの緊急度の高いデータを圧迫する恐れがあり、帯域を制限するために「帯域制御」を使用することがある。この場合は、帯域の上限設定をすることになる。
優先制御と帯域制御は単独で使用することも、組み合わせで使用することもある。QoS 全体は図1 の様に体系づけることができる。「輻輳管理」で処理手順を定義し、クラス別キューからの取り出し方で様々な「優先制御」「帯域制御」の手法がある。「輻輳回避」は、クラス別キューまたは送信キューが溢れない様に、事前にパケットを廃棄すると共に TCP 再送による輻輳を回避する狙いがある。
音声や映像の優先度を上げて帯域を確保する事例は多数あるが、「帯域制限」の事例は少ない。これは、数少ない帯域制限の事例だ。
某学校で生徒全員がパソコンを持ち、先生の指導に従いシミュレーションや通信実験を行っていた。しかし、トラフィックが異常に多く通信障害が発生した。調べてみると、数人の生徒が授業中に漫画サイトや映像配信サイトにアクセスしていた。もちろん先生が期待した作業ではない。そこで、対象生徒の受信帯域を徐々に絞り込み、最終的には TCP の限界帯域(数10kbps あたり)まで絞り込んだ。生徒は余りの遅さに漫画サイトなどへのアクセスを諦めた。生徒は帯域が絞られていることには気が付かなったようだ。彼らが単位を取れたかは聞いていない。
DiffServ と IntServ
もう一つの QoS 体系として「DiffServ/IntServ」がある。 規格化団体 IETF(Internet Engineering Task Force)が提案している QoS 体系だ。 DiffServ/IntServ は優先制御/帯域制御にほぼ対応している。
DiffServ ( Differentiated Services)は、クラス分類/マーキング/キューイング/スケジューリングを行う QoS 制御で、優先制御と同じ概念になる。インターネットなどの広域網で QoS を提供するモデルで、一般的に QoS と言えば DiffServ を指すことが多い。
IntServ (Integrated Services) は、ネットワークで QoS を提供するもう一つのモデルだ。RSVP などの帯域予約技術を使い、ネットワーク内に仮想回線を作る。例えば、映像配信であれば、映像配信ソースから全ての映像受信装置までの全経路の帯域を予約し仮想回線を作りこむ。通信フロー(映像1本1本)ごとに帯域予約をかけ、ネットワーク機器がこの情報を保持し、必要に応じて更新しなければならない。処理負荷が重いため大規模なネットワークには向かず、比較的小規模なネットワーク用だ。「帯域制御」はネットワーク内に仮想回線を作る方式だけではなく、カバー範囲が広い。帯域制御の概念は IntServ より少し広いイメージだ。Ethernet TSN は映像配信での帯域制御に「IntServ」の考え方を採用している。

優先制御
ルータやスイッチなどのネットワーク機器には、受信データを宛先に転送するためデータを一時保存する領域「キュー」がある。キューの持ち方、キューにデータを格納する方法やキューからデータを取り出す順序や量の制御が QoS だ。QoS の処理手順は、「輻輳管理」と呼ばれる4つのステージで順次処理される(図2)。

輻輳管理
クラス分類
帯域を割り当てたり優先的に送信するパケットを分類する。分類には次のようなパラメータがあり、組み合わせで使用することもある。産業用イーサネットは、第2層(リンク層)で動作することが多い。第3層以上のパラメータを使えないことがあるため、VLAN ID をクラス分類識別に使用することが多い。
- 送信元/宛先 TCP/UDP ポート番号
- 送信元/宛先 IP アドレス
- IP ヘッダの DSCP 値/IP ヘッダの Precedence 値
- VLAN ID
優先制御と帯域制御には、輻輳管理の処理があるが、 Best Effort には輻輳管理がない。受信パケットは到着順に送信キューに格納され、格納順に送信される。送信キューが一杯になれば、無条件で廃棄される(図3)。

クラス分類
ネットワーク上のフローやパケットへ優先制御や帯域制御を行うには、先ず「分類」する必要がある。分類パラメータには次のようなパラメータがある。選択するパラメータによって期待する QoS 動作対象が異なる。
送信元/宛先 TCP/UDP ポート番号
送信元/宛先 IP アドレス
IPv4 ヘッダ DSCP 値/ IPv4 ヘッダ Precedence 値
VLAN ID
アプリケーションの QoS
送信元/宛先 TCP/UDP ポート番号と送信元/宛先 IP アドレスの組み合わせでクラス分類を行うと、特定の送受信ノード上の特定アプリケーションが対象になる。送信元/宛先IPアドレスで送受信ノードが決まり、送信元/宛先 TCP/UDP ポート番号でノード上のアプリケーションが決まる(図4 赤線)。その他のトラフィック(黒線)は QoS 対象外になる。TCP と UDP のポート番号は、TCP/UDPヘッダで指定する(図8)。

送受信ノードの QoS
送信元 IP アドレスでクラス分類を行うと、特定ノードが送信するパケットが対象になり(赤線)、宛先 IP アドレスでクラス分類を行うと、特定ノードが受信するパケットが QoS の対象になる(青線)。破線は対象外になる。

パケットの QoS
パケットごとの QoS の識別には、第2層(L2)または第3層(L3)の識別コードを使用する。第2層の識別コードは、VLAN タグの中にある「PCP: Priority Code Point 」で一般的に「CoS 値」と呼ばれる。第3層は IP が前提で、「IP Precedence 値または DSCP 値」で「ToS:Type of Service」領域にある。
どちらの識別コードを使用するかは、ネットワーク構成によって異なる。第2層の識別コードはルータを経由すると書き換えられるため、第2層で通信する領域では有効だが、ルータを経由する End to End では使えない。ルータを超える通信では、第3層の識別コードを使う必要がある。
しかし、第2層で動作するスイッチは、機種によるが第3層の識別コードを解釈できないことが多い。また、産業用イーサネットでは第3層が IP になるとは限らないため、第3層の ToS 値は使えない。産業用イーサネットは、一般的にルータを超えることはなく、第2層でネットワークを構成することが多い。このような状況を考えると、産業用イーサネットでは、第2層の「CoS 値」で識別することになる。Ethernet/IP、PROFINET や Ethernet TSN では、CoS 値の PCP をパケットの優先制御や帯域制御に使用している。
CoS 値は、802.1Q タグ付きフレームの PCP 領域の 3 ビットで 0~7の8段階の優先度を定義している(図6)。

第3層の識別コードは、IPv4 ヘッダの ToS 領域で定義される。ToS 領域は 8 ビットだが、そのうち先頭 3 ビットだけを使用するのが「 IP Precedence」で、先頭 6 ビットを使用するのが「DSCP 値」になる。IP Precedence は、0~7の8段階で優先度を、DSCP は 0~63 の 64 段階で優先度を表している(図7)。


QoS
-
2-4.QoS(Quality of Service)
QoS(1)概要・歴史
QoS はなぜ必要? QoS( Quality of Service)は、ネットワーク上のサービスを効率よく安定して運用できるように、データ送信量や順序を調整する技術だ。ネットワークには様々なデータが混在している。用途や […] -
2-4.QoS(Quality of Service)
QoS(2)産業用イーサネット の QoS
産業用イーサネット の QoS 産業用イーサネットには、Ethernet/IP、PROFINET、EtherCAT や Ethernet TSN などがある。 「バス共有」の考え方を持ち込んだ産業用イーサネットは、優先制 […] -
2-4.QoS(Quality of Service)
QoS(3)QoS はなぜ必要? 要件の変化・輻輳の発生
Internet 技術に思うこと Internet の基幹技術は TCP/IP とイーサネットだが、イーサネット以外の様々な通信網(物理層)とも一体となり発展と変化を遂げてきた。ARPANET のパケット交換、Rober […] -
2-4.QoS(Quality of Service)
QoS(4)QoS 評価項目
図1 のQoSの評価項目について解説をする。 帯域/帯域幅 帯域は、通信などで使用する電波や光の周波数の幅、つまり「最高周波数」と「最低周波数」の差だ。さらに厳密にいえば、図1 のように最大レベルから 3dB 下がった点 […] -
2-4.QoS(Quality of Service)
QoS(5)QoS 体系と優先制御
QoS には3つのカテゴリがある。Best Effort/優先制御/帯域制御だ。最初に登場したのは、QoS 機能を全く持たない 「Best Effort」、次に「優先制御」が登場した。優先度の高いパケットを先に送信する制 […] -
2-4.QoS(Quality of Service)
QoS(6)優先制御 マーキング /キューイング/スケジューリングと輻輳回避
マーキング クラス分類したパケットにキュー番号などのキュー識別コードを割り付ける。マーキングは装置内部処理のため、ユーザはあまり意識する必要はない。 キューイング マーキングされた識別コードと一致するキューにパケットを格 […] -
2-4.QoS(Quality of Service)
QoS(7)優先制御の限界
現在の QoS(Quality of Service)は、優先制御と帯域制御で実現している。QoS 登場以前は Best Effort で、パケットは到着順にキューに格納され、キューが溢れると廃棄される。この問題を解消す […] -
2-4.QoS(Quality of Service)
QoS(8)帯域制御
優先制御の欠点を補完するため帯域制御が登場した。帯域制御は、帯域に敏感な音声・映像やインタラクティブな通信に必要な帯域を確保するとともに、バーストを抑制することで限られた帯域を有効に使うためのツールだ。 スイッチやルータ […] -
2-4.QoS(Quality of Service)
QoS(9)帯域制御の制御方法 トークンバケット/リーキーバケット/万能リーキーバケットモデルとは
優先制御とポリシングでは「トークンバケット」、シェーピングでは「リーキーバケット」と呼ばれる制御方法を使用することが多い。幾つかの例を交え、トークンバケットとリーキーバケットの説明をしたい。ちなみに、Backet はバケ […]