RTP與RTCP協議介紹

2021-09-23 00:05:04 字數 3587 閱讀 7042

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分組只...