SDP
(1)SDP(SessionDescription Protocol)是服务器端生成的描述媒体文件的编码信息以及所在服务器的链接等信息的文件,客户端通过它来设置播放软件的参数。SDP只是一种用于会话描述的协议,它并不是一种传输协议,只是用于在不同传输协议之间传递消息的通知协议,其主要目的是解决多媒体会话通知、邀请和另外一些媒体会话的初始化工作。
(2) SDP内容包括:会话名称和目的、会话持续时间、媒体类(音频、视频等)、传输协议(RTP/UDP/IP,H.320等)、媒体编码格式(MPEG4、H.263、H.264等)、接收媒体的相关信息端口和格式等。SDP的详细介绍请参考IETF RFC2327。
RTSP
(1)RTSP是应用级协议,用于流媒体服务器和终端播放器之间的媒体流会话的建立和控制。RTSP本身不被用于传输媒体数据,而是用于控制媒体流播放的过程,如会话建立、暂停、停止、快进、快退、录制等。媒体传输协议和相应的参数在会话建立过程中双方协商确定,一般采用RTP协议。RTSP是文本协议,其功能和HTTP及SIP类似,不同之处是RTSP及SIP本身不传输媒体流数据,而HTTP可以。
(2) RTSP可以承载在TCP或UDP之上(一般为TCP),端口号为554。RTSP通过定义一些“Method”来实现会话的控制,其主要的Mothod有:DESCRIBE、SETUP、PLAY、PAUSE、RECORD、REDIRECT、TEARDOWN等。同时,RTSP通过会话描述协议(SDP)来协商双方的媒体格式、传输协议等。RTSP的详细介绍请参考IETF RFC2326。
RTP/RTCP
(1)整个RTP 协议由两个密切相关的部分组成:RTP 数据协议和RTP控制协议,当应用程序开始一个RTP会话时将使用两对端口:一对用于RTP,另外一对用于RTCP。RTP是针对多媒体数据流的传输协议,能够提供时间信息并提供流同步,但本身并不能提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。RTP通常采用UDP来传送数据。
(2) RTCP和RTP一起提供流量控制和拥塞控制服务,RTCP的主要功能是为数据的传送情况提供反馈。在RTP会话期间,各参与者周期性..传送RTCP包,RTCP包中含有已发送的数据包数量、丢失的数据包数量等统计信息,服务器可以据这些信息动态收变传输速率,甚至收变有效负荷的类。RTP和RTCP配合使用,能够以有效的反馈和最小的开销使传输效率最佳化。
RTP/RTCP/RTSP/SIP/SDP 关系
2012-03-09 09:52:34| 分类: 默认分类|举报|字号 订阅
RTP
sdfs
Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议。RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。RTP 协议常用于流媒体系统(配合RTCP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它成为IP电话产业的技术基础。RTP协议和RTP控制协议RTCP一起使用,而且它是建立在UDP协议上 的。
RTP 本身并没有提供按时发送机制或其它服务质量(QoS)保证,它依赖于低层服务去实现这一过程。 RTP 并不保证传送或防止无序传送,也不确定底层网络的可靠性。 RTP 实行有序传送, RTP 中的序列号允许接收方重组发送方的包序列,同时序列号也能用于决定适当的包位置,例如:在视频解码中,就不需要顺序解码。
RTP 由两个紧密链接部分组成: RTP ― 传送具有实时属性的数据;RTP 控制协议(RTCP) ― 监控服务质量并传送正在进行的会话参与者的相关信息。
RTCP
实 时传输控制协议(Real-time Transport Control Protocol或RTP Control Protocol或简写RTCP)是实时传输协议(RTP)的一个姐妹协议。RTCP为RTP媒体流提供信道外(out-of-band)控制。RTCP 本身并不传输数据,但和RTP一起协作将多媒体数据打包和发送。RTCP定期在流多媒体会话参加者之间传输控制数据。RTCP的主要功能是为RTP所提供 的服务质量(Quality of Service)提供反馈。
RTCP收集相关媒体连接的统计信息,例如:传输字节数,传输分组数, 丢失分组数,jitter,单向和双向网络延迟等等。网络应用程序可以利用RTCP所提供的信息试图提高服务质量,比如限制信息流量或改用压缩比较小的编 解码器。RTCP本身不提供数据加密或身份认证。SRTCP可以用于此类用途。
SRTP & SRTCP
安 全实时传输协议(Secure Real-time Transport Protocol或SRTP)是在实时传输协议(Real-time Transport Protocol或RTP)基础上所定义的一个协议,旨在为单播和多播应用程序中的实时传输协议的数据提供加密、消息认证、完整性保证和重放保护。它是由 David Oran(思科)和Rolf Blom(爱立信)开发的,并最早由IETF于2004年3月作为RFC 3711发布。
由 于实时传输协议和可以被用来控制实时传输协议的会话的实时传输控制协议(RTP Control Protocol或RTCP)有着紧密的联系,安全实时传输协议同样也有一个伴生协议,它被称为安全实时传输控制协议(Secure RTCP或SRTCP);安全实时传输控制协议为实时传输控制协议提供类似的与安全有关的特性,就像安全实时传输协议为实时传输协议提供的那些一样。
在 使用实时传输协议或实时传输控制协议时,使不使用安全实时传输协议或安全实时传输控制协议是可选的;但即使使用了安全实时传输协议或安全实时传输控制协 议,所有它们提供的特性(如加密和认证)也都是可选的,这些特性可以被独立地使用或禁用。唯一的例外是在使用安全实时传输控制协议时,必须要用到其消息认 证特性。
RTSP
RTSP(Real Time Streaming Protocol)是用来控制声音或影像的多媒体串流协议,并允许同时多个串流需求控制,传输时所用的网络通讯协定并不在其定义的范围内,服务器端可以自 行选择使用TCP或UDP来传送串流内容,它的语法和运作跟HTTP 1.1类似,但并不特别强调时间同步,所以比较能容忍网络延迟。而前面提到的允许同时多个串流需求控制(Multicast),除了可以降低服务器端的网 络用量,更进而支持多方视讯会议(Video Conference)。 因为与HTTP1.1的运作方式相似,所以代理服务器《Proxy》的快取功能《Cache》也同样适用于RTSP,并因RTSP具有重新导向功能,可视 实际负载情况来转换提供服务的服务器,以避免过大的负载集中于同一服务器而造成延迟。
RTSP 和RTP的关系
SIP
SIP 会话使用多达四个主要组件:SIP 用户代理、SIP 注册服务器、SIP 代理服务器和 SIP 重定向服务器。这些系统通过传输包括了 SDP 协议(用于定义消息的内容和特点)的消息来完成 SIP 会话。下面概括性地介绍各个 SIP 组件及其在此过程中的作用。
- SIP 用户代理 (UA) 是终端用户设备,如用于创建和管理 SIP 会话的移动电话、多媒体手持设备、PC、PDA 等。用户代理客户机发出消息。用户代理服务器对消息进行响应。
- SIP 注册服务器是包含域中所有用户代理的位置的数据库。在 SIP 通信中,这些服务器会检索参与方的 IP 地址和其他相关信息,并将其发送到 SIP 代理服务器。
- SIP 代理服务器接受 SIP UA 的会话请求并查询 SIP 注册服务器,获取收件方 UA 的地址信息。然后,它将会话邀请信息直接转发给收件方 UA(如果它位于同一域中)或代理服务器(如果 UA 位于另一域中)。
- SIP 重定向服务器允许 SIP 代理服务器将 SIP 会话邀请信息定向到外部域。SIP 重定向服务器可以与 SIP 注册服务器和 SIP 代理服务器同在一个硬件上。
下面是一个典型的SIP会话:
以下几个情景说明 SIP 组件之间如何进行协调以在同一域和不同域中的 UA 之间建立 SIP 会话:
在同一域中建立 SIP 会话
下 图说明了在预订同一个 ISP 从而使用同一域的两个用户之间建立 SIP 会话的过程。用户 A 使用 SIP 电话。用户 B 有一台 PC,运行支持语音和视频的软客户程序。加电后,两个用户都在 ISP 网络中的 SIP 代理服务器上注册了他们的空闲情况和 IP 地址。用户 A 发起此呼叫,告诉 SIP 代理服务器要联系用户 B。然后,SIP 代理服务器向 SIP 注册服务器发出请求,要求提供用户 B 的 IP 地址,并收到用户 B 的 IP 地址。SIP 代理服务器转发用户 A 与用户 B 进行通信的邀请信息(使用 SDP),包括用户 A 要使用的媒体。用户 B 通知 SIP 代理服务器可以接受用户 A 的邀请,且已做好接收消息的准备。SIP 代理服务器将此消息传达给用户 A,从而建立 SIP 会话。然后,用户创建一个点到点 RTP 连接,实现用户间的交互通信。
在不同的域中建立 SIP 会话
本 情景与第一种情景的不同之处如下。用户 A 邀请正在使用多媒体手持设备的用户 B 进行 SIP 会话时,域 A 中的 SIP 代理服务器辨别出用户 B 不在同一域中。然后,SIP 代理服务器在 SIP 重定向服务器上查询用户 B 的 IP 地址。SIP 重定向服务器既可在域 A 中,也可在域 B 中,也可既在域 A 中又在域 B 中。SIP 重定向服务器将用户 B 的联系信息反馈给 SIP 代理服务器,该服务器再将 SIP 会话邀请信息转发给域 B 中的 SIP 代理服务器。域 B 中的 SIP 代理服务器将用户 A 的邀请信息发送给用户 B。用户 B 再沿邀请信息经由的同一路径转发接受邀请的信息。
SDP
SDP is intended for describing multimedia communication sessions for the purposes of session announcement, session invitation, and parameter negotiation. SDP does not deliver media itself but is used for negotiation between end points of media type, format, and all associated properties. The set of properties and parameters are often called a session profile. SDP is designed to be extensible to support new media types and formats.
The Session Description Protocol (SDP) is a format for describing streaming media initialization parameters in an ASCII string.
SDP started off as a component of the Session Announcement Protocol (SAP), but found other uses in conjunction with Real-time Transport Protocol (RTP), Real-time Streaming Protocol (RTSP), Session Initiation Protocol (SIP) and even as a standalone format for describing multicast sessions.
Summary
就 如同它们的名字所表示的那样,SIP用于初始化一个Session,并负责传输SDP包;而SDP包中描述了一个Session中包含哪些媒体数据,邀请 的人等等;当需要被邀请的人都通过各自的终端设备被通知到后,就可以使用RTSP来控制特定Media的通信,比如RTSP控制信息要求开始Video的 播放,那么就开始使用RTP(或者TCP)实时传输数据,在传输过程中,RTCP要负责QoS等。