RTP定義
實時傳輸協定(RTP)為數據提供了具有實時特徵的端對端傳送服務,如在組播或單播網路服務下的互動式視頻音頻或模擬數據。應用程式通常在UDP上運行 RTP 以便使用其多路結點和校驗服務;這兩種協定都提供了傳輸層協定的功能。但是 RTP 可以與其它適合的底層網路或傳輸協定一起使用。如果底層網路提供組播方式,那么 RTP 可以使用該組播表傳輸數據到多個目的地。
RTP 本身並沒有提供按時傳送機制或其它服務質量(QoS)保證,它依賴於低層服務去實現這一過程。 RTP 並不保證傳送或防止無序傳送,也不確定底層網路的可靠性。 RTP 實行有序傳送, RTP 中的序列號允許接收方重組傳送方的包序列,同時序列號也能用於決定適當的包位置,例如:在視頻解碼中,就不需要順序解碼。
RTP組成
RTP 由兩個緊密連結部分組成:
- RTP ― 傳送具有實時屬性的數據;
- RTP 控制協定(RTCP) ― 監控服務質量並傳送正在進行的會話參與者的相關信息。RTCP 第二方面的功能對於“鬆散受控”會話是足夠的,也就是說,在沒有明確的成員控制和組織的情況下,它並不非得用來支持一個應用程式的所有控制通信請求。
RTP協定結構
1 | 2 | 3 | 8 | 9 | 16bit |
V | P | X | CSRC Count | M | Payload Type |
Sequence number | Timestamp | ||||
SSRC | CSRC (variable 0 – 15 items 32bits each) |
|