web-dev-qa-db-ja.com

モバイルキャリアはHTTPS接続でのビデオ解像度をどのようにして知るのですか?

Verizonは「無制限」のデータプランを変更しています。米国のお客様は、480pでビデオをストリーミングすることができます-または-有料で、より高い解像度(720pおよび+ 1080pの両方)をアンロックできます。 this のようなルールを実装する唯一のモバイルキャリアではありません。

ビデオストリーミング用にHTTPSを実装しているサイト(YouTubeやFacebookなど)を利用している場合、キャリアはどの解像度を見ているかを知るにはどうすればよいですか?キャリアがすべてのデータの帯域幅を調整している場合、ビデオ解像度について話すのは誤った方向に思えます。それがビデオだけの場合、それはプライバシーの問題を引き起こすようです。

189
raithyn

これは活発な研究分野です。私はたまたまこの分野でいくつかの作業を行ったので、基本的な考え方について私ができることを共有します(この作業は業界のパートナーとのものであり、秘密の詳細は共有できません:))。

Tl; drは、暗号化されたトラフィックストリームをビデオを運ぶものとして識別できることが多く、その解像度を見積もることができることが多いですが、複雑で常に正確であるとは限りません。これをより一貫してより正確に行う方法に取り組んでいる多くの人々がいます。

ビデオトラフィックには、他の種類のトラフィックと区別できる特定の特性があります。ここでは、ライブストリーミングビデオではなく、ビデオオンデマンドについて具体的に説明します。ビデオオンデマンドには、 この答え に記載されている優先タグが付いていないことがよくあります。また、私は特にアダプティブビデオに言及しています。これは、ビデオがセグメント(それぞれ約2〜10秒)に分割され、ビデオの各セグメントが複数の品質レベル(品質レベルの意味:長期ビデオビットレート、コーデック、と解像度)。ビデオを再生するとき、次のセグメントがダウンロードされる品質レベルは、アプリケーションがネットワークでサポートできると考えるデータレートによって異なります。 (それは この答え で参照されているDASHプロトコルです。)

携帯電話で動画を再生しているときに、携帯電話に送信されるトラフィックの(加重移動平均)データレートを経時的に確認すると、次のようになります。

data rate over time

(これは、Verizon上のYouTubeセッションからキャプチャされます。15秒の移動平均と短期平均があります。)

このセッションにはいくつかの異なる部分があります。

最初に、ビデオアプリケーション(YouTubeプレーヤー)がバッファーをバッファー容量までいっぱいにしようとします。この間、ネットワークがサポートできる速度でデータをプルしています。この段階では、リモートアドレスからのビデオトラフィックであると推測できない限り、基本的に大きなファイルのダウンロードと区別がつきません( this answer で説明されています)。

バッファがいっぱいになると、一定の間隔で「バースト」が発生します。バッファが200秒のビデオを保持できるとします。バッファに200秒のビデオが含まれている場合、アプリケーションはダウンロードを停止します。次に、ビデオのセグメントが再生された後(たとえば5秒間)、バッファに空き領域ができるため、次のセグメントがダウンロードされてから停止します。それがこのバーストパターンの原因です。

このパターンはビデオに非常に特徴的です。他のアプリケーションからのトラフィックにはこのパターンがないため、ネットワークサービスプロバイダーは、ビデオトラフィックを伝送するフローを簡単に見つけることができます。場合によっては、このパターンを確認できないことがあります。たとえば、ビデオが短すぎて全体が一度にバッファにロードされる場合その後、クライアントはダウンロードを停止します。このような状況では、ビデオトラフィックとファイルのダウンロードを区別することは非常に困難です(リモートアドレスでそれを把握できない場合を除く)。

とにかく、フローをビデオトラフィックを伝送していると特定したら、リモートアドレス(主要なビデオプロバイダーはビデオ専用ではないコンテンツ配信ネットワークを使用しているため、常に可能とは限りません)またはそのトラフィックパターン(ビデオセッションがビデオ全体が一度にバッファにロードされるほど短い場合は長く、はるかに困難です)...

Hectorが言った のように、データの各「バースト」のサイズ(バイト単位)を調べることにより、ビットレートから解像度を推測することができます。

継続時間あたりのサイズから、特にローリング平均を維持している場合は、解像度を合理的に推定できます。

