Manual Chapter : 3-DNS Reference Guide v4.1: Topology

Applies To:

Show Versions Show Versions

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

  • 4.1.1, 4.1.0
Manual Chapter


11

Topology



Working with Topology load balancing

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.

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 top-level domain codes, as specified by IANA, the Internet Assigned Numbers Authority)
  • Continent
  • America Online (AOL) (for LDNS server location endpoints only)

    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.

    Figure 11.1 Example of topology records in a topology statement

    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.

To add topology records using the Configuration utility

  1. In the navigation pane, click Topology.
    The Manage Topology Records screen opens.
  2. Add the settings for the topology records, and click Add. For assistance with the settings on this screen, click Help on the toolbar.

To remove topology records using the Configuration utility

  1. In the navigation pane, click Topology.
    The Manage Topology Records screen opens.
  2. Select the topology record that you want to remove from the Current Topology Records list, and click Remove.
    The topology record is removed from the topology statement. For assistance with the settings on this screen, click Help on the toolbar.

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 a specific data center in your network, to a third-party network, or to a content delivery network.

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 from the command line

  1. At the command prompt, type 3dnsmaint to open the 3-DNS Maintenance menu.
  2. On the 3-DNS Maintenance menu, choose Edit 3-DNS Configuration to open the wideip.conf file.
  3. Locate the wideip statement that you want to edit.
  4. Define topology as the pool_lbmode load balancing mode for the wide IP.

    Figure 11.2 shows a sample wide IP definition where Topology is the load balancing mode among the pools in this wide IP configuration.

    Figure 11.2 Example syntax for Topology pool load balancing in a wide IP

     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.10
    address 192.168.44.20
    }

    pool {
    name "origin"
    address 172.168.11.10
    address 172.168.11.20
    }
    }

Using the Topology load balancing mode in a pool

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.

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] screen 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 in a pool from the command line

  1. At the command prompt, type 3dnsmaint to open the 3-DNS Maintenance menu.
  2. On the 3-DNS Maintenance menu, choose 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 example in Figure 11.3 shows a sample wide IP definition where topology is the load balancing mode within a pool.

    Figure 11.3 Example of Topology load balancing mode within a pool

     wideip {     
    address 192.168.103.60
    port 80
    name "ntp.wip.domain.com"
    pool {
    name "poolA"
    preferred topology
    alternate rtt
    address 192.168.101.60 // New York
    address 192.168.102.60 // Los Angeles
    address 192.168.103.60 // Tokyo
    }
    }

Working with the topology statement in the wideip.conf file

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.

Variables used in the topology statement

Variable

Description

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.

Figure 11.4 Example of a topology statement

 topology {    

// 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 .