To use the Topology load balancing mode, you first set up topology records in a topology statement. Once you have defined a topology statement, you can set up Topology load balancing among pools in a wide IP, or within a pool. Note that if you do not create a topology statement, and you configure Topology as the load balancing mode, the 3-DNS Controller load balances requests using the Random mode.
The crypto 3-DNS Controller includes a database that maps IP addresses to geographic locations. With this database, the controller can use the geographic attributes of local DNS servers to direct traffic.
The following sections describe how to create a topology statement, and how to set up Topology load balancing.
A topology record has three elements: an LDNS server location endpoint, a virtual server location endpoint, and a relative weight. The location endpoints can be one of the following:
The relative weight, or score, for the topology record allows the 3-DNS Controller to evaluate the best resolution option for a DNS request. The not (!) operator, when used in a topology record, indicates location endpoints not equal to that value.
A topology statement is composed of one or more topology records. Figure 11.1 is an example of a topology statement, with two topology records, as it appears in the Configuration utility.
Here is an explanation of how to interpret the topology statement in the preceding example. A wide IP pool labeled origin manages the virtual servers that are returned for DNS resolution requests sent by LDNS servers located in North America. A wide IP pool labeled cache_farm manages the virtual servers that are returned for DNS resolution requests sent by LDNS servers located anywhere except North America. When the 3-DNS Controller receives a DNS resolution request from an LDNS server located in North America, it evaluates the first topology record and assigns a score of 100, because the LDNS server criteria matches. The controller then evaluates the next topology record, and assigns a score of 0 because the LDNS server criteria does not match. The controller then routes the DNS request to the wide IP pool origin for resolution, because that topology record has the highest score.
You can use the Topology load balancing mode to distribute traffic among wide IP pools. You must have at least two pools configured in the wide IP. You can use the Topology load balancing mode with pools to direct traffic to a specific data center in your network, to a third-party network, or to a content delivery network.
Figure 11.2 shows a sample wide IP definition where Topology is the load balancing mode among the pools in this wide IP configuration.
In addition to setting up the Topology load balancing mode to select a pool within a wide IP, you can also set up the Topology load balancing mode to select a virtual server within a pool. However, you must configure the topology records before the 3-DNS Controller can use the Topology load balancing mode within a pool. If you have no topology records in the topology statement, Topology does not appear as an option for the Preferred, Alternate, or Fallback load balancing modes for pools.
The example in Figure 11.3 shows a sample wide IP definition where topology is the load balancing mode within a pool.
address 192.168.101.60 // New York
address 192.168.102.60 // Los Angeles
address 192.168.103.60 // Tokyo
The topology statement, in the wideip.conf file, can include the following variables to specify pools, data centers, continents, and countries, in addition to the traditional CIDR blocks, for both servers and local DNS servers.
|pool||Specify a wide-IP pool to score for load balancing. Note that pool names can be duplicated across wide IPs.|
|datacenter||Specify a data center to score for load balancing.|
|continent||Specify one of these continents for load balancing: "North America", "South America", "Europe", "Asia", "Australia", "Africa", or "Antarctica".|
|country||Specify a country for load balancing using one of the two-letter country codes found in the file /var/3dns/include/net.ccdb.|
|isp.AOL||For local DNS servers only, specify the Internet service provider, America Online (AOL).|
To add a topology statement to the include file /var/3dns/include/topology.inc, follow the format of this example.
// server ldns score
"pool.origin" cont."North America" 100
"pool.cache_farm" !cont."North America" 100
Note: Use the not (!) notation in a topology statement to negate the meaning of an element, as shown in Figure 11.4 .