DiffServの4つの手順

DiffServによるQoSのプロセスは、次の4つがあります。

  • 分類
  • マーキング
  • キューイング
  • スケジューリング

今回は、この4つのDiffServのプロセスの概要について解説しましょう。

※ただし、書籍によって各プロセスの名称が異なることがあります。スケジューリングを輻輳管理と呼んだり、「キューイング」という言葉だけでキューイング、スケジューリングの両方を指していることもあります。

  • 分類
    DiffServは、受信したパケットに応じて差別して転送するので、まず、受信したパケットがどんなパケットであるのかをきちんと見極めて、分類しなければいけません。
    分類するための基準はIPアドレス、TCP/UDPポート番号、受信インタフェース、パケット長、IP Precedence、DSCP、CoS、MPLSラベルなどさまざまあります。
  • マーキング
    分類したパケットをグループ化して優先度を設定するプロセスです。どのようにパケットをグループ化するかは管理者が自由に決定できます。マーキングは、IP Precedence、DSCP、CoS、MPLSラベルなどを使います。
  • キューイング
    パケットをネットワーク上に送出する際に、一時、キューの中にパケットを保持することを指しています。キューとは、パケット保持のためのメモリ領域です。
    いくつのキューにどのようにパケットが入れられるかは、さまざまなキューイング手法によって異なります。「キューイング」という言葉で次のプロセスのスケジューリングも含めて表現することもあります。
    なお、キューには転送キューとソフトウェア的に作成するソフトウェアキューがあります。転送キューはハードウェアキューとも呼ばれ、必ずFIFOでパケットが転送されます。さまざまなキューイング方式によって作成されるソフトウェアキューの数が異なります。
  • スケジューリング
    キューイングされたパケットを実際にネットワークに送信するために転送キューに入れていくプロセスです。各キューからどのような順番でどれぐらいスケジューリングして、転送キューに入れ、ネットワーク上に送出するかによって、各キューのパケットの転送を制御することができます。

以上のように、DiffServによるQoSは、受信したパケットを分類します。そして、分類した結果にしたがって、グループ化しグループごとの優先度をマーキングします。パケットを出力するときに、グループごとにキューイングし、実際にどのような順番でパケットを出力するかをスケジューリングによって制御しています。

DiffServの実装

なお、この4つのプロセスはデバイスごとにその都度行うわけではありません。一般的には、ネットワークのエッジ部分でパケットを分類し、マーキングします。これは、サービス品質を保つべきアプリケーションは、ネットワークのエッジ部分、つまりクライアントコンピュータ上で動作していることがほとんどだからです。

その他のネットワークの部分ではエッジでマーキングされた結果にしたがって、キューイング・スケジューリングを行います。もちろん、すべてのデバイスで一貫性のある設定をしないと意図したとおりのQoSの制御にならないことに注意してください。