Dela via


Prestanda för SDN-gateway

I Windows Server 2016 var en av kundernas problem SDN-gatewayens oförmåga att uppfylla dataflödeskraven för moderna nätverk. Nätverkets dataflöde för IPsec- och GRE-tunnlar hade begränsningar med ett enda anslutningsdataflöde för IPsec-anslutningar på cirka 300 Mbit/s och för GRE-anslutningar på cirka 2,5 Gbit/s.

Från och med Windows Server 2019 har vi avsevärt förbättrat SDN-gatewayens prestanda, där siffrorna ökar till 1,8 Gbit/s respektive 15 Gbit/s för IPsec- respektive GRE-anslutningar. Allt detta, med betydande minskningar av CPU-cyklerna/per byte, vilket ger ultrahögt prestandagenomflöde med mycket mindre CPU-användning.

Aktivera höga prestanda med gatewayer

När du distribuerar/uppgraderar till Windows Server 2019-versioner på de virtuella gatewaydatorerna för GRE-anslutningar bör du automatiskt se den förbättrade prestandan. Inga manuella steg ingår.

För IPsec-anslutningar får du som standard datasökvägen och prestandanumren för Windows Server 2016 när du skapar anslutningen för dina virtuella nätverk. Gör följande för att aktivera Windows Server 2019-dataflödet:

  1. På en virtuell SDN-gateway går du till Tjänstekonsolen (services.msc).
  2. Leta upp tjänsten med namnet Azure Gateway Service och ställ in starttypen på Automatisk.
  3. Starta om gateway-VM:en. Aktiva anslutningar på den här gatewayen flyttas över till en redundant gateway-VM.
  4. Upprepa föregående steg för resten av de virtuella gatewaydatorerna.

Följande krav måste uppfyllas för att IPsec-anslutningar med höga prestanda ska fungera:

  • Nätverksadressen Translation-Traversal (NAT-T) ska vara aktiverad på din lokala gateway. När du aktiverar IPsec-anslutningar med höga prestanda konfigurerar SDN-gatewayen en NAT-regel. Därför måste du även aktivera NAT-T på din lokala gateway.
  • Den lokala gatewayen bör tillåta UDP-paket (User Datagram Protocol) på portarna 500 och 4500 och protokoll 50 och 51.

Tip

För bästa prestandaresultat kontrollerar du att chiffertransformationConstant och authenticationTransformConstant i quickMode-inställningarna för IPsec-anslutningen använder GCMAES256 chiffersviten.

För maximal prestanda måste gateway-värdmaskinvaran ha stöd för AES-NI- och PCLMULQDQ CPU-instruktionsuppsättningar. Dessa är tillgängliga på alla Westmere (32nm) och senare Intel CPU förutom på modeller där AES-NI har inaktiverats. Du kan titta på dokumentationen för maskinvaruleverantören för att se om processorn stöder AES-NI- och PCLMULQDQ CPU-instruktionsuppsättningar.

Nedan visas ett REST-exempel på IPsec-anslutning med optimala säkerhetsalgoritmer:

# 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

Testresultat

Vi har gjort omfattande prestandatester för SDN-gatewayerna i våra testlabb. I testerna har vi jämfört gatewaynätverksprestanda med Windows Server 2019 i SDN-scenarier och icke-SDN-scenarier. Du hittar information om resultat och testkonfiguration som finns i bloggartikeln här.