広告
広告
https://www.7key.jp/nw/technology/protocol/rtcp.html#whatRTPと組み合わせて使われる、データのフローチェックや送信者受信者間の情報を伝達するためのプロトコルで、RTP制御プロトコルと訳されます。RTCPはRTPでデータを送受信するためのセッションを制御するサブプロトコルとして位置づけられています。RTPセッションはネットワークアドレスと2つのポートで識別されます。ここで、1つのポートはRTPデータが使用し、残る1つはRTCPデータが使用します。例えばUDPを使用する場合、RTPは偶数番のUDPポートを、RTCPはその1つ上の奇数番UDPポートをアプリケーションポート番号として使用します。RTPをUDP/IPで利用する際のデフォルトポート番号は5004と5005ですが、多くの場合アプリケーションはこれらのポートを使用せず、セッションのセットアップ時に動的に割り当てたポートを使用します。ただし、現在ではRTPデータに偶数のポート番号を使用すると言う規制は緩和され、また、RTPとRTCPに連続しないポート番号を使うことも認められています。
RTPセッション内の全ての参加者は、RTCPパケットを送信する一方で、他の全ての参加者から送信されるRTCPパケットを受信します。このときのフィードバックは複数の参加者からなるRTPセッションにおいて全ての参加者に送信されることとなります。
https://www.7key.jp/nw/technology/protocol/rtcp.html#formatRTCPパケットは以下のフォーマットとなっています。ただし、RTCPパケットは1つずつ単体で転送されることは無く、通常はUDP/IPパケットが使われるのですが、下位層のパケットに必ずいくつかのRTCPパケットがまとめられた複合パケットとしてカプセル化されて転送されます。
| V | P | カウント | PT | パケット長 |
| 種類別情報(パディング) | ||||
https://www.7key.jp/nw/technology/protocol/rtcp.html#p_type| 略称 | Code | 名称 | 引用 |
|---|---|---|---|
| SR | 200 | 送信者レポート【Sender Report】 | RFC1890 |
| RR | 201 | 受信者レポート【Receiver Report】 | RFC1890 |
| SDES | 202 | 送信元記述【Source Description】 | RFC1890 |
| BYE | 203 | 退去メッセージ【Goodbye】 | RFC1890 |
| APP | 204 | アプリケーション定義【Application Defined】 | RFC1890 |
| FIR | 192 | フルイントラフレーム要求【Full INTRA-Frame request】 | RFC2032 |
| NACK | 193 | 否定応答【Negative acknowledgement】 | RFC2032 |
受信者レポートは受信品質のフィードバックに主に使われます。これは送信側だけでなく、他の参加者やサードパーティ製の監視ツールでも利用できます。送信側はRRパケットによるフィードバックに従ってデータの転送量を調節することが可能です。それ以外の参加者もRRパケットにより問題が局所的なものか多数の受信側で発生しているのかを判断できます。また、送信側はLSRとDLSRのフィールドを使用し、自分と各受信者間の往復時間を計算する事もできます。
| V | P | RC | PT=201 | パケット長 |
| レポート作成者のSSRC | ||||
| レポート対象者のSSRC | ||||
| 欠落率 | 累積欠落パケット数 | |||
| 最大拡張シーケンス番号 | ||||
| パケット間隔ジッタ | ||||
| 最新送信レポートのタイムスタンプ(LSR) | ||||
| 最新送信レポート経過時間(DLSR) | ||||
| (次の受信レポートブロック:レポート対象者のSSRC) | ||||
アプリケーションはデータを受信せずに、SRパケットの情報に基づいてインターバル単位でのペイロードデータの平均レートとパケットの平均レートを計算できます。そしてこの2つの比率からペイロードの平均サイズを得ることができます。また、タイムスタンプを使えば、メディアクロックと周知の外部参照との間の対応付けができます。これによってリップシンクが可能となるのです。
| V | P | RC | PT=200 | パケット長 |
| レポート作成者のSSRC | ||||
| NTPタイムスタンプ | ||||
| RTPタイムスタンプ | ||||
| 送信側のパケットカウント | ||||
| 送信側のオクテットカウント | ||||
| (受信レポートブロック) | ||||
このパケットでは、参加者の識別を可能にするほか、場所や電子メールアドレス、電話番号といった補足情報を提供します。SDESパケットの情報はユーザによって入力され、通常はアプリケーションのGUIに表示されます。
| V | P | RC | PT=202 | パケット長 |
| SSRC/CSRC 1 | ||||
| SDES項目のリスト | ||||
| SSRC/CSRC 2 | ||||
| SDES項目のリスト | ||||
| … | ||||
| … | ||||
このパケットを使用し、一部の参加者がセッションから出たことを知らせます。また、参加者が自分のSSRCを変更した際にも生成されます。
| V | P | RC | PT=203 | パケット長 |
| SSRC1 | ||||
| SSRC2 | ||||
| ... | ||||
| SSRCn | ||||
| オプション長 | セッションを出る理由 | |||
アプリケーションで機能拡張を定義できるよう用意されています。
| V | P | RC | PT=204 | パケット長 |
| SSRC | ||||
| アプリケーション定義パケット名 | ||||
| アプリケーション定義データ | ||||
https://www.7key.jp/nw/technology/protocol/rtcp.html#supplement広告