Real-time Transport Protocol(リアルタイム トランスポート プロトコル、RTP)は、音声や動画などのデータストリームをリアルタイムに配送するためのデータ通信プロトコルである。
概要
RTSPやH.323の通信プロトコルのデータ部分に使用される。 ほぼ全てのVoIP関連製品は、RTPを利用して、音声情報をIPネットワーク上へ送出している。 これは、リアルタイムストリームを運ぶためのプロトコルとしてIETFおよびITUによって標準化されている。
RTPは典型的にはUDP上で利用される。TCPと違ってUDPのヘッダーには「シーケンス(順序)番号」の項目が存在しないため順序の組み立てができない。しかし、RTPパケットを受信したホストは、RTPパケット内のヘッダーにある情報のうち、時刻情報(タイムスタンプ)から各パケットの時間的な順序関係を把握し、データを再生することができる。(詳細は #順序制御)。
RTPパケットも他のパケットと同様に、ネットワークを経由して転送されていく中で、喪失や、配送の遅れが起こる。しかし、映像や音声のデータ(ストリーミングメディアデータ)は、データの一部が多少欠けていても再生が可能であるため、データの受信側では、喪失や、配送の遅れたパケットは無視し、受信側が期待する時間に到着したパケットだけを利用してデータを再生することができる。
RTPは単独で利用されることはなく、RTCP (RTP Control Protocol) のような制御プロトコルと組み合わせて利用される。RTPとRTCPはともにRFC 3550にて標準化されている。
機能
RTPは以下の機能を提供する。
ストリーム送信
パケット通信プロトコルは独立したパケットを送信するため、パケット間の関係性を扱わない。RTP はストリーム機能を提供することで、音声や動画などデータストリームの送信を可能にする。
順序制御
ネットワークの輻輳や負荷分散、その他ネットワークの予測できない振る舞いにより、パケットは遅延し順序がばらばらに届きうる。パケット集合をストリームとしてデコードするにはパケットの順序を知る必要がある。RTPはストリームシーケンス番号機能を提供することで順序制御を可能にする。
パケットヘッダー
RTPヘッダーは、12バイトが最小サイズである。 ヘッダーの後ろのオプションの拡張ヘッダーは存在してもよい。
順序番号
順序番号(英: sequence number)はRTPパケットの送出順序番号である。初期値はランダムである。
SSRC識別子
SSRC識別子(英: SSRC identifier)はRTPストリームの識別子である。SSRC識別子の実体はRTPセッション内で一意な32bitのランダム値である。
仕様
下層プロトコル
RTPはトランスポートプロトコル上で利用される。
仕様上、下層プロトコルは特定プロトコルに縛られないが、ポート機能を前提とする。
規格書
IETF において RTP に関する規格が策定されている。以下はその一部である:
出典・脚注
関連項目
- RTP Control Protocol (RTCP)
- MGCP
- 遠隔会議
外部リンク
ウィキメディア・コモンズには、Real-time Transport Protocolに関するメディアがあります。
- RFC 3550 - A Transport Protocol for Real-Time Applications
- RFC 3551 - RTP Profile for Audio and Video Conferences with Minimal Control




