Manual Chapter : BIG-IP Link Controller Reference Guide v4.3: Inbound Load Balancing

Applies To:

Show Versions Show Versions

Link Controller

  • 4.3 PTF-02, 4.3 PTF-01, 4.3.0
Manual Chapter


5

Inbound Load Balancing



Working with load balancing modes for inbound traffic

The Link Controller uses load balancing modes to distribute DNS name resolution requests, sent by local DNS servers, to the best available link and virtual server in the Link Controller configuration. This is known as inbound load balancing. This chapter first describes how inbound load balancing works on the Link Controller, explains the various static and dynamic load balancing modes, and then describes how to configure them.

Understanding inbound load balancing on the Link Controller

When the Link Controller receives a name resolution request from a local DNS server, the system uses a load balancing mode to select the best available link by evaluating the virtual servers in a wide IP pool. Once the Link Controller selects the best virtual server, it constructs the DNS answer and sends the answer back to the requesting client's local DNS server, using the best available link. The DNS answer, or resource record, is an A record that contains one or more virtual server IP addresses.

The Link Controller chooses a virtual server from a wide IP pool using either a static load balancing mode or a dynamic load balancing mode. A static load balancing mode selects a virtual server based on a pre-defined pattern. A dynamic load balancing mode selects a virtual server based on current performance metrics.

Inbound load balancing load balances the virtual servers within a pool. Within each pool, you specify two different load balancing modes that the system uses in sequential order: the preferred method or the alternate method The preferred method is the first load balancing mode that the Link Controller uses for load balancing. If the preferred method fails, the system then uses the alternate method for load balancing. If this load balancing mode fails, then the Link Controller randomly picks an available virtual server.

The Link Controller supports several modes for inbound load balancing. Table 5.1 shows a complete list of the modes and indicates where you can use each mode. The sections following the table describe how each load balancing mode works.

Inbound load balancing modes and usage

Load Balancing mode

Use for preferred method

Use for alternate method

Static mode

Dynamic mode

Completion Rate

X



X

Global Availability

X

X

X


Hops

X



X

Kilobytes/Second

X



X

Least Connections

X


X


Packet Rate

X

X


X

Quality of Service

X



X

Random

X

X

X


Ratio

X

X

X


Round Robin

X

X

X


Round Trip Time

X



X

Static Persist

X

X

X


VS Capacity

X

X


X

Static load balancing modes distribute connections across the network according to predefined patterns, and take server availability into account. Dynamic load balancing modes distribute connections to servers that show the best current performance. The performance metrics taken into account depend on the particular dynamic mode you are using.

Using static load balancing modes

The Link Controller supports the following static load balancing modes:

  • Global Availability
  • Random
  • Ratio
  • Round Robin
  • Static Persist

The static load balancing modes perform load balancing as described in the following sections.

Global Availability mode

The Global Availability load balancing mode uses the virtual servers included in the pool in the order in which they are listed. For each connection request, this mode starts at the top of the list and sends the connection to the first available virtual server in the list. Only when the current virtual server is full or otherwise unavailable does Global Availability mode move to the next virtual server in the list. Over time, the first virtual server in the list receives the most connections and the last virtual server in the list receives the least number of connections.

Random mode

The Random load balancing mode sends connections to virtual servers in a random, uniform distribution pattern. The Random mode is useful for certain test configurations.

Ratio mode

The Ratio load balancing mode distributes connections among a pool of virtual servers as a weighted Round Robin. For example, you can configure the Ratio mode to send twice as many connections to a T1 link, and only half as many connections to a DSL link.

The Ratio load balancing mode requires that you define a ratio weight for each virtual server in a pool. The default ratio weight for a server or a pool is set to 1. Figure 5.1 shows a sample connection distribution for Ratio mode.

Figure 5.1 Ratio mode

Round Robin mode

The Round Robin load balancing mode distributes connections in a circular and sequential pattern among the virtual servers in a pool. Over time, each virtual server receives an equal number of connections.

Figure 5.2 shows a sample of the connection distribution pattern for Round Robin mode.

