NetScaler Global Server Load Balancing - Dynamic Proximity Method

NetScaler Global Server Load Balancing - Dynamic Proximity Method

book

Article ID: CTX130154

calendar_today

Updated On:

Description

This article contains information about Global Server Load Balancing (GSLB) Dynamic Proximity set up on a NetScaler appliance.

GSLB Dynamic Proximity

GSLB is a Domain Name Server (DNS) based solution that load balances services between geographically distributed locations. GSLB relies on DNS for directing client requests. GSLB enables the NetScaler appliance to make intelligent network traffic direction decisions based on the configured method.
Note: NetScaler also supports other methods of configuring the GSLB. Refer to NetScaler Product Documentation - Configuring Global Server Load Balancing (GSLB) for more information.

When configuring NetScaler GSLB to use the client proximity, you can choose one of the following proximity methods:

  • Static Proximity

  • Dynamic Proximity

This article explains how Dynamic Proximity works on NetScaler GSLB.

Dynamic Network Proximity

Network proximity is a measure of how far a user is located from a data resource in terms of network distance or time. The GSLB feature monitors the real-time status of the network and directs the request of the client to the best site. GSLB uses Round Trip Time (RTT) metric to measure network proximity. The RTT between the Local DNS (LDNS) of the client and each of the GSLB sites is measured. The appliance then uses this metric to make the load balancing decision. The DNS response generated by the appliance has the IP address of the site closest to the LDNS of the client in terms of RTT.

RTT Measurement Mechanism

When the LDNS of a client accesses the GSLB site for the first time, the RTT information is not available with the system. In such cases, the GSLB virtual IP address selects a site using the round robin method and directs the client to this site. The system then starts calculating the RTT between the site and the LDNS.

A NetScaler appliance uses different mechanisms, such as ICMP echo request/reply (ping), UDP (DNS), and TCP, to probe the RTT metrics between the LDNS and the sites participating in the GSLB domain. Three LDNS monitoring methods can be used to obtain the RTT to an LDNS. The monitor is clocked and RTT is calculated after the response from the LDNS is received.

  • PING: ICMP Echo Request or Reply

    • If there is a reply to the ping request, then the appliance calculates the RTT.
    • If the ICMP reply mechanism is turned off at any of the intermediate routers or at the LDNS, then on timeout try to send a DNS query.
    • For RTT calculation ICMP request is initiated from GSLB SNIP.
  • DNS: Query or Response

    • If there is a response to the DNS query, then the appliance calculates the RTT.
    • If the DNS response is for a specific set of client IP addresses or DNS queries are not answered, then on timeout try to send a TCP request.
  • TCP: Synchronize to a higher order port

    • If there is a SYN+ACK, or RST, or a FIN response, then the appliance calculates the RTT.
    • If there is no response, then send a ping request again.

Once the RTT metrics are populated, the appliance distributes subsequent client requests based on the least RTT. The appliance also periodically shares the RTT metrics with the NetScaler appliances deployed in other server farms.

You can run the show ldnsentries command to see the population of LDNS entries. You can also view the LDNS entries from the Graphical User Interface from the GSLB > LDNS Entries node.

In the LDNS entries table in GSLB > LDNS Entries node, a RTT value of 0 in the LDNS Entries table indicates that the appliance received the response for the RTT probe to the LDNS in a time less than 1 millisecond.

When one site shows a RTT of 0 and the rest of the sites show a RTT of T-out, it means that the RTT for the site showing RTT 0 was less than 1 millisecond and the RTT for the rest of the sites could not be calculated by the respective GSLB site by the methods of ping, TCP, and DNS. The appliance chooses the GSLB site with the RTT of 0 and ignores the rest of the sites with RTT of T-out. In this case, the backup method of GSLB Load Balancing is not used, it is used only when each of the sites calculate a RTT of T-out.

Metric Exchange Protocol

The NetScaler appliance uses the proprietary Metric Exchange Protocol (MEP) to exchange site metrics, network metrics, and persistence information between sites. The site with the lower GSLB site IP address initiates the connection with the site with the higher GSLB site IP address. By default, this connection is made from the NetScaler IP (NSIP) address to the GSLB site IP address. However, you can configure the appliance to use an IP address other than the NSIP. The communication process is accomplished between each GSLB site on TCP port 3011 or port 3009 (if secure).

The following are the three types of data that are exchanged among the appliances and the respective intervals and exchange methods:

  • Site Metric Exchange: This is a polling exchange model. The GSLB site metric exchange interval is one second. Site information consists of the current number of connections and current packet rate for a load balancing virtual server. For example if a site has a configuration for the services of another site, then after every one second, the first site requests the other site for the status of the GSLB services. The other site responds with the state and the other load details.

  • Network Metric Exchange: This is the LDNS RTT information exchange, which is used in the dynamic proximity load balancing algorithm. This information is exchanged every five seconds. This is a push exchange model. Every five seconds, each site sends its data to other participating sites.

  • Persistency Exchange: This is for SOURCEIP persistency exchange. This is also a push exchange model. Every five seconds, each site sends its data to other participating sites.

    When MEP is disabled, GSLB methods are limited to round robin, static-proximity, and source IP address hash. All other methods revert to round robin when MEP is disabled.

    GSLB Monitoring

    MEP is used to exchange all statistics, including service health state, related to a GSLB service. If an explicit monitor is bound, then the appliance ignores the GSLB service state collected through MEP, and GSLB uses the state reported by the monitor.

    GSLB Configuration

    Use the following commands to configure GSLB:
    set gslb vserver GSLBVserverName -lbMethod MethodType
    set gslb vserver gslb_vip –lbMethod RTT

    Notes:

    • The correct port 3011 or 3009 (if secure) must be open on any firewalls between the appliances.

    • The public IP address of the site must be allowed on any blocking firewall.

      Additional Resources

      Issue/Introduction

      This article contains information about Global Server Load Balancing Dynamic Proximity set up on a NetScaler appliance.