数据拥塞控制协议
数据拥塞控制协议(英语:Datagram Congestion Control Protocol,缩写为 DCCP)是由(网际网路工程工作小组IETF)提出一个针对传输层中UDP的新传输的协议而发展出来,用来传输实时业务。它是一个可以进行拥塞控制的非可靠传输协议,并同时提供多种拥塞控制机制,在通信开始时由用户进行协商选择。除预留和自定义方式外,目前DCCP定义了两种拥塞控制机制:TCP-Like和TFRC。TCP-Like类似TCP的AIMD机制,而TFRC是TCP友好的速率控制机制。
建立、维护和拆卸不可靠连接的数据流以及对不可靠性数据流进行拥塞控制,是DCCP主要提供的两大功能。实时业务需要快速且低开销的传输协议,要使包头带来的开销和终端处理的工程量尽量小。因此,DCCP尽可能做到简单合理、低延迟和快速响应,避免提供更高层的传输功能。DCCP没有TCP的可靠性和顺序发送的特性。基于单播的应用功能也被涵盖在DCCP中。
DCCP的主要特色
有确认的不可靠数据报流。使用Data和DataAck两种数据流的数据传输,Data是纯数据,DataAck可以既有数据又有确认信息。
可靠性协商。包括合适的拥塞控制协商、拥塞控制协商算法。半连接。这使得两台主机间可以使用两个半连接来连接,并使用不同的拥塞控制机制。(拥塞控制标记(CCID))。每个CCID说明了它的终端是如何对ECN报告进行回应的。如CCID2:TCP-like机制、CCID3:TFRC机制(TCP友好控制机制)。
多重连接和移动通信中的应用。DCCP提供多重连接。在连接过程中可以通知对方地址或者端口的改变。当移动端点得到新的地址后,它从新地址发送DCCP-Move包给固定端点,然后固定端点使用新的地址改变连接状态。此外,DCCP使用一个缓存来取代TCP的探测帧,这样减少了网络开销。
此外,DCCP合并了ECN和ECNNonce的拥塞控制,具有最大路径传送单元(MTU)的发现机制;清晰的连接建立和中止过程,对于连接的建立和拆除有着可靠的握手过程;服务器可以拒绝任何没有确认信息的连接尝试或者是本已结束的连接尝试。
尽管DCCP当前仍有很多问题,例如,协议应该同时支持IPv4和IPv6;在安全性方面,有关DCCP是否可以在传输安全管理协议上取代UDP还需探讨;DCCP和RTP(实时传输协议)的关系也还须进一步研究,但DCCP协议草案的提出为希望使用一种协议同时提供多种传输服务的应用展现了一种新的服务模式,对未来网络中传输协议的研究及对多媒体应用的支持提供了一个新的切入点。