RTCP (RTP Control Protocol)
RTPは、ペイロードを運ぶデータ転送プロトコルと制御プロトコルの2つにより構成されています。 ここでは、制御プロトコルであるRTCPの説明をします。 RTCPには、以下の5種類があります。
RR (Receiver Report) | RRは、受信者での受信品質に関する情報を伝えるために利用されます。 |
SR (Sender Report) | SRは、送信者からのストリームに関する情報を伝えます。 |
SDES (Source Description) | RTPセッションへの参加者の識別や、電子メールアドレス、電話番号といった捕捉情報を伝えます。 |
BYE | 参加者がセッションを抜けた事を通知します。 |
APP (Application-Defined) | アプリケーションが独自拡張を行えるように用意されています。 |
RTCPで良く利用されるのがRTCP SRとRTCP RRだと思います。 これらを利用して、送信者は受信者での受信品質を知ることが出来ます。 具体的には、パケットロスとRTTがわかります。 受信者でのパケットロスは、RTCP RRに記述されます。 RTTは、RTCP SRとRTCP RRの両方を組み合わせて得られます。
図5にRTCPによるRTT計算の方法を示します。 送信者はRTCP SRを送信した時間を覚えておきます。 受信者は、RTCP SRを受け取ってからRTCP RRを送るまでの時間を計測し、その値(図5の(b))をRTCP RRに記述します。 送信者は、RTCP SRを送った時間とRTCP RRを受け取った時間の差を計算します(図5の(a))。 図5の(a)から(b)を引いたものがRTTになります。
RTPは、マルチキャストを前提に設計されています。 そのため、RTCPもマルチキャストを意識した設計になっています。 例えば、RTCPの送信量の基準としては、「RTCPのトラフィックがセッション全体の5%を越えないこと」という決まりがあります。 マルチキャストセッションでは、受信者からのフィードバックであるRTCP RRはマルチキャストで送信されます。 他の受信者は、マルチキャストで送信されたRTCP RRを受信し、全体のセッション参加者数を予測して、RTCP RRの送信を控えたりします。
| | 1 | | | 2 | | | 3 | | |