The term load balancing refers to distribution of a request to more than one resource to increase reliability and efficiency. Network load balancing service also serves the same purpose by forming clusters of computers and implementing load balancing through the cluster. Since the request gets distributed over a number of computers, the system as a whole performs better than one stand alone system.
Network Load Balancing Definitions: What is a Cluster
A computer cluster is a group of more than one computer, that have been linked together to perform as one single unit. This helps prevent one single point of failure. Also, having the resources distributed over more than one computer increases the efficiency of the system.
What is Load Balancing
Load balancing refers to assigning more than one resource to a request so as to eliminate any chance of failure of communication, or disruption in service. Other advantages include complete utilization of all resources (including those being used as backups), and improving the response time of a request.
The term load balancing in the field of computers is prefixed by several other terms. A few examples would be link load balancing, firewall load balancing, ethernet load balancing, DSL load balancing and several others.
NLB Servers (Network Load Balancing Servers)
An NLB server is an independent server responding to traffic modulations initiated by an NLBS (Network Load Balancing Service). Several copies of the same application may be run on different NLB servers. They do not share processing or memory resources but respond to a common NLBS.
Network Load Balancing Service (NLBS)
Network load balancing is a Microsoft service that enables the NLBS to manage the TCP / IP requests amongst a cluster of NLB servers. As mentioned above, all NLB servers do not share any physical resource, but run different copies of the load balanced applications and respond to an NLB service. The NLB service allows all servers in the cluster to be reached by a common network address.
The servers in the cluster do not share a common storage and work as independent units. These servers are governed by the NLBS. These network load balanced servers process the traffic requests as requested by the network load balancing service or the NLBS.
How Does Network Load Balancing Service Function
The network load balancing service is responsible to process requests made to it by diverting traffic to the NLB cluster. When a request is made, the NLB service uses a hashing algorithm to determine which server from the cluster will process the request.
The NLBS uses the hashing algorithm on the IP address of the node which has made the request and accordingly decides which server would process the request. All the servers of the cluster receive the packets of traffic, but only the one that has been assigned by the NLBS, will process the request.
The purpose of the service is to increase the reliability and performance. Hence, each server in the cluster sends a heartbeat message of 1500 bytes to all other servers of the cluster at regular pre decided intervals. When a server stops sending these messages, it is to be assumed that the resources on the server are exhausted by processing requests and it will be excluded from processing further requests.
Advantages of Using Network Load balancing Service
The network load balancing service provided by Microsoft helps increase the performance of servers and enhances their reliability and availability. No separate hardware is required to deploy this service and the network load balancing manager serves as the single point of management of this service and the cluster associated with it.
Sources:
- Network Load Balancing Technical Overview from Microsoft
- Network Load Balancing by Jonathan Held