しかし、これは難しい場合があります。私の例ではYouTubeセッションを見てください:

  • すべてのセグメントが同じ長さであるとは限りません。一度に要求されるビデオの長さは、いくつかの要因(品質レベル、ネットワークステータス、ビデオを再生しているデバイスの種類など)によって異なります。したがって、必ずしも「バースト」を見て「OK、これは5秒のビデオを表すXバイトだったので、ビデオのデータレートはわかっている」とは言えません。可能性のあるセグメント期間を把握できる場合もありますが、難しい場合もあります。
  • 特定のビデオ品質レベルとセグメントの持続時間に対して、異なるセグメントは異なるサイズになります(ビデオのその部分で実行されるモーションの量などに応じて)。
  • 同じビデオ解像度でも、長期データレートは変動する可能性があります。VP9でエンコードされた1080pビデオは、H.264でエンコードされたものと同じ長期データレートを持ちません。
  • ビデオ品質レベルは、認識されたネットワーク品質(ネットワークサービスプロバイダーには表示されます)およびバッファーステータス(表示されません)に応じて変化します。したがって、30秒を超える長期データレートを確認できますが、実際のビデオ品質レベルがその30秒の間に数回変化した可能性があります。
  • バッファができるだけ速く排出または充填されている期間(「バースト」がない場合)、ビデオで何が起こっているかを推定することははるかに困難です。
  • さらに複雑にするために、ビデオフローが複数の下位レイヤフロー間で「ストライプ化」されることがあります。ビデオの一部が1つのアドレスから取得され、別のアドレスからのビデオの取得に切り替わることがあります。

上に示したデータレートのグラフは?その時間間隔でのビデオ解像度は次のとおりです。

video resolution

ここで、色はビデオ解像度を示します。だから...あなたは一種トラフィックパターンから何が起こっているのかを推定することができますしかし、それは難しい問題です!あなたが見ることができるトラフィックには他のマーカーがあります。どのようにして1つのサービスプロバイダーがそれを行っているのか、はっきりとは言えません。しかし、少なくとも最新の学術的観点では、これを完全に正確に行う方法はありません(ビデオプロバイダーの協力がない限り)。

この種の問題に使用される手法についてさらに詳しく知りたい場合は、学術文献がたくさんあります。たとえば、 BUFFEST:バッファ条件の予測とHTTP(S)アダプティブのリアルタイム要件)を参照してください。ストリーミングクライアント を出発点として使用します。 (私の論文ではありません。たまたま最近読んだものです。)

269
ff524

ストリーミングビデオ以外に、一定の速度で帯域幅を最大限に活用するものはありません。

また、ストリームが優先的に処理されるようにするために(たとえば、大きなファイルのダウンロードとは異なり)、ストリーミングソースは、ビデオをストリーミングしていることをキャリアに伝える方法でパケットにタグを付けます。パケットの残りの部分は暗号化されますが、ルーティングする方法をISPに通知するメタデータは、この部分を見ることができます。これを行わなかった場合、ISPがその時点でネットワークトラフィックのすべてのニーズのバランスをとろうとしたため、ストリームが中断または低下する可能性が高くなります。

そしてこれが Verizonの発言 彼らがやる方法です:

Verizonは、ビデオ自体を低い解像度に変換しないようです。代わりに、ビデオアプリケーションが調整する必要がある帯域幅の制限を設定します。 「速度を10Mbps以下に設定してHDビデオのスループットを管理します。これにより、最大1080pビデオでHDビデオを提供できます」とVerizonはArsに語った。 Mbpsは、Verizonがビデオを480pまたは720pに制限している場合よりもおそらく低くなります。

これは、特定のタイプのビデオであるため、サブスクライバーとトラフィックが特定の方法でシェーピングされているという事実がタグ付けされていることを意味します。

どうやって? Verizonには ビデオ最適化システム があり、2017年8月に新しい上限が発表される前でも、NetflixとYouTubeを10 Mbpsに制限することが示されています。

Verizonは、新しいビデオ最適化システムを使用して認めたが、これは一時的なテストの一部であり、ビデオの実際の品質には影響しなかったと述べた。ビデオの最適化は、無制限と制限付きのモバイルプランの両方に適用されるようです。

しかし、一部のYouTubeユーザーは、a VPNサービスを使用するとVerizonスロットリングをバイパスできると言って、劣化したビデオを報告しています。

これは、コンテンツがHTTPSではなくVPN経由で配信されている場合でも、Verizonがビデオストリームを識別し、それに応じて帯域幅を制限できることを示しています。

48
schroeder

Schroederは、帯域幅を特定のサイトのIPアドレスに制限したり、パケットの優先順位マーカーを探したりするというマーケティングの方法であるという点でほぼ間違いなく正しいです。

ただし、ビデオストリーミング中にユーザーに特定の解像度を強制することだけが目的である場合、理論的にはこの機能を向上させる方法があることに注意してください。

最近のインターネットストリーミングの多くは、DASH(Dynamic Adaptive Streaming over HTTP)と呼ばれるプロセスを使用しています。これが機能する方法は、ビデオの小さなチャンクを要求し、ダウンロード中に帯域幅を測定し、最初のチャンクが終了したときに間に合うように解像度/圧縮方式でビデオの次のチャンクを選択することです演奏。

