SDN-Gateway-Leistung

Gilt für Windows Server 2022, Windows Server 2019, Azure Stack HCI, Version 22H2 und 21H2

Bei Windows Server 2016 wurde von Kunden beanstandet, dass das SDN-Gateway nicht in der Lage war, die Durchsatzanforderungen moderner Netzwerke zu erfüllen. Der Netzwerkdurchsatz von IPsec- und GRE-Tunneln war eingeschränkt: Der Durchsatz einer einzelnen Verbindung lag bei IPsec-Konnektivität bei etwa 300 MBit/s und bei GRE-Konnektivität bei etwa 2,5 GBit/s.

Ab Windows Server 2019 haben wir die SDN-Gateway-Leistung erheblich verbessert. Die Werte liegen jetzt bei 1,8 GBit/s für IPsec-Verbindungen bzw. bei 15 GBit/s für GRE-Verbindungen. Zusätzlich wurden die CPU-Zyklen pro Byte erheblich reduziert, was ultrahohen Durchsatz mit deutlich geringerer CPU-Auslastung ermöglicht.

Ermöglichen von hoher Leistung mit Gateways

Bei GRE-Verbindungen stehen die Leistungsverbesserungen automatisch zur Verfügung, nachdem Sie auf den virtuellen Gatewaycomputern Windows Server 2019 bereitgestellt bzw. ein entsprechendes Upgrade durchgeführt haben. Es sind keine manuellen Schritte erforderlich.

Bei IPsec-Verbindungen erhalten Sie standardmäßig den Datenpfad und die Leistungswerte von Windows Server 2016, wenn Sie die Verbindung für Ihre virtuellen Netzwerke erstellen. Gehen Sie wie folgt vor, um den Datenpfad von Windows Server 2019 zu aktivieren:

  1. Navigieren Sie auf einem virtuellen SDN-Gatewaycomputer zur Konsole Dienste (services.msc).
  2. Suchen Sie nach dem Dienst mit dem Namen Azure-Gatewaydienst, und legen Sie den Starttyp auf Automatisch fest.
  3. Starten Sie den virtuellen Gatewaycomputer neu. Für die aktiven Verbindungen dieses Gateways wird ein Failover auf einen redundanten virtuellen Gatewaycomputer ausgeführt.
  4. Wiederholen Sie die vorherigen Schritte für die restlichen virtuellen Gatewaycomputer.

Die folgenden Anforderungen müssen erfüllt sein, damit IPsec-Verbindungen mit hoher Leistung funktionieren:

  • Network Address Translation-Traversal (NAT-T) sollte auf Ihrem lokalen Gateway aktiviert sein. Wenn IPsec-Verbindungen mit hoher Leistung aktiviert werden, konfiguriert das SDN-Gateway eine NAT-Regel. Daher müssen Sie NAT-T auch auf Ihrem lokalen Gateway aktivieren.
  • Das lokale Gateway sollte UDP-Pakete (User Datagram Protocol) an den Ports 500 und 4500 und Protokoll 50 und 51 zulassen.

Tipp

Vergewissern Sie sich, dass „cipherTransformationConstant“ und „authenticationTransformConstant“ in den quickMode-Einstellungen der IPsec-Verbindung die Verschlüsselungssammlung GCMAES256 verwenden, um die bestmögliche Leistung zu erzielen.

Für maximale Leistung muss die Hardware des Gatewayhosts die CPU-Befehlssätze AES-NI und PCLMULQDQ unterstützen. Diese stehen ab Intel-CPUs vom Typ „Westmere“ (32 nm) zur Verfügung (außer bei Modellen, bei denen AES-NI deaktiviert wurde). Ob die CPU die CPU-Befehlssätze AES-NI und PCLMULQDQ unterstützt, erfahren Sie in der Dokumentation des Hardwareherstellers.

Im Anschluss finden Sie ein REST-Beispiel für eine IPsec-Verbindung mit optimalen Sicherheitsalgorithmen:

# 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

Testergebnisse

In unseren Testlaboren wurden umfangreiche Leistungstests für die SDN-Gateways durchgeführt. Dabei wurde die Leistung des Gatewaynetzwerks mit Windows Server 2019 in SDN-Szenarien und Nicht-SDN-Szenarien verglichen. Die Ergebnisse und Details zum Testsetup finden Sie in diesem Blogartikel.