Network Load Balancing Overview
Applies To: Windows Server 2012 R2, Windows Server 2012
This topic provides an overview of the Network Load Balancing (NLB) feature. By managing two or more servers as a single virtual cluster, NLB enhances the availability and scalability of Internet server applications such as those used on web, FTP, firewall, proxy, virtual private network (VPN), and other mission-critical servers. This topic describes the NLB feature and provides links to additional guidance about creating, configuring, and managing NLB clusters.
Did you mean…
Maintaining Business Continuity of Virtualized Environments with Hyper-V Replica: scenario overview [Pillar Overview]
The Network Load Balancing (NLB) feature distributes traffic across several servers by using the TCP/IP networking protocol. By combining two or more computers that are running applications into a single virtual cluster, NLB provides reliability and performance for web servers and other mission-critical servers.
The servers in an NLB cluster are called hosts, and each host runs a separate copy of the server applications. NLB distributes incoming client requests across the hosts in the cluster. You can configure the load that is to be handled by each host. You can also add hosts dynamically to the cluster to handle increased load. NLB can also direct all traffic to a designated single host, which is called the default host.
NLB allows all of the computers in the cluster to be addressed by the same set of IP addresses, and it maintains a set of unique, dedicated IP addresses for each host. For load-balanced applications, when a host fails or goes offline, the load is automatically redistributed among the computers that are still operating. When it is ready, the offline computer can transparently rejoin the cluster and regain its share of the workload, which allows the other computers in the cluster to handle less traffic.
NLB is useful for ensuring that stateless applications, such as web servers running Internet Information Services (IIS), are available with minimal downtime, and that they are scalable (by adding additional servers as the load increases). The following sections describe how NLB supports high availability, scalability, and manageability of the clustered servers that run these applications.
A high availability system reliably provides an acceptable level of service with minimal downtime. To provide high availability, NLB includes built-in features that can automatically:
Detect a cluster host that fails or goes offline, and then recover.
Balance the network load when hosts are added or removed.
Recover and redistribute the workload within ten seconds.
Scalability is the measure of how well a computer, service, or application can grow to meet increasing performance demands. For NLB clusters, scalability is the ability to incrementally add one or more systems to an existing cluster when the overall load of the cluster exceeds its capabilities. To support scalability, you can do the following with NLB:
Balance load requests across the NLB cluster for individual TCP/IP services.
Support up to 32 computers in a single cluster.
Balance multiple server load requests (from the same client or from several clients) across multiple hosts in the cluster.
Add hosts to the NLB cluster as the load increases, without causing the cluster to fail.
Remove hosts from the cluster when the load decreases.
Enable high performance and low overhead through a fully pipelined implementation. Pipelining allows requests to be sent to the NLB cluster without waiting for a response to a previous request.
To support manageability, you can do the following with NLB:
Manage and configure multiple NLB clusters and the cluster hosts from a single computer by using NLB Manager or the NLB Windows PowerShell cmdlets.
Specify the load balancing behavior for a single IP port or group of ports by using port management rules.
Define different port rules for each website. If you use the same set of load-balanced servers for multiple applications or websites, port rules are based on the destination virtual IP address (using virtual clusters).
Direct all client requests to a single host by using optional, single-host rules. NLB routes client requests to a particular host that is running specific applications.
Block undesired network access to certain IP ports.
Enable Internet Group Management Protocol (IGMP) support on the cluster hosts to control switch port flooding (where incoming network packets are sent to all ports on the switch) when operating in multicast mode.
Start, stop, and control NLB actions remotely by using Windows PowerShell commands or scripts.
View the Windows Event Log to check NLB events. NLB logs all actions and cluster changes in the event log.
The NLB functionality in Windows Server 2012 R2 and Windows Server 2012 is generally the same as in Windows Server 2008 R2. However, some task details are changed. For information about new ways to do tasks, see Common Management Tasks and Navigation in Windows.
NLB is installed as a standard Windows networking driver component. Its operations are transparent to the TCP/IP networking stack. The following figure shows the relationship between NLB and other software components in a typical configuration:
The NLB features include the following:
Requires no hardware changes to run.
Provides Network Load Balancing Tools to configure and manage multiple clusters and all of the hosts from a single remote or local computer.
Enables clients to access the cluster by using a single, logical Internet name and virtual IP address, which is known as the cluster IP address (it retains individual names for each computer). NLB allows multiple virtual IP addresses for multihomed servers.
NLB does not require servers to be multihomed to have multiple virtual IP addresses in the case of virtual clusters.
Enables NLB to be bound to multiple network adapters, which enables you to configure multiple independent clusters on each host. Support for multiple network adapters differs from virtual clusters in that virtual clusters allow you to configure multiple clusters on a single network adapter.
Requires no modifications to server applications so that they can run in an NLB cluster.
Can be configured to automatically add a host to the cluster if that cluster host fails and is subsequently brought back online. The added host can start handling new server requests from clients.
Enables you to take computers offline for preventive maintenance without disturbing the cluster operations on the other hosts.
To run an NLB cluster, the following are hardware requirements:
All hosts in the cluster must reside on the same subnet.
There is no restriction on the number of network adapters on each host, and different hosts can have a different number of adapters.
Within each cluster, all network adapters must be either multicast or unicast. NLB does not support a mixed environment of multicast and unicast within a single cluster.
If you use the unicast mode, the network adapter that is used to handle client-to-cluster traffic must support changing its media access control (MAC) address.
To run an NLB cluster, the following are software requirements:
Only TCP/IP can be used on the adapter for which NLB is enabled on each host. Do not add any other protocols (for example, IPX) to this adapter.
The IP addresses of the servers in the cluster must be static.
NLB does not support Dynamic Host Configuration Protocol (DHCP). NLB disables DHCP on each interface that it configures.
Server Manager information
In Server Manager, use the Add Roles and Features Wizard to add the Network Load Balancing feature. Optionally you can install the Network Load Balancing Tools to manage a local or remote NLB cluster. The tools include Network Load Balancing Manager and the NLB Windows PowerShell cmdlets. For more information about installing features, see Install or Uninstall Roles, Role Services, or Features.
To open Network Load Balancing Manager in Server Manager, click Tools, and then click Network Load Balancing Manager.
The following table provides links to additional information about the NLB feature that is available on the web.
Network Load Balancing Deployment Guide | Configuring Network Load Balancing with Terminal Services
Managing Network Load Balancing Clusters | Setting Network Load Balancing Parameters | Controlling Hosts on Network Load Balancing Clusters
Troubleshooting Network Load Balancing Clusters | NLB Cluster Events and Errors
Tools and settings
High Availability (Clustering) Forum | Failover Clustering and Network Load Balancing Team Blog
Web Server (IIS) | Application Server | NIC Teaming Overview