Manual Chapter : 3-DNS Reference Guide version 4.2: Topology

Applies To:

Show Versions Show Versions

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

  • 4.2 PTF-10, 4.2 PTF-09, 4.2 PTF-08, 4.2 PTF-07, 4.2 PTF-06, 4.2 PTF-05, 4.2 PTF-04, 4.2 PTF-03, 4.2 PTF-02, 4.2 PTF-01, 4.2.0
Manual Chapter


13

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 load balances requests using the Random mode.

The crypto 3-DNS includes a database that maps IP addresses to geographic locations. With this database, the system can use the geographic attributes of local DNS servers (LDNS) to direct traffic.

The following sections describe how to create a topology statement, and how to set up Topology load balancing.

Note: Topology is also a coefficient in the QOS equation. If you have configured a Topology statement, the topology coefficient is calculated in the QOS score. For more information on the QOS equation and the QOS score, see the 3-DNS Administrator Guide, Chapter 9, Working with Quality of Service.

Setting up topology records

A topology record has three elements: an LDNS location endpoint, a virtual server location endpoint, and a relative weight. The location endpoints can be one of the following:

  • A IP subnet (CIDR definition)
  • A wide IP pool (managed by the 3-DNS)
  • A data center (managed by the 3-DNS)
  • A country (based on the ISO 3166 top-level domain codes, as specified by IANA, the Internet Assigned Numbers Authority)
  • A continent
  • An Internet service provider (ISP) (for LDNS location endpoints only)
  • A user-defined region

The relative weight, or topology score, for the topology record allows the 3-DNS 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 the specified value.

A topology statement is composed of one or more topology records. Figure 13.1 is an example of a topology statement, with two topology records, as it appears in the Configuration utility.

Figure 13.1 Example of a topology statement 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 local DNS 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 local DNS servers located anywhere except North America. When the 3-DNS receives a DNS resolution request from an LDNS located in North America, it evaluates the first topology record and assigns a score of 100, because the LDNS criteria matches. The system then evaluates the next topology record, and assigns a score of 0 because the LDNS criteria does not match. The system 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 13.2 shows a sample wide IP definition where Topology is the load balancing mode among the pools in this wide IP configuration.

Figure 13.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 can use the Topology load balancing mode within a pool. If you have no topology records in the topology statement, Topology does not appear, in the Configuration utility, 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 (or alternate or fallback) load balancing mode for the pool.

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

Figure 13.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
}
}

Understanding user-defined regions

To further refine the topology load balancing capabilities of the 3-DNS, you can create custom topology regions. By adding user-defined regions to the topology statement, the 3-DNS can route traffic (client requests) to the best data center or wide IP based on the characteristics of your specific network.

You create a custom region by adding one or more region member types to the region member list. The region member types are: Continent, Country, Data Center, IP Subnet, ISP, User-Defined Region, and Wide IP Pool. Once you select a region member type, you then fill in the details about that region member and add it to the region member list. The region member options change based on the region member type that you select. When you have finished adding region members to your new region, the new region becomes an option on the Manage Topology screen, in the Server and LDNS boxes.

To create a user-defined region using the Configuration utility

  1. In the navigation pane, click Topology.
    The Manage Topology screen opens.
  2. On the toolbar, click Manage User-Defined Regions.
    The Region List screen opens.
  3. On the toolbar; click Add Region.
    The User-Defined Region screen opens.
  4. On the User-Defined Region screen, add the settings you want for your custom region. For information on the specific settings, click Help on the toolbar.

To create a user-defined region from the command line.

  1. Type 3dnsmaint to open the 3-DNS Maintenance menu.
  2. Using the arrow keys, select Edit 3-DNS Configuration.
  3. Using your preferred text editor (vi or pico), add the user-defined region. Use the syntax shown in Figure 13.4 .

Figure 13.4 Syntax for user-defined regions

 rdb user {  
region {
name "US_no_AOL_or_STUFF"
cont."North America"
! country."MX"
! country."CA"
! ISP."AOL"
}
}

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, countries, and user-defined regions, in addition to the traditional CIDR blocks, for both servers and local DNS servers.

Variables used in the topology statement

Variable

Description

pool.<"pool_name">

Specifies a wide-IP pool for load balancing. Note that pool names can be duplicated across wide IPs. The name must be in quotation marks. Use this for server in a topology record.

datacenter.<"datacenter_name">

Specifies a data center for load balancing. The name must be in quotation marks. Use this for server in a topology record.

continent.<"continent_name">

Specifies one of the continents for load balancing: "North America", "South America", "Europe", "Asia", "Australia", "Africa", or "Antarctica". The name must be in quotation marks. Use this for ldns in a topology record.

country.<"2-letter_code">

Specifies a country for load balancing using one of the two-letter country codes found in the file /var/3dns/include/net.ccdb. The name must be in quotation marks. Use this for ldns in a topology record.

isp."AOL"

For local DNS servers only, specifies the Internet service provider, America Online (AOL). The name must be in quotation marks.

user.<"region_name">

Specifies a user-defined region. The name must be in quotation marks.

!

The not ( ! ) operator negates the meaning of an element in a topology record.

score

Specifies the relative weight, or score, for the topology record, which allows the 3-DNS to evaluate the best resolution option for a DNS request.

To add a topology statement to the include file /var/3dns/include/topology.inc, follow the format of this example.

Figure 13.5 Example of a topology statement

 topology {  

// server ldns score
pool."origin" cont."North America" 100
pool."cache_farm" !cont."North America" 100
datacenter"dc_1" user."Europe" 300
pool."origin" user."headquarters" 200
}

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