Datagram Congestion Control Protocol

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
TCP/IP群
アプリケーション層

BGP / DHCP / DNS / FTP / HTTP / IMAP / IRC / LDAP / MGCP / NNTP / NTP / POP / RIP / RPC / RTP / SIP / SMTP / SNMP / SSH / Telnet / TFTP / TLS/SSL / XMPP

カテゴリ
トランスポート層

TCP / UDP / DCCP / SCTP / RSVP

カテゴリ
ネットワーク層

IP (IPv4, IPv6) / ICMP / ICMPv6 / IGMP / IPsec

カテゴリ
リンク層

ARP/InARP / NDP / OSPF / トンネリング (L2TP) / PPP / MAC (イーサネット, IEEE 802.11, DSL, ISDN)

カテゴリ

Datagram Congestion Control Protocol(データグラム コンジェスチョン コントロール プロトコル、DCCP)は、メッセージ指向のトランスポートプロトコルである。DCCPは信頼性のあるコネクションの確立、切断、ECN輻輳制御、特徴的なネゴシエーションを実装している。DCCPは、2006年3月、IETFによって、RFC 4340proposed 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」からの防御を意図している。[1]


実装[編集]

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

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

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


関連項目[編集]

外部リンク[編集]