メインコンテンツまでスキップ

4. 歴史的コードポイント定義とPHB要件

DSフィールドは, このセクションで説明されているように, 現在の慣行との限定的な後方互換性を持ちます。後方互換性は2つの方法で対処されます。まず, すでに広く使用されているホップごとの動作 (たとえば, [RFC1812] で指定された IPv4 優先度 (Precedence) キューイング要件を満たすもの) があり, DS 準拠ノードでの継続的な使用を許可したいと考えています。さらに, IP優先度フィールドの歴史的使用に対応するいくつかのコードポイントがあり, これらのコードポイントを第4.2.2.2節で指定された一般要件を満たす PHB にマップするために予約しています。ただし, これらのコードポイントによってマップされる特定の差別化サービス PHB には, 追加の仕様がある場合があります (MAY)。

[RFC791] で定義されている IPv4 TOS オクテットの "DTR" または TOS ビットとの後方互換性を維持する試みは行われていません。

4.1 デフォルトPHB

DS 準拠ノードでは "デフォルト (Default)" PHB が利用可能でなければなりません (MUST)。これは, [RFC1812] で標準化されている既存のルーターで利用可能な一般的なベストエフォート転送動作 (best-effort forwarding behavior) です。他の合意が存在しない場合, パケットはこの集約に属すると想定されます。このようなパケットは, 特定のルールに従うことなくネットワークに送信される場合があり (MAY), ネットワークは, 他のリソースポリシー制約の対象となる限り, これらのパケットをできるだけ多く, できるだけ早く配信します。この PHB の妥当な実装は, 出力リンクが別の PHB を満たすために必要とされない場合にこの集約のパケットを送信するキューイング規則です。サービスを構築するための妥当なポリシーは, 集約が "飢餓状態 (starved)" にならないことを保証します。これは, Default 動作集約に対して最小限のリソース (たとえば, バッファ, 帯域幅) を予約する各ノードのメカニズムによって実施できます。これにより, 差別化サービスを認識しない送信者は, 今日と同じ方法でネットワークを使用し続けることができます。ドメインへの差別化サービスの導入が顧客とピアのサービス期待に与える影響は, ドメインによるポリシー決定を伴う複雑な問題であり, この文書の範囲外です。

Default PHB の推奨 (RECOMMENDED) コードポイントはビットパターン '000000' です; 値 '000000' はこれらの仕様を満たす PHB にマップされなければなりません (MUST)。Default 動作に選択されたコードポイントは, 既存の慣行 [RFC791] と互換性があります。コードポイントが標準化またはローカル使用の PHB にマップされていない場合, Default PHB にマップされるべきです (SHOULD)。

最初に Default 動作としてマークされたパケットは, DS ドメインへの境界を通過するときに別のコードポイントで再マークされ (MAY), そのドメイン内で異なる PHB を使用して転送される場合があります。これは, ピアリングドメイン間の何らかの交渉された合意の対象となる可能性があります。

4.2 IP優先度フィールドの過去と将来の使用

IP優先度フィールド (IPv4 TOS オクテットのビット0-2) の現在の使用との何らかの形式の後方互換性を維持したいと考えています。IP優先度フィールドを使用して, ここで DSCP フィールドに提案されている使用と同様の方法で異なるホップごとの転送処理を選択するルーターが存在します。したがって, これらのルーターを適切に構成することにより, 単純なプロトタイプの差別化サービスアーキテクチャを迅速に展開できます。さらに, 今日の IP システムは IP優先度フィールドの位置を理解しているため, DS 準拠機器が展開されるときにこれらのビットが同様の方法で使用される場合, 初期展開中に重大な障害が発生する可能性は低くなります。言い換えれば, DSCP フィールドのビット0-2が IP優先度フィールドの展開された使用と同様の方法で, または包含する方法で使用される場合, 単一のサービスプロバイダーのネットワーク内でさえ, 厳密な DS 準拠はユビキタスである必要はありません。

4.2.1 IP優先度の歴史と進化の概要