これは、ユーザーが何をしているかについての要求にヒントがあることを意味します。デバイスが3秒ごとにWebサイトにリクエストを送信し、ダウンロードに3秒弱かかるファイルをリクエストすると、サイトがビデオをストリーミングしている可能性が非常に高くなります。継続時間あたりのサイズから、特にローリング平均を維持している場合は、解像度を合理的に推定できます。その後、帯域幅をそのIPアドレスに制限できます。

主要なビデオプロバイダー(googlevideo(youtube)、Netflixなど)の既知のIPアドレスを決定の重み付けに使用することで、誤検知をあまり行わずにアルゴリズムをより積極的にすることができます。

36
Hector

最大のものは、接続するアドレスです。 HTTPSは処理中のデータを保護しますが、通信しているアドレスは保護しません。 VerizonがNetflixサーバーのIPアドレスを知っている場合、特定の範囲内にあるIPからのデータストリームに制限を課すことができます。 Netflixは、利用可能な帯域幅に基づいて再生を自動的に調整します。

また、トラフィックのデータレートが一定であり、可能な最大値よりも低いことに基づいて通知することも広く可能です。これはおそらく何らかのタイプのメディアストリームを意味しますが、帯域幅が制限されたファイル転送である可能性もあるため、誤検知が発生する可能性があります。

彼らが変更を発表したときに言及した技術的な詳細では、IPアドレスを使用して制限を設定することを計画していたと思いますが、それが時間の経過とともに変化するのか、それとも正しく覚えているのかはわかりません発表からしばらく経ちましたが、私はそれに関する最初の研究についてのメモは残していません。

12
AJ Henderson

パフォーマンスよりもセキュリティ/プライバシーを重視する(適切な)VPNを使用している場合は、ISPによる試行を回避するための一連のトリックを使用して、ストリーミングビデオであることを明確に識別します。

  • ISPは、ビデオCDN(Youtubeなど)の一部として認識されないIPアドレスに接続していることを確認します-VPNがYoutubeまたは他の主要なビデオプロバイダーによってホストされていない場合。したがって、少なくとも、リモートIPエンドポイントをビデオCDNの一部として確実に特定することはできません。 注:もちろん、VPNであるため、スロットルすることを決定できますが、現在のところ、主要なプロバイダーは明示的に述べていませんVPNをスロットルする(そうすることは非常に弱体であり、中国の大ファイアウォールと同様に、米国のISPが言論の自由を抑制することにランク付けされます)。
  • 優れたVPNは、トラフィックの性質を示唆するメタデータ(QoSなど)を平文で送信しません。これにより、奇妙な優先順位の逆転(リアルタイムのVoIPやストリーミングビデオの遅延を引き起こすダウンロードなど)が発生する可能性がありますが、それがプライバシーの代償です。
  • 使用するアプリケーション層のビデオプロトコルによっては、ISPがトラフィックシェイプ分析を使用してトラフィックをビデオとして明確に識別するのが難しい場合があります。たとえば、プロトコルが、サーバーがビデオを使用可能な最大帯域幅(回線速度)でバースト送信して、ビデオのビットレートで徐々にプッシュするのではなく、ほとんどまたはすべてのビデオを一度にダウンロードするように指定している場合、ISPは、 Linux ISO、YoutubeやCBSなどの有名なコンテンツプロバイダーからのストリーミングビデオ、または仕事用の大きなExcelドキュメントをダウンロードしています。
  • VPNトラフィックの総量は送受信される実際のデータを大まかに反映しますが、優れたVPNはトラフィック分析を困難にするために、暗号化されたトンネル内にジャンクデータを投入します(正当なトラフィックにわずかな遅延を導入します)。 VPNがジャンクデータと意図的な遅延を導入するほど、VPNは遅くなりますが、一方で、VPNのトラフィックがトラフィックシェイプ分析に対して非常に耐性がある場合、セキュリティが向上します。

ただし、いくつかの制限があります。

  • トラフィックシェイプ分析を介して分析する最も簡単なタイプのストリーミングビデオは、ビデオのダウンロードをビデオのビットレートに調整するプロトコルです。彼らはビットレートに基づいて、可能性のある解像度を推測することができます。
  • 「ライブ」ビデオ(生成後すぐにコンテンツを視聴することを視聴者が重視する場合)は、ビデオビットレートに近い速度で送信して応答性を保証する必要があるため、非表示にするのが最も困難です。データのバッファリングとバーストは、ストリームに固有の遅延を課します。これは、ユーザーが許容できるとは限らない場合があります(ビデオ会議、Twitch.TVなどの場合)。

