基于UDP的用于视频应用的几个协议

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本身不提供任何机制来确保及时传递或提供服务质量,这些靠底层服务完成。

 

UDT(UDP-based Data Transfer Protocol)

建立在UDP之上是面向连接的双向应用层协议,UDT引入新的拥塞控制(AIMD控制算法)和数据可靠性控制机制,UDT可以快速获得最大带宽,并在接近最大带宽时减缓速度以获取更好的稳定性。同时支持可靠的数据流传输和部分可靠的数据报传输。

主要用于支持高速广域网上的海量数据传输,而TCP在高带宽长距离网络上性能很差。还可用于点到点技术,防火墙穿透,多媒体数据传输。

 

补充:

多路复用:UDP和TCP最基本的任务是,将两个端系统间IP的交付服务扩展为运行在两个端系统上的进程之间的交付服务。将运输层报文段中的数据交付到正确的套接字,被称为多路分解;从源主机的不同套接字收集数据块,并为每个数据块封装上首部信息从而生成报文段,然后将报文段传递到网络层,这一工作被称为多路复用。

 

http://blog.csdn.net/magneto7/article/details/11686489

http://www.jianshu.com/p/5f898b90f8d1

https://zh.wikipedia.org/wiki/UDT

 

你可能感兴趣的:(知识)