How to Set Up Windows Server 2016 Host Networking

Host networking in Windows Server 2016 refers to the configuration of the physical and virtual network infrastructure on Hyper-V hosts, including the Hyper-V virtual switch, NIC teaming, virtual network adapters, Quality of Service (QoS) policies, and RDMA (Remote Direct Memory Access) capabilities. Properly configured host networking is the foundation on which virtual machine networking, container networking, and SDN all depend. Getting it right ensures maximum throughput, low latency, high availability, and proper traffic isolation between management, VM, and storage networks.

Windows Server 2016 introduces several important improvements to host networking, including Switch Embedded Teaming (SET), which combines NIC teaming functionality directly into the Hyper-V extensible switch, and enhanced support for RDMA over Converged Ethernet (RoCE) and iWARP for high-performance storage networking.

Prerequisites

You need: Windows Server 2016 installed on the Hyper-V host, one or more physical NICs (10GbE or faster recommended for production), administrative PowerShell access, and an understanding of your network topology including VLAN assignments for management, VM, storage, and live migration traffic.

Step 1: Install the Hyper-V Role

If Hyper-V is not already installed, add it via PowerShell:

Install-WindowsFeature Hyper-V, RSAT-Hyper-V-Tools -IncludeManagementTools -Restart

Step 2: Configure Switch Embedded Teaming

Switch Embedded Teaming (SET) is the recommended NIC teaming approach in Windows Server 2016 with Hyper-V. Unlike traditional NIC teaming, SET is integrated into the Hyper-V virtual switch, allowing SR-IOV and RDMA to work simultaneously with teaming. Create a SET-enabled virtual switch using two physical adapters:

New-VMSwitch -Name "HostSwitch" -NetAdapterName @("NIC1","NIC2") -EnableEmbeddedTeaming $true -AllowManagementOS $true

Verify the switch was created with SET enabled:

Get-VMSwitch -Name "HostSwitch" | Select-Object EmbeddedTeamingEnabled, NetAdapterInterfaceDescriptions

Step 3: Create Host Virtual Network Adapters

Create multiple host vNICs (virtual NICs for the management OS) to separate traffic types. Best practice is to have dedicated vNICs for management, live migration, storage (SMB), and clustering:

Add-VMNetworkAdapter -ManagementOS -Name "Management" -SwitchName "HostSwitch"
Add-VMNetworkAdapter -ManagementOS -Name "LiveMigration" -SwitchName "HostSwitch"
Add-VMNetworkAdapter -ManagementOS -Name "SMB1" -SwitchName "HostSwitch"
Add-VMNetworkAdapter -ManagementOS -Name "SMB2" -SwitchName "HostSwitch"

Step 4: Assign VLANs to Host vNICs

Assign each vNIC to its appropriate VLAN to enforce traffic separation:

Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "Management" -Access -VlanId 100
Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "LiveMigration" -Access -VlanId 200
Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "SMB1" -Access -VlanId 300
Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "SMB2" -Access -VlanId 300

Step 5: Enable RDMA on Storage vNICs

For SMB Direct (RDMA-based SMB), enable RDMA on the storage virtual NICs. First verify hardware support:

Get-NetAdapterRdma

Enable RDMA on the SMB host vNICs:

Enable-NetAdapterRdma -Name "vEthernet (SMB1)"
Enable-NetAdapterRdma -Name "vEthernet (SMB2)"

Map each SMB vNIC to a specific physical adapter for predictable affinity, ensuring load is distributed across both physical NICs:

Set-VMNetworkAdapterTeamMapping -ManagementOS -VMNetworkAdapterName "SMB1" -PhysicalNetAdapterName "NIC1"
Set-VMNetworkAdapterTeamMapping -ManagementOS -VMNetworkAdapterName "SMB2" -PhysicalNetAdapterName "NIC2"

Step 6: Configure QoS Policies

Quality of Service ensures that critical traffic like live migration and cluster heartbeats get adequate bandwidth. Configure minimum bandwidth policies:

New-VMSwitchTeam -Name "HostSwitch"
Set-VMNetworkAdapter -ManagementOS -Name "LiveMigration" -MinimumBandwidthWeight 30
Set-VMNetworkAdapter -ManagementOS -Name "SMB1" -MinimumBandwidthWeight 30
Set-VMNetworkAdapter -ManagementOS -Name "SMB2" -MinimumBandwidthWeight 30

For DCB (Data Center Bridging) environments, configure priorities using NetQos policies:

New-NetQosPolicy -Name "SMB" -NetDirectPortMatchCondition 445 -PriorityValue8021Action 3
New-NetQosTrafficClass "SMB" -Priority 3 -BandwidthPercentage 50 -Algorithm ETS
Enable-NetQosFlowControl -Priority 3

Step 7: Verify Host Networking Configuration

Review the complete virtual switch and host vNIC configuration:

Get-VMSwitch | Format-List *
Get-VMNetworkAdapter -ManagementOS | Format-Table Name, SwitchName, IPAddresses, VlanSetting

Test network throughput between hosts using ntttcp or the built-in iPerf tools to validate the host networking is performing as expected. Proper host networking configuration in Windows Server 2016 forms the performance and reliability backbone for all virtual machine and container workloads running on Hyper-V.