DiffServ

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

## 参考文献
* — Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers
* — An Architecture for Differentiated Services
* — Assured Forwarding PHB Group
* — Per Hop Behavior Identification Codes (Obsoletes )
* — An Expedited Forwarding PHB (Obsoletes )
* - 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 (イントサーブ)
*トラフィックシェーピング
*ランダム初期検知