rtp報文格式
rtp報文由兩部分組成:報頭和有效載荷。
rtp報頭格式如圖
6.7所示,其中: l
v:rtp協議的版本號,佔
2位,當前協議版本號為2。
lp:填充標誌,佔
1位,如果
p=1,則在該報文的尾部填充乙個或多個額外的八位組,它們不是有效載荷的一部分。 l
x:擴充套件標誌,佔
1位,如果
x=1,則在
rtp報頭後跟有乙個擴充套件報頭。 l
cc:csrc
計數器,佔
4位,指示
csrc
識別符號的個數。 l
m: 標記,佔1
l同步信源
(ssrc)
識別符號:佔
32ssrc。
l特約信源
(csrc)
識別符號:每個
csrc
識別符號佔
32位,可以有0~
15個。每個
csrc
標識了包含在該
rtp報文有效載荷中的所有特約信源。 l
pt:
有效載荷型別,佔
7位,用於說明
rtp報文中有效載荷的型別,如
gsm音訊、
jpem
影象等。 l
序列號:佔
16位,用於標識傳送者所傳送的
rtp報文的序列號,每傳送乙個報文,序列號增
1。接收者通過序列號來檢測報文丟失情況,重新排序報文,恢復資料。 l
時戳(timestamp)
:佔32
位,時戳反映了該
rtp報文的第乙個八位組的取樣時刻。接收者使用時戳來計算延遲和延遲抖動,並進行同步控制。 v
pxccm
pt序列號
時戳同步信源(ssrc)識別符號
特約信源(csrc)識別符號
···圖6.7rtp報頭格式
這裡的同步信源是指產生**流的信源,它通過
rtp報頭中的乙個
32位數字
ssrc
識別符號來標識,而不依賴於網路位址,接收者將根據
ssrc
識別符號來區分不同的信源,進行
rtp報文的分組。特約信源是指當混合器接收到乙個或多個同步信源的
rtp報文後,經過混合處理產生乙個新的組合
rtp報文,並把混合器作為組合
rtp報文的
ssrc
,而將原來所有的
ssrc
都作為csrc
傳送給接收者,使接收者知道組成組合報文的各個
ssrc。
在傳送端,上層應用程式以分組形式將編碼後的**資料傳給
rtp通訊模組,作為
rtp報文的有效載荷,
rtp通訊模組將根據上層應用提供的引數在有效載荷前新增
rtp報頭,形成
rtp報文,通過
socket
介面選擇
udp協議傳送出去。
在接收端,
rtp通訊模組通過
socket
介面接收到
rtp報文後,將
rtp報頭分離出來作相應處理,再將
rtp報文的有效載荷作為資料分組傳遞給上層應用。
考慮到在
internet
rtp定義了兩種中間系統:混合器
(mixer)
和轉換器
(translator)。
在internet
rtp允許在低頻寬區域附近使用混合器作為
rtp級中繼器。混合器從乙個或多個信源接收
rtp報文,對到達的資料報文進行重新同步和重新組合,這些重組的資料流被混合成乙個資料流,將資料編碼轉化為在低頻寬上可用的型別,並通過低速鏈路向低頻寬區域**。為了對多個輸入信源進行統一的同步,混合器在多個**流之間進行定時調整,產生它自己的定時同步,因此所有從混合器輸出的報文都把混合器作為同步信源。為了保證接收者能夠正確識別混合器處理前的原始報文傳送者,混合器在
rtp報頭中設定了
csrc
識別符號佇列,以標識那些產生混和報文的原始同步信源。 在
internet
環境中,一些會議的參加者可能被隔離在應用級防火牆的外面,這些參加者被禁止直接使用
ip組播位址進行訪問,雖然他們可能是通過高速鏈路連線的。在這些情況下,
rtp允許使用轉換器作為
rtp級中繼器。在防火牆兩端分別安裝乙個轉換器,防火牆之外的轉換器過濾所有接收到的組播報文,並通過一條安全的連線傳送給防火牆之內的轉換器,內部轉換器將這些組播報文再**送給內部網路中的組播組成員。
基於rtp的頻寬控制方法
基於
rtp的頻寬控制演算法正是利用這種控制策略來實施強制性同步控制的,其基本思想是在
rtp協議機制支援下,傳送端通過接收端週期反饋的接收報告來評價當前網路傳輸的
qos,並以此對資料傳送速率進行適當調整。端點之間利用
rtp報文和
rtcp
報文來實現頻寬控制: ①
? ② ?
③ 傳送者可利用接收者反饋的rtcp報文來製實施端到端的強制性同步控制,以改善當前網路傳輸的qos。
1. 接收端的控制策略
接收端通過rtp協議實施如下的控制策略: ①
?ssrc欄位用於標識不同的信源,以支援多對一或多對多的多**通訊。
④ 將接收端檢測到的當前網路qos狀況通過rtcp的接收報告週期地反饋給傳送端。
2. 傳送端的控制策略
傳送端將採用
如下的控制演算法來調整傳送頻寬。
① 設bs為傳送端當前的頻寬,bmin和bmax分別為應用所設定的最小頻寬和最大頻寬,且bs
î[bmin,bmax]。
② 在每個傳送頻寬級上保持乙個時間片,超時後將根據網路qos狀況提高或降低乙個頻寬級,以避免頻寬頻繁波動。這裡使用報文丟失率作為qos指示器,並設定乙個閾值。如果qos指示器超閾,說明網路發生阻塞,通過改變傳送速率來調整傳送頻寬,疏導網路交通。
③ 初始時按最大頻寬傳送報文分組,即bs
¬bmax,以提高網路通道的利用率。
④ 如果在規定的時間片內qos指示器超閾,說明網路發生阻塞,則在超時後需要降低乙個頻寬級,即bs
¬max ,其中μ為比例因子。
⑤ 如果在規定的時間片內qos指示器未超閾,說明網路交通狀況良好,則在超時後應當提高乙個頻寬級,即bs
¬min 。
⑥ 在點到多點通訊場合中,傳送者將面對多個不同網段上的接收者,而每個網段的交通狀況又不盡相同。因此,在改變頻寬時可採用多數表決法,即當報文丟失率超閾的接收者超過一定比例時再改變頻寬。
RTP協議的報文頭格式結構
rtp頭格式如圖2所示 開始12個八進位制出現在每個rtp包中,而csrc標識列表僅出現在混合器插入時。各段含義如下 版本 v 2位,標識rtp版本。填充標識 p 1位,如設定填充位,在包尾將包含附加填充字,它不屬於有效載荷。填充的最後乙個八進位制包含應該忽略的八進位制計數。某些加密演算法需要固定大...
RTP協議分析
整理記錄 版本時間 內容整理人 v1.0 2008 03 31 rtp協議分析初稿 彭令鵬rtp協議分析 第1章.rtp概述 1.1.rtp是什麼 rtp全名是real time transport protocol 實時傳輸協議 它是ietf提出的乙個標準,對應的rfc文件為rfc3550 rfc...
RTP協議學習
實時傳送協議 real time transport protocol或簡寫rtp 是乙個網路傳輸協議,它是由ietf的多 傳輸工作小組1996年在rfc 1889中公布的。編輯 封包結構 table 位元 0 1 2 3 4 7 8 9 15 16 31 0 ver.p x cc m pt 序號 ...