http://www.yanhuangzixun.com/。
在这一节中将向读者介绍几个流媒体传送协议,CDN网络服务包括:实时流传输协议RTSP、实时传输协议RTP、实时传输控制协议RTCP、实时消息传送协议RTMP、HTTP流化协议,这些是近年来比较常用的流媒体传送协议。从TCP/IP协议栈来看,这些协议都位于TCP/UDP的上一层,如果开展ISP业务,需要了解有源光网络。
前面我们了解到,CDN网络服务是一项对实时性、顺序性要求非常高的业务。但是数据包在传送过程中难免会出现丢包、时延抖动等问题,所以流媒体的发送方在将数据包送入传输层之前会加上首部字段,字段里包含了序号和时间戳。RTP(Realtime Transport Protocol)实时传输协议,就是这样一个定义包含音视频数据、序号、时间戳以及其他有用信息的标准分组结构的协议。简单地说,RTP的任务就是提供时间信息和实现流同步。
CDN网络服务可以说是RTP的伙伴协议,因为RTP只负责流媒体数据包的交付,而不负责按顺序保证质量的交付,后一项任务往往要依靠RTCP来完成。RTCP(Realtime Transport Control Protocol)实时传输控制协议负责在会话参与者之间交换控制信息,RTCP分组包中含有已发送的数据包的数量、丢失的数据包的数量等统计数据,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。RTP与RTCP配合使用,能以有效的反馈和较小开销使传输效率最优化。在UDP中,RTP如果使用一个偶数号端口,则相应的RTCP使用其后的奇数号端口。
1991年8月,Lawrence Berkeley国际实验室的网络研究工作组在DARTnet上发布了一个称之为“vat”的语音会议工具,所使用的协议就是RTP协议的前身。到了1992年,RTP协议有了1.0版本,1995年11月被IESG正式定为Internet标准。1996年1月,Netscape公司宣布其“Netscape Live Media”应用建立在RTP协议之上。微软也不甘落后,也宣布其Netmeeting软件支持RTP协议。