もちろん、ビデオをより高品質でストリーミングできないことを保証する方法として、ISPはダウンロードするすべてを、回線速度よりも遅い任意のビットレートに制限することを選択できます-しかし、それには多くの問題があります:

  • 特定の解像度で確立された「典型的な」ビデオのビットレートは存在しないため、想定を立てることはできますが、想定はそれだけです。コーデックとエンコーディングの設定に応じて、1080pビデオは1桁の低いMbit/sから50 Mbps以上までさまざまです。
  • これは効果的な「すべてのスロットル」となり、アドバタイズされた最大速度を盗聴することは決してないため、アドバタイズされた最小/最大速度をはるかに下回っており、アドバタイズする地雷を踏んでいない場合は、誤った広告責任を負う可能性があります。スロットルのトリガーとして(例:LTEの通常の22 GB /月の高速データキャップ)。
  • 全員を大幅に絞ると、ビデオをストリーミングすることはないが、前述のように、VPNなどを介して仕事から大きなExcelファイルをダウンロードするだけの正当なユーザーから多くの反発を受けることになります。
  • トラフィックがビデオであると推測しビデオに基づいてそれを調整することを決定することで(推論が正しくないことが判明した場合でも)、ユーザーはサービスが遅いと感じる可能性が高くなります。キャンセル/別のプロバイダーに移動します。ISPはビデオ以外の他のタイプのトラフィックを抑制していることをアドバタイズしないためです(1か月あたりの上限を超えたり、飽和状態のタワーにいる場合は除きます)。これらの状況はどちらもかなり簡単です。ただし、顧客として除外する)。

つまり、全体として、ISPがユーザーの特定のコンテンツを検出し、ダウンロードしている内容に基づいて差別しようとする競争の中で、優れたVPNを使用すれば、最終的にユーザーが勝ちます(そして、ISPが暗号を破る方法がないと仮定します)。 。 ISPはコンテンツが何であるかを確実に検出することができず、推測が正確である可能性が非常に高くなることはありません。

ユーザーがこれに手掛かりを取り始め、ISPがコンテンツを検出しないようにする手段を講じると、ISPはeveryoneのアドバタイズされた速度を低下させることによって応答します(より多くの加入者が同じ利用可能なスペクトルを共有する);価格を上げる;無制限のデータプランを削除します(再度)。 1か月あたりの任意の(かなり低い)データキャップを超える人のスロットルペナルティが悪化します。または、ユーザーが明確に識別できないトラフィック(VPNトラフィックなど)を意図的にスローダウンし、「疑わしい」トラフィックとして正当化します。

彼らは、規制当局、政治家、そして無知な人々に、ほとんどすべてのVPNトラフィックが違法ダウンロード、違法な商取引(薬物など)、そして「ルールを破り」、 ISP。技術の専門家は反抗するでしょうが、私たちはシステムに加担しており、消費者をねじ込んで迅速な投資をすることに満足している人々に溺れてしまう傾向があります。

彼らはまた、これらのことすべてをすべて同時に行うこともできます。米国のワイヤレス業界での私の経験は、あなたが思っているほど悪いのですが、もっと悪いということです。そして、問題に対して最も無害な救済策だけを選択するのではなく、顧客に対して最大限に敵対的なものを好む傾向があり、言論の自由を抑制し、ネットの中立性の原則に違反します。

また、ユーザー同士をぶつけ合う傾向もあります。彼らは、現在利用可能なリソースに一致するように群れを薄くしようとするのではなく、プロバイダーが需要を満たすためにインフラストラクチャを拡張するよう圧力をかけるのではなく、グループとして共同で作業するのではなく、ユーザーを他のユーザーに責任を負わせて「データの独り占め」として呼びかけるポリシーを採用します。

それは人間の本性にすぎないと思います。これが、電気や水道に似た社会の一貫した価値あるビルディングブロックにしたい場合、ワイヤレス業界を規制する必要がある理由です。それまでは、Ma Bell時代のビザンチン独自のPSTNのバリエーションの1つにすぎません。

12
allquixotic

Verizonは文字通り暗号化されたHDビデオを認識してブロックしません...しかし、NetflixやYoutubeなどのサービスとの契約により、THEMがVerizonのIPアドレス範囲を認識し、Verizonによって課される制限を尊重する必要があります。

小規模なサービスの場合、Verizonには自由に使える第2の武器があると思います...「無制限」プランのカスタマーサービス契約のどこかに、Verizonがユーザーの「不透明な」暗号化トラフィックをカウントできるようにする条項があると確信しています毎月の「テザリング」制限。したがって、Verizonは、自宅の防犯カメラから終日電話にHDビデオをストリーミングしていることを知らない(または気にしない)かもしれませんが、毎月の5または10 GBの制限に対してトラフィックをカウントできます(または、計画の場合は150 kbpsにスロットルします)テザリングは含まれません)。

2
Bitbang3r