Differences between Winwods NLB unicast and Multicast
Windows NLB (network load balancing) is a load balancing technology that Microsoft has provided on Windows 2000 Server. NLB uses a distribution algorithm to distribute Server Load balancer across multiple hosts to improve IP-based key services (such as Web, virtual private network, streaming media, Terminal Services, and proxies) scalability and availability, while detecting host faults and automatically allocating traffic to other operating hosts to provide high availability. Windows NLB has two modes: unicast and multicast. The two modes have different principles. 1. In unicast mode, the NLB service will re-assign a MAC address (This MAC address is called the cluster MAC address) to enable the NLB Nic on each node ), all NLB nodes use the same MAC address (both use the cluster MAC address), and NLB modifies the source MAC address in all sent packets, as a result, the vswitch cannot bind the cluster MAC address to a port. NLB working in Unicast mode can run normally in all network environments (best compatibility); 2. In multicast mode, NLB does not modify the MAC address of the NLB node's network adapter that enables NLB. Instead, it allocates a layer-2 multicast MAC address for NLB communication (This MAC address is called the cluster MAC address ), in this way, NLB nodes can communicate with each other through their original private IP addresses. Ii. Case Analysis the following uses a recent actual case to explain the differences between the two modes: the customer needs to perform network transformation recently, but a Windows NLB cluster cannot be used after the transformation. On-site inspection: the cluster was originally used in multicast mode. The original L2 Switch was changed to a l3 switch in network transformation. Through the characteristics analysis of the multicast mode, the multicast mode uses the multicast MAC address for NLB communication, so that a multicast MAC address corresponds to a non-multicast IP address (cluster IP address) this is a situation where a layer-3 Switch and vro are not supported. To solve this problem, you can manually add static data of multicast MAC corresponding to the cluster IP address on the vro or vswitch. However, after customer verification, the layer-3 switch after network transformation does not support adding static data, so the only solution can only switch the multicast mode to the unicast mode. After manually switching the NLB cluster to unicast mode, the cluster IP address cannot be pinged, the Server Load balancer manager cannot connect to the management, and the website hosted by the cluster cannot be accessed. This may occur because the cluster IP address cannot be found. View the NIC attributes of each node in the cluster. It is found that the NIC with Server Load balancer enabled only has its own IP address, and the cluster IP address is not added successfully, for example, if you manually add a cluster IP address in the TCP/IP advanced options, the cluster will return to normal and load balancing will also work properly. Iii. Problems and Solutions of the two models through this case and the characteristics of unicast and multicast, we can find the following problems: unicast: 1. Because the cluster MAC address used by NLB is not bound to a specific switch port, all NLB communication is broadcast on all ports of the switch, in this case, the switch is flooded. You can add all NLB nodes to a VLAN to isolate broadcast. 2. Since all NLB nodes share the same MAC address, NLB nodes cannot communicate with each other through their original private IP addresses. (Ping between nodes fails ). We can use dual NICs to solve the communication problem between nodes. One Nic is used to enable the Server Load balancer and one Nic is used for inter-node communication. Multicast: 1. In multicast mode, NLB nodes can communicate with each other through their own dedicated IP addresses, but the cluster IP address corresponds to a multicast MAC address, it may be rejected by a vro or some vswitches. You must add static data to the network device. 2. Because all ports of the vswitch use the actual IP address of each node and the MAC address for registration, the cluster uses multicast MAC, therefore, when the switch receives the cluster data packet, it finds that no port of the switch is the multicast MAC of the corresponding cluster, and all ports are still broadcast. This causes the switch to flood. The solution can also use VLAN as the unicast solution. In addition, you can also select IGMP multicast to solve the problem of switch flooding. However, the switch must support this function. We recommend that you use multicast mode if the NLB node server has only one Nic. If the NLB node server has multiple NICs or network devices (such as L2 switches and routers) the multicast mode is not supported. You can use the unicast mode.