Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

DiffServeコードポイント(ディフサーブコードポイント)とは | 意味や読み方など丁寧でわかりやすい用語解説

DiffServeコードポイント(ディフサーブコードポイント)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

ディフサービスコードポイント (ディフサービスコードポイント)

英語表記

DiffServ code point (ディフサーブコードポイント)

用語解説

DiffServeコードポイントは、IPネットワークにおけるトラフィックの優先度付けと品質保証(QoS)を実現するための仕組みであるDiffServe(Differentiated Services、差別化サービス)アーキテクチャの中核をなす要素だ。これはIPパケットヘッダ内の特定の部分に書き込まれる数値であり、そのパケットをネットワーク機器がどのように扱うべきかを示す「指示書」のような役割を持つ。具体的には、IPv4ヘッダのType of Service (ToS) フィールド、またはIPv6ヘッダのTraffic Classフィールドの最初の6ビットに格納される値がDiffServeコードポイント(DSCP: Differentiated Services Code Point)と呼ばれる。この6ビットのフィールドは最大64通りの異なる値を表現でき、それぞれの値がネットワーク上のルーターやスイッチに対して、パケットを優先的に転送する、一定の帯域を確保する、輻輳時に最初に破棄するなどの、特定の転送処理(Per-Hop Behavior, PHB)を要求する。これにより、音声やビデオのようなリアルタイム性が求められる重要な通信と、ウェブ閲覧やメールのような比較的遅延に寛容な通信とを区別し、それぞれの要件に応じたネットワークサービスを提供することが可能となる。

DiffServeのアーキテクチャでは、ネットワーク全体をエッジネットワークとコアネットワークに分ける。DiffServeコードポイントは、主にネットワークの境界(エッジ)に位置するルーターで、アプリケーションや送信元・送信先IPアドレス、ポート番号などに基づいてパケットを分類し、適切なコードポイントを書き込むことでマーキングされる。このマーキングされたパケットは、コアネットワーク内のルーターを通過する際、各ルーターがDiffServeコードポイントの値を参照し、その値に対応する転送処理(Per-Hop Behavior, PHB)を実行する。PHBは、あるDSCP値を持つパケットに対して、ルーターがどのキューに入れ、どの程度の帯域を割り当て、輻輳時にどのポリシーでパケットを破棄するかといった、個々のホップ(ルーターからルーターへの転送区間)での振る舞いを定義したものだ。

最もよく知られたPHBの一つに、EF (Expedited Forwarding) PHBがある。このPHBは、主にVoIP(IP電話)やビデオ会議のようなリアルタイム通信に適用され、DSCP値46(バイナリで101110)が割り当てられることが多い。EF PHBが適用されたパケットは、ネットワーク上で可能な限り低い遅延、低いジッタ(遅延の揺らぎ)、低いパケットロスで転送されるよう、非常に高い優先度で扱われる。ルーターはこれらのパケットを専用の優先キューに入れ、他のトラフィックよりも先に転送することで、厳格な品質要件を満たす。

もう一つの主要なPHBは、AF (Assured Forwarding) PHBだ。AF PHBは、Web閲覧やファイル転送など、ある程度の帯域保証が必要だが、EF PHBほど厳密なリアルタイム性を求められないアプリケーションに利用される。AF PHBはさらに複数のクラス(AF1x、AF2x、AF3x、AF4x)と、それぞれのクラス内での廃棄優先度(AFx1、AFx2、AFx3)に細分化される。例えば、AF11(DSCP値10)はAFクラス1の低廃棄優先度、AF12(DSCP値12)はAFクラス1の中廃棄優先度、AF13(DSCP値14)はAFクラス1の高廃棄優先度を示す。これにより、同じAFクラス内でも、輻輳状況に応じてどのパケットから先に破棄すべきかを細かく制御できる。ルーターはAF PHBのパケットに対し、定義された帯域幅を保証しようと努め、帯域を超過した場合には廃棄優先度に基づいてパケットを破棄する。

また、CS (Class Selector) PHBも存在する。これは、DiffServeが登場する前のQoSメカニズムであるIP Precedenceとの互換性を持たせるために定義されたもので、IP Precedenceの3ビット値をDiffServeコードポイントの先頭3ビットに対応させる。例えば、IP PrecedenceがHighest (111) の場合、CS7(DSCP値56)に対応する。Default PHB(DSCP値0)は、特にDiffServeコードポイントが指定されていない、またはBest-Effort(最善努力)型サービスとして扱われるパケットに適用され、通常のウェブ閲覧やメールといった一般的なトラフィックがこれに該当する。これらのパケットには帯域保証や遅延保証はなく、ネットワークの負荷状況によって遅延やパケットロスが発生する可能性がある。

DiffServeコードポイントを利用するメリットは、コアネットワーク内のルーターがパケットの内容を詳細に分析することなく、ヘッダのDSCP値だけを見て転送処理を決定できる点にある。これにより、ネットワーク全体の処理負荷を軽減し、スケーラビリティを向上させることが可能となる。エッジルーターが一度マーキングしてしまえば、コアネットワークのルーターは単に「このコードポイントのパケットはこのように扱う」というシンプルなルールに従うだけでよいため、QoSポリシーの展開と管理が比較的容易になる。結果として、DiffServeコードポイントは、今日の複雑なIPネットワークにおいて、多様なアプリケーションのサービス品質要求を満たし、限られたネットワークリソースを効率的に利用するための非常に重要な技術基盤となっている。初心者にとって、DiffServeコードポイントの理解は、QoSの概念とネットワークトラフィック管理の基本を把握する上で不可欠な要素と言えるだろう。

関連コンテンツ