私は RTP/RTCP プロトコルに不慣れで、RTCP は何らかの診断目的で RTP パケット間で定期的に送信されると聞きました。RTP パケットが失われた場合、シーケンス番号と RTCP パケットのレポートによって識別できるとします。しかし、RTCP パケット自体が失われるとどうなりますか? 「BYE」形式(参加の終了を示す)の例を見てみましょう。
2095 次
1 に答える
1
RTP セッション中に、SSRC のデータベース (受信者と送信者には独自の SSRC があります) が構築され、RTCP レポート (送信者レポートと受信者レポートの両方) を受信することによって維持されます。
そのため、ドロップされた RTCP レポートの場合、ドロップが発生した理由に基づいて、いくつかのことが発生する可能性があります。
- ソースが RTP セッションを離れ、その BYE RTCP パケットがドロップされます。ソースがセッションを離れたため、RTCP レポートを送信しなくなり、参加者データベースから削除されるため、タイムアウトになります
- ソースがオフラインになり、RTCP レポートを送信しなくなります。ソースはタイムアウトになり、参加者データベースから削除されます
- 単一の RTCP レポートがドロップされます。これはソースをタイムアウトするには不十分であり、RTCP 処理は次に受信したレポートで再開されます。送信者レポートには単純に単調に増加するデータ フィールドが含まれているため、ドロップは、ドロップ期間の後に、より大まかな更新が到着することを意味します。受信者レポートには、単調に増加するフィールドと最後のレポートを参照するフィールドの両方があります。受信者レポートを含むドロップが発生した場合、最後のレポートに関連するデータを含むフィールドは、レポートのそのインスタンスに対してのみ存在するため、失われます。
于 2015-03-25T03:50:46.637 に答える