IP優先度フィールドは, DSフィールドのいわば先駆者です。IP優先度および IP優先度フィールドは, [RFC791] で最初に定義されました。3ビット IP優先度フィールドが取る可能性のある値は, ネットワーク制御トラフィック, ルーティングトラフィック, およびさまざまなレベルの特権を含む, さまざまな用途に割り当てられました。最低レベルの特権は "通常トラフィック (routine traffic)" と見なされました。[RFC791] では, 優先度 (Precedence) の概念は "このデータグラムの重要性の独立した尺度 (An independent measure of the importance of this datagram)" として広く定義されていました。IP優先度フィールドのすべての値が境界を越えて意味を持つと想定されていたわけではありません。たとえば, "Network Control 優先順位指定はネットワーク内でのみ使用されることを意図しています。その指定の実際の使用と制御は各ネットワーク次第です。" [RFC791]

初期の BBN IMP は優先度機能を実装しましたが, 初期の商用ルーターと UNIX IP 転送コードは一般に実装しませんでした。ネットワークがより複雑になり, 顧客の要件が増加するにつれて, 商用ルーターベンダーは, 優先度キューイング (priority queueing) を含むさまざまな種類のキューイングサービスを実装する方法を開発しました。これらは一般に, IP アドレス, IP プロトコル番号, TCP または UDP ポート, およびその他のヘッダーフィールドを調べるルーター内のフィルターにエンコードされたポリシーに基づいていました。IP優先度は, このようなフィルターが調べることができるオプションの1つでした。

要するに, IP優先度は, [RFC791] で意図されたとおりではないにしても, 広く展開され, 広く使用されています。これは [RFC1122] で認識されており, IP優先度フィールドの使用は有効であるが, [RFC791] の優先順位の特定の割り当ては単なる歴史的なものであったと述べています。

4.2.2 IP優先度をクラスセレクタコードポイントに包含

今日 IP優先度フィールドによって選択されるパケット転送処理の仕様は, かなり一般的でなければならないでしょう; おそらく差別化サービスフレームワークで予測可能なサービスを構築するには十分に具体的ではありません。将来の柔軟性を犠牲にすることなく IP優先度フィールドの既知の現在の使用との部分的な後方互換性を維持するために, IP優先度フィールドによって選択される展開された転送処理のほとんどと互換性のある PHB のセットに対する最小要件を記述するアプローチを取りました。さらに, これらの最小要件を満たす PHB にマップしなければならない (MUST) コードポイントのセットを提供します。これらのコードポイントによってマップされる PHB には, ここで述べられている必要なものに加えて, より詳細な仕様のリストがある場合があります (MAY)。他のコードポイントがこれらと同じ PHB にマップされる場合があります (MAY)。このコードポイントのセットをクラスセレクタコードポイント (Class Selector Codepoints) と呼び, これらのコードポイントがマップできる PHB の最小要件をクラスセレクタPHB要件 (Class Selector PHB Requirements) と呼びます。

4.2.2.1 クラスセレクタコードポイント

DSフィールド値 'xxx000|xx', または DSCP = 'xxx000' で CU サブフィールドが未指定のものは, クラスセレクタコードポイントのセットとして予約されています。これらのコードポイントによってマップされる PHB は, コードポイント '000000' の Default PHB 要件 (第4.1節) を保持することに加えて, クラスセレクタPHB要件を満たさなければなりません (MUST)。

4.2.2.2 クラスセレクタPHB要件

別のクラスセレクタコードポイントよりも大きい数値を持つクラスセレクタコードポイントを, より高い相対順序 (higher relative order) を持つと呼び, 別のクラスセレクタコードポイントよりも小さい数値を持つクラスセレクタコードポイントは, より低い相対順序 (lower relative order) を持つと言われます。8つのクラスセレクタコードポイントによってマップされる PHB のセットは, 少なくとも2つの独立して転送されるトラフィッククラスを生成しなければならず (MUST), クラスセレクタコードポイントによって選択される PHB は, 合理的な動作条件とトラフィック負荷の下で, より低い相対順序のクラスセレクタコードポイントでマークされたパケットに与えられるものより低くないタイムリーな転送の確率 (probability of timely forwarding) をパケットに与えるべきです (SHOULD)。破棄されたパケットは, 不適時転送の極端なケース (extreme case of untimely forwarding) と見なされます。さらに, コードポイント '11x000' によって選択される PHB は, ルーティングトラフィックの IP優先度値 '110' および '111' の一般的な使用法を保持するために, コードポイント '000000' によって選択される PHB と比較して, パケットに優先的な転送処理 (preferential forwarding treatment) を与えなければなりません (MUST)。

