RTP/RTCP/RTSP/SIP/SDP 关系
RTP/RTCP/RTSP/SIP/SDP 關(guān)系
1. RTP
Real-time Transport Protocol,是用于Internet上針對(duì)多媒體數(shù)據(jù)流的一種傳輸層協(xié)議。RTP協(xié)議詳細(xì)說明了在互聯(lián)網(wǎng)上傳遞音頻和視頻的標(biāo)準(zhǔn)數(shù)據(jù)包格式。RTP協(xié)議常用于流媒體系統(tǒng)(配合RTCP協(xié)議),視頻會(huì)議和一鍵通(Push to Talk)系統(tǒng)(配合H.323或SIP),使它成為IP電話產(chǎn)業(yè)的技術(shù)基礎(chǔ)。RTP協(xié)議和RTP控制協(xié)議RTCP一起使用,而且它是建立在UDP協(xié)議上的。RTP 本身并沒有提供按時(shí)發(fā)送機(jī)制或其它服務(wù)質(zhì)量(QoS)保證,它依賴于網(wǎng)絡(luò)應(yīng)用程序去實(shí)現(xiàn)這一過程。RTP 并不保證傳送或防止無序傳送,也不確定底層網(wǎng)絡(luò)的可靠性。 RTP 實(shí)行有序傳送, RTP 中的序列號(hào)允許接收方重組發(fā)送方的包序列,同時(shí)序列號(hào)也能用于決定適當(dāng)?shù)陌恢?#xff0c;例如:在視頻解碼中,就不需要順序解碼。
2. RTCP
實(shí)時(shí)傳輸控制協(xié)議(Real-time Transport Control Protocol或RTP Control Protocol或簡(jiǎn)寫RTCP)是實(shí)時(shí)傳輸協(xié)議(RTP)的一個(gè)姐妹協(xié)議。RTCP為RTP媒體流提供信道外(out-of-band)控制。RTCP本身并不傳輸數(shù)據(jù),但和RTP一起協(xié)作將多媒體數(shù)據(jù)打包和發(fā)送。RTCP定期在流多媒體會(huì)話參加者之間傳輸控制數(shù)據(jù)。RTCP的主要功能是為RTP所提供的服務(wù)質(zhì)量(Quality of Service)提供反饋。
RTCP收集相關(guān)媒體連接的統(tǒng)計(jì)信息,例如:傳輸字節(jié)數(shù),傳輸分組數(shù),丟失分組數(shù),jitter,單向和雙向網(wǎng)絡(luò)延遲等等。網(wǎng)絡(luò)應(yīng)用程序可以利用RTCP所提供的信息試圖提高服務(wù)質(zhì)量,比如限制信息流量或改用壓縮比較小的編解碼器。RTCP本身不提供數(shù)據(jù)加密或身份認(rèn)證。SRTCP可以用于此類用途。
3. SRTP & SRTCP
安全實(shí)時(shí)傳輸協(xié)議(Secure Real-time Transport Protocol或SRTP)是在實(shí)時(shí)傳輸協(xié)議(Real-time Transport Protocol或RTP)基礎(chǔ)上所定義的一個(gè)協(xié)議,旨在為單播和多播應(yīng)用程序中的實(shí)時(shí)傳輸協(xié)議的數(shù)據(jù)提供加密、消息認(rèn)證、完整性保證和重放保護(hù)。它是由David Oran(思科)和Rolf Blom(愛立信)開發(fā)的,并最早由IETF于2004年3月作為RFC 3711發(fā)布。
由于實(shí)時(shí)傳輸協(xié)議和可以被用來控制實(shí)時(shí)傳輸協(xié)議的實(shí)時(shí)傳輸控制協(xié)議(RTP Control Protocol或RTCP)有著緊密的聯(lián)系,安全實(shí)時(shí)傳輸協(xié)議同樣也有一個(gè)伴生協(xié)議,它被稱為安全實(shí)時(shí)傳輸控制協(xié)議(Secure RTCP或SRTCP)。安全實(shí)時(shí)傳輸控制協(xié)議為實(shí)時(shí)傳輸控制協(xié)議提供類似的與安全有關(guān)的特性,就像安全實(shí)時(shí)傳輸協(xié)議為實(shí)時(shí)傳輸協(xié)議提供的那些一樣。
在使用實(shí)時(shí)傳輸協(xié)議或?qū)崟r(shí)傳輸控制協(xié)議時(shí),使不使用安全實(shí)時(shí)傳輸協(xié)議或安全實(shí)時(shí)傳輸控制協(xié)議是可選的;但即使使用了安全實(shí)時(shí)傳輸協(xié)議或安全實(shí)時(shí)傳輸控制協(xié)議,所有它們提供的特性(如加密和認(rèn)證)也都是可選的,這些特性可以被獨(dú)立地使用或禁用。唯一的例外是在使用安全實(shí)時(shí)傳輸控制協(xié)議時(shí),必須要用到其消息認(rèn)證特性。
4. RTSP
RTSP(Real Time Streaming Protocol)是用來控制聲音或影像的多媒體串流協(xié)議,并允許同時(shí)多個(gè)串流需求控制。傳輸時(shí)所用的網(wǎng)絡(luò)通訊協(xié)定并不在其定義的范圍內(nèi),服務(wù)器端可以自行選擇使用TCP或UDP來傳送串流內(nèi)容。它的語法和運(yùn)作跟HTTP 1.1類似,但并不特別強(qiáng)調(diào)時(shí)間同步,所以比較能容忍網(wǎng)絡(luò)延遲。
5. RTSP 和RTP的關(guān)系
6. SIP
SIP會(huì)話使用多達(dá)四個(gè)主要組件:SIP用戶代理、SIP注冊(cè)服務(wù)器、SIP代理服務(wù)器和SIP重定向服務(wù)器。這些系統(tǒng)通過傳輸包括了SDP 協(xié)議(用于定義消息的內(nèi)容和特點(diǎn))的消息來完成SIP會(huì)話。下面概括性地介紹各個(gè) SIP 組件及其在此過程中的作用。
(1)SIP 用戶代理 (UA) 是終端用戶設(shè)備,如用于創(chuàng)建和管理 SIP 會(huì)話的移動(dòng)電話、多媒體手持設(shè)備、PC、PDA 等。用戶代理客戶機(jī)發(fā)出消息。用戶代理服務(wù)器對(duì)消息進(jìn)行響應(yīng)。
(2)SIP 注冊(cè)服務(wù)器是包含域中所有用戶代理的位置的數(shù)據(jù)庫。在 SIP 通信中,這些服務(wù)器會(huì)檢索參與方的 IP 地址和其他相關(guān)信息,并將其發(fā)送到 SIP 代理服務(wù)器。
(3)SIP 代理服務(wù)器接受 SIP UA 的會(huì)話請(qǐng)求并查詢 SIP 注冊(cè)服務(wù)器,獲取收件方 UA 的地址信息。然后,它將會(huì)話邀請(qǐng)信息直接轉(zhuǎn)發(fā)給收件方 UA(如果它位于同一域中)或代理服務(wù)器(如果 UA 位于另一域中)。
(4)SIP 重定向服務(wù)器允許 SIP 代理服務(wù)器將 SIP 會(huì)話邀請(qǐng)信息定向到外部域。SIP 重定向服務(wù)器可以與 SIP 注冊(cè)服務(wù)器和 SIP 代理服務(wù)器同在一個(gè)硬件上。下面是一個(gè)典型的SIP會(huì)話:
以下幾個(gè)情景說明 SIP 組件之間如何進(jìn)行協(xié)調(diào)以在同一域和不同域中的 UA 之間建立 SIP 會(huì)話。
(1)在同一域中建立 SIP 會(huì)話
下圖說明了在預(yù)訂同一個(gè) ISP 從而使用同一域的兩個(gè)用戶之間建立 SIP 會(huì)話的過程。用戶 A 使用 SIP 電話。用戶 B 有一臺(tái) PC,運(yùn)行支持語音和視頻的軟客戶程序。加電后,兩個(gè)用戶都在 ISP 網(wǎng)絡(luò)中的 SIP 代理服務(wù)器上注冊(cè)了他們的空閑情況和 IP 地址。用戶 A 發(fā)起此呼叫,告訴 SIP 代理服務(wù)器要聯(lián)系用戶 B。然后,SIP 代理服務(wù)器向 SIP 注冊(cè)服務(wù)器發(fā)出請(qǐng)求,要求提供用戶 B 的 IP 地址,并收到用戶 B 的 IP 地址。SIP 代理服務(wù)器轉(zhuǎn)發(fā)用戶 A 與用戶 B 進(jìn)行通信的邀請(qǐng)信息(使用 SDP),包括用戶 A 要使用的媒體。用戶 B 通知 SIP 代理服務(wù)器可以接受用戶 A 的邀請(qǐng),且已做好接收消息的準(zhǔn)備。SIP 代理服務(wù)器將此消息傳達(dá)給用戶 A,從而建立 SIP 會(huì)話。然后,用戶創(chuàng)建一個(gè)點(diǎn)到點(diǎn) RTP 連接,實(shí)現(xiàn)用戶間的交互通信。
(2)在不同的域中建立 SIP 會(huì)話
本情景與第一種情景的不同之處如下。用戶 A 邀請(qǐng)正在使用多媒體手持設(shè)備的用戶 B 進(jìn)行 SIP 會(huì)話時(shí),域 A 中的 SIP 代理服務(wù)器辨別出用戶 B 不在同一域中。然后,SIP 代理服務(wù)器在 SIP 重定向服務(wù)器上查詢用戶 B 的 IP 地址。SIP 重定向服務(wù)器既可在域 A 中,也可在域 B 中,也可既在域 A 中又在域 B 中。SIP 重定向服務(wù)器將用戶 B 的聯(lián)系信息反饋給 SIP 代理服務(wù)器,該服務(wù)器再將 SIP 會(huì)話邀請(qǐng)信息轉(zhuǎn)發(fā)給域 B 中的 SIP 代理服務(wù)器。域 B 中的 SIP 代理服務(wù)器將用戶 A 的邀請(qǐng)信息發(fā)送給用戶 B。用戶 B 再沿邀請(qǐng)信息經(jīng)由的同一路徑轉(zhuǎn)發(fā)接受邀請(qǐng)的信息。
7. SDP
SDP用于描述多媒體通信會(huì)話,包括會(huì)話建立、會(huì)話請(qǐng)求和參數(shù)協(xié)商。SDP不用于傳輸媒體數(shù)據(jù),只能用于兩個(gè)通信終端的參數(shù)協(xié)商,包括媒體類型、格式以及所有其他和會(huì)話相關(guān)的屬性。SDP以字符串的形式描述上述初始化參數(shù)。
就如同它們的名字所表示的那樣,SIP用于初始化一個(gè)Session,并負(fù)責(zé)傳輸SDP包;而SDP包中描述了一個(gè)Session中包含哪些媒體數(shù)據(jù),邀請(qǐng)的人等等;當(dāng)需要被邀請(qǐng)的人都通過各自的終端設(shè)備被通知到后,就可以使用RTSP來控制特定Media的通信,比如RTSP控制信息要求開始Video的播放,那么就開始使用RTP(或者TCP)實(shí)時(shí)傳輸數(shù)據(jù),在傳輸過程中,RTCP要負(fù)責(zé)QoS等。
總結(jié)
以上是生活随笔為你收集整理的RTP/RTCP/RTSP/SIP/SDP 关系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [html] 写一个类似刮刮卡效果的交互
- 下一篇: ToStringBuilder用法