Figure 5.2 Round Robin mode

Static Persist mode

The Static Persist load balancing mode provides static persistence of local DNS servers to virtual servers; it consistently maps an LDNS IP address to the same available virtual server for the duration of the session. This mode guarantees that certain transactions are routed through a single transaction manager (for example, a BIG-IP or other server array manager); this is beneficial for transaction-oriented traffic, such as e-commerce shopping carts, online trading, and online banking.

Using dynamic load balancing modes

All dynamic load balancing modes make load balancing decisions based on the metrics collected by the big3d agents running in each data center. The big3d agents collect the information at set intervals that you define when you set the global timer variables. If you want to use the dynamic load balancing modes, you must run one or more big3d agents in each of your data centers, to collect the required metrics.

The Link Controller supports the following dynamic load balancing modes:

  • Completion Rate
  • Hops
  • Kilobytes/Second
  • Least Connections
  • Packet Rate
  • Round Trip Times (RTT)
  • Quality of Service (QOS)
  • VS Capacity

Completion Rate mode

The Completion Rate load balancing mode selects the virtual server that currently maintains the least number of dropped or timed-out packets during a transaction between a Link Controller and the client LDNS.

Figure 5.3 shows a sample connection distribution pattern for the Completion Rate mode.

Figure 5.3 Completion Rate load balancing mode

Hops mode

The Hops load balancing mode is based on the traceroute utility, and tracks the number of intermediate system transitions (router hops) between a client LDNS and each Link Controller. Hops mode selects a virtual server in the data center that has the fewest router hops from the LDNS.

Kilobyte/Second mode

The Kilobytes/Second load balancing mode selects a virtual server that is currently processing the fewest number of kilobytes per second.

Least Connections mode

The Least Connections load balancing mode selects a virtual server on the Link Controller that currently hosts the fewest connections.

Packet Rate mode

The Packet Rate load balancing mode selects a virtual server that is currently processing the fewest number of packets per second.

Figure 5.4 shows a sample connection distribution for the Packet Rate mode.

Figure 5.4 Packet Rate mode

Round Trip Times mode

The Round Trip Times (RTT) load balancing mode selects the virtual server with the fastest measured round trip time between a Link Controller and a client LDNS.

Figure 5.5 shows a sample connection distribution for the Round Trip Times mode.

Figure 5.5 Round Trip Times mode

Quality of Service mode

The Quality of Service load balancing mode uses current performance information to calculate an overall score for each virtual server, and then distributes connections based on each virtual server's score. The performance factors that the Link Controller takes into account include:

  • Round trip time
  • Hops
  • Completion rate
  • Packet rate
  • Link Capacity
  • VS Capacity
  • Kilobytes/Second

The Quality of Service load balancing mode is a customizable load balancing mode. For simple configurations, you can easily use this load balancing mode with its default settings. For more advanced configurations, you can specify different weights for each performance factor in the equation.

You can also configure the Quality of Service load balancing mode to use the dynamic ratio feature. With the dynamic ratio feature turned on, the Quality of Service mode becomes similar to the Ratio mode, where the connections are distributed in proportion to ratio weights assigned to each virtual server. The ratio weights are based on the QOS scores: the better the score, the higher the percentage of connections the virtual server receives.

Understanding QOS coefficients

Table 5.2 lists each Quality of Service (QOS) coefficient, its scale, a likely upper limit for each, and whether a higher or lower value is more efficient.

QOS coefficients: default values, ranges, and limits

Coefficient

How measured

Default value

Example
upper limit

Higher or lower?

Round trip time

Microseconds

50

2,000,000

Lower

Completion rate

Percentage of successfully transferred packets (0-100%)

5

100%

Higher

Hops

Number of intermediate systems transitions (hops)

0

64

Lower

Packet rate

Packets per second

1

700

Lower

Link Capacity

Link bandwidth and cost analysis

30

2,000,000

Lower

VS capacity

Number of nodes up

0

20

Higher

Kilobytes/second

Kilobytes per second throughput

