Windows 10環境で、ソフトウェアの配布などのダウンロード系のサービスを提供している場合、意図せずネットワークの帯域を利用されてしまう場合があります。
そんなとき、サードパーティーの帯域制限ツールを利用していも良いですが、アウトバウンド通信だけ(送信だけ)なら、Windowsの標準機能でも帯域制限ができます。
そこでここでは、Windows 10の標準機能で、アウトバウンド通信の帯域制限を掛ける方法を紹介します。
目次
事前設定
下記で紹介しているグループポリシーの「ポリシーベースのQoS」を使った帯域制限は、適用対象マシンがワークグループ環境の場合は、以下のレジストリ設定が必要になります。
ActiveDirectoryドメインに参加しているマシンでは、レジストリ設定は不要です。
手順は、管理者権限でコマンドプロンプトを起動して、以下のコマンドを実行します。
> reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\QoS /v "Do not use NLA" /t REG_SZ /d 1 /f
コマンド実行後「この操作を正しく終了しました。」と表示されればレジストリ設定は完了です。
なお、設定を適用するためにはマシンの再起動が必要です。
アウトバウンド通信の帯域制限を掛ける
アウトバウンドの帯域制限を掛けるには、グループポリシーの「ポリシーベースのQoS」を利用します。
まず、スタートボタン右の検索ボックスなどから「gpedit.msc」と入力して「ローカルグループポリシーエディター」を起動します。
「ローカルグループポリシーエディター」が起動したら、左ペインから「コンピューターの構成」>「Windowsの設定」>「ポリシーベースのQoS]を選択します。
左ペインの「ポリシーベースのQoS」を右クリックして、メニューから「新規ポリシーの作成」をクリックします。
ポリシーの作成ウィザード画面が表示されるので、以下の設定を行い「次へ」をクリックします。
- 「ポリシー名」には任意の分かりやすい名前を付けます。
- 「DSCP値を指定する」のチェックは外します。
- 「出力方向のスロットル率を指定する」にチェックを入れ、制限値を入力します。(ここでは、例として1MBpsに設定しています。)
制限値を入力するときの注意点としは、単位が一般的なネットワーク通信速度を表す「bit per second」ではなく「byte per second」であるという点です。
DSCP値ではパケットの優先度を設定でき、ネットワーク上のDSCP対応のルーターとの組み合わせで、特定のDSCP値を持つパケットを高優先度で処理するといったことが可能ですが、帯域を制限したいだけなら設定不要です。
次の画面では、ポリシーの適用対象アプリケーションを指定できますが、ここではすべての通信で制限を掛けたいので、デフォルト設定のまま「次へ」をクリックします。
次の画面では、発信元や宛先のIPアドレスを指定できますが、ここではすべての通信で制限を掛けたいので、デフォルト設定のまま「次へ」をクリックします。
次の画面では、プロトコルとポート番号を指定できますが、ここでもすべての通信で制限を掛けたいので、プロトコルで「TCPとUDP」を選択し、他の項目はデフォルトのまま「完了」をクリックします。
以上で設定完了です。
作成したポリシーは「ポリシーベースのQoS」画面にリスト表示されており、設定内容を確認できます。
動作確認
上のQoSポリシー作成して、使用帯域が制限されているかをタスクマネージャーで確認してみると、ポリシーを作成すると即時で帯域が約8Mbps(1MBps)に制限されていることを確認できました。
あとがき
Windows 10環境で、ソフトウェアの配布などのダウンロード系のサービスを提供している場合に役立つと思います。お試しあれ。