Datagram Congestion Control Protocol

Datagram Congestion Control Protocol（データグラム輻輳制御プロトコル、データグラム コンジェスチョン コントロール プロトコル、DCCP）は、メッセージ指向のトランスポートプロトコルである。DCCPは信頼性のあるコネクションの確立、切断、ECN（明示的輻輳通知）、輻輳制御、特徴的なネゴシエーションを実装している。2006年3月にIETFによって （proposed standard）として発行された。Linuxでは、Linuxカーネル 2.6.14でDCCPの最初のリリースが実装され、それ以降のリリースでも開発が続いている。

DCCPは、アプリケーション層ではなくトランスポート層で輻輳制御機構を提供する。DCCPは、TCPのようなフローベースの考え方を可能にするが、信頼性や正しい順序を保証しない。また、SCTPのような複数のストリームで順序指定の配送を提供しない。

輻輳回避だけでなく信頼性のある順序指定の配送を提供するがためにデータが使い物にならなくなるような、タイミングの制約があるようなアプリケーションにとってDCCPは有益である。このようなアプリケーションでは、TCPで妥協するか、UDPを使って、独自の輻輳制御機構を実装するしかなかった（あるいは輻輳制御をまったくしなかった）。

DCCP接続はデータのトラフィックとは別にACK（acknowledgement）トラフィックを含む。ACKは送信者に対して、送信者のパケットが受信者に届いたか、パケットはECNがマークされていたかを通知する。ACKは輻輳制御機構が要求する程度の信頼性（完全な信頼性たり得る）で転送される。

DCCPはオプションとして、パケットIDに対応する（TCPのようにバイトIDに対応するのではなく）とても長い（48 bit）のシーケンス番号を持つ。この長いシーケンス番号は、「コネクションへのDCCP-Resetsの挿入などの、いくつかのBlind Attack」からの防御を意図しているRFC 4340 section 7.6。

 実装 

2008年6月現在、最低でも2つのDCCP実装が活発に保守開発されている。

Linuxカーネル上のDCCP実装は、カーネル2.6.14で初めてコミットされた。
この実装についての情報はNet:DCCP - The Linux Foundationで提供されている。

dccp-tpは、ポータブルなDCCP実装として設計されている。

 関連項目 
 トランスポート・プロトコルの比較
 Datagram Transport Layer Security

 出典 

 外部リンク 

  - Datagram Congestion Control Protocol
  - Profile for Datagram Congestion Control Protocol (DCCP)Congestion Control ID 2: TCP-like Congestion Control
  - Profile for Datagram Congestion Control Protocol (DCCP)Congestion Control ID 3: TCP-Friendly Rate Control (TFRC)
 DCCP page from one of DCCP authors
 DCCP support in Linux

Category:トランスポート層プロトコル
4340
Category:長大な項目名