Performa gateway SDN

Berlaku untuk: Windows Server 2022, Windows Server 2019, Azure Stack HCI, versi 22H2 dan 21H2

Di Windows Server 2016, salah satu kekhawatiran pelanggan adalah ketidakmampuan gateway SDN untuk memenuhi persyaratan throughput jaringan modern. Throughput jaringan terowongan IPsec dan GRE memiliki batasan dengan throughput koneksi tunggal untuk konektivitas IPsec sekitar 300 Mbps dan untuk konektivitas GRE sekitar 2,5 Gbps.

Dimulai dengan Windows Server 2019, kami telah secara signifikan meningkatkan performa gateway SDN, dengan angka-angkanya masing-masing melambung hingga 1,8 Gbps dan 15 Gbps untuk koneksi IPsec dan GRE. Semua ini, dengan pengurangan signifikan dalam siklus CPU/per byte, sehingga memberikan throughput performa ultra-tinggi dengan pemanfaatan CPU yang jauh lebih sedikit.

Mengaktifkan performa tinggi dengan gateway

Untuk koneksi GRE, setelah Anda menyebarkan/meningkatkan ke build Windows Server 2019 pada VM gateway, Anda akan secara otomatis melihat performa yang ditingkatkan. Tidak ada langkah manual yang terlibat.

Untuk koneksi IPsec, secara default, saat Anda membuat koneksi untuk jaringan virtual, Anda mendapatkan jalur data Windows Server 2016 dan nomor performa. Untuk mengaktifkan jalur data Windows Server 2019, lakukan hal berikut:

  1. Pada VM gateway SDN, buka Konsol layanan (services.msc).
  2. Temukan layanan bernama Azure Gateway Service, dan atur jenis startup ke Otomatis.
  3. Mulai ulang VM gateway. Koneksi aktif pada failover gateway ini ke VM gateway yang berlebihan.
  4. Ulangi langkah-langkah sebelumnya untuk sisa VM gateway.

Persyaratan berikut harus dipenuhi agar koneksi IPsec berkinerja tinggi berfungsi:

  • Network Address Translation-Traversal (NAT-T) harus diaktifkan di gateway lokal Anda. Saat mengaktifkan koneksi IPsec performa tinggi, gateway SDN mengonfigurasi aturan NAT, oleh karena itu Anda juga perlu mengaktifkan NAT-T di gateway lokal Anda.
  • Gateway lokal harus mengizinkan paket Protokol Datagram Pengguna (UDP) pada port 500 dan 4500 dan protokol 50 dan 51.

Tip

Untuk hasil performa terbaik, pastikan bahwa cipherTransformationConstant dan authenticationTransformConstant dalam pengaturan quickMode koneksi IPsec menggunakan rangkaian sandi GCMAES256 .

Untuk performa maksimum, perangkat keras host gateway harus mendukung set instruksi CPU AES-NI dan PCLMULQDQ. Ini tersedia di Westmere (32nm) dan CPU Intel yang lebih baru kecuali pada model di mana AES-NI telah dinonaktifkan. Anda dapat melihat dokumentasi vendor perangkat keras Anda untuk melihat apakah CPU mendukung set instruksi CPU AES-NI dan PCLMULQDQ.

Di bawah ini adalah sampel REST koneksi IPsec dengan algoritma keamanan yang optimal:

# 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

Hasil Pengujian

Kami telah melakukan pengujian performa ekstensif untuk gateway SDN di lab pengujian kami. Dalam pengujian, kami telah membandingkan performa jaringan gateway dengan Windows Server 2019 dalam skenario SDN dan skenario non-SDN. Anda dapat menemukan hasil dan detail penyiapan pengujian yang diambil dalam artikel blog di sini.