Windows Virtual Desktop (WVD) で RDP Shortpath を試す!

RDP Shortpath とは、画面転送用の通信をGatewayを経由させずに、直接、手元の端末とSession Host間で画面転送を行う機能です。

【 特 徴 】

・RD Gatewayを経由しないため、レイテンシの改善が期待できる。
・プライベートネットワークでの画面転送が可能
・URCP(UDP3390)を利用する事でネットワーク状況に応じた動的な画面転送が可能
・QoS DSCPをサポートする事で、優先的にパケットを処理できる。
・WVD Classicでも利用可能

初回の接続は通常通り、橙色の経路でAzureAD認証を行います。
画面転送開始時には緑色の通信になります。

※Session Hostに対して、直接接続を行うため[ExpressRoute / S2S VPN / P2S VPN / PIP]のいずれかが必要となります。

※UDP3390への通信ができない場合は、通常どおりRD Gateway経由となります。


全体の流れ

Step1:リスナー(UDP3390)の設定
Step2:Windows Firewall 許可設定
Step3:QoS DSCPの設定 ※Shortpathに必須ではありません。

※作業は、マスターイメージもしくは、Session Hostにて実施しています。GPOでも可


Step1:リスナーの設定

マスターイメージもしくは、Session Hostにて、UDP3390を有効化します。
※PowerShellにて、そのまま実行

$WinstationsKey = ‘HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations New-ItemProperty -Path $WinstationsKey -Name ‘fUseUdpPortRedirector’ -ErrorAction:SilentlyContinue -PropertyType:dword -Value 1 -Force

New-ItemProperty -Path $WinstationsKey -Name ‘UdpPortNumber’ -ErrorAction:SilentlyContinue -PropertyType:dword -Value 3390 -Force


Step2:Windows Firewall 許可設定

マスターイメージもしくは、Session Hostにて、受信の規則 UDP3390を許可します。
※PowerShellにて、そのまま実行

New-NetFirewallRule -DisplayName ‘Remote Desktop – Shortpath (UDP-In)’ -Action Allow -Description ‘Inbound rule for the Remote Desktop service to allow RDP traffic. [UDP 3390]’ -Group ‘@FirewallAPI.dll,-28752’ -Name ‘RemoteDesktop-UserMode-In-Shortpath-UDP’ -PolicyStore PersistentStore -Profile Domain, Private -Service TermService -Protocol udp -LocalPort 3390 -Program ‘%SystemRoot%\system32\svchost.exe’ -Enabled:True


Step3:QoS DSCPの設定

マスターイメージもしくは、Session Hostにて、DSCP[46]を設定します。
※PowerShellにて、そのまま実行

New-NetQosPolicy -Name “RDP Shortpath” -AppPathNameMatchCondition “svchost.exe” -IPProtocolMatchCondition UDP -IPSrcPortStartMatchCondition 3390 -IPSrcPortEndMatchCondition 3390 -DSCPAction 46 -NetworkProfile All


それでは、確認してみましょう!

Session Host 上での有効化を確認 ※下記のような表示が出力されればOK

Get-NetUDPEndpoint -OwningProcess ((Get-WmiObject win32_service -Filter “name = ‘TermService'”).ProcessId) -LocalPort 3390

Session Hostに接続した際に確認ができます。

プライベートIPで通信している事とDSCP[46]が確認できます。