Windows Server 2019 閘道效能


適用于: Windows Server 2022、Windows Server 2019、Azure Stack HCI、21H2 和20H2 版本

在 Windows Server 2016 中,客戶的考慮之一是無法滿足 SDN 閘道的需求,以符合新式網路的輸送量需求。 IPsec 和 GRE 通道的網路輸送量對於 IPsec 連線能力大約是 300 Mbps,而 GRE 連線能力大約是 2.5 Gbps 的單一連線輸送量有所限制。

我們已大幅改善 Windows Server 2019 中的數位,分別提升至 1.8 gbps,以及 15 Gbps 的 IPsec 和 GRE 連接。 如此一來,就能大幅降低 CPU 週期/每個位元組,進而提供具有更少 CPU 使用率的超高效能輸送量。

使用 Windows Server 2019 中的閘道來啟用高效能

針對GRE連線,一旦您部署/升級至閘道 vm 上的 Windows Server 2019 組建,您應該會自動看到改善的效能。 不涉及任何手動步驟。

針對IPsec連線,根據預設,當您建立虛擬網路的連線時,會取得 Windows Server 2016 的資料路徑和效能號碼。 若要啟用 Windows Server 2019 資料路徑,請執行下列動作:

  1. 在 SDN 閘道 VM 上,移至 [ 服務 ] 主控台 (services.msc) 。
  2. 尋找名為「 Azure 閘道服務」的服務,並將啟動類型設定為「 自動」。
  3. 重新開機閘道 VM。 此閘道上的作用中連線會容錯移轉至多餘的閘道 VM。
  4. 針對其餘的閘道 Vm 重複上述步驟。

提示

為了獲得最佳效能結果,請確定 IPsec 連線的 cipherTransformationConstant 和 authenticationTransformConstant 是使用 GCMAES256 cipher 套件。

為了達到最大效能,閘道主機硬體必須支援 AES-NI 和 PCLMULQDQ 的 CPU 指令集。 這些都可在任何 Westmere (32nm) 和更新版本的 Intel CPU 上取得,但已停用 AES-NI 的模型除外。 您可以查看您的硬體廠商檔,以查看 CPU 是否支援 AES-NI 和 PCLMULQDQ 的 CPU 指令集。

以下是使用最佳安全性演算法的 IPsec 連線 REST 範例:

# NOTE: The virtual gateway must be created before creating the IPsec connection. More details here.
# Create a new object for Tenant Network IPsec Connection
$nwConnectionProperties = New-Object Microsoft.Windows.NetworkController.NetworkConnectionProperties

# Update the common object properties
$nwConnectionProperties.ConnectionType = "IPSec"
$nwConnectionProperties.OutboundKiloBitsPerSecond = 2000000
$nwConnectionProperties.InboundKiloBitsPerSecond = 2000000

# Update specific properties depending on the Connection Type
$nwConnectionProperties.IpSecConfiguration = New-Object Microsoft.Windows.NetworkController.IpSecConfiguration
$nwConnectionProperties.IpSecConfiguration.AuthenticationMethod = "PSK"
$nwConnectionProperties.IpSecConfiguration.SharedSecret = "111_aaa"

$nwConnectionProperties.IpSecConfiguration.QuickMode = New-Object Microsoft.Windows.NetworkController.QuickMode
$nwConnectionProperties.IpSecConfiguration.QuickMode.PerfectForwardSecrecy = "PFS2048"
$nwConnectionProperties.IpSecConfiguration.QuickMode.AuthenticationTransformationConstant = "GCMAES256"
$nwConnectionProperties.IpSecConfiguration.QuickMode.CipherTransformationConstant = "GCMAES256"
$nwConnectionProperties.IpSecConfiguration.QuickMode.SALifeTimeSeconds = 3600
$nwConnectionProperties.IpSecConfiguration.QuickMode.IdleDisconnectSeconds = 500
$nwConnectionProperties.IpSecConfiguration.QuickMode.SALifeTimeKiloBytes = 2000

$nwConnectionProperties.IpSecConfiguration.MainMode = New-Object Microsoft.Windows.NetworkController.MainMode
$nwConnectionProperties.IpSecConfiguration.MainMode.DiffieHellmanGroup = "Group2"
$nwConnectionProperties.IpSecConfiguration.MainMode.IntegrityAlgorithm = "SHA256"
$nwConnectionProperties.IpSecConfiguration.MainMode.EncryptionAlgorithm = "AES256"
$nwConnectionProperties.IpSecConfiguration.MainMode.SALifeTimeSeconds = 28800
$nwConnectionProperties.IpSecConfiguration.MainMode.SALifeTimeKiloBytes = 2000

# L3 specific configuration (leave blank for IPSec)
$nwConnectionProperties.IPAddresses = @()
$nwConnectionProperties.PeerIPAddresses = @()

# Update the IPv4 Routes that are reachable over the site-to-site VPN Tunnel
$nwConnectionProperties.Routes = @()
$ipv4Route = New-Object Microsoft.Windows.NetworkController.RouteInfo
$ipv4Route.DestinationPrefix = "<<On premise subnet that must be reachable over the VPN tunnel. Ex: 10.0.0.0/24>>"
$ipv4Route.metric = 10
$nwConnectionProperties.Routes += $ipv4Route

# Tunnel Destination (Remote Endpoint) Address
$nwConnectionProperties.DestinationIPAddress = "<<Public IP address of the On-Premise VPN gateway. Ex: 192.168.3.4>>"

# Add the new Network Connection for the tenant. Note that the virtual gateway must be created before creating the IPsec connection. $uri is the REST URI of your deployment and must be in the form of “https://<REST URI>”
New-NetworkControllerVirtualGatewayNetworkConnection -ConnectionUri $uri -VirtualGatewayId $virtualGW.ResourceId -ResourceId "Contoso_IPSecGW" -Properties $nwConnectionProperties -Force

測試結果

我們已在測試實驗室中為 SDN 閘道完成大量效能測試。 在測試中,我們已比較 SDN 案例和非 SDN 案例中 Windows Server 2019 的閘道網路效能。 您可以在 這裡的 blog 文章中找到結果和測試設定詳細資料。