Microsoft has also purchased1 a technology that it renamed Network Load Balancing (NLB) that allows for efficient utilization of multiple network cards. MS NLB can be configured in unicast or in multicast mode2 where in multicast mode you can enable IGMP snooping.
MS NLB was introduced for the first time in Windows NT server to spread traffic over multiple hosts without the need for a hardware based load balancer, e.g. when you host a busy web-server application where a single host wouldn't be able to manage all the traffic. And in more recent applications it would be used in Windows clusters for Hyper-V or Microsoft SQL Server
In unicast mode MS NLB reassigns the stations MAC address (which applies to the clusters IP address) to a virtual MAC address and all NIC's in the NLB cluster use this same MAC address. This setup will cause all incoming traffic for the cluster to be flooded to all ports of the switch as unknown unicast frames:3 even to hosts that are not joining in the cluster. To keep flooding minimal you would need to use a dedicated VLAN for the cluster.
Another option is to make NLB in multicast mode. The unicast IPv4 address of the cluster is linked to a multicast MAC address. The hosts is in the cluster will never send traffic to the switch using this MAC address with the cluster IPv4 address so one would need to create a static ARP entry on the router (layer 3) in the attached network. Not all vendors will allow you to create an ARP entry where you use a unicast IP address and a multicast MAC address. Cisco publishes some examples how to set up MS NLB on Catalyst switches running IOS4 and these same examples can be used for switches from many other vendors. As with NLB in unicast mode: incoming traffic towards the cluster will be flooded to all ports in the switch/VLAN and not all vendors support this setup. To limit the flooding, MS NLB now supports IGMP which should lead to the switches learning which ports are actually using the multicast address,5 but it doesn't always lead to the desired result. For example, Dell PowerConnect multi-layer switches officially don't support MS NLB in multicast. Even though it does work, it will lead to high CPU utilization - affecting (other) traffic in the switch6 and on other switches one might have other limitations such that the switch to which the NLB NICs are connected can't be the same switch that does the IP routing.
When multiple servers are joined to create a cluster. Clusters can use network load balancing whereby simultaneous cluster request are distributed between cluster servers.
Round-robin DNS records is one form of cluster load balancing. It works by creating multiple host records (usually A and/or AAAA) for one machine. As clients make requests, DNS rotates through its list of records.
In addition to the before mentioned, to configure a terminal server cluster, one needs a load-balancing technology such as Network Load Balancing (NLB) or DNS round robin. A load balancing solution will distribute client connections to each of the terminal servers.
Terminal Server Session Directory is a feature that allows users to easily and automatically reconnect to a disconnected session in a load balanced Terminal Server farm. The session directory keeps a list of sessions indexed by username and server name. This enables a user, after disconnecting a session, to reconnect to the correct Terminal Server where the disconnected session resides in order to resume working in that session. This reconnection will work even if the user connects from a different client computer.
"Microsoft purchases clustering company | Windows Server content from Windows IT Pro". Archived from the original on 2017-03-05. Retrieved 2015-10-18. https://web.archive.org/web/20170305215305/http://windowsitpro.com/windows-server/microsoft-purchases-clustering-company ↩
TechNet Overview of NLB, visited 8 June 2013 https://technet.microsoft.com/en-us/library/cc725691.aspx ↩
VMware knowledge base: MS NLB in unicast and multicast mode, visited 8 May 2013 http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006580 ↩
Cisco: Catalyst configuration examples Archived 2014-01-31 at the Wayback Machine, visited 8 June 2013 http://www.cisco.com/en/US/products/hw/switches/ps708/products_configuration_example09186a0080a07203.shtml ↩
Microsoft Support knowledge base: KB283028: IGMP Snooping support on NLB, visited 8 June 2013 http://support.microsoft.com/kb/283028 ↩
Dell Tech Communities:Trying to limit switch flooding from a Microsoft Windows Network Load Balacing (NLB) Archived 2013-10-05 at the Wayback Machine, February 2012. Visited: 8 June 2013 http://en.community.dell.com/support-forums/network-switches/f/866/p/19435793/20091643.aspx ↩