NLB Unicast vs. Multicast

Implementing Network Load Balancing (NLB) you must choose between unicast and multicast mode, there are a few differences, but the main difference is in the way MAC addresses are implemented.

Unicast - Each NLB cluster node replaces its real (hard coded) MAC address with a new one (generated by the NLB software) and each node in the NLB cluster uses the same (virtual) MAC. Because of this virtual MAC being used by multiple computers, a switch is not able to learn the port for the virtual NLB cluster MAC and is forced to send the packets destined for the NLB MAC to all ports of a switch to make sure packets get to the right destination

Multicast - NLB adds a layer 2 MAC address to the NIC of each node. Each NLB cluster node basically has two MAC addresses, its real one and its NLB generated address. With multicast, you can create static entries in the switch so that it sends the packets only to members of the NLB cluster. Mapping the address to the ports being used by the NLB cluster stops all ports from being flooded. Only the mapped ports will receive the packets for the NLB cluster instead of all ports in the switch. If you don't create the static entries, it will cause switch flooding just like in unicast.

In general, you should enable and use multicast NLB whenever possible. Use unicast mode only if your network equipment—switches and routers—don't support multicast or if they experience significant performance issues when multicast is enabled.
Tags:

About author

Vittorio Pavesi

3comments

  1. Anonymous
    2:06 PM

    Some link about NLB usage with Terminal Server:

    http://support.microsoft.com/?kbid=243523

    http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/clustering/nlbfaq.mspx

  2. Anonymous
    7:59 AM

    Thanks

  3. Anonymous
    9:03 AM

    Suggesting to use Multicast Seems wrong as per technet article below:

    http://technet.microsoft.com/en-us/library/cc782694(WS.10).aspx

    Which says:

    Select the unicast method for distributing client requests, unless only one network adapter is installed in each cluster host and the cluster hosts must communicate with each other. Because Network Load Balancing modifies the MAC address of all cluster hosts to be identical, cluster hosts cannot communicate directly with one another when using unicast. When peer-to-peer communication is required between cluster hosts, include an additional network adapter or select multicast mode. When the unicast method is inappropriate, select the multicast method.

Post a Comment