RTP (Real-time Transport Protocol)

Related Post

> ストリーミング専用プロトコル > RTP (Real-time Transport Protocol)

Real-time Transport Protocol(リアルタイム トランスポート プロトコル、RTP)は、音声や動画などのデータストリームをリアルタイムに配送するためのデータ通信プロトコルである。

【概要】

RTSPやH.323の通信プロトコルのデータ部分に使用される。 ほぼ全てのVoIP関連製品は、RTPを利用して、音声情報をIPネットワーク上へ送出している。 これは、リアルタイムストリームを運ぶためのプロトコルとしてIETF、ITUで標準化されている。
RTPは、UDPの通信プロトコル(TCPと違ってUDPのヘッダには「シーケンス(順序)番号」の項目が存在しないため順序の組み立てができない)であるが、 RTPパケットを受信したホストは、RTPパケットのRTP用のヘッダーにある情報から各パケットの時間の情報から時間的な関係を把握し、データを再生することができる。 RTPパケットも他のパケットと同様に、ネットワークを経由して転送されていく中で、喪失や、配送の遅れが起こる。 しかし、映像や音声のデータは、データの一部が欠けていても再生が可能であるため、データの受信側では、喪失や、配送の遅れたパケットは無視し、受信側が期待する時間に到着したパケットだけを利用してデータの再生を行うことができる。
インターネット・プロトコル・スイートの中でRTPを利用する場合は、RTPはUDPをトランスポート層のプロトコルとして利用するが、トランスポート層のプロトコルにUDP以外の通信プロトコルを用いることができるようにも設計されている。

【パケットヘッダー】

RTP packet header
Bit offset 0-1 2 3 4-7 8 9-15 16-31
0 バージョン P X CC M PT 順序番号
32 タイムスタンプ
64 SSRC識別子
96 CSRC識別子

96+32×CC プロファイル固有の拡張ヘッダID 拡張ヘッダ長
128+32×CC 拡張ヘッダ

RTPヘッダは、12バイトが最小サイズである。 ヘッダの後ろのオプションの拡張ヘッダは存在してもよい。[1]