web-dev-qa-db-ja.com

マルチスレッドダウンロードをブロックする方法は?

SteamやMicrosoftWindows Storeなどの一部のアプリケーションは、マルチスレッドのダウンロード戦略を主張しています。アプリケーションやゲームをダウンロードすると、同時に10以上の接続が開かれます。各接続は強力なCDNサーバーに到達するため、これによりネットワークに荒廃が生じ、ゲームのダウンロード中にpingで25%のパケット損失が発生します。

インターネットから通常のファイルをダウンロードしている場合、パケット損失は0%です。 Steamのダウンロード速度を制限することはできますが、開く接続の数を制限することはできません。ネットワーク全体の速度を低下させることなく、1つまたは2つのスレッドで接続を最大化できるため、これは残念です。

Windowsのアプリケーションが多数の同時接続を開くのをブロックする方法はありますか?これは、アプリの通常の機能を混乱させる可能性のあるハッキングである可能性があることを認識していますが、すべての提案を受け入れています。これを提供するルーターオプションも存在する場合、私もそれを受け入れます。

問題を再現する方法は、Steamで無料でプレイできるゲームをダウンロードし、pingを実行してパケット損失を監視することです。

5
cloneman

Steamは、コンテンツのログインとダウンロードに次のポートを使用します。

HTTP(TCPポート80)およびHTTPS(443)

UDP27015から27030

TCP27015から27030

ソース: https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711

あなたができることはあなたのルーターを通してこれらのポートのいくつかを制限することです。したがって、27015から27020のみを有効にするとします。これにより、ポートの数が最初に使用しようとしたものの33%に削減されます。これが実際にSteamをどのように破壊するかはわかりませんが、スレッドごとに1つのポートを使用する場合、問題が修正されるか、すべてが破壊される可能性があります。

Windowsストアアプリの場合、使用されているポートに関するドキュメントはありませんが、WireSharkなどを使用して、それらの一部を見つけてブロックすることができます。

または、Steam設定に移動してダウンロード速度を設定することもできます。これにより、着信トラフィックの量が減少します。繰り返しますが、Windowsストアアプリの場合、これを変更できるかどうかはわかりません。

2
IronWilliamCash