Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

DiffServ(ディフサーブ)とは | 意味や読み方など丁寧でわかりやすい用語解説

DiffServ(ディフサーブ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

ディファレンシャル・サービス (ディファレンシャル サービス)

英語表記

DiffServ (ディフサーブ)

用語解説

DiffServ(ディフサーブ)とは、IPネットワークにおいてサービス品質(QoS: Quality of Service)を実現するための一つのアーキテクチャである。IPパケットのヘッダにマークを付与し、そのマークに基づいてルータがパケットを差別的に処理することで、異なる種類のトラフィックに対して異なるサービス品質を提供する仕組みを指す。この「差別化サービス」という名称は、パケットの種類によって扱いを変えることに由来する。

従来のIPネットワークは「ベストエフォート型」が基本だった。これは、すべてのパケットを平等に扱い、到達保証や遅延保証をせず、ネットワークが空いている限り最善を尽くして転送するという考え方である。しかし、インターネットの普及とともに、音声通話(VoIP)、ビデオ会議、ストリーミング配信など、リアルタイム性や安定した帯域を要求するアプリケーションが増加した。これらのアプリケーションがベストエフォート型のネットワークで大量に流れると、パケットの遅延や損失が発生しやすくなり、通話品質の劣化や動画の途切れといった問題が起こる。DiffServは、このような問題を解決し、限られたネットワーク資源を効率的に利用しながら、利用者に必要なサービス品質を保証するための重要な技術として開発された。

DiffServの基本的な考え方は、ネットワークの「エッジ」部分でパケットを識別し、適切なマークを付与することにある。このマークが、ネットワーク内部のルータ(「コア」部分)に対して、そのパケットをどのように扱うべきかを指示する。これにより、ネットワーク全体のルータが個々のフローの状態を管理する必要がなくなり、大規模なネットワークでもスケーラブルにQoSを実現できるのが大きな特徴である。

詳細に入ると、DiffServはいくつかの主要な要素と動作プロセスから構成される。まず、DiffServの中核となるのが「DSCP」(DiffServ Code Point)である。これはIPパケットのヘッダ内にある8ビットのフィールドのうち、IP優先度(IP Precedence)として使われていた部分を拡張して利用するもので、パケットのサービス品質クラスを示す値を格納する。DSCP値は最大64種類あり、これによってパケットの種類や優先度を細かく分類できる。

DSCP値に基づいて、各ルータがパケットに対して行う転送処理のルールを「PHB」(Per-Hop Behavior)と呼ぶ。PHBは、特定のDSCP値を持つパケットに対して、ルータがどのような転送特性(例えば、より高い優先度でキューに入れる、特定の帯域を割り当てる、混雑時に破棄しにくい設定にするなど)を与えるかを定義する。DiffServでは、このPHBをネットワーク内のすべてのルータが共通して理解し、適用することで、エンドツーエンドのサービス品質を保証しようとする。

DiffServが適用されるネットワークの範囲を「DSドメイン」(DS Domain)と呼ぶ。DSドメインの入り口と出口に位置するルータを「境界ルータ」(Boundary Router)、ドメイン内部のルータを「内部ルータ」(Interior Router)と区別する。それぞれのルータには異なる役割がある。

DiffServの動作プロセスは以下のステップで進行する。 第一に、「分類」(Classification)である。DSドメインに進入するパケットが、境界ルータによってその性質に基づいて識別される。これは、パケットの送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコルタイプなど、IPヘッダやトランスポート層ヘッダの情報を使って行われる。例えば、VoIPのパケット、Web閲覧のパケット、ファイル転送のパケットといった具合に分類される。

第二に、「マーキング」(Marking)が行われる。分類されたパケットに対し、境界ルータがそのパケットが属するサービス品質クラスを示すDSCP値をIPヘッダに書き込む。このマーキングによって、パケットはDSドメイン内での「身分証明書」を得る。

第三に、「メータリング」(Metering)、「ポリシング」(Policing)、または「シェーピング」(Shaping)といったトラフィック制御が行われる。 メータリングは、パケットが事前に合意されたトラフィックプロファイル(例えば、特定のアプリケーションが利用できる帯域の上限など)に従っているかを測定する。 ポリシングは、測定の結果、トラフィックプロファイルを超過しているパケットに対して、破棄したり、DSCP値を低い優先度のものに書き換えたり(優先度を下げたり)といったペナルティを課す。これは、契約した帯域を超えてトラフィックを送りつけるような不正な利用を防ぐ目的がある。 シェーピングは、ポリシングとは異なり、超過したパケットを即座に破棄するのではなく、一時的にバッファリングし、トラフィックの流れが平滑になるように送信タイミングを調整する。これにより、急激なトラフィックの増加によるネットワークの混雑を緩和し、パケット損失を防ぎつつ、サービス品質を維持しようとする。

そして第四に、「PHBに基づく転送」(Per-Hop Behavior-based Forwarding)である。DSドメイン内部の内部ルータは、パケットが持つDSCP値を読み取り、その値に対応するPHBに基づいてパケットを転送する。例えば、DSCP値が「高優先度」を示すものであれば、他のパケットよりも早く処理するキューに入れ、DSCP値が「低優先度」を示すものであれば、通常または低優先度のキューに入れるといった具合である。

DiffServで定義される代表的なPHBには、「EF」(Expedited Forwarding)と「AF」(Assured Forwarding)がある。 EFは、遅延やジッタ(パケットの到着時間間隔のゆらぎ)を極力抑え、実質的な帯域保証を行うためのPHBである。これは、音声通話やビデオ会議といったリアルタイム性が非常に重視されるアプリケーションに適している。EFに分類されたパケットは、まるで専用線を通るかのように、ネットワーク内を迅速に通過することが期待される。 AFは、EFほど厳密ではないが、ある程度の帯域保証を提供するPHBである。AFには複数のクラスと、さらにその中でパケット破棄の優先度を示すドロッププレファレンスが定義されており、ネットワークの混雑時にどのパケットから破棄するかを細かく制御できる。例えば、Web閲覧やビジネスアプリケーションのデータ転送など、一定の品質が必要だがリアルタイム性がEFほど厳しくない通信に適している。 これらとは別に、何も特別な処理を行わない、従来のベストエフォート型転送はDSCP値0として扱われる。

DiffServの最大の利点は、ネットワークのスケーラビリティが高いことである。個々の通信フローの状態をルータが管理する必要がないため、大規模なネットワークでも膨大な数のフローを効率的に処理できる。また、IPヘッダの既存フィールドを再利用するため、既存のIPネットワークに容易に導入できる点もメリットである。これにより、ネットワーク事業者と利用者間のサービスレベル合意(SLA: Service Level Agreement)に基づくサービス提供が可能となり、利用者は自身のニーズに合った品質のネットワークサービスを選択できるようになる。

しかし、DiffServにも限界がある。エンドツーエンドでの厳密な帯域保証や遅延保証は、ネットワーク全体で予約を行う「IntServ」(Integrated Services)という別のQoSアーキテクチャに比べると劣る場合がある。DiffServはあくまで各ルータがDSCP値に基づいて「その場で」最適な処理を行うため、パス全体の状況を完全に把握しているわけではない。また、境界ルータでの設定(分類、マーキング、ポリシングなど)が非常に重要であり、誤った設定はかえってネットワーク性能を悪化させる可能性もある。適切に設計・運用することで、DiffServは現代の多様なネットワークサービスを支える不可欠な技術となっている。

関連コンテンツ

関連IT用語