1.流**( streaming media)
1.1流**概念
1.2支援流**的協議
圖1 流**協議棧
2.實時傳輸協議rtp(real-time transport protocol):
rtp是針對internet上多**資料流的乙個傳輸協議, 由ietf(internet工程任務組)作為rfc1889發布。rtp被定義為在一對一或一對多的傳輸情況下工作,其目的是提供時間資訊和實現流同步。rtp的典型應用建立在udp上,但也可以在tcp或atm等其他協議之上工作。rtp本身只保證實時資料的傳輸,並不能為按順序傳送資料報提供可靠的傳送機制,也不提供流量控制或擁塞控制,它依靠rtcp提供這些服務。
2.1 rtp
工作機制
rtp協議和udp二者共同完成運輸層協議功能。udp協議只是傳輸資料報,不管資料報傳輸的時間順序。 rtp的協議資料單元是用udp分組來承載的。在承載rtp資料報的時候,有時候一幀資料被分割成幾個包具有相同的時間標籤,則可以知道時間標籤並不是必須的。而udp的多路復用讓rtp協議利用支援顯式的多點投遞,可以滿足多**會話的需求。
rtp協議雖然是傳輸層協議但是它沒有作為osi體系結構中單獨的一層來實現。rtp協議通常根據乙個具體的應用來提供服務,rtp只提供協議框架,開發者可以根據應用的具體要求對協議進行充分的擴充套件。
2.2 rtp報文結構
rtp頭格式如圖2所示:
開始12個八進位制出現在每個rtp包中,而csrc標識列表僅出現在混合器插入時。各段含義如下:
①版本(v) 2
位,標識rtp版本。
②填充標識(p) 1
位,如設定填充位,在包尾將包含附加填充字,它不屬於有效載荷。填充的最後乙個八進位制包含應該忽略的八進位制計數。某些加密演算法需要固定大小的填充字,或為在底層協議資料單元中攜帶幾個rtp包。
③擴充套件(x) 1
位,如設定擴充套件位,固定頭後跟乙個頭擴充套件。
④csrc計數(cc) 4
位,csrc計數包括緊接在固定頭後csrc識別符號個數。
⑤標記(m) 1
位,標記解釋由設定定義,目的在於允許重要事件在包流中標記出來。設定可定義其他標示位,或通過改變位數量來指定沒有標記位。
⑥載荷型別(pt) 7
位,記錄後面資料使用哪種
codec
, receiver 端找出相應的 decoder 解碼出來。
常用 types:
payload type
codec
0
pcm μ -law
8
pcm-a law
9
g..722 audio codec
4
g..723 audio codec
15
g..728 audio codec
18
g..729 audio codec
34
g..763 audio codec
31
g..761 audio codec
⑦系列號
16位,系列號隨每個rtp資料報而增加1,由接收者用來探測包損失。系列號初值是隨機的,使對加密的文字攻擊更加困難。
⑧時標
32位,ssrc段標識同步源。此標識不是隨機選擇的,目的在於使同一rtp包連線中沒有兩個同步源有相同的ssrc標識。儘管多個源選擇同乙個標識的概率很低,所有rtp實現都必須探測並解決衝突。如源改變源傳輸位址,也必須選擇乙個新ssrc標識以避免插入成環行源。
⑩csrc列表 0
到15項,每項32位。csrc列表表示包內的對載荷起作用的源。標識數量由cc段給出。如超出15個作用源,也僅標識15個。csrc標識由混合器插入,採用作用源的ssrc標識。
3.實時傳輸控制協議rtcp(real-time transport control protocol)
rtcp
負責管理傳輸質量在當前應用程序之間交換控制資訊。在rtp會話期間,各參與者周期性地傳送rtcp包,包中含有已傳送的資料報的數量、丟失的資料報的數量等統計資料。因此,伺服器可以利用這些資訊動態地改變傳輸速率,甚至改變有效載荷型別。rtp和rtcp配合使用,能以有效的反饋和最小的開銷使傳輸效率最佳化,故特別適合傳送網上的實時資料。
3.1 rtcp
工作機制
當應用程式開始乙個rtp會話時將使用兩個埠:乙個給rtp,乙個給rtcp。rtp本身並不能為按順序傳送資料報提供可靠的傳送機制,也不提供流量控制或擁塞控制,它依靠rtcp提供這些服務。在rtp的會話之間週期的發放一些rtcp包以用來傳監聽服務質量和交換會話使用者資訊等功能。rtcp包中含有已傳送的資料報的數量、丟失的資料報的數量等統計資料。因此,伺服器可以利用這些資訊動態地改變傳輸速率,甚至改變有效載荷型別。rtp和rtcp配合使用,它們能以有效的反饋和最小的開銷使傳輸效率最佳化,因而特別適合傳送網上的實時資料。根據使用者間的資料傳輸反饋資訊,可以制定流量控制的策略,而會話使用者資訊的互動,可以制定會話控制的策略。
3.2 rtcp
資料報
在rtcp通訊控制中,rtcp協議的功能是通過不同的rtcp資料報來實現的,主要有如下幾種型別:
①sr:傳送端報告,所謂傳送端是指發出rtp資料報的應用程式或者終端,傳送端同時也可以是接收端。
②rr:接收端報告,所謂接收端是指僅接收但不傳送rtp資料報的應用程式或者終端。
③sdes:源描述,主要功能是作為會話成員有關標識資訊的載體,如使用者名稱、郵件位址、**號碼等,此外還具有向會話成員傳達會話控制資訊的功能。
④bye:通知離開,主要功能是指示某乙個或者幾個源不再有效,即通知會話中的其他成員自己將退出會話。
4.資源預訂協議rsvp (resorce reservation protocol)
RTP與RTCP協議介紹
1流 streaming media 1.2支援流 的協議 圖1 流 協議棧 2 實時傳輸協議rtp real time transport protocol rtp是針對internet上多 資料流的乙個傳輸協議,由ietf internet工程任務組 作為rfc1889發布。rtp被定義為在一對...
rtp協議詳解 rtcp協議詳解
2 rtp rtcp協議簡介 rtp 由 ietf 定義在 rfc 3550和3551中。rtp通常與輔助控制協議rtcp一起工作,rtp只負責實時資料的傳輸,rtcp負責對rtp的通訊和會話進行帶外管理 如流量控制 擁塞控制 會話源管理等 3 rtp rtcp協議層次和封裝 rtp分組只包含rtp...
rtp協議詳解 rtcp協議詳解
1 簡介 2 rtp rtcp協議簡介 rtp 由 ietf 定義在 rfc 3550和3551中。rtp通常與輔助控制協議rtcp一起工作,rtp只負責實時資料的傳輸,rtcp負責對rtp的通訊和會話進行帶外管理 如流量控制 擁塞控制 會話源管理等 3 rtp rtcp協議層次和封裝 rtp分組只...