RTPとは、データストリーミングで使うアプリケーション層(7層)のプロトコルで、トランスポート層(4層)では、TCPではなくUDPを使う。
単なるUDPだとシーケンス(順序)の管理はできないが、RTPでは順序の情報を入れているので、受け取り側で並べ替えることが可能。
UDPとRTPのパケット構造の違いに注意。
RTPは、UDPの欠点(順序がない)を補うためのプロトコル。
文字通り、IP電話などのリアルタイム通信に使われる。
12バイトのRTPデータには、
UDPの欠点を改良したプロトコルとして、RUDP(Reliable User Datagram Protocol )もある。
Reliable User Datagram Protocol(RUDP)は、Plan 9のためにベル研究所で設計されたトランスポート層のプロトコルである。
RUDPは、UDPに以下のような機能をTCPより少ないオーバーヘッドで拡張したものである。
1. 受信パケットの確認応答
2. ウィンドーイングとフロー制御
3. 欠損パケットの再送
4. リアルタイムストリーミングより速いオーバーバッファリング
トランスポート層における、第4の選択肢。ゲームなどで非常に多く使われる。
信頼性の高いUDPを目指したReliable UDPの後継。
QUICはGoogleが作ったReliable UDPのような、信頼性のあるUDP。
Real-time Transport Protocol(リアルタイム トランスポート プロトコル、RTP)は、音声や動画などのデータストリームをリアルタイムに配送するためのデータ通信プロトコルである。
RTSPやH.323の通信プロトコルのデータ部分に使用される。
ほぼ全てのVoIP関連製品は、RTPを利用して、音声情報をIPネットワーク上へ送出している。
これは、リアルタイムストリームを運ぶためのプロトコルとしてIETFおよびITUによって標準化されている。RTPは、UDP (User Datagram Protocol) の通信プロトコルである。
TCP (Transmission Control Protocol) と違って、UDPのヘッダーには「シーケンス(順序)番号」の項目が存在しないため順序の組み立てができない。
しかし、RTPパケットを受信したホストは、RTPパケット内のヘッダーにある情報のうち、時刻情報(タイムスタンプ)から各パケットの時間的な順序関係を把握し、データを再生することができる。
(2)RTPのパケット構造
UDPと比較しています。RTPの音声データ(ペイロード)サイズは、G.729であえば、20バイトなどになります。