Windows10 WSUSにおけるLEDBATを有効化する方法

前回お伝えしたLEDBATですが、WSUSサーバーで有効化を試してみたいと思います。

Windows Server 2016(2018年7月までのQU適用をお忘れなく)もしくはWindows Server 2019があれば試していくことが可能です。

まずはPowerShellを管理者で起動しておきましょう。

WSUSの既定のポートは8530と8531(SSL)となっているため、これらのポートがLEDBATで動いていないことを確認します。

これは以下のコマンドレットを利用すると簡単にわかります。
LocalPortが上記ポートになっているもののAppliedSettingがDatacenterになっている状態ではLEDBATが無効と思ってください。
Get-NetTCPConnection

f:id:mohessu:20191124234856p:plain

続いて以下コマンドレットで設定がLEDBATになっていないことを確認しておきます。
CongestionProviderの項がCUBICになっているものばかりで、LEDBATがなければ利用はされていません。

Get-NetTCPSetting 

f:id:mohessu:20191124235022p:plain

更に以下コマンドレットも見ておきましょう。
これは、ポートに対してどのTCPSettingが割り当てられているのかを確認する画面となっています。

全ポートAutomaticですね。AutomaticはDatacenterかInternetを動的に切り替えてくれる仕組みのようでした。

Get-NetTransportFilter 

f:id:mohessu:20191124235056p:plain

詳細は以下のコマンドレットの説明あたりがわかりやすいかもしれません。

https://docs.microsoft.com/en-us/powershell/module/nettcpip/get-nettcpsetting?WT.mc_id=WDIT-MVP-5002496&view=win10-ps

ここまでで現在の動作状況が見れたかと思います。
基本はLEDBATは無効な状況となっているため、PowerShellで有効化していくことで利用できるようになります。

まずは「InternetCustom」という既存のテンプレートに対し、LEDBATを有効化するコマンドレットを実行してみましょう。以下のコマンドで変更できます。

Set-NetTCPSetting -SettingName InternetCustom -CongestionProvider LEDBAT

f:id:mohessu:20191124235208p:plain

続いてWSUSのポートへ紐づけです。8530と8531を有効にするので、以下のコマンドレットですね。先ほど更新したInternetCustomをこのポートの時に利用するように設定することで、LEDBATが有効化されていきます。

New-NetTransportFilter -SettingName InternetCustom -LocalPortStart 8530 -LocalPortEnd 8530 -RemotePortStart 0 -RemotePortEnd 65535
New-NetTransportFilter -SettingName InternetCustom -LocalPortStart 8531 -LocalPortEnd 8531 -RemotePortStart 0 -RemotePortEnd 65535

f:id:mohessu:20191124235348p:plain

設定はこれだけですが、もう一度フィルターの状態を見てみましょう。
3つに増えていることがわかると思います。

Get-NetTransportFilter 

f:id:mohessu:20191124235450p:plain

この状態でWSUSにアクセスすると、先ほどDatacenterとなっていた通信がInternetCustomに変更されているのがわかります。 

f:id:mohessu:20191125000914p:plain

これでWSUSサーバーから見て、アップデートの通信が来た場合は優先度を下げて帯域を使っていくという動作になっていることと思われます。(ネットワークトラフィックを追うのは何かと難しいですよね汗)

ちなみに設定を基に戻す場合は以下のコマンドレットを用いましょう。
InternetCustomとなっているポートフィルターを削除し、InternetCustomテンプレートはLEDBATから元のCUBICに戻しています。

Remove-NetTransportFilter -SettingName InternetCustom -Confirm:$false
Set-NetTCPSetting -SettingName InternetCustom -CongestionProvider CUBIC -Confirm:$false

なんとなく、ほかの通信もこのサーバーでハンドリングしていれば意味が出そうな感じがしますが、WSUSを利用されている方は一度この設定でトラフィックの変化を感じることができるか試してみてはいかがでしょうか。

音楽:Kissing the christmas killer