web-dev-qa-db-ja.com

失われたUDPセグメント

uDPはセグメント(パケット)の順序と宛先への到着を気にしないことを知っています。では、一体どうやってビデオをストリーミングできるのでしょうか。

  • セグメントが失われた場合(宛先に到達しない場合)、宛先はそれについて認識しません。そのため、ターゲットに再送信を要求することはできません。
  • セグメントが順不同で届いた場合、ストリーミングされるビデオを歪ませてはいけませんか?セグメント全体の順序が間違っているため、その1つのセグメントがその場所にありません。
2
sterz

人々は通常、UDPの上に、順序付けと信頼性を扱う別のプロトコルを重ね、ビデオなどをその中に挿入します。

4
Bob Murphy

失われたセグメントについては、完全にあきらめるのではなく、画像の品質を低下させるコーデックが使用されます。順不同のセグメントの場合、UDPに加えてRTP)のようなものを使用して、フレームにシーケンス番号を追加します。順不同で受信することについてできることはあまりないかもしれませんが、少なくともRTPは、リンクがサポートできるよりも速く送信することもできません。

Netflix、Hulu、Youtubeなどの非リアルタイムビデオストリーミングの場合、サーバー間の数秒の遅延を気にしないため、TCPを使用し、UDPの代わりにバッファリングを行います。とクライアント。

2
Karl Bielefeldt

UDPは保証パケットの配信を行いませんが、ネットワーク機器は、信頼性の高いTCPを介してUDPを使用することを選択したアプリケーションユーザーを罰するために、意図的にパケットをドロップしません。 =接続。つまり、UDP自体は信頼できませんが、ほとんどすべてのパケットは、1つの会社がすべてのトラフィックと機器を制御するイントラネット環境を通過します。UDPは実質的にTCPと同じくらい信頼できます。

とはいえ、UDP/IPに基づく最も人気のあるビデオストリーミングプロトコルの1つはRTPです。 RTPはアプリケーション層プロトコルとして定義されていますが、仕様では、パケットシーケンス番号(RTPヘッダーの一部)とヘッダーの一部)を監視するのは受信者次第であると規定されています。データが正しい順序で再生されることを確認してください。

とはいえ、このわずかな情報を無視する実装はたくさんありますが、それでも比較的高品質のビデオを表示します。ええ、あちこちにいくつかの不具合がありますが、一部のネットワーキングブックがあなたを信じさせるほど頻繁に起こるものではないため、ほとんどの場合はわかりません。少なくともそれは私の経験ですが、主にインターネットではなく、企業環境でビデオ製品に取り組んできました。モバイル/インターネットオプションへの移行が進んでいるため、約6〜12か月以内に別の回答があるかどうかを確認します。

2
DXM