
Steam や Microsoft Windows Store などの一部のアプリケーションでは、マルチスレッド ダウンロード戦略が必須です。つまり、アプリケーションやゲームをダウンロードするときに、同時に 10 以上の接続が開かれます。各接続は強力な CDN サーバーに到達するため、ゲームのダウンロード中に ping で 25% のパケット損失が発生するなど、ネットワークに大きなダメージを与えます。
インターネットから通常のファイルをダウンロードする場合、パケット損失は 0% です。Steam のダウンロード速度は制限できますが、開く接続の数は制限できません。ネットワーク全体の速度を低下させることなく、1 つまたは 2 つのスレッドだけで接続を最大化できるため、これは残念です。
Windows のアプリケーションが多数の同時接続を開かないようにブロックする方法はありますか? これは、アプリの正常な機能を妨げる可能性のあるハックである可能性はありますが、あらゆる提案を歓迎します。これを提供するルーター オプションも存在する場合は、それも歓迎します。
この問題を再現する方法としては、Steam で無料ゲームをダウンロードし、ping を実行してパケット損失を監視することです。
答え1
Steam はログインとコンテンツのダウンロードに次のポートを使用します。
HTTP (TCP ポート 80) および HTTPS (443)
UDP 27015 から 27030
TCP 27015 から 27030
ソース:https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711
ルーターを介してこれらのポートの一部を制限するという方法があります。たとえば、27015 から 27020 のみを有効にするとします。これにより、ポートの数が、当初使用しようとしていたポートの 33% に削減されます。これが実際に Steam にどのような影響を与えるかはわかりませんが、スレッドごとに 1 つのポートを使用する場合、これで問題が解決するか、すべてが壊れる可能性があります。
Windows ストア アプリの場合、どのポートが使用されているかに関するドキュメントはありませんが、WireShark などを使用してポートを確認し、その一部をブロックすることができます。
あるいは、Steam 設定に移動してダウンロード速度を設定することもできます。これにより、受信トラフィックの量を減らすことができます。Windows ストア アプリの場合も、これを変更できるかどうかはわかりません。