Administrator Guide

31
Microsoft Network Load Balancing
Network Load Balancing (NLB) is a clustering functionality that is implemented by Microsoft on Windows 2000 Server and Windows
Server 2003 operating systems. NLB uses a distributed methodology or pattern to equally split and balance the network trac load
across a set of servers that are part of the cluster or group. NLB combines the servers into a single multicast group and attempts to
use the standard multicast IP or unicast IP addresses, and MAC addresses for the transmission of network trac. At the same time,
it also uses a single virtual IP address for all clients as the destination IP address, which enables servers to join the same multicast
group in a way that is transparent to the clients (the clients do not notice the addition of new servers to the group). The clients use a
cluster IP address to connect to the server. The NLB functionality enables ooding of trac over the VLAN ports (for unicast mode)
or a subset of ports in a VLAN (for multicast mode) to avoid overloading and eective performance of the servers for optimal
processing of data packets.
NLB functions in two modes, namely unicast mode and multicast mode. The cluster IP address and the associated cluster MAC
address are congured in the NLB application running on the Windows Server. In the unicast mode, when the server IP address is
attempted to be resolved to the MAC address using the ARP application, the switch determines whether the ARP reply, obtained
from the server, is of an NLB type. The switch then maps the IP address (cluster IP) with the MAC address (cluster MAC address).
In multicast mode, the cluster IP address is mapped to a cluster multicast MAC address that is congured using a static ARP CLI
conguration command. After the NLB entry is learned, the trac is forwarded to all the servers in the VLAN corresponding to the
cluster virtual IP address.
NLB Unicast Mode Scenario
Consider a sample topology in which four servers, namely S1 through S4, are congured as a cluster or a farm. This set of servers is
connected to a Layer 3 switch, which in turn is connected to the end-clients. The servers contain a single IP address (IP-cluster
address of 172.16.2.20) and a single unicast MAC address (MAC-Cluster address of 00-bf-ac-10-00-01) for load-balancing. Because
multiple ports of a switch cannot learn a single MAC address, the servers are assigned with MAC addresseses of MAC-s1 to MAC-
s4) respectively on S1 through S4 in addition to the MAC cluster address. All the servers of the cluster belong to the VLAN named
VLAN1.
In unicast NLB mode, the following sequence of events occurs:
The switch sends an ARP request to resolve the IP address to the cluster MAC address.
The ARP servers send an ARP response with the MAC cluster address in the ARP header and a MAC address of MAC-
s1/s2/s3/s4 (for servers S1 through S4) in the Ethernet header.
The switch associates the IP address with the MAC cluster address with the last ARP response it obtains. Assume that in this
case, the last ARP reply is obtained from MAC-s4.(assuming that the ARP response with MAC-s4 is received as the last one).
The interface associated with server, S4, is added to the ARP table.
With NLB feature enabled, after learning the NLB ARP entry, all the subsequent trac is ooded on all ports in VLAN1.
With NLB, the data frame is forwarded to all the servers for them to perform load-balancing.
NLB Multicast Mode Scenario
Consider a sample topology in which four servers, namely S1 through S4, are congured as a cluster or a farm. This set of servers is
connected to a Layer 3 switch, which in turn is connected to the end-clients. They contain a single multicast MAC address (MAC-
Cluster: 03-00-5E-11-11-11).
In the multicast NLB mode, a static ARP conguration command is congured to associate the cluster IP address with a multicast
cluster MAC address.
Microsoft Network Load Balancing
483