Global Server Load Balancing: Part 1

An article by Chris Zhang from Citrix Blogs

In this two-part blog post, I will talk about the Global Server Load Balancing (GSLB) feature provided by the NetScaler.

In Part 1, let’s examine DNS name resolution process, as GSLB is DNS based load balancing. In Part 2, we will take a look at implementation details on the NetScaler.

Name Resolution Process

Recursive DNS Query

Let’s assume that a MAC is connected to a network and subsequently obtains an IP address and DNS server information via DHCP, as shown below.

Open up Chrome and browse to ‘http://www.google.com’.

The browser firstly looks up its built-in DNS cache, looking for an existing entry for hostname ‘www.google.com’.

Chrome’s built-in DNS cache can be viewed by entering ‘chrome://net-internals/#dns’ at the address bar.

If an existing entry exists and is not expired.

DNS ends. Whatever happened afterwards, is DNS irrelevant.

For demonstration purposes, assuming that an entry for ‘www.google.com’ didn’t exist in cache.

Chrome’s built-in DNS client (a separate DNS client to the one built into the OS), shown below, enabled by default, makes a recursive DNS query to the Upstream DNS server, resolving ‘www.google.com

The following trace captures that DNS traffic.

The first packet sourced from 192.168.1.3 (Mac) and destined to 8.8.8.8 (Upstream DNS), is a recursive query, asking for associating IP for Address (A) Record ‘www.google.com’.

The second packet in the reverse direction, is a DNS response, containing associating IP addresses.

For a recursive query, the DNS server MUST either return the associating IP(s) for the A Record, or informing that the A Record does not exist.

There MUST NOT be any other forms of responses. E.g. I don’t know, ask someone else.

The above response is a valid DNS response, however, not valid in the context of answering a recursive DNS query.

The above concludes DNS resolution process between the Mac and its Upstream DNS server.

Iterative DNS Query

What happens at the Upstream DNS server upon receiving a recursive query from the Mac?

Read More

Be Sociable, Share!
 

Tags: , , ,

Comments

No comments so far.

  • Leave a Reply
     
    Your gravatar
    Your Name