2. SAVPFルール
SAVPは、RTP(通常のRTPプロファイルAVPに従う)とトランスポート層(通常はUDP)の間の中間層として定義されています。これにより、リアルタイムトランスポートプロトコル内に2層の階層が生じます。SAVPFでは、上位(AVP)層がフィードバックのための拡張RTPプロファイル(AVPF)に置き換えられます。
AVPFは、RTCPパケットを送信するためのタイミングルールを変更し、フィードバックに固有の追加のRTCPパケットフォーマットを追加します。これらの機能は、RTCPパケットがその後に暗号化および/または整合性保護されるかどうかとは無関係です。AVPF層の機能は、SAVPFでも変更されません。
AVPFプロファイルは、RFC 3550 [1]からRTCPの暗号化プレフィックスの(オプションの)使用を継承しています。暗号化プレフィックスは、SAVPFプロファイル内では使用してはなりません(SAVPでも使用されていません。これは[1]で指定された暗号化方法にのみ適用されるためです)。
SAVP部分は、RTPおよびRTCPパケットの末尾に追加される追加フィールドを使用し、RTP/RTCPパケットの内容の(一部)に対して暗号化変換を実行します。この動作はSAVPFでも変更されません。タイミングの目的でAVPF層によって行われる平均RTCPパケットサイズの計算には、SAVP層によって追加されるフィールドを考慮しなければなりません。
SRTP部分は、タイミングや内容にかかわらず、RTPまたはRTCPが「上位」のAVPF層によってスケジュールされたとき、またはトランスポートプロトコルから受信されたときにのみアクティブになります。
2.1. パケット形式
AVPFは、フィードバック情報を提供するための追加のパケット形式を定義しています。RFC 4585 [3]で定義されているもの(およびAVPFで使用するために他で定義されているさらなるもの)は、SAVPFで使用してもよい。
SAVPは、SRTPおよびSRTCPパケット用の変更されたパケット形式を定義しています。これは本質的に、RTP/RTCPパケット形式に、セキュリティ目的のいくつかの後続プロトコルフィールドを加えたものです。SAVPFの場合、すべてのRTCPパケットは、RFC 3711 [4]のセクション3.4で定義されているようにカプセル化されなければなりません。
2.2. 拡張
他で定義されたAVPF RTCPフィードバックパケットへの拡張は、それらの拡張がRFC 4585 [3]の拡張ルールに従っている限り、SAVPFプロファイルで使用してもよい。
RFC 3711 [4]のセクション6のルールに従ってSAVP用に定義された追加の拡張(変換など)も、SAVPFプロファイルで使用してもよい。RTCPパケットごとのオーバーヘッドは、選択された拡張と変換に依存します。将来追加される新しい拡張や変換は、まだ未知のパケットごとのオーバーヘッドを導入する可能性があります。
最後に、特にSAVPFに対するさらなる拡張は、他で定義されるかもしれません。
2.3. AVPFとSAVPの組み合わせによる影響
AVPFプロファイルは、受信者が送信者にタイムリーなフィードバックを提供することを統計的に可能にすることを目指しています。受信者が平均的にフィードバック情報を送信できる頻度は、RTCP帯域幅、グループサイズ、およびRTCPパケットの平均サイズに依存します。SRTCP(RFC 3711 [4]のセクション3.4を参照)は、各RTCPパケットの末尾に追加のフィールド(一部は長さを設定可能)を追加します。これらはおそらく少なくとも10〜20バイト程度のサイズになります(デフォルトでは14バイト)。将来定義される拡張や変換、および各フィールド長の構成によって、より大きなオーバーヘッドが追加される可能性があることに注意してください。SRTPを使用することで、RTCPパケットの平均サイズが増加し、その結果、(タイムリーな)フィードバックを提供できる頻度が低下します。アプリケーション設計者はこのことを認識し、RTCP帯域幅の割り当てが維持されるように予防策を講じる必要があります。これは、SRTCPパケットのサイズを反映するようにRTCP変数「avg_rtcp_size」を調整することで行わなければなりません。