DiffServ
DiffServ (ディフサーブ、Differentiated Services) は IPネットワークにおいて IntServ のように通信フローごとに QoS 保証 (通信品質保証) を行うのでなく、複数のフローをまとめて (アグリゲートして) 数個程度のクラスを作り、クラスごとに決まった QoS 保証法の組合せを適用する 統合型QoS 保証法である。IETF の RFC 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)[1] という。帯域ブローカはネットワーク資源を管理し、アドミッション制御をおこなう。帯域ブローカへの資源要求のためのプロトコルとして RSVP (リソース予約プロトコル、Resource reSerVation Protocol) を使用することもできるが、COPS (Common Open Policy Service) などのプロトコルによって帯域ブローカに直接要求することもできる。帯域ブローカは、高速な研究・教育用のネットワーク最先端技術を開発してきた Internet2 プロジェクトなどで研究されてきた。
このような DiffServ のための資源管理の方法として、Westberg, Karagiannis ら[2]は RMD (Resource Management in DiffServ) を提案し、RMD を QoS-NSLP によって実現するために、QoS-NSLP のための QoS 仕様記述法 (QSPEC) のひとつとして RMD-QOSM[3] を IETF に提案している。RMD においてはシグナリング方式として RSVP やそれに近いものが使用される。RMD は IntServ と DiffServ とを組み合わせた QoS 保証法のひとつだとかんがえられるが、このような IntServ との組合せについては IntServ の項を参照。
QoSモデルの比較
[編集]DiffServ | IntServ | |
---|---|---|
スケーラビリティ | 良い | 不備 |
シグナリングプロトコル | No | Yes |
資源配分 | クラス | フロー |
状態情報 | クラス | フロー |
フローの集約 | Yes | 可能 |
グローバルな実装 | 難しくない | 難しい |
トラフィック制御アクション | エッジ | 完全なネットワーク |
ホストとルーターの変更 | マイナー | メジャー |
QoS保証 | 中 | とても良い |
参考文献
[編集]- RFC 2474 — Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers
- RFC 2475 — An Architecture for Differentiated Services
- RFC 2597 — Assured Forwarding PHB Group
- RFC 3140 — Per Hop Behavior Identification Codes (Obsoletes RFC 2836)
- RFC 3246 — An Expedited Forwarding PHB (Obsoletes RFC 2598)
- RFC 3260 - New Terminology and Clarifications for Diffserv
- ^ Sohail, S. and Jha, S., “The Survey of Bandwidth Broker”, Technical Report UNSQ-CSE-TR-0206, University of New South Wales, Sydney, Australia, May 2002.
- ^ Westberg, L, Csaszar, A., Karagiannis, G., Marquetant, A., Partain, D., Pop, O., Rexhepi, V., Szabo, R., and Takacs, A., "Resource Management in Diffserv (RMD): A Functionality and Performance Behavior Overview," 7th IFIP/IEEE Workshop on Protocols for High-Speed Networks (PfHSN’2002).
- ^ Báder, A., Westberg, L, Karagiannis, G., Kappler, C., and Phelan, T., "RMD-QOSM - The Resource Management in Diffserv QOS Model", work in progress, IETF.
外部リンク
[編集]- IETF DiffServ Working Group page
- Cisco Whitepaper — DiffServ-The Scalable End-to-End Quality of Service Model
関連項目
[編集]- Quality of Service (QoS)
- サービス水準合意 (SLA)
- IntServ (イントサーブ)
- トラフィックシェーピング
- ランダム初期検知