实时传输控制协议RTCP(Real-time Transport Control protocol)
实时流协议RTSP(Real Time Streaming protocol)
资源预留协议RSVP(Resource Reserve Protocol)
1、RTP
RTP是一种提供端对端传输服务的实时传输协议,用来支持在单目标广播和多目标广播网络服务中传输实时数据,而实时数据的传输则由RTCP协议来监视和控制。
RTP定义在RFC 1889中。信息包的结构包含广泛用于多媒体的若干个域,包括声音点播(audio-on-demand)、影视点播(video on demand)、因特网电话(Internet telephony)和电视会议(videoconferencing)。RTP的规格没有对声音和电视的压缩格式制定标准,它可以被用来传输普通格式的文件。例如,WAV或者GSM(Global System for Mobile communications)格式的声音、MPEG-1和MPEG-2的电视,也可以用来传输专有格式存储的声音和电视文件。
使用RTP协议的应用程序运行在RTP之上,而执行RTP的程序运行在UDP的上层,目的是为了使用UDP的端口号和检查和。如下图所示,RTP可以看成是传输层的子层。由多媒体应用程序生成的声音和电视数据块被封装在RTP信息包中,每个RTP信息包被封装在UDP消息段中,然后再封装在IP数据包中。
RSVP协议是一种可以提供音频、视频、数据等混合服务的互联网络综合服务(IIS Internet Integrated service ) [RSVP97,RFC1633]。通过它,主机端可以向网络申请特定的QoS,为特定的应用程序提供有保障的数据流服务。同时RSVP在数据流经过的各个路由器节点上对资源进行预留,并维持该状态直到应用程序释放这些资源。
RSVP对资源的申请是单向的,所以RSVP在申请资源的过程中发送端和接受端是逻辑上完全不同的两个部分。(虽然发送端和接受端可以运行在同一个进程下)。RSVP工作在IPv4或IPv6上,处于 OSI七层协议中的传送层,但是,RSVP并不处理传送层的数据,从本质上看,RSVP更象是网络控制协议,如ICMP(Internet Control Message Protocol),IGMP(Internet Group Management Protocol)或是路由协议。和路由协议及管理协议的实现相同,RSVP的实现通常在后台执行,而不是出现在数据传送的路径上。
RSVP本身并不是路由协议,RSVP是和现在或是将来出现的点对点传播和多点组播协议一起工作的。RSVP进程通过本地的路由数据库来获取路由信息,如在多点组播过程中,主机端送出IGMP报文来加入一个多点组播的组群,然后送出RSVP报文在组群的传送路径上保留网络资源,路由协议决定报文的走向,而RSVP仅关心这些报文在它将走的路径上能否获得满意的服务质量。
为了适应可能出现的大规模组群、动态组群、异类接受端的可能,RSVP采取由接受端发起服务质量(QoS)申请的策略。QoS请求从接受端的应用程序出发交给本地的RSVP驻留进程,再由该RSVP驻留进程将该请求递交给沿数据传送的反向路径(接受端至发送端)上的各个节点(路由器或是主机)进行资源的申请。所以,RSVP协议在资源保留上花费一般是呈对数而不是线形幅度增长。
三、流媒体播放方式