Global Server Load Balancing (GSLB) is a feature of NetScaler that provides for disaster recovery and continuous availability of applications when there are points of failure in a wide area network (WAN). GSLB can balance application loads across data centers by directing client requests to the closest or best-performing data center, or in the case of an outage, any surviving data center.
In a typical GSLB deployment, proximity-based load balancing methods are used to determine the location of the client and perform optimal routing. These methods rely on the IP address of the DNS server utilized by the local client.
DNS acts like a phone book on the internet. It converts domain names into IP addresses that our computers and devices can connect to. Many people today are utilizing centralized DNS services, such as Google DNS. The benefits of using a public service is that it can be provide faster responses, more accurate results, and better security.
One of the drawbacks of centralized DNS is how it affects GSLB proximity load balancing. When a centralized DNS resolver is involved, the NetScaler sends the DNS request to a datacenter close to the centralized DNS resolver, which might not be close to the client. For example, a user in Asia might be using Google DNS (18.104.22.168) as their DNS provider. Because the location of the DNS IP is in the US, GLSB might direct the user to a data center in the US instead of one in Asia.
To provide better proximity localization, Citrix introduced a feature in NetScaler version 11.1 called EDNS Client Subnet (ECS). ECS is an extension of DNS that allows a recursive DNS resolver to specify the network subnet for the host it is making a DNS query for. When this feature is enabled, the NetScaler is able to read the IP subnet of the client from the EDNS header instead of the IP address of the DNS server. This allows the NetScaler to determine a more accurate geographical proximity of the client.
Please refer to the following Citrix eDocs article for more information on ECS: