Supplemental Document : Setting up Topology-based features

Applies To:

Show Versions Show Versions

3-DNS Controller versions 1.x - 4.x

  • 2.1.2
Original Publication Date: 03/01/2010
Updated Date: 04/18/2019

The 3-DNS Controller that supports encrypted communications now enables topology-based load balancing by resolving DNS requests to the geographically closest server.  The traditional topology load balancing mode uses IP subnets of virtual servers and known LDNS servers.  The 3-DNS Controller now contains a classifier that maps IP addresses to geographic locations.  With this classifier, the 3-DNS Controller resolves DNS requests to the geographically closest LDNS server at either the country or the continent level.  The controller then load balances the request to virtual servers in IP subnets, wide IP pools, or data centers. You can set up the Topology load balancing mode either between wide IP pools or within a wide IP pool.  However, to use either Topology load balancing mode, you must first set up a topology statement by defining topology records.

Setting up topology records

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: IP subnet (CIDR definition), wide IP pool (managed by the 3-DNS Controller), data center (managed by the 3-DNS Controller), country (based on Internet domain codes), or continent.  The relative weight, or score, for the topology record allows the 3-DNS Controller to evaluate the best resolution option for a DNS request.

A topology statement is comprised of one or more topology records.  The following is an example of a topology statement, with two topology records, as it appears in the Configuration utility:

 pool.origin      continent.North America      100 pool.cache_farm  Continent.North America     100

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 must configure the topology records before the 3-DNS Controller can use the Topology load balancing mode.  The Topology load balancing mode distributes connections after evaluating and scoring the topology records in the topology statement.  If you have no topology records in the topology statement, or if the scores returned for two or more records are equal, the 3-DNS Controller load balances the virtual servers using the Random load balancing mode.

To add topology records using the Configuration utility

  1. In the navigation pane, click Topology.
    The Manage Topology Records screen opens.

     
  2. Add the topology records settings.  For help on defining the topology records, click Help on the toolbar.

     
  3. Click Add.
    The topology record is added to the topology statement.

 

To add topology records using the command line

  1. In the include file, /var/3dns/include/topology.inc, add topology records using the following format:
    topology {  // Server                      LDNS  
    Score pool."origin" continent."North America" 100
    pool."cache_farm" !continent."North America" 100 }


     
  2. At the command line, type 3dns_load /var/3dns/include/topology.inc

    The controller updates named with the new configuration.

 

Note: Use the not (!) notation in a topology statement to negate the meaning of an element, as shown in the previous example.

Using the Topology load balancing mode in a wide IP

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 virtual servers in specific data centers within your network or to content delivery networks.

 

To set up topology to distribute traffic among wide IP pools using the Configuration utility

  1. In the navigation pane, click Wide IPs.
    The Wide IP List screen opens.

     
  2. In the Wide IP column, click a wide IP name.
    The Modify Wide IP screen opens.

     
  3. In the Pool LB Mode box, select Topology as the load balancing mode for the wide IP.

     
  4. Click Update.

 

To set up topology to distribute traffic among wide IP pools using the command line

  1. At the command prompt, type 3dnsmaint to open the 3-DNS Maintenance Menu.

     
  2. On the 3-DNS Maintenance Menu, select Edit 3-DNS Configuration to open the wideip.conf file.

     
  3. Locate the wideip statement you want to edit.

     
  4. Define topology as the pool_lbmode load balancing mode for the wide IP.

 

The following example shows a sample wide IP definition where topology is the load balancing mode for the pools in this wide IP configuration.

 wideip {         address     192.168.44.1         
name "www.domain.com" port 80
pool_lbmode topology
pool { name "cache_farm" fallback null
address 192.168.44.1 address 192.168.44.2 }
pool { name "origin"
address 172.168.11.1 address 172.168.11.2 } }

Using the Topology load balancing mode within a pool

In addition to setting up the Topology load balancing mode within a wide IP, you can also set up the Topology load balancing mode 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.

To set up topology load balancing within a pool using the Configuration utility

  1. In the navigation pane, click Wide IPs.
    The Wide IP List screen opens.

     
  2. In the Pools column, click a pool.
    The Modify Wide IP Pools screen opens.

     
  3. In the Pool Name column, click a pool name.
    The Modify Load Balancing for [pool name] opens.

     
  4. In the Preferred box, select Topology as the load balancing mode for the pool.

     
  5. Click Update.
    The change is added to the configuration.

 

To set up topology load balancing within a pool using the command line

 

  1. At the command prompt, type 3dnsmaint to open the 3-DNS Maintenance Menu.

     
  2. On the 3-DNS Maintenance Menu, select Edit 3-DNS Configuration to open the wideip.conf file.

     
  3. Locate the wideip statement you want to edit.

     
  4. Define topology as the preferred load balancing mode for the pool.

 

 

The following example shows a sample wide IP definition where topology is the load balancing mode within a pool.

   wideip {     address     192.168.254.1     port        80               // http     ttl         
30     name        "www.domain.com" 	     
pool { name "pool_1"
preferred topology fallback null address 192.168.11.202
address 192.168.101.230 } }