1. はじめに
差別化サービス (Differentiated Services) は, インターネットにおけるスケーラブルなサービス区別 (scalable service discrimination) の展開を可能にするためのフレームワークと構成要素を提供することを目的としています。差別化サービスアプローチは, アーキテクチャを2つの主要コンポーネントに分離することで展開を加速することを目指しています。そのうちの1つはかなり理解されており, もう1つは理解され始めたばかりです。この点において, 転送 (forwarding) とルーティング (routing) コンポーネントを分離するという決定が行われたインターネットの元の設計に導かれています。パケット転送 (packet forwarding) は, パケット単位でできるだけ迅速に実行する必要がある比較的単純なタスクです。転送は, パケットヘッダーを使用してルーティングテーブル内のエントリを見つけ, それがパケットの出力インターフェースを決定します。ルーティングはそのテーブル内のエントリを設定し, さまざまな中継およびその他のポリシーを反映する必要があり, また経路障害を追跡する必要がある場合があります。ルーティングテーブルは, 転送タスクのバックグラウンドプロセスとして維持されます。さらに, ルーティングはより複雑なタスクであり, 過去20年間進化し続けてきました。
同様に, 差別化サービスアーキテクチャには2つの主要コンポーネントが含まれています。1つは転送パス (forwarding path) におけるかなり理解された動作であり, もう1つは転送パスで使用されるパラメータを構成する, より複雑でまだ発展途上のバックグラウンドポリシーと割り当て (allocation) コンポーネントです。転送パスの動作には, キューサービス規則 (queue service disciplines) および/またはキュー管理規則 (queue management disciplines) によって実装される, 個々のパケットが受ける差別的処理 (differential treatment) が含まれます。これらのホップごとの動作 (per-hop behaviors) は, エンドツーエンドまたはドメイン内サービスをどのように構築するかに関係なく, パケットの差別化された処理を提供するためにネットワークノードで有用かつ必要です。これらの動作を実装するために使用される特定のメカニズムではなく, 動作の一般的な意味論 (general semantics) に焦点を当てています。これは, これらの動作がメカニズムよりも急速に進化することが少ないためです。
ホップごとの動作とパケット単位でそれらを選択するメカニズムは, 今日のネットワークノードに展開でき, 最初に対処されているのは差別化サービスアーキテクチャのこの側面です。さらに, 転送パスでは, 特別な処理の提供に関連する要件を強制するために, "特別な" 処理に指定されたネットワークトラフィックに対して監視 (monitoring), ポリシング (policing), シェーピング (shaping) を行う必要がある場合があります。この種のトラフィック条件付け (traffic conditioning) のメカニズムもかなり理解されています。このようなトラフィック条件化装置の広範な展開は, サービスの構築を可能にするためにも重要ですが, サービスの構築における実際の使用は時間とともに進化する可能性があります。
どのパケットが特別な処理を受けるか, およびリソースの使用にどのような種類の規則を適用するかに関するネットワーク要素の構成は, はるかに理解されていません。それにもかかわらず, 単純なポリシーと静的構成を使用することで, ネットワークに有用な差別化サービスを展開することが可能です。[ARCH] に記載されているように, サービスを作成するためにホップごとの動作とトラフィック条件化装置を構成する方法は多数あります。このプロセスで, より複雑なポリシーと割り当てをガイドする追加の経験が得られます。転送パスの基本的な動作は, アーキテクチャのこのコンポーネントが進化する間, 同じままでいることができます。このようなサービスの構築の経験はしばらく続くため, 時期尚早であるため, この構築を標準化することは避けます。さらに, サービス構築の詳細の多くは, 異なる事業体間の法的契約によってカバーされており, これは IETF の範囲外であるため避けます。
この文書は転送パスコンポーネントに焦点を当てています。パケット転送パスにおいて, 差別化サービスは, IP パケットヘッダーのフィールドに含まれるコードポイント (codepoint) を, パスに沿った各ネットワークノードにおける特定の転送処理 (forwarding treatment), またはホップごとの動作 (per-hop behavior, PHB) にマッピングすることによって実現されます。コードポイントは, この文書で後に定義される必須値 (mandatory values) のセット, 将来の文書で定義される推奨値 (recommended values) のセット, または純粋にローカルな意味を持つ可能性があります。PHB は, ネットワークノードの出力インターフェースキューでさまざまなキューサービスおよび/またはキュー管理規則を採用することによって実装されることが期待されています: たとえば, 加重ラウンドロビン (weighted round-robin, WRR) キューサービスまたはドロップ優先度 (drop-preference) キュー管理です。
マーキング (marking) は, ネットワークの端 (ファーストホップルータ または 送信元ホスト) や管理境界を含むネットワーク境界のトラフィック条件化装置によって実行されます。トラフィック条件化装置には, マーキング, 計測 (metering), ポリシング, シェーピングのプリミティブが含まれる場合があります (これらのメカニズムは [ARCH] に記載されています)。サービスは, 境界での特定のパケット分類とトラフィック条件化メカニズムの使用と, トラフィックの中継パスに沿ったホップごとの動作の連結 (concatenation) によって実現されます。差別化サービスアーキテクチャの目標は, 構成要素の数とタイプ, およびそれらから構築されるサービスの両方について, 将来の拡張性のためにこれらの構成要素を指定することです。
このメモで使用される用語は第2節で定義されています。差別化サービスフィールド定義 (DSフィールド) は第3節で示されています。第4節では, IPv4 優先度 (Precedence) フィールドの現在の使用との部分的な後方互換性への要望について説明します。解決策として, クラスセレクタコードポイント (Class Selector Codepoints) とクラスセレクタ準拠 PHB (Class Selector Compliant PHB) を導入します。第5節では, ホップごとの動作の標準化のためのガイドラインを示します。第6節では, コードポイントの割り当てのためのガイドラインについて説明します。第7節ではセキュリティに関する考慮事項を扱います。
この文書は, DSフィールドとその使用の簡潔な説明です。差別化サービスアーキテクチャ [ARCH] と一緒に読むことを意図しています。
キーワード "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", "OPTIONAL" は, [RFC2119] に記載されているように解釈されるべきです。