Windows Server Load balancer technology Overview

Source: Internet
Author: User
Tags dedicated ip

The network load balancing service is available on Windows 2000 Advanced Server and Windows 2000 data center server operating system. Network Load Balancing improves the availability and scalability of Internet server programs used on servers such as Web servers, FTP servers, and other key task servers. A single computer running Windows 2000 can provide limited levels of server reliability and scalability. However, by connecting two or more hosts running Windows 2000 Advanced servers into a cluster, network load balancing can provide the reliability and performance required by the mission-critical server.

Each host runs an independent copy of a required server program, such as a Web, FTP, Telnet, or e-mail server program. For some services, such as those running on Web servers, a copy of the program runs on all hosts in the cluster, network Load Balancing distributes workloads among these hosts. For other services such as e-mail, only one host processes the workload. For these services, the network load balancing allows the network traffic to flow to one host, when the host fails, the communication volume is moved to another host.

Network Load Balancing Configuration Overview
Network load balancing is a network driver for Windows 2000. Its operations are transparent to TCP/IP network stacks.

To ensure optimal network performance, network load balancing usually uses a network adapter to handle customer-to-cluster traffic, while other network traffic to the server is through a separate network adapter. However, the second network adapter is not required.

Database Access from Server Load balancer Application
Some server programs need to access the database updated by customer requests. When the loads of these programs are evenly distributed in the cluster, the related updates should be synchronized. Each host uses a local and independent database copy, and the database can be integrated offline when necessary. Another method is that the cluster host can share access to an independent network database server. You can also use these methods in combination. For example, static Web pages can be copied across all cluster servers to ensure fast access and comprehensive fault tolerance. However, database access requests will be forwarded to the public database servers for Update Processing on multiple Web servers.
Some critical task programs may need to use highly available database engines to ensure full fault tolerance. Gradually, database software with cluster recognition capabilities will be deployed to provide highly available and scalable database access throughout the cluster mode. Microsoft SQL Server is an example. It can be deployed in dual-node mode using the cluster service function. The cluster service ensures that when a node fails, the remaining node will assume the responsibility of the faulty computer, so that it can provide nearly continuous services to Microsoft SQL Server customers. Because the two computers share a public disk subsystem, the above functions can be implemented.

Note
It is important to compare and select between the following two cluster solutions through discussion. First, the network load balancing is mainly to allocate the Incoming Transmission Control Protocol/Internet Protocol TCP/IP) communication volume; the computers that join this solution form a cluster. Solution 2: cluster services mainly provide fault emergency services from one computer to another. Computers that join this solution form another cluster. Network Load Balancing clusters usually run Web server programs. Cluster services usually run database programs (when used together with network load balancing ). By connecting the two clusters to play a complementary role, you have created a comprehensive cluster solution.

How network load balancing works
Network Load Balancing provides high availability and scalability for Web servers that work together and use two or more host clusters. Internet customers use a single IP address (or a group of addresses of multiple master hosts) to access the cluster. Customers cannot separate a single server from a cluster. Server programs cannot recognize that they are running in a group. However, because the network load balancing cluster can still provide uninterrupted services even if the cluster host fails, it is very different from a single host running a single server program. Compared with a single host, a cluster can quickly respond to customer needs.

Network Load Balancing provides high availability by re-specifying the network communication volume to other working cluster hosts when the host fails or is offline. Although the existing connection to the offline host is lost, the Internet service is still available. In most cases (for example, for Web servers), the customer's software will automatically retry a faulty connection, and the customer will receive a response only a few seconds later.

Network Load Balancing provides scalability by allocating the introduced network traffic among one or more virtual IP addresses in the cluster. The hosts in the cluster then respond to different customer requests, even multiple requests from the same customer. For example, a Web browser may obtain multiple mappings between different hosts in a cluster on a single Web page. This accelerates the processing process and shortens the response time to the customer.

Network Load Balancing allows all cluster hosts on a sub-network to detect the incoming network traffic for the primary IP address of the cluster and the additional IP addresses on multiple master hosts. On each cluster host, the network load balancing driver acts as a filter between the cluster Adapter driver and the TCP/IP stack, in this way, the host can receive part of the introduced network traffic.

Network Load Balancing uses a distributed algorithm to map the introduced customers to cluster hosts Based on IP addresses, ports, and other information. When checking the received data packet, all hosts synchronously execute this ing to quickly decide which host should process the data packet. The ing remains unchanged unless the number of cluster hosts changes. The network load balancing filtering algorithm is much more efficient in data packet processing programs than in centralized load balancing programs, and this must modify and resend data packets. This enables network load balancing to provide a much higher aggregation bandwidth. By running directly on a cluster host, the performance of network load balancing is not limited by a certain generation of processors or network technology.

Distribution of cluster traffic
Network load balancing controls the distribution of TCP and User Datagram Protocol UDP traffic from Internet customers to the selected hosts in the cluster. The procedure is as follows: After network load balancing is configured, A customer request for introducing a cluster IP address is received by all hosts in the cluster. Network Load Balancing filters the datagram before it reaches the TCP/IP protocol software to specify the TCP and UDP ports. Network Load Balancing only manages the TCP and UDP protocols in TCP/IP, and controls their activities by port.

In addition to the TCP and UDP traffic to the specified port, network load balancing does not control any incoming IP traffic. Server Load balancer does not filter packet Protocol (ICMP), group member protocol (IGMP), Address Resolution Protocol (ARP), or other IP protocols. All these traffic is transmitted to the TCP/IP protocol software on all hosts in the cluster without modification. With the stability of TCP/IP and its ability to process repeated data packets, other protocols can run correctly in the cluster environment. However, when using the cluster IP address, you may expect repeated responses from a specific point-to-point TCP/IP program (such as ping. These programs can avoid this situation by using a dedicated IP address for each host.

Centralized convergence
Network Load Balancing hosts coordinate their activities by regularly exchanging multicast or broadcast messages within the cluster. This allows them to monitor the status of the cluster. When the status of the cluster changes (such as host failure, disconnection, or addition to the cluster), the Network Load balancer calls a process called centralized convergence. During this process, messages are exchanged between hosts to determine a new and continuous cluster status, and a host with the highest priority is elected as the new default host. When all the hosts in the cluster reach an agreement on the new cluster status, they will log the event of centralized convergence to Windows 2000.

During the centralized convergence period, the host will continue to process the incoming network traffic unless the faulty host does not receive the service. The customer's requests to the work host are not affected. When the centralized convergence is complete, the communication volume of the faulty host is re-allocated to the remaining host. The communication volume of Server Load balancer will be allocated among the remaining hosts to achieve the maximum possible load balancing between specific TCP or UDP ports. If a host is added to a cluster, centralized convergence allows the host to take over the tasks that process ports and give it the highest priority. At the same time, centralized convergence will also allocate the host to the Server Load balancer's traffic share. Cluster Expansion does not affect ongoing cluster operations, and ensures that it is transparent to Internet customers and server programs. However, when customer similarity is selected, cluster expansion will affect customer traffic that spans multiple TCP connections, this is mainly because the customer may be mapped to different cluster hosts during the connection.

Network Load Balancing assumes that as long as the host participates in the normal message exchange between cluster hosts, it is in the normal operation status in the cluster. If other hosts do not receive a response to message exchange during several periods, they initiate a centralized convergence operation to re-allocate the load previously undertaken by the faulty host. You can control the message exchange cycle and the number of communication omissions used to start the centralized convergence operation. The default values of the two are 1000 milliseconds (1 second) and 5 times respectively. Because these parameters are not often modified, they cannot be set in the "Network Load Balancing properties" dialog box. If necessary, these parameters can be adjusted manually in the system registry.


Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.