4. 履歴的なコードポイント定義とPHB要件 (Historical Codepoint Definitions and PHB Requirements)
本節で説明するように、DS フィールドは現在の実践との限定的な下位互換性を持ちます。下位互換性は2つの方法で対処されます。まず、すでに広く使用されているホップごとの動作(例えば、[RFC1812] で指定されている IPv4 優先度キューイング要件を満たすもの)があり、DS 準拠ノードでの継続的な使用を許可したいと考えています。さらに、IP 優先度 (IP Precedence) フィールドの履歴的な使用に対応するいくつかのコードポイントがあり、これらのコードポイントを第4.2.2.2節で指定された一般要件を満たす PHB にマッピングするために予約していますが、これらのコードポイントによってマッピングされる特定の差分化サービス PHB は追加の仕様を持つ場合があります (MAY)。
[RFC791] で定義されている IPv4 TOS オクテットの「DTR」または TOS ビットとの下位互換性を維持する試みは行われません。
4.1 デフォルトPHB (A Default PHB)
DS 準拠ノードでは「デフォルト」PHB が利用可能でなければなりません (MUST)。これは、[RFC1812] で標準化されている既存のルーターで利用可能な一般的なベストエフォート転送動作です。他の合意がない場合、パケットはこの集約に属すると想定されます。このようなパケットは、特定のルールに従うことなくネットワークに送信される場合があり (MAY)、ネットワークは他のリソースポリシー制約に従って、これらのパケットをできるだけ多く、できるだけ早く配信します。この PHB の合理的な実装は、出力リンクが別の PHB を満たす必要がない場合に常にこの集約のパケットを送信するキューイング規律です。サービスを構築するための合理的なポリシーは、集約が「飢餓状態」にならないようにします。これは、各ノードでデフォルト動作集約のために最小限のリソース(例えば、バッファ、帯域幅)を予約するメカニズムによって実施できます。これにより、差分化サービスを認識しない送信者が今日と同じ方法でネットワークを引き続き使用できます。ドメインへの差分化サービスの導入がその顧客とピアのサービス期待に与える影響は、ドメインによるポリシー決定を含む複雑な問題であり、本文書の範囲外です。デフォルト PHB の推奨される (RECOMMENDED) コードポイントはビットパターン 000000 です。値 000000 はこれらの仕様を満たす PHB にマッピングされなければなりません (MUST)。デフォルト動作に選択されたコードポイントは、既存の実践 [RFC791] と互換性があります。コードポイントが標準化またはローカル使用の PHB にマッピングされていない場合、デフォルト PHB にマッピングされるべきです (SHOULD)。
最初にデフォルト動作用にマークされたパケットは、DS ドメインへの境界を通過する際に別のコードポイントで再マークされる場合があり (MAY)、そのドメイン内で異なる PHB を使用して転送されます。これは、ピアドメイン間の何らかの合意に従う可能性があります。
4.2 IP優先度フィールドの過去と未来の使用 (Once and Future IP Precedence Field Use)
我々は、IP 優先度フィールド(IPv4 TOS オクテットのビット0-2)の現在の使用との何らかの形式の下位互換性を維持したいと考えています。IP 優先度フィールドを使用して、ここで DSCP フィールドに提案されている使用と同様の方法で異なるホップごとの転送処理を選択するルーターが存在します。したがって、これらのルーターを適切に設定することによって、単純なプロトタイプ差分化サービスアーキテクチャを迅速に展開できます。さらに、今日の IP システムは IP 優先度フィールドの位置を理解しているため、DS 準拠機器が展開される際にこれらのビットが同様の方法で使用される場合、初期展開中に重大な障害が発生する可能性は低くなります。言い換えれば、DSCP フィールドのビット0-2が IP 優先度フィールドの展開された使用と同様の方法で、またはそれを包含する方法で使用される場合、単一のサービスプロバイダーのネットワーク内であっても、厳密な DS 準拠である必要はありません。
4.2.1 IP優先度の履歴と簡単な進化 (IP Precedence History and Evolution in Brief)
IP 優先度フィールドは、DS フィールドの前身のようなものです。IP 優先度および IP 優先度フィールドは、[RFC791] で最初に定義されました。3ビット IP 優先度フィールドが取る可能性のある値は、ネットワーク制御トラフィック、ルーティングトラフィック、およびさまざまなレベルの特権を含むさまざまな用途に割り当てられました。最低レベルの特権は「通常トラフィック」と見なされました。[RFC791] では、優先度の概念は「このデータグラムの重要性の独立した尺度」として広く定義されました。IP 優先度フィールドのすべての値が境界を越えて意味を持つと想定されていたわけではありません。例えば、「ネットワーク制御優先度指定は、ネットワーク内でのみ使用されることを意図しています。その指定の実際の使用と制御は、各ネットワーク次第です。」[RFC791]
初期の BBN IMP は優先度機能を実装していましたが、初期の商用ルーターや UNIX IP 転送コードは一般的にそうではありませんでした。ネットワークがより複雑になり、顧客要件が増加するにつれて、商用ルーターベンダーは、IP アドレス、IP プロトコル番号、TCP または UDP ポート、およびその他のヘッダーフィールドを調査するルーター内のフィルターにエンコードされたポリシーに基づいた、優先度キューイングを含むさまざまな種類のキューイングサービスを実装する方法を開発しました。IP 優先度は、そのようなフィルターが調査できるオプションの1つです。
要するに、IP 優先度は、[RFC791] で意図されたとおりの方法ではないにしても、広く展開され、広く使用されています。これは [RFC1122] で認識されており、IP 優先度フィールドの使用は有効ですが、[RFC791] の優先度の特定の割り当ては単に歴史的なものであると述べています。
4.2.2 IP優先度をクラスセレクタコードポイントに包含する (Subsuming IP Precedence into Class Selector Codepoints)
今日 IP 優先度フィールドによって選択されるパケット転送処理の仕様は、かなり一般的でなければなりません。おそらく、差分化サービスフレームワークで予測可能なサービスを構築するには十分に具体的ではありません。将来の柔軟性を犠牲にすることなく、IP 優先度フィールドの既知の現在の使用との部分的な下位互換性を維持するために、我々は、IP 優先度フィールドによって選択される展開された転送処理のほとんどと互換性のある PHB のセットに対する最小要件を記述するアプローチを取りました。さらに、これらの最小要件を満たす PHB にマッピングされなければならない (MUST) コードポイントのセットを示します。これらのコードポイントによってマッピングされる PHB は、ここで述べられている必須のものに加えて、より詳細な仕様のリストを持つ場合があります (MAY)。他のコードポイントはこれらの同じ PHB にマッピングされる場合があります (MAY)。このコードポイントのセットをクラスセレクタコードポイント (Class Selector Codepoints) と呼び、これらのコードポイントがマッピングされる可能性のある PHB の最小要件をクラスセレクタ PHB 要件 (Class Selector PHB Requirements) と呼びます。
4.2.2.1 クラスセレクタコードポイント (The Class Selector Codepoints)
DS フィールド値 xxx000|xx、または DSCP = xxx000 で CU サブフィールドが未指定のものは、クラスセレクタコードポイントのセットとして予約されています。これらのコードポイントによってマッピングされる PHB は、コードポイント 000000 のデフォルト PHB 要件(第4.1節)を保持することに加えて、クラスセレクタ PHB 要件を満たさなければなりません (MUST)。
4.2.2.2 クラスセレクタPHB要件 (The Class Selector PHB Requirements)
別のクラスセレクタコードポイントよりも大きい数値を持つクラスセレクタコードポイントを、より高い相対順序を持つと呼び、別のクラスセレクタコードポイントよりも小さい数値を持つクラスセレクタコードポイントは、より低い相対順序を持つと言います。8つのクラスセレクタコードポイントによってマッピングされる PHB のセットは、少なくとも2つの独立して転送されるトラフィッククラスを生成しなければならず (MUST)、クラスセレクタコードポイントによって選択される PHB は、合理的な動作条件とトラフィック負荷の下で、より低い相対順序のクラスセレクタコードポイントでマークされたパケットに与えられるものよりも低くないタイムリーな転送の確率をパケットに与えるべきです (SHOULD)。破棄されたパケットは、タイムリーでない転送の極端なケースと見なされます。さらに、コードポイント 11x000 によって選択される PHB は、ルーティングトラフィックに対する IP 優先度値 110 および 111 の一般的な使用を保持するために、コードポイント 000000 によって選択される PHB と比較して優先的な転送処理を提供しなければなりません (MUST)。
さらに、異なるクラスセレクタコードポイントによって選択される PHB は独立して転送されるべきです (SHOULD)。つまり、異なるクラスセレクタコードポイントでマークされたパケットは再順序付けされる場合があります (MAY)。ネットワークノードは、これらの PHB のそれぞれが利用できるノードのリソースの量に制限を実施する場合があります (MAY)。
仕様がこれらの要件を満たす PHB グループは、クラスセレクタ準拠 PHB (Class Selector Compliant PHBs) と呼ばれます。
コードポイント 000000 のクラスセレクタ PHB 要件は、第4.1節でデフォルト PHB について記載されているものと互換性があります。
4.2.2.3 IP優先度互換性のためのクラスセレクタPHB要件の使用 (Using the Class Selector PHB Requirements for IP Precedence Compatibility)
DS 準拠ネットワークノードは、1つ以上のクラスセレクタ準拠 PHB グループのセットで展開できます。本文書は、コードポイントセット xxx000 がそのような PHB のセットにマッピングされなければならない (MUST) と述べています。複数のコードポイントを同じ PHB にマッピングすることも可能であるため、ベンダーまたはネットワーク管理者は、DSCP フィールドのビット3-5に関係なくコードポイントを PHB にマッピングするようにネットワークノードを設定して (MAY)、履歴的な IP 優先度使用と互換性のあるネットワークを生成できます。したがって、例えば、コードポイント 011010 はコードポイント 011000 と同じ PHB にマッピングされます。
4.2.2.4 クラスセレクタ準拠PHBグループを実装するための実装メカニズムの例 (Example Mechanisms for Implementing Class Selector Compliant PHB Groups)
クラスセレクタ準拠 PHB は、厳密優先度キューイング、重み付け公平キューイング (WFQ)、WRR、またはその変形 [RPS, HPFQA, DRR]、またはクラスベースキューイング [CBQ] を含むさまざまなメカニズムによって実現できます。PHB とメカニズムの区別は、第5節でより詳細に説明されています。
これらのメカニズムが、特定のベンダーの機器で利用可能な他の PHB(標準化されているかどうかにかかわらず)を通じて利用できる可能性があることに注意することが重要です。例えば、将来の文書は、推奨されるコードポイントのセットに対して厳密優先度キューイング PHB グループを標準化する可能性があります。ネットワーク管理者は、本文書の要件に準拠して、コードポイント xxx000 で厳密優先度キューイング PHB を選択するようにこれらのルーターを設定する場合があります。
さらなる例として、別のベンダーがそのルーターで CBQ メカニズムを使用する場合があります。CBQ メカニズムは、厳密優先度キューイング PHB を実装するために使用でき、また、最小限のクラスセレクタ PHB 要件を満たすだけの PHB のセットよりも広範な機能を持つクラスセレクタ準拠 PHB のセットを実装するためにも使用できます。
4.3 まとめ (Summary)
本文書は、コードポイント xxx000 をクラスセレクタコードポイントとして定義しており、これらのコードポイントによって選択される PHB は第4.2.2.2節で説明されているクラスセレクタ PHB 要件を満たさなければなりません (MUST)。これは、将来の柔軟性を過度に制限することなく、インターネットにおける IP 優先度フィールドの現在の使用との有用なレベルの下位互換性を維持するために行われます。さらに、コードポイント 000000 はインターネットのデフォルト PHB 値として使用されるため、設定可能ではありません。残りの7つの非ゼロクラスセレクタコードポイントは、第4.2.2.2節の要件を満たす PHB にマッピングされる範囲でのみ設定可能です。