DiffServ

DiffServ (ディフサーブ、Differentiated Services) は IPネットワークにおいて IntServ のように通信フローごとに QoS 保証 (通信品質保証) を行うのでなく、複数のフローをまとめて (アグリゲートして) 数個程度のクラスを作り、クラスごとに決まった QoS 保証法の組合せを適用する 統合型QoS 保証法である。IETF の 2474 などの標準ドキュメントによって規定されている。DiffServは「ソフトQoSモデル」とも呼ばれている。

**概要**
ネットワークが混雑すると、全ての種類のトラフィックに対して平等に QoS を保証することはできなくなる。そこで、DiffServ においてはトラフィックをいくつかのクラスに分け、それらを優先度付けするなど、差をつけて扱う。このようなサービスとして最も有名なのはオリンピック・サービスである．オリンピック・サービスにおいては金、銀、銅というクラスを設けて、金のトラフィックを最優先で、銀のトラフィックをそれに次ぐ優先度で転送する。また、Web、音声、画像など、メディアの種類ごとに異なるクラスを割り当てることもできる。
DiffServ を実現するには、第 1 に DiffServ を適用するネットワークの入口ルータ (ingress router) においてフローの種類に基づくクラス分けを行い、IP パケットの DSフィールドにその結果 (DSCP, DiffServ Code Point) を書きこむ。これをマーキングという。クラス分けのためにはクラシファイアを使用する。第 2 にネットワークのコアルータにおいて DS フィールドの値に基づいてパケット・スケジューリングなどの処理を行う。

**ホップごとの振舞い (PHB)**
DiffServ における 1 台のコアルータによる転送処理をホップごとの振舞い (Per-Hop Behavior, PHB) という。PHB ごとに、そのために使用する DSCP の値が決められている。
IETF において標準化された PHB として、つぎの 4 種類がある。- Expedited Forwarding PHB (EF) - 端点間の帯域保証をおこなう仮想専用線サービスのための PHB である。DiffServ ネットワークのエッジルータにおいて契約分のみのトラフィックを通過させ、コアルータにおいては契約分の総和を上回る帯域を確保する (オーバープロビジョンする)。コアルータでは、優先キューイングを用いてトラフィックを制御する。EF においては 1 個だけの DSCP を使用する。- Assured Forwarding PHBs (AF) - EF よりゆるい保証サービス、すなわち最低帯域保証つきのベストエフォート・サービスのための PHB である。DiffServ ネットワークのエッジルータにおいて契約分をこえたトラフィックに属するパケットにマークをつけ、コアルータが混雑した場合にはマークがついたパケットを優先的に破棄する。AF のためには AF1 ～ AF4 という 4 つのクラスが標準化されているが、各 AF クラスは 3 個の DSCP を使用する。したがって、DSCP の値としては AF11 ～ AF43 という 12 個が使用される。- Default Forwarding PHB (DF) - 最小限の資源を割り当てる条件があることを除いて、ベストエフォートを意味する。Best Effort PHB (BE) と呼ばれることもある。DF のための DSCP は 0 (だけ) である。- Class Selecor PHB (CS) - Cisco が実装している IP優先度 (IP precedence) を使用する QoS 保証法と互換性のある PHB である。CS のためには 8 個の DSCP が割り当てられている。
DiffServ においては、計測の結果として違反がみつかれば、いったんマーキングされたパケットに対して優先度が低い別のマークに付けかえる処理を行う場合がある。このような処理をリマーキングという。

**静的なサービスと動的なサービス**
DiffServ を固定的なサービスとして実施するのであれば、各ユーザとネットワーク・オペレータ (ISP、通信事業者など) との間であらかじめサービス水準合意 (SLA) を結び、それに従ってネットワークを固定的に設定しておけばよい。しかし、ユーザの要求はときによって変化するから、その都度必要なサービスレベル仕様 (SLS) を指定できるほうがネットワークをより柔軟に利用することができる。
このようにユーザが動的に SLS を指定する相手を帯域ブローカ (Bandwidth Broker) という。帯域ブローカはネットワーク資源を管理し、アドミッション制御をおこなう。帯域ブローカへの資源要求のためのプロトコルとして RSVP (リソース予約プロトコル、Resource reSerVation Protocol) を使用することもできるが、COPS (Common Open Policy Service) などのプロトコルによって帯域ブローカに直接要求することもできる。帯域ブローカは、高速な研究・教育用のネットワーク最先端技術を開発してきた Internet2 プロジェクトなどで研究されてきた。
このような DiffServ のための資源管理の方法として、Westberg, Karagiannis らは RMD (Resource Management in DiffServ) を提案し、RMD を QoS-NSLP によって実現するために、QoS-NSLP のための QoS 仕様記述法 (QSPEC) のひとつとして RMD-QOSM を IETF に提案している。RMD においてはシグナリング方式として RSVP やそれに近いものが使用される。RMD は IntServ と DiffServ とを組み合わせた QoS 保証法のひとつだとかんがえられるが、このような IntServ との組合せについては IntServ の項を参照。

**QoSモデルの比較**

**参考文献**
2474 — Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers
*2475 — An Architecture for Differentiated Services
*2597 — Assured Forwarding PHB Group
*3140 — Per Hop Behavior Identification Codes (Obsoletes 2836)
*3246 — An Expedited Forwarding PHB (Obsoletes 2598)
*3260 - New Terminology and Clarifications for Diffserv

**外部リンク**
IETF  DiffServ Working Group page
*Cisco Whitepaper —  DiffServ-The Scalable End-to-End Quality of Service Model

**関連項目**
Quality of Service (QoS)
*サービス水準合意 (SLA)
*IntServ (イントサーブ)
*トラフィックシェーピング
*ランダム初期検知