Our networks are getting bigger and more complex by the day, and the growing volume of traffic is way more than what a single network connection can sustain. Also, the load and pressure that comes from such high-traffic levels can cause a single connection to fail often.
As a network administrator, you’re constantly grappling with the question of how to make your network connections more resilient to handle this growing traffic.
Well, that’s where NIC teaming comes into play.
What is NIC teaming?
NIC teaming is based on the idea of Link Aggregation Group (LAG) that allows you to combine many network connections in parallel to overcome the problems that come with a single connection.
Specifically, NIC teaming allows you to group anywhere from one to 32 physical Ethernet network adapters into any number of software-based virtual network adapters.
When you connect many physical ports together to create a single high-bandwidth data path, the traffic and load is distributed among these connections. This increases traffic speed and gives a larger bandwidth than before. Also, it provides redundancy if any single connection fails, so fault tolerance for your network goes up by a few notches.
Due to these advantages, the overall reliability of a connection is greatly strengthened and at the same time, it reduces the possibility for connectivity loss even when one of the network components fail.
No wonder then that NIC teaming is also called Microsoft Load Balancing and Failover (LBFO) and it’s an important feature in Windows Server 2012. Since it’s built into Windows Server 2012’s operating system, configuring and managing it is super easy when you use this server.
Reasons to use NIC teaming
Besides load balancing, performance improvement, and redundancy, there are also other reasons to choose NIC teaming, especially if you’re using Windows Server 2012.
Support for Windows 2012
Windows Server 2012 offers built-in support for NIC teaming. If you’re using any of the previous versions, you’ll have to buy network adapters from vendor-specific companies like Intel. The installation process is also fairly tedious, as is the management.
In Windows 2012, the component you need to create and manage NIC teaming is built-in as a part of the operating system, so you’re work is minimal. (You can find information on NIC teaming in Windows Server 2016 here.)
Vendor neutral adapters
As mentioned before, you have to buy vendor-specific adapters for versions prior to Windows 2012. It also means you can’t mix NICs from different manufacturers.
As you can imagine, this sure creates many problems for network administrators. What happens when the original NIC is not available or is hard to find? You’ll have to buy a new NIC that may or may not be compatible with the others. With such complex compatibility issues, setting up NIC teaming can be an uphill task.
With Windows 2012, you can simply mix and match NICs from any manufacturer, as long as that NIC is supported by the operating system. If you’re particular about using a manufacturer-specific NIC that’s not supported by the OS, you can use a driver that works well with Windows 2012. The Windows 2012 OS though is designed in such a way that it supports most modern NICs.
In general, stick with the same NIC manufacturer as much as possible, so you can use the same set of drivers. Otherwise, management can get a little cumbersome.
GUI and PowerShell
GUI or PowerShell - which can you use to configure NIC teaming?
Both, because again NIC teaming is built into Windows Server 2012.
So, if you prefer to configure with a user-friendly interface, go for GUI. On the other hand, if you’re more of a code person, feel free to use PowerShell to set up and manage NIC teaming. Both are equally easy and work the same, it just depends on what you want.
NIC teaming is compatible with almost all kinds of networking capabilities, except:
- Single root I/O virtualization
- Remote direct memory access
- TCP Chimney
Single root I/O virtualization and RDMA are not supported because data is delivered directly to the network adapter, which means the networking stack is not involved at all. As for TCP Chimney, it’s not supported because the entire stack is offloaded to NIC adapters.
So, these are some of the advantages you get when you want to set up NIC teaming in Windows Server 2012.
While setting up, there are some configuration aspects you should keep in mind, for example which mode is the most important. Let’s briefly walk through how to configure this option.
NIC teaming mode configurations
You can configure NIC teaming in two ways — switch dependent mode and switch independent mode.
Switch dependent mode
Switch dependent mode, as the name suggests, requires you to configure your network adapter, so it can participate in NIC teaming. You can do this configuration through either the Static Teaming method or through the Link Aggregation Control Protocol. Regardless of which method you choose, the adapters will work to their maximum capacity to give the highest possible speed to your network.
This mode interacts with all the three load balancing algorithms like this:
- Address hash: Inbound traffic is managed by the network switch whereas the outbound traffic is hashed and sent to all the adapters.
- Hyper-V port: This algorithm is most useful for servers with multiple virtual machines, none of which needs more bandwidth than a single network adapter. For load balancing, the network switch determines the incoming traffic while Hyper-V switch determines the load for outbound traffic.
- Dynamic: This is a new algorithm in Windows 2012 R2. This algorithm is deemed as the best one for switch dependent mode as it brings the best of both the worlds of address hash and Hyper-V port. The outbound traffic is hashed across the team members while the inbound traffic is handled like the Hyper-V mode.
Switch independent mode
In this mode, network switches don’t have to participate in the teaming process, so you don’t have to do any network switch configuration. At the same time, multiple network adapters can be connected to switches to provide redundancy and increased performance. Load balancing also works like charm and is fairly easy to deploy in this mode.
Let’s look at how switch dependent mode works with the three algorithms.
- Address hash: In this algorithm, outbound packet address components are used to create a hash that is distributed traffic across the entire network. However, inbound traffic is restricted to just one adapter for better control and management.
- Hyper-V port: Both the outbound and inbound traffic is handled by one of the active adapters of the virtual machine.
- Dynamic: In this mode, too, outbound traffic is handled using the address hash algorithm while the inbound traffic is handled using the Hyper-V port algorithm.
Which is better?
The switch independent mode gives you more flexibility because it works with any network switch. It means you can also use non-intelligent switches for NIC teaming because of how the outbound traffic is managed by Windows 2012. The obvious downside is all the inbound traffic is sent to only one switch and is not distributed across all the available active NICs. This is why the switch independent mode works well for FTP or web requests that tend to have heavy outbound traffic.
The switch dependent mode requires a little more work from your end, as you’ll have to configure both the switch and the mode to identify the links that form a single team. But the good news is you can either configure manually or use a LACP protocol for dynamic teaming.
The advantage with this mode is it equally distributes the outbound and inbound traffic because the entire bandwidth is seen as a single unit. This is why the switch dependent mode works well for requests that are heavy in both outbound and inbound traffic.
So, which is better? It depends on the nature of your traffic.
In short, NIC teaming greatly expands your bandwidth and helps you to make the most of network adapters. It makes the system more resilient and balanced, and improves the overall life and performance of your applications.
Have you tried NIC teaming? Please share your experience with us in the comments section.
Photo credit: Shutterstock