Table Of Contents
X.25 Load Balancing
Feature Summary
As the number of users accessing the same host has grown, competition for these application resources has become a problem. Internet service providers (ISPs) have had to increase the number of users they could support by increasing the number of X.25 lines to the host.
In order to support a large number of virtual circuits (VCs) to a particular destination, configuration of more than one serial interface to that destination was needed. When a serial interface is configured to support X.25, there is a fixed number of VCs available for use.
However, the current X.25 allocation method for VCs across multiple serial lines fills one serial line to its VC capacity before utilizing the second line at all. As a result, the first serial line is frequently carrying its maximum data traffic before it runs out of VCs.
Now, using a facility called "hunt-group" (the method for X.25 load balancing), a switch is able to view a pool of X.25 lines going to the same host as one address and assign VCs on an "idle logical channel" basis. With this feature, X.25 calls can be load balanced among all configured outgoing interfaces to fully use and balance all managed lines.
Benefits
X.25 load balancing provides the following benefits:
•
The choice of two load-balancing distribution methods (rotary or vc-count) utilizing multiple serial lines.
•
Reconfiguration of hunt groups does not affect functionality.
•
Improved performance of serial lines.
List of Terms
packet assembler/disassembler (PAD)—Device used to connect simple devices (like character mode terminals) that do not support the full functionality of a particular protocol to a network.
virtual circuit (VC)—A logical association between two physically separated DTEs.
X.25—Interface between a DTE and a DCE for packet-mode operation on a public data network (PDN).
Restrictions
The following restrictions apply to X.25 load balancing:
•
Only one distribution method can be selected for each hunt group, although one interface can participate in one or more hunt groups.
•
Distribution methods are limited to "rotary" and "vc-count" only.
•
XOT cannot be used in hunt groups configured with the vc-count distribution method. XOT does not limit the number of calls that can be sent to a particular destination, so the method of selecting the hunt group member with the largest number of available VCs will not work. XOT can be used in hunt groups configured with the rotary distribution method.
Platforms
This feature is supported on these platforms:
•
Cisco 1600 series
•
Cisco 2500 series
•
Cisco 2600 series
•
Cisco 3600 series
•
Cisco 4000 series (Cisco 4000, 4000-M, 4500, 4500-M, 4700, 4700-M)
•
Cisco 7200 series
•
Cisco 7500 series
Prerequisites
Before enabling X.25 load balancing you must:
•
Activate the X.25 routing software
•
Configure the interfaces participating in the hunt group for X.25 encapsulation.
See the sections "Configuration Tasks" and "Configuration Examples" for further details. For more information about configuring X.25, refer to the chapter "Configuring X.25 and LAPB" in the Wide-Area Networking Configuration Guide for Cisco IOS Release 12.0.
Supported MIBs and RFCs
None.
Configuration Tasks
To configure X.25 load balancing, use the following commands beginning in global configuration mode:
Configuration Examples
The following example enables X.25 encapsulation on relevant serial interfaces and configures serial interfaces 1 and 2 to participate in X.25 hunt group "HG1," and serial interfaces 0 and 3 to participate in X.25 hunt group "HG2." Serial interfaces 1 and 2, and XOT IP addresses 172.17.125.54 and 172.17.125.34 are then associated with hunt group "HG1" (with rotary distribution assigned); and serial interfaces 0 and 3 "HG2" (with vc-count distribution assigned). These hunt groups are then added to the routing table, where X.25 route 1111 will use "HG1," and X.25 route 1112 will use "HG2."
Router(config)# x25 routingRouter(config)# interface serial 0Router(config-if)# encapsulation x25Router(config-if)# interface serial 1Router(config-if)# encapsulation x25Router(config-if)# interface serial 2Router(config-if)# encapsulation x25Router(config-if)# interface serial 3Router(config-if)# encapsulation x25Router(config)# x25 hunt-group HG1 rotaryRouter(config-x25-huntgro)# interface serial 1Router(config-x25-huntgro)# interface serial 2Router(config-x25-huntgro)# xot 172.17.125.54Router(config-x25-huntgro)# xot 172.17.125.34Router(config-x25-huntgro)# exitRouter(config)# x25 hunt-group HG2 vc-countRouter(config-x25-huntgro)# interface serial0Router(config-x25-huntgro)# interface serial3Router(config-x25-huntgro)# exitRouter(config)# x25 route 1111 hunt-group HG1Router(config)# x25 route 1112 hunt-group HG2Command Reference
This section documents modifications to the x25 route command and describes the new commands x25 hunt-group and show x25 hunt-group. All other commands used with this feature are documented in the Cisco IOS Release 12.0 command references.
show x25 hunt-group
To display hunt groups and view detailed interface statistics and distribution methods, use the show x25 hunt-group EXEC command.
show x25 hunt-group [name]
Syntax Description
Command Mode
EXEC
Usage Guidelines
This command first appeared in the Cisco IOS Release 12.0(3)T.
Sample Display
The following is sample output from the show x25 hunt-group command:
Router# show x25 hunt-groupID Type Target uses status traffic(out/in)=================================================================================HG1 rotary Serial1 2 last used 17080 /10100Serial2 2 last used 15640 /10100xot 172.17.125.54 1 next 3120 /4424xot 172.17.125.34 1 next 63 /88=================================================================================HG2 vc-count Serial0 5 2 VC 3120 /4424Serial3 7 1 VC 15640 /10100=================================================================================describes significant fields shown in the display.
Status of an interface may be:
•
next—Interface that will be used next for rotary distribution method.
•
last used—Interface just used for rotary distribution method.
•
unavailable—Interface is shutdown.
•
full—All logical channels on the interface are in use.
•
# VC—(vc-count only) Number of VCs currently in use on the interface.
Use the clear x25 command in EXEC mode to reset the "traffic," "# VC," and "uses" fields to zero.
Related Commands
You can use the master index or search online to find documentation of related commands.
•
clear x25
x25 hunt-group
To create and maintain a hunt group, use the x25 hunt-group global configuration command. To delete this hunt group, use the no form of this command.
x25 hunt-group name {rotary | vc-count}
no x25 hunt-group name
Syntax Description
name
Name you assign to the particular hunt group.
rotary
Each call steps to the next interface.
vc-count
Each call is placed on the interface with most available logical channels.
Command Mode
Global configuration.
Usage Guidelines
This command first appeared in the Cisco IOS Release 12.0(3)T. The following restrictions apply:
Only one load-balancing distribution method can be selected for a hunt group, although one interface can participate in one or more hunt groups.
XOT cannot be used in hunt groups configured with the vc-count distribution method. XOT does not limit the number of calls that can be sent to a particular destination, so the method of selecting the hunt group member with the largest number of available VCs will not work. XOT can be used in hunt groups configured with the rotary distribution method.
Example
The following example shows the creation of hunt group "HG1" using the rotary distribution method, with X.25 configuration on serial interfaces 1 and 2 for that hunt group; as well as showing x25 configuration for the Ethernet interface (xot) with two specific target IP addresses (172.17.125.54 and 172.17.125.34). The example also shows the creation of hunt group "HG2" using the vc-count distribution method, with X.25 configuration on serial interfaces 0 and 3 for that hunt group:
Router(config)# x25 hunt-group HG1 rotaryRouter(config-x25-huntgro)# interface serial 1Router(config-x25-huntgro)# interface serial 2Router(config-x25-huntgro)# xot 172.17.125.54Router(config-x25-huntgro)# xot 172.17.125.34Router(config-x25-huntgro)# exitRouter(config)# x25 hunt-group HG2 vc-countRouter(config-x25-huntgro)# interface serial 0Router(config-x25-huntgro)# interface serial 3Related Commands
You can use the master index or search online to find documentation of related commands.
show x25 hunt-group
x25 route
To create an entry in the X.25 routing table (to be consulted for forwarding incoming calls and for placing outgoing packet assembler/disassembler (PAD) or protocol translation calls), use an appropriate form of the x25 route global configuration command. To remove an entry from the table, use the no form of the command.
x25 route [#position] [selection] [modification] disposition [xot-keepalive]
no x25 route [#position] [selection] [modification] dispositionSyntax Description
Default
No entry is created in the X.25 routing table.
Command Mode
Global configuration
Usage Guidelines
The enhanced x25 route command replaces the x25 map cmns command. The x25 route alias form of this command (supported in earlier releases) has been replaced by the x25 alias command.
The selection criteria source and dest-ext first appeared in Cisco IOS Release 11.3. The interface disposition to a CMNS destination first appeared in Cisco IOS Release 11.3; in prior releases, CMNS routing information was implied by maps defining an NSAP prefix for a CMNS hosts MAC address. The clear interface disposition option first appeared in Cisco IOS Release 11.3; in prior releases, the disposition was implicit in a route to the Null 0 interface. The modification elements are long-standing but newly applicable to all dispositions in Cisco IOS Release 11.3.
Note
The entire command must be entered on one line.
Selection Options
Selection options specify match criteria. When a call matches all selection criteria in an X.25 route, then the specified modification and disposition are used for the call.
As many as four selection options can be used to determine the route:
•
Called X.121 network interface address (destination host address)
•
Calling X.121 network interface address (source host address)
•
Called address extension (destination NSAP address)
•
X.25 packet's call user data (CUD) field
lists the selection options for the x25 route command. At least one selection or modification element must be specified.
Note
The X.121 and NSAP addresses are specified as regular expressions. A common error is to specify the address digits without anchoring them to the beginning and end of the address. For example, the regular expression 1111 will match an X.121 address that has four successive 1s somewhere in the address; to specify the single X.121 address, the form ^1111$ must be used.
Regular expressions are used to allow pattern-matching operations on the addresses and user data. A common operation is to do prefix matching on the X.121 DNIC field and route accordingly. The caret (^) is a special regular expression character that anchors the match at the beginning of the pattern. For example, the pattern ^3306 will match all X.121 addresses with a DNIC of 3306.
Modification Options
Addresses typically need to be modified when traffic from a private network that uses arbitrary X.121 addresses must transit a public data network, which must use its own X.121 addresses. The easiest way to meet the requirement is to specify in the x25 route command a way to modify the private address into a network X.121 address or to modify a network X.121 address into a private address. The addresses are modified so that no change to the private addressing scheme is required.
The modification options use the standard UNIX regular expression substitution operations to change an X.25 field. A pattern match is applied to an address field, which is rewritten as directed by a rewrite pattern.
lists the modification options for the x25 route command. At least one selection or modification element must be specified.
Note
As of Cisco IOS Release 11.3, the substitute-source and substitute-dest options also apply to PAD calls.
Source address. A modification of the source address is directed by the rewrite string using one of three possible match patterns. If the source source-pattern selection option is defined, it is used with the source-rewrite string to construct the new source address; otherwise, a destination-pattern regular expression is used (for backward compatibility) or a wildcard regular expression (.*) is used. In the rewrite-source argument, the backslash character (\) indicates that the digit immediately following the argument selects a portion of the matched address to be inserted into the new called address.
Destination address. A modification of the destination address is directed by the rewrite string using one of two possible match patterns. If the destination-pattern selection option is defined, it is used with the destination-rewrite string to construct the new destination address; otherwise, a wildcard regular expression (.*) is used. In the rewrite-dest argument, the backslash character (\) indicates that the digit immediately following the argument selects a portion of the original called address to be inserted into the new called address.
Refer to , , and respectively, for summaries of pattern matching, character matching, and pattern rewrite elements. Note that up to nine pairs of parentheses can be used to identify patterns to be included in the modified string. A more complete description of the pattern-matching characters is found in the "Regular Expressions" appendix in the Dial Solutions Command Reference.
Table 4 Pattern Matching for X.25 Route Selection and Modification Options
Pattern Description*
Matches 0 or more occurrences of the preceding character.
+
Matches 1 or more occurrences of the preceding character.
?
Matches 0 or 1 occurrences of the preceding character.1
1 Precede the question mark with Ctrl-V to prevent the question mark from being interpreted as a help command.
Disposition Option
The xot-source disposition option can improve the resilience of the TCP connection if, for instance, a loopback interface is specified. By default, a TCP connection's source IP address is that of the interface used to initiate the connection; a TCP connection will fail if either the source or destination IP address is no longer valid. Because a loopback interface never goes down, its IP address is always valid. Any TCP connections originated using a loopback interface can be maintained as long as a path exists to the destination IP address, which may also be the IP address of a loopback interface.
lists the disposition choices for the x25 route command. You must select one of these choices.
XOT Keepalive Options
TCP maintains each connection using a keepalive mechanism that starts with a default time period and number of retry attempts. If a received XOT connection is dispatched using a route with explicit keepalive parameters, those values will be used for the TCP connection. If an XOT connection is sent using a route with explicit keepalive parameters, those values will be used for the TCP connection.
lists and describes the xot-keepalive options for the x25 route command.
X.25 Routing Action when a Match Is Found
If a matching route is found, the incoming call is forwarded to the next hop depending on the routing entry. If no match is found, the call is cleared. If the route specifies a serial interface running X.25 or a broadcast interface running CMNS, the router attempts to forward the call to that host. If the interface is not operational, the subsequent routes are checked for forwarding to an operational interface. If the interface is operational but out of available virtual circuits, the call is cleared. Otherwise, the expected Clear Request or Call Accepted message is forwarded back toward the originator. A call cannot be forwarded out the interface on which it arrived.
If the matching route specifies an XOT disposition, a TCP connection is established to port 1998 at the specified IP address, which must be an XOT host. The Call Request packet is forwarded to the remote host, which applies its own criteria to handle the call. If, upon receiving an XOT call, a routing table entry is not present, or the destination is unavailable, a Clear Request is sent back and the TCP connection is closed. Otherwise, the call is handled and the expected Clear Request or Call Accepted packet is returned. Incoming calls received via XOT connections that match a routing entry specifying an XOT destination are cleared. This restriction prevents Cisco routers from establishing an XOT connection to another router that would establish yet another XOT connection.
Examples
The following example uses regular expression pattern matching characters to match just the initial portion of the complete X.25 address. Any call with a destination address beginning with 3107 that is received on an interface other than serial 0 is forwarded to serial 0.
x25 route ^3107 interface serial 0The following example routes the X.25 call to the specified Annex G DLCI link. You must include both interface number and DLCI number. It is this combination of both these numbers that indicates the logical X.25 interface over Frame Relay.
x25 route ^2222 interface serial 1 dlci 20The following example prevents X.25 routing for calls that do not specify a source address:
x25 route source ^$ clearThe following example configures alternate XOT hosts for the routing entry. If the first address listed is not available, subsequent addresses are tried until a connection is made. If no connection can be formed, the call is cleared.
x25 route ^3106$ xot 172.20.2.5 172.20.7.10 172.10.7.9The following example clears calls that contain a 3 in the source address. The disposition keyword clear is new:
x25 route source 3 clearThe following example clears calls that contain two consecutive 3's in the source address:
x25 route source 33 clearThe following example clears a call to the destination address 9999:
x25 route ^9999$ clearThe following example specifies a route for specific source and destination addresses. (The ability to combine source and destination patterns is a new feature.)
x25 route ^9999$ source ^333$ interface serial 0The following example routes the call to the XOT host at the specified IP address. The disposition keyword xot is new. In prior releases the keyword ip was used.
x25 route ^3333$ xot 172.21.53.61The following example routes calls containing the destination extension address preamble 11.1234:
x25 route dest-ext ^11.1234.* interface serial 0The following example rewrites the destination address as 9999. There must be a minimum of four 8's in the address. (8888888 will change to 9999.)
x25 route 8888 substitute-dest 9999 interface serial 0The following example substitutes only part of the destination address. "^88" specifies the original destination string must begin with 88. "(.*)" indicates the string can end with any number, 0-9, and can be more than one digit. "99\1" changes the destination address to 99 plus whatever matches ".*" in the original destination address. For example, 8881 will change to 9981.
x25 route ^88(.*) substitute-dest 99\1 interface serial 0The following example substitutes only part of the destination address and also removes a specified number of digits from the address. "^88" specifies the original destination string must begin with 88. "(..)" matches any two digits. "(.*)" specifies the string can end with any number, 0-9, and can occur zero or more times. Thus any address that starts with 88 and has four or more digits will be rewritten to start with 99 and omit the third and fourth digits. For example, 881234 will change to 9934.
x25 route ^88(..)(.*) substitute-dest 99\2 interface serial 0The following example looks for a specified destination address and changes the source address. "9999" is the destination address. The original source address changes to "2222" because the call is made to the destination 9999.
x25 route ^9999$ substitute-source 2222 interface serial 0The following example rewrites the source address based on the source address. "9999" matches any destination address with four consecutive 9s. "^...(.*)" matches any source address with at least three digits; the command removes the first three digits and rewrites any digits after the first three as the new source address. For example, a call to 9999 from the source address 77721 will be forwarded using the calling address 21 and the called address 9999.
x25 route 9999 source ^...(.*) substitute-source \1 interface serial 0The following example adds a digit to the source and destination addresses patterns. "09990" is the destination address pattern. The source can be any address. "9\0" specifies to add a leading 9 to the destination address pattern. "3\0" specifies to add a leading 3 to the source address pattern. For example, a call using source 03330 and destination 09990 will change to 303330 and 909990, respectively.
x25 route 09990 source .* substitute-dest 9\0 substitute-source 3\0 interface serial 0Related Commands
You can use the master indexes or search online to find documentation of related commands.
show x25 route