さらに, 異なるクラスセレクタコードポイントによって選択される PHB は独立して転送されるべきです (SHOULD); つまり, 異なるクラスセレクタコードポイントでマークされたパケットは再順序付けされる場合があります (MAY)。ネットワークノードは, これらの各 PHB が利用できるノードのリソースの量に制限を強制する場合があります (MAY)。

この要件を満たす仕様を持つ PHB グループは, クラスセレクタ準拠PHB (Class Selector Compliant PHBs) と呼ばれます。

コードポイント '000000' のクラスセレクタPHB要件は, 第4.1節の Default PHB に対してリストされているものと互換性があります。

4.2.2.3 IP優先度互換性のためのクラスセレクタPHB要件の使用

DS 準拠ネットワークノードは, 1つ以上のクラスセレクタ準拠PHBグループのセットで展開できます。この文書は, コードポイントのセット 'xxx000' がこのような PHB のセットにマップされなければならない (MUST) と述べています。複数のコードポイントを同じ PHB にマップすることも可能であるため, ベンダーまたはネットワーク管理者は, DSCP フィールドのビット3-5に関係なくコードポイントを PHB にマップするようにネットワークノードを構成して (MAY), 歴史的な IP優先度使用と互換性のあるネットワークを生成できます。したがって, たとえば, コードポイント '011010' はコードポイント '011000' と同じ PHB にマップされます。

4.2.2.4 クラスセレクタ準拠PHBグループを実装するためのメカニズムの例

クラスセレクタ準拠PHBは, 厳密優先度キューイング (strict priority queueing), 加重公平キューイング (weighted fair queueing, WFQ), WRR, またはバリアント [RPS, HPFQA, DRR], またはクラスベースキューイング (Class-Based Queuing) [CBQ] を含むさまざまなメカニズムによって実現できます。PHB とメカニズムの違いについては, 第5節でより詳細に説明されています。

これらのメカニズムは, 特定のベンダーの機器で利用可能な他の PHB (標準化されているかどうかにかかわらず) を通じて利用できる可能性があることに注意することが重要です。たとえば, 将来の文書では, 推奨されるコードポイントのセットに対して Strict Priority Queueing PHB グループを標準化する可能性があります。ネットワーク管理者は, この文書の要件に準拠して, コードポイント 'xxx000' で Strict Priority Queueing PHB を選択するようにこれらのルーターを構成する場合があります。

さらなる例として, 別のベンダーがルーターで CBQ メカニズムを採用する場合があります。CBQ メカニズムは, Strict Priority Queueing PHB を実装するだけでなく, 最小限のクラスセレクタPHB要件を満たすだけの PHB のセットで利用可能であるよりも広範な機能を持つクラスセレクタ準拠PHBのセットを実装するために使用できます。

4.3 まとめ

この文書では, コードポイント 'xxx000' をクラスセレクタコードポイントとして定義しています。これらのコードポイントによって選択される PHB は, 第4.2.2.2節で説明されているクラスセレクタPHB要件を満たさなければなりません (MUST)。これは, 将来の柔軟性を過度に制限することなく, インターネットでの IP優先度フィールドの現在の使用との有用なレベルの後方互換性を維持するために行われます。さらに, コードポイント '000000' はインターネットの Default PHB 値として使用されるため, 構成可能ではありません。残りの7つの非ゼロクラスセレクタコードポイントは, 第4.2.2.2節の要件を満たす PHB にマップされる範囲でのみ構成可能です。