Chapter 1. Network Load Balancing Software and the Ethernet

The Network Load Balancing Software lets you consolidate as many as 40 Ethernet ports into a single IP address, and balance the load on the ports.

This chapter consists of these sections:

Network Load Balancing Software Features

The Network Load Balancing Software acts as a virtual network device, with its own IP address.

You associate real devices—the actual Ethernet ports—with the Network Load Balancing Software; instead of using and advertising the ports' IP addresses, you use the Network Load Balancing Software's IP address. The Network Load Balancing Software and its ports look like a single device to the clients.

The method of assigning a single IP address to a group of Ethernet devices is to collect the Ethernets under a new network device, the load-balancing device. Each Ethernet device must have its own IP address, and this address cannot be identical to that of any other network device on the system. Only the IP address of the load-balancing device is advertised, typically through the name assigned to the IP address; the IP addresses of the individual Ethernets are not.

Besides offering the efficiency of a single IP address for several ports, the Network Load Balancing Software automatically optimizes load sharing:

  • The Network Load Balancing Software distributes outbound packets on a per-connection basis. (Packets with the same source and destination IP addresses and port numbers are considered to belong to the same connection.) It guarantees that all packets for a single connection are sent out on the same Ethernet device.

  • The Network Load Balancing Software balances input on a per-client basis. Input balancing is dynamic and requires no special configuration.

    Each client is given a MAC address to use for the IP address belonging to the load-balancing device. The clients do not all have the same IP-to-MAC address mapping; thus they send all of the packets they transmit to the MAC address they were given without regard to connection.

You can adjust parameters to fine-tune the load balancing; this process is explained in Chapter 3, “Performance Tuning.”

The Network Load Balancing Software can detect link failure and can reconfigure the load-balancing device in real time to adapt for the failed link. The software can detect interface and cable failure between the server and the switch; it automatically redirects inbound and outbound traffic to an active adapter port, thus eliminating a single point of network failure.

Compatibility

This section discusses compatibility in the following subsections:

The Network Load Balancing Software provides IP alias support and dynamic session shifting. As you can with any network device, you can set up aliases for the Network Load Balancing Software; follow instructions in the latest version of IRIX Admin: Networking and Mail. However, you cannot assign aliases to the physical devices.

Supported Platforms

The Network Load Balancing Software runs on the following Silicon Graphics systems:

  • Challenge DM, L, and XL system with at least one two-port Fast Ethernet VME adapter board installed

  • Origin200 system with up to three PCI Fast Ethernet adapter boards per module

  • Origin200 GIGAchannel two-module system with two Gigabit Ethernet PCI adapter boards or with up to five 4-port XIO Fast Ethernet adapter boards

  • Origin2000 or Onyx2 system with up to six 4-port Fast Ethernet adapter boards per module, or with two to six Gigabit Ethernet adapter boards per module

In addition, the Network Load Balancing Software is interoperable with OCTANE, O2, Indy, Indigo2, and any other client that supports gratuitous ARP.

Supported Switches and Ethernets

The Network Load Balancing Software supports load distribution and bandwidth aggregation for mixed IP traffic, that is, multiple connections, or connections to multiple hosts.

A network switch is required as an interface between the client Ethernet ports and the host system running the Network Load Balancing Software. The Ethernets used with the load-balancing device must be connected to a Layer 2 switch and must be on the same virtual local area network (VLAN). There are no additional requirements for the switch, nor are there any requirements for any other systems connected to the switch to send packets to the load-balancing device. No special switch configuration is required for Layer 2 devices.

The software is compatible with Ethernet 10-Base-T, 100-Base-T, and gigabit Ethernet. The Network Load Balancing Software supports 2 to 40 Ethernet ports per subnet, and 1 to 20 load-balancing devices per system, assuming two ports minimum per group. Appendix A, “Validated Ethernet Switches,” summarizes Ethernet switches with which the Network Load Balancing Software has been validated.


Note: No speed information is made available by the Ethernet driver, so the device does not distinguish between 10-Base-T, 100-Base-T, and gigabit Ethernet. Because the load-balancing device does not take maximum line bandwidth into account (that is, bandwidth differences between attached devices), mixing 10-Base-T, 100-Base-T, and gigabit Ethernet might not give the expected results.

Figure 1-1 diagrams an example of Network Load Balancing Software and switch topology.

Figure 1-1. Network Load Balancing Software Example



Note: For more information on networks on Silicon Graphics systems, see the latest version of IRIX Admin: Networking and Mail.


Network Load Balancing Driver and System Resources

The Network Load Balancing driver includes the subsystems summarized in Table 1-1

Table 1-1. Network Load Balancing Software Subsystems

Subsystem

Description

Approximate Size (512-Byte Blocks)

nlb_eoe.sw.nlb

Network Load Balancing driver software

116

nlb_eoe.man.nlb

Man pages

12

nlb_eoe.man.relnotes

Release notes

32

The Network Load Balancing software places an additional memory usage load of 40 bytes per client on the kernel: each client communicating with the server via the server's load-balancing interface causes the server to allocate 40 bytes of memory. This amount remains allocated as long as the route entry exists. When the client is no longer sending packets, the route entry is eventually removed due to an ARP entry expiration.

The worst-case cost of balancing the input load is three ARP packets (one request, one reply, and one gratuitous request) per balance period. By default, this period is one second, so the cost for the default would be three packets per second. This overhead does not appear to have any measurable effect.