3

15000

Lower

If you change the default QOS coefficients, keep the following issues in mind.

  • Scale
    The raw metrics for each coefficient are not on the same scale. For example, completion rate is measured in percentages, while packet rate is measured in packets per second.
  • Normalization
    The Link Controller normalizes the raw metrics to values in the range of 0 to 10. As the QOS value is calculated, a high measurement for completion rate is good, because a high percentage of completed connections are being made, but a high value for packet rate is not desirable because the packet rate load balancing mode attempts to find a virtual server that is not overly taxed at the moment.
  • Emphasis
    You can adjust coefficients to emphasize one normalized metric over another. For example, by changing the coefficients to the values shown in Figure 5.6 , you are putting the most emphasis on link capacity.

    Figure 5.6 QOS coefficients emphasizing Link Capacity

    In Figure 5.6 , if the link capacity scores for two virtual servers are not close, the virtual server with the most available capacity is chosen. If the link capacity scores for both virtual servers are close, the round trip time (RTT) breaks the tie. In this example, the metrics for Hops, VS Capacity, and Kilobytes/Second modes are not used in determining how to distribute connections.

Customizing the QOS equation

You can customize the QOS equation for individual wide IPs to tailor Quality of Service load balancing to best match your load balancing requirements.

To modify QOS coefficients using the Configuration utility

  1. In the navigation pane, click Wide IPs.
  2. In the Wide IP column, click a wide IP name.
    The Modify Wide IP screen opens.
  3. On the toolbar, click Modify Pool.
    The Modify Wide IP Pools screen opens.
  4. In the Pool Name column, click Pool.
    The Modify Load Balancing for Pool screen opens.
  5. Define the QOS coefficients in the Round Trip Time, Completion Rate, Hops, BIG-IP Packet Rate, Link Capacity, VS Capacity, and Kilobytes/Second boxes.
  6. Click Update.

Using the Dynamic Ratio option

When the Dynamic Ratio option is turned on, the Link Controller treats QOS scores as ratios, and it uses each server in proportion to the ratio determined by the QOS calculation. When the Dynamic Ratio option is turned off (the default), the Link Controller uses only the server with the highest QOS score for load balancing, (in which case it is a winner takes all situation) until the metrics information is refreshed.

To turn on the Dynamic Ratio option using the Configuration utility

  1. In the navigation pane, click Wide IPs.
  2. In the Wide IP column, click a wide IP name.
    The Modify Wide IP screen opens.
  3. On the toolbar, click Modify Pool.
    The Modify Wide IP Pools screen opens.
  4. In the Pool Name column, click Pool.
    The Modify Load Balancing for Pool screen opens.
  5. Check the Use Dynamic Ratio box.
  6. Click Update.

    Note: We recommend that you turn on dynamic ratio, so that the Link Controller uses any bandwidth cost information you have configured as part of the Link Capacity coefficient.

VS Capacity mode

The VS Capacity load balancing mode creates a list of the virtual servers, weighted by capacity, then picks one of the virtual servers from the list. The virtual servers with the greatest capacity are picked most often, but over time all virtual servers are returned. If more than one virtual server has the same capacity, then the Link Controller load balances using the Random mode among those virtual servers.

Note: We recommend that you do not use the VS Capacity load balancing mode on the Link Controller because it manages only its own virtual servers.

Configuring inbound load balancing

This section describes how to configure inbound load balancing on the Link Controller. You configure inbound load balancing at the wide IP level.

When you define a wide IP, you specify the preferred and alternate load balancing methods to use in selecting a virtual server within the wide IP pool. You can find instructions on how to configure these load balancing methods in the section, Defining a wide IP, on page 5-12 .

Understanding wide IPs

After you configure the virtual servers they manage, you need to group the configured virtual servers into wide IPs. A wide IP is a mapping of a fully-qualified domain name (FQDN) to a set of virtual servers that host the domain's content, such as a web site, an e-commerce site, or a CDN.

Before defining the first wide IP, you should do the following:

  • Gather your configuration information for the Link Controller so you can easily see which virtual servers have the content you want to map to an FQDN.
  • Decide which load balancing modes to use for the wide IP pool.

There may be situations (for example, e-commerce, and other sites with multiple services) where you need to configure a wide IP so that connections are not sent to a given address unless multiple ports or services are available. You configure this behavior after you define the wide IP. For more information, see Setting up load balancing for services that require multiple ports, on page 5-13 .

Understanding wide IP pools

A wide IP contains a pool definition. A pool is a group of virtual servers that the Link Controller load balances. The virtual servers on a Link Controller are associated with a specific link, and they load balance inbound requests over the links.

Defining a wide IP

After you determine which virtual servers you should place in which wide IP pools, you are ready to add the first wide IP to the configuration. Note that you configure only one pool in the wide IP.

To define a wide IP using the Configuration utility

  1. In the navigation pane, click Wide IPs.
    The Wide IP List screen opens.
  2. On the toolbar, click Add Wide IP.
    The Add a New Wide IP screen opens.
  3. Add the wide IP settings, and click Next.
    The Configure Load Balancing for New Pool screen opens.
  4. Add the pool settings, and click Next.
    The Select Virtual Servers screen opens.
  5. Check the virtual servers that you want to add to the pool, and click Finish.
    The wide IP is added to your configuration.

Repeat this process for each wide IP you want to add. For help on defining wide IPs and pools, click Help on the toolbar.

Using wildcard characters in wide IP names

The Link Controller supports wildcard characters in both wide IP names and wide IP aliases. You can use the wildcard characters to simplify your maintenance tasks if you have a large quantity of wide IP names and/or wide IP aliases. The wildcard characters you can use are: the question mark ( ? ), and the asterisk ( * ). The guidelines for using the wildcard characters are as follows:

  • The question mark ( ? )

    • You can use the question mark to replace a single character, with the exception of dots ( . ).
    • You can use more than one question mark in a wide IP name or alias.
    • You can use both the question mark and the asterisk in the same wide IP name or alias.
  • The asterisk ( * )
    • You can use the asterisk to replace multiple consecutive characters, with the exception of dots ( . ).
    • You can use more than one asterisk in a wide IP name or alias.
    • You can use both the question mark and the asterisk in the same wide IP name or alias.

      The following examples are all valid uses of the wildcard characters for the wide IP name, www.mydomain.net.

  • ???.mydomain.net
  • www.??domain.net
  • www.my*.net
  • www.??*.net
  • www.my*.*
  • ???.my*.*
  • *.*.net
  • www.*.???

Using the LDNS round robin wide IP attribute

LDNS round robin is an attribute that you can use in conjunction with any load balancing mode. The LDNS round robin attribute allows the Link Controller to return a list of available virtual servers, instead of a single virtual server. Certain browsers keep the answer returned by DNS servers. By enabling this attribute, the Link Controller returns a maximum of 16 virtual servers as the answer to a DNS resolution request. This provides browsers with alternate answers if a virtual server becomes unavailable.

Setting up load balancing for services that require multiple ports

Certain types of network traffic, such as FTP traffic or e-commerce traffic, require that more than one port be available in order for the client's requests to be properly handled. When you set up a load balancing configuration, you can define a port list for a wide IP. Before the Link Controller selects a virtual server to receive a connection, it verifies that the virtual server is up and available to receive connection requests. When the Link Controller receives a query, all of the ports in the port list must be available for each virtual server in the wide IP. If a virtual server does not have all ports in the port list available, the Link Controller marks it as unavailable for load balancing.

To configure multiple ports for a wide IP using the Configuration utility

  1. In the navigation pane, click Wide IPs.
  2. In the Wide IP column, click a wide IP name.
    The Modify Wide IP screen opens.
  3. On the toolbar, click Port List.
    The Wide IP Port List screen opens.
  4. Type a port number in the box or select a service from the list, then click the Add button.
  5. Repeat step 4 for each port or service you need to add, then click Update.
    The port list is added to the wide IP configuration.