Server load balancing and failover requires the instant modification of DNS records in order to re-direct inbound sessions to the correct network interface. Our ActiveDNS & ISP Load Balancing module provide this capability along with advanced DNS balancing capabilities.
The XRoads Networks' EdgeXOS appliance includes a fully functional DNS server which enables intelligent DNS responses based on the current status of the available WAN links, remote sites, internal servers, and other administratively defined criteria. The XRoads Networks solution also enables something called "delegation" which allows only those critical URLs, i.e. www.xyz.com to be handled by the EdgeXOS appliance, this way the entire domain does not have to be transfered, save time reducing complexity.
The EdgeXOS appliance has full support for NS, MX, A, PTR, CNAME, SVR, and TXT records. Records can be created to test both local and external paths for uptime. Weights can be assigned to each record for load balancing purposes. Complex rules can be created to support single or multiple geographically dispersed data centers.
The ActiveDNS and ISP Load Balancer incorporates a complete DNS server. This DNS server is dynamically updated with the latest IP address and active interface information. While ActiveDNS does support load balancing requests to an internal server ActiveDNS does not support "over-loading", or the ability to send an uneven amount of traffic to a specific server when multiple internal servers are available. The weighting functionality of the ActiveDNS module is designed to spread the traffic across the network interfaces, not multiple servers. If that functionality is required XRoads Networks recommends placing a server load balancer between the EdgeXOS appliance and the internal server farm, we work with a number of server load balancer partners that we can recommend.
The DNS server's purpose is to respond to remote clients inbound requests for IP address information based on the queried domain. By changing how responses to these requests are handled, the Vector Routing module can determine on which interface the inbound traffic is received from the remote client. This is a very effective method for load balancing and redirecting inbound traffic during a network outage.
In order for this method of "inbound routing" to work, the EdgeXOS appliance, and the ActiveDNS module, must be configured as the domain primary DNS server.
The method used determine how the DNS responds to remote clients is based on the interface address information, active path status (as determined by the Vector Routing module), and changes made to the dynamic DNS database based on those methods.
As the DNS responses are made to the remote clients, they have a limited TTL (time to live) value and include all of the IP addresses of the network interfaces which are associated with the active network paths. These addresses are provided in an order defined in RFC 1034 / 1035 / 1794 and BIND 4.9, September 1998. An example of how ActiveDNS has implemented these standards is given below:
www IN A 10 10.0.0.100 5 1
www IN A 10 10.0.0.101 5 1
www IN A 10 10.1.1.100 5 1
(where 5 is the TTL specified in seconds)
www IN A 10 10.0.0.100 1 WAN1 (the lower the weighting the more preferred)
www IN A 20 10.0.0.102 1 WAN1 (where the "20" is less preferred)
www IN A 10 10.1.1.100 0 WAN2 (where the "0" represents a DOWN interface and is not provided in the DNS response)
Some BIND servers considers any TTL under 300 seconds as "irrational", and substitutes in the value of 300 instead. This greatly hampers the functionality of volatile zones. In the fastest of all cases - a 0 TTL - information would be used once, and then thrown away. Many the new server allow for the RR information to be calculated every 5 seconds, and the RRs handed out with a TTL of 0. It must be considered that one limitation of the speed of a zone is going to be the ability of a machine to calculate new information fast enough.
As seen in the above example, weighted route selection is performed for both outgoing and incoming connections.
Outbound connections can be routed directly, or load balanced between two or more interfaces and their gateways. The method used by the ActiveDNS and ISP Load Balancer is to increase the weight of each default route, and thus increase the likelihood that the route will be used.
Inbound connections are similarly load balanced using the ActiveDNS module's dynamic DNS server. In this case the IP addresses provided in response to DNS requests are similarly weighted so that the more highly weighted addresses are provided as the first address in the response.
The ActiveDNS module is based on open source technology which has been available for over ten years. XRoads Networks has been developing and implementing these solutions for over a decade.