TCP由于其协议为保证可靠性,如三次握手,导致其比较慢,不能支持交互视频,会议等实时服务。UDP虽然是一个不可靠协议,不支持丢包重传,但是UDP可以根据端口号对应用程序进行多路复用,并能利用校验和检查数据完整性,对实时服务很有利的。故在许多实时服务上使并不是用TCP,而是使用如RUDP,RTP,UDT。
RUDP(Reliable User Datagram Protocol)
是一种基于可靠数据协议(RDP)的简单分组传输协议。用于传输IP网络间的电话信号。RUDP提供一组数据服务质量增强机制,如用拥塞控制的改进,重发机制及淡化服务器算法等。类似于TCP的重发机制和拥塞控制算法。从而在RTP客户机面前呈现一个高质量的RTP流。在不干扰协议的同时,可靠UDP的拥塞控制机制允许TCP方式下的流控制行为。
此协议的主要用途是网际名称服务器和小文件传输协议。
RTP(RealTime Protocol)
RTP作为增加了可靠性的UDP被提出在应用层上。实时协议被用来为应用程序如视频,音频等的实时传输提供端到端的网络传输功能。数据传输被一个姐妹协议---实时控制协议(RTCP)来监控,后者允许在一个大的多点传送网络上监视数据传送,并且提供最小限度的控制和识别功能。
RTP提供有效负载识别,序列编号,时间戳,投递监听。RTP能够序列化包,当这些包在收端不是按顺序到达时,序列号也能被用来识别包的丢失。时间戳被用于媒体的有效播放。到达的数据一直被RTCP监听,以通知RTP层来校正其编码和传输的参数。如果RTCP检测到丢失包,RTCP会通知RTP降低发送速度。
RTP本身不提供任何机制来确保及时传递或提供服务质量,这些靠底层服务完成。
<