Windows Server 2019 SDN网关性能介绍

文章目录

    • Windows Server 2019 SDN网关性能大幅提升
    • GRE连接如何获取最高性能
    • IPsec连接获取最佳性能方法
    • 如何获得最佳性能
    • 具有最佳安全算法的 IPsec 连接的 REST 代码
    • 推荐阅读

在 Windows Server 2016 中,SDN 网关无法满足现代网络的吞吐量要求。

Windows Server 2019 SDN网关性能大幅提升

IPsec 和 GRE 隧道的网络吞吐量存在限制,IPsec 连接的单连接吞吐量约为 300 Mbps,GRE 连接的吞吐量约为 2.5 Gbps。
Microsoft 在 Windows Server 2019 中,将SDN网关的IPsec 和 GRE 连接的吞吐量分别提升至 1.8 Gbps 和 15 Gbps。 同时,每字节的 CPU 周期大大减少,从而提供了超高性能吞吐量,并且 CPU 占用率也大大降低。
Windows Server 2019 SDN network throughput is about 1.8 Gbps for 1 tunnel and about 5 Gbps for 8 tunnels
Windows Server 2019 SDN网关性能介绍_第1张图片
Network throughput for GRE tunnels in Windows Server 2019 without SDN varies from 2 to 5 Gbps, with SDN it leapfrogs to the range of 3 to 15 Gbps!!!
Windows Server 2019 SDN网关性能介绍_第2张图片
测试数据参考:Top 10 Networking Features in Windows Server 2019: #6 High Performance SDN Gateways

GRE连接如何获取最高性能

对于 GRE 连接,在网关 VM 上部署/升级到 Windows Server 2019 版本后,会自动改进性能。 不需要手动执行任何步骤。

IPsec连接获取最佳性能方法

对于 IPsec 连接,在为虚拟网络创建连接时,默认配置是 Windows Server 2016 数据路径和性能数据。若要在2019环境下提升性能,需要做如下操作:

  1. 在 SDN 网关 VM 上,转到“服务”控制台 (services.msc)。
  2. 找到名为“Azure 网关服务”的服务,并将启动类型设置为“自动”。
  3. 重启网关 VM。 此网关上的活动连接将故障转移到冗余的网关 VM。
  4. 对其余的网关 VM 重复上述步骤。

如何获得最佳性能

为了获得最佳性能,请确保 IPsec 连接的 quickMode 设置中的 cipherTransformationConstant 和 authenticationTransformConstant 使用 GCMAES256 密码套件。

为了获得最佳性能,网关主机硬件必须支持 AES-NI 和 PCLMULQDQ CPU 指令集。 Westmere (32nm) 及更高版本的所有 Intel CPU 上都提供了这些指令集,但已禁用了 AES-NI 的型号除外。

具有最佳安全算法的 IPsec 连接的 REST 代码

具有最佳安全算法的 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 = "<>"
$ipv4Route.metric = 10
$nwConnectionProperties.Routes += $ipv4Route

# Tunnel Destination (Remote Endpoint) Address
$nwConnectionProperties.DestinationIPAddress = "<>"

# 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://
New-NetworkControllerVirtualGatewayNetworkConnection -ConnectionUri $uri -VirtualGatewayId $virtualGW.ResourceId -ResourceId "Contoso_IPSecGW" -Properties $nwConnectionProperties -Force

推荐阅读

  • NTP(Network Time Protocol)协议详解
  • 什么是 Windows 时间服务?
  • Ubuntu快速搭建内网NTP Server
  • Windows 11 的云端备份让电脑更换如手机更换一样方便
  • 解放双手,Windows Admin Center简化服务器管理
  • 一文了解Wi-Fi 7有哪些新的特性
  • 会话结束原因:tcp-rst-from-server 常见原因分析和解决办法

你可能感兴趣的:(系统运维管理,windows,SDN,网关,Windows,2019)