cc/td/doc/product/software/ssr90
hometocprevnextglossaryfeedbacksearchhelp
PDF

Table of Contents

Configuring Packet-Switched Software

Configuring Packet-Switched Software

This chapter describes the configuration tasks for the Cisco packet-switched software. These tasks include configuring the following protocols and services:

Summaries of the configuration commands available for these protocols and services are provided at the end of this chapter.

Configuring LAPB

X.25 Level 2, or LAPB (Link Access Procedure, Balanced), is a data encapsulation protocol that operates at Level 2 (the data link level) of the OSI reference model. LAPB specifies methods for exchanging data (in units called frames), detecting out-of-sequence or missing frames, retransmitting frames, and acknowledging frames.

It is possible to only use LAPB as a serial encapsulation method. This can be done using a leased serial line. You must use one of the X.25 packet-level encapsulations when attaching to an X.25 network.

Using LAPB under noisy conditions can result in greater throughput than HDLC encapsulation. When LAPB detects a damaged frame, the router immediately retransmits the frame instead of waiting for host timers to expire. This behavior is good only if the host timers are relatively slow. In the case of quickly expiring host timers, however, you will discover that LAPB is spending much of its time retransmitting host retransmissions.

However, if the line is not noisy, the lower overhead of HDLC encapsulation is more efficient than LAPB. When using long delay satellite links, the lock step behavior of LAPB makes the use of HDLC encapsulation the better choice.

The X.25 Recommendation distinguishes between two types of X.25 hosts: data terminal equipment (DTE) in LAPB encapsulation hosts, and data circuit-terminating equipment (DCE) in LAPB encapsulation hosts.

A router using LAPB encapsulation can act as a DTE or DCE device at the protocol level.

Running a Single Network Protocol

To run datagrams of a single protocol over a serial interface using the LAPB encapsulation, use the interface subcommand:

encapsulation {lapb|lapb-dce}

The keyword lapb sets DTE operation; the keyword lapb-dce sets DCE operation. One end of the link must be DTE and the other must be DCE. By default, the single protocol is IP.

To configure another protocol, use the interface subcommand:

lapb protocol keyword

Possible protocol keywords include ip, xns, decnet, appletalk, vines, clns, novell, and apollo.

Running Multiple Network Protocols

To enable use of multiple network protocols on the same line at the same time, use the keyword multi-lapb or multi-lapb-dce for DTE or DCE operation, respectively:

encapsulation {multi-lapb|multi-lapb-dce}

For example, with the multi-lapb or multi-lapb-dce keyword, you can use IP, DECnet, and XNS at the same time. Both ends of the line must use the same encapsulation: either lapb or multi-lapb. One end of each line must be DCE.

Sample Configuration of LAPB Encapsulation

In the following example of LAPB encapsulation configuration, the frame size (N1), window size (K), hold timer (TH), and maximum retransmission (N2) parameters retain their default values. The encapsulation subcommand sets DCE operation for IP packets only, and the lapb t1 subcommand sets the retransmission timer to 4,000 milliseconds (4 seconds).

Example:
interface serial 3
encapsulation lapb-dce
lapb t1 4000

For more information on LAPB parameters, see the next section, "Setting the X.25 Level 2 (LAPB) Parameters."

Setting the X.25 Level 2 (LAPB) Parameters

LAPB parameters are set with the lapb interface subcommand. The interface must be running with either the LAPB or X.25 encapsulation method specified by the encapsulation interface subcommand. This subcommand takes two required arguments, parameter and value. The argument parameter is one of several keywords described in the following text, and the argument value is a decimal number representing a period of time, a bit count, or a frame count, depending on the parameter. Table 1-1 summarizes the LAPB parameters.


LAPB Parameters
Parameter Value Value Range Default
k frames 1-7 7
n1 bits 1-16384 12000
n2 times 1-255 20
t1 milliseconds 1-64000 3000

Note The LAPB "th" value is not included as a configurable parameter; the value is
always 0.

Setting the Retransmission Timer

The retransmission timer determines how long a transmitted frame can remain unacknowledged before the router polls for an acknowledgment. To set the limit for the retransmission timer (the LAPB T1 parameter), use the following interface subcommand:

lapb t1 milliseconds

The argument milliseconds is the number of milliseconds from 1 through 64000. The default value is 3,000 milliseconds.

For X.25 networks, the router retransmission timer setting should match that of the network. Mismatched retransmission timers can cause excessive retransmissions and an effective loss of bandwidth.

For leased-line circuits, the retransmission timer setting is critical. The timer setting must be large enough to permit several maximum-sized frames to complete one round trip on the link. If the timer setting is too small, the router will poll before the acknowledgment frame can return, which results in an effective loss of bandwidth. If the timer setting is too large, the router waits longer than necessary before requesting an acknowledgment, which also reduces bandwidth.

To determine an optimal value for the retransmission timer, use the privileged EXEC command ping to measure the round-trip time of a maximum-sized frame on the link. Multiply this time by a safety factor that takes into account the speed of the link, the link quality, and the distance. A typical safety factor is four. Choosing a larger safety factor can result in slower data transfer if the line is noisy. However, this disadvantage is minor compared to the excessive retransmissions and effective bandwidth reduction caused by a timer setting that is too small.

Setting Frame Parameters

To specify the maximum number of bits a frame can hold, use the lapb n1 interface subcommand:

lapb n1 bits

The n1 keyword specifies the maximum number of bits (N1) a frame can hold. The argument bits is the number of bits from 1 through 16,384, and must be a multiple of eight. The default value is 12,000 bits (1500 bytes).

When connecting to an X.25 network, use the N1 parameter value set by the network administration, which is the maximum size of an X.25 packet. When using LAPB over leased lines, the N1 parameter should be eight times the MTU.

To specify the maximum number of times an acknowledgment frame can be retransmitted, use the lapb n2 interface subcommand:

lapb n2 retries

The argument retries is the retransmission count from 1 through 255. The default value is 20 retransmissions.

To specify the maximum permissible number of outstanding frames, called the window size, use the lapb k interface subcommand:

lapb k window-size

The argument window-size is a packet count from one to seven. The default value is seven packets.

To define the number of packets to be held on an interface, use the lapb hold-queue interface subcommand:

lapb hold-queue queue-size
no lapb hold-queue [
queue-size]

The argument queue-size defines the number of packets. By default, this number is 10. Use the no lapb hold-queue command without an argument to remove this command from the configuration file. Enter the command with a queue-size of zero to allow an unlimited number of packets.

Monitoring and Troubleshooting LAPB

To display operation statistics for an interface using LAPB encapsulation, use the EXEC command show interfaces.

The following example output shows the state of the LAPB protocol, the current parameter settings, and a count of the different types of frames. Each frame count is displayed in the form sent/received.

LAPB state is DISCONNECT, T1 3000, N1 12000, N2 20, K 7,TH 3000
IFRAMEs 12/28 RNRs 0/1 REJs 13/1 SABMs 1/13 FRMRs 3/0 DISCs 0/11

For a description of the variable names in the show interface output, see the X.25 recommendation.

To debug LAPB problems, you must understand the X.25 recommendation.

To enable the logging of all packets received and generated, use the privileged EXEC command debug lapb. Note that this command slows down processing considerably on heavily loaded links. The following shows example output:

Serial0: LAPB 0 CONNECT (5) IFRAME 0 1
Serial0: LAPB I CONNECT (2) RR 1 (R)
Serial0: LAPB I CONNECT (5) IFRAME P 2 1 (C)
Serial0: LAPB 0 REJSENT (2) REJ P/F 1
Serial0: LAPB I REJSENT (2) DM F (C)
Serial0: LAPB I DISCONNECT (2) SABM (C)
Serial0: LAPB 0 CONNECT (2) UA
.
.
.
Serial0: LAPB T SABMSENT 357964 0
Serial0: LAPB 0 SABMSENT (2) SABM P

In the example output, each line represents a LAPB frame entering or exiting the router. The first field shows the interface type and unit number of the interface reporting the frame event. The second field is the protocol that provided the information.

The third field is I,O, or T for "frame input," "frame output," or "T1 timer expired," respectively. The fourth field indicates the state of the protocol when the frame event occurred. In a timer event, the state name is followed by the current timer value and the number of retransmissions.

In a packet input or output event, the state name is followed by the size of the frame in bytes (in parentheses) and the frame type name. The next field is an optional indicator: P/F, P, or F, which stand for "Poll/Final," "Poll," and "Final," respectively. For IFRAME frames only, the next two numbers are the receive and send sequence numbers, respectively. For RR, RNR, and REJ frames, the next number is the receive sequence number. For FRMR frames, the next three numbers are three bytes of error data. The last optional indicator is (C) or (R) for "command" or "response," respectively.

Configuring X.25

The software for the Cisco network server products supports the 1980 and 1984 Recommendation X.25 published by the French International Telegraph and Telephone Consultative Committee (CCITT). The Recommendations specify connections between data terminal equipment (DTE) and data communications equipment (DCE). The Defense Data Network (DDN) and the International Standards Organization (ISO) specify the use of X.25 protocol for computer communications. Many public and private networks also use Recommendation X.25 as their interface technology.


Note The "X.25 Diagnostic Codes" appendix describes the differences between Cisco's implementation of certain X.25 network-generated, "international problem" diagnostic codes and the definitions provided in Annex E of CCITT Recommendation X.25.

The X.25 model is a telephone network for computer data communications. To start data communications, one computer system calls another to request a communications session. The called computer system can accept or refuse the call. If the called system accepts the call, the two computer systems can begin transferring data in both directions; either system can terminate the call.

In addition to providing remote terminal access, X.25 networks provide bridging capability using a growing list of protocols--the Internet Protocol (IP), DECnet, XNS, ISO CLNS, AppleTalk, Novell IPX, Banyan VINES, and Apollo Domain.

The following sections provide an overview of the Cisco X.25 implementation, describing the different encapsulation methods supported by X.25, and X.25 as a datagram transport, with special attention to the IP protocol. This is followed by descriptions of the DDN X.25 support provided by the Cisco routers, and descriptions of how to configure X.25 switching and bridging. Finally, the configuration of the X.25 Level 3 parameters, and the X.25 Level 2 facilities are discussed. A summary of the interface subcommands are provided at the end of the chapter.


Note The default values provided by the software are sufficient for most X.25 networks; however, some parameters may need to be configured, depending on the network.

Overview of Cisco X.25 Support

Cisco Systems' X.25 support can be used in two different ways:

Remote X.25 switching encapsulates the X.25 packet-level inside a TCP connection, allowing disjointed X.25 networks to be connected via a TCP/IP-based network.


Note When configuring IP routing over X.25, you may need to make adjustments to accommodate split horizon effects. Refer to the chapter "IP Routing Protocols," for details about how Cisco routers handle possible split horizon conflicts. By default, split horizon is enabled for X.25 networks.

X.25 Encapsulation Methods

This section describes the different encapsulation methods and commands that Cisco supports for commercial and private X.25 networks.

Methods of encapsulation for DDN networks are described in the section "Configuring the Datagram Transport on DDN Networks" later in this chapter.

Configuring X.25 DTE and DCE Operation

A router using X.25 Level 3 encapsulation can act as a DTE or DCE device on general X.25 networks.

To set X.25 DTE operation, use the encapsulation x25 interface subcommand:

encapsulation x25

To set X.25 DCE operation, use the encapsulation x25-dce interface subcommand:

encapsulation x25-dce

Configuring the Datagram Transport on Commercial X.25 Networks

Cisco Systems' X.25 support is most commonly configured as a transport for datagrams across an X.25 network. This is accomplished by first establishing a mapping between protocol addresses (for example, IP or DECnet) and the X.121 addresses of the X.25 network. When datagrams for a particular destination are routed for the first time, a virtual circuit is set up to the appropriate X.121 address. The Call User Data portion of the initial Call Request identifies the protocol of the datagrams being carried by a particular virtual circuit. If multiple protocols are in use, multiple virtual circuits will be opened.

Address Mapping Issues

To transport datagrams using X.25 Level 3, the router must map network-protocol addresses to X.121 addresses and vice versa. For example, Figure 1-1 illustrates Hosts A and B that want to communicate via Routers X and Y, which have an X.25 link between them.


Figure 1-1: Communicating Via Routers Through an X.25 Network



To send a packet to Host B, Host A must first send the packet to Router X. From the destination address in the packet and from its routing information, Router X determines that it must send the packet to Router Y over the X.25 network. Router X must then determine the X.121 address for Router Y to open a virtual circuit. Router X uses its network-protocol-to-X.121 address map to convert the protocol address of Router Y to the equivalent X.121 address. Router X can now make the call to create a virtual circuit.

Except in the case of IP using DDN X.25 encapsulation, there is no standard method for dynamically determining these mappings. Instead, static mapping tables must be configured into each router.

To display the network-protocol-to-X.121 address mapping, use the EXEC command show x25 map.

Setting Address Mappings

To specify a network-protocol-to-X.121 address mapping such as Internet-to-X.121 or DECnet-to-X.121, use the x25 map interface subcommand:

x25 map protocol-keyword protocol-address X.121-address [option1... option6]
no x25 map
protocol-keyword protocol-address X.121-address
Note  For bridging over X.25, there is no protocol address; however, the broadcast option is required.

The argument protocol-keyword is one of these keywords:

The address arguments specify the network-protocol-to-X.121 mapping.

The option arguments add certain features to the mapping specified, and can be any of the following, up to six.


Note The options that follow cannot be configured with the x25 map cmns version of the x25 map command.

When included in the x25 map command, these options must be specified in the order listed below:

To retract a network-protocol-to-X.121 mapping, use the no x25 map interface subcommand with the appropriate network protocol and X.121 address arguments.

Configuring X.25 to Allow Ping Support over Multiple Lines

For ping commands to work in an X.25 environment (when load-sharing over multiple serial lines), you must include entries for all adjacent interface IP addresses in the x25 map command for each serial interface. The example configuration that follows illustrates this point.

Example:

For example, consider two routers, CiscoA and CiscoB, communicating with each other over two serial lines via an X.25 PDN (see Figure 1-2) or over leased lines. In either case, all serial lines must be configured for the same IP subnet address space. In order to allow for successful ping commands, the configuration might be as in the following lists.In any event, a similar configuration is required for the same subnet IP addresses to work across X.25.


Figure 1-2: Parallel Serial Lines to X.25 Network




Note All four serial ports configured for the two routers in the following configuration example must be assigned to the same IP subnet address space. In this case, the subnet is 131.108.170.0.
! Configuration for Cisco A
! -------------------------
int s 1
ip 131.108.170.1 255.255.255.0
x25 address 31370054068
x25 map ip 131.108.170.3 31370054065
x25 map ip 131.108.170.4 31370054065
int s 2
ip 131.108.170.2 255.255.255.0
x25 address 31370054069
x25 map ip 131.108.170.4 31370054067
x25 map ip 131.108.170.3 31370054067
! allow either source address
x25 route 31370054069 alias Serial1
x25 route 31370054068 alias Serial2
! Configuration for Cisco B
! -------------------------
int s 0
ip 131.108.170.3 255.255.255.0
x25 address 31370054065<<<<<<<
x25 map ip 131.108.170.1 31370054068
x25 map ip 131.108.170.2 31370054068
int s 3
ip 131.108.170.4 255.255.255.0
x25 address 31370054067<<<<<<<
x25 map ip 131.108.170.2 31370054069
x25 map ip 131.108.170.1 31370054069
! allow either source address
x25 route 31370054067 alias Serial0
x25 route 31370054065 alias Serial3

Netbooting Over X.25

When netbooting over X.25, you cannot netboot via a broadcast. You must netboot from a specific host. Also, an x25 map command must exist for the host that you will netboot from.

Example 1:

For example, if file gs3-bfx is to be booted from a host with IP address 131.108.126.2, the following would need to be in the configuration:

boot system gs3-bfx 131.108.126.2
interface Serial 0
encapsulation x25
x25 map IP 131.108.126.2 10001 broadcast
Example 2:

The x25 map command is used to map an IP address into an X.121 address. There must be an x25 map command which matches the IP address given on the boot system command line. The following is an example of such a configuration:

boot system gs3-bfx.83-2.0 131.108.13.111
!
interface Serial 1
ip address 131.108.126.200 255.255.255.0
encapsulation X25-DCE
x25 address 10004
x25 map IP 131.108.13.111 10002 broadcast
lapb n1 12040
clockrate 56000

In this case, 10002 is the X.121 address of the remote router that can get to host 131.108.13.111.

The remote router must have the following x25 map entry:

x25 map IP 131.108.126.200 10004 broadcast

This allows the remote router to return a boot image (from the netboot host) to the router netbooting over X.25.

X.25 TCP Header Compression

TCP header compression is supported over X.25 links through the use of two interface subcommands:

The interface subcommand ip tcp header-compression is detailed in the chapter "Routing IP."

The implementation of compressed TCP over X.25 uses another virtual circuit (VC) to pass the compressed packets. The noncompressed packets use one VC and compressed packets take another VC.

The interface subcommand x25 map compressedtcp is required to make the X.25 calls complete for compressed packets. The command syntax is:

x25 map compressedtcp ip-address x.121-address [options]
no x25 map compressedtcp
ip-address x.121-address [options]

The argument ip-address is the IP address, and x.121-address is the X.121 address. The options argument accepts the same options as those for the x25 map command described in the preceding section.

The Call User Data (CUD) of compressed TCP calls is the single byte 0xd8.


Note  Typically, the first byte of Call User Data is used by Cisco software to distinguish which high-level protocol will be carried by a particular virtual circuit.

The no x25 map compressedtcp disables TCP header compression for the link.

Bridging on X.25

Cisco's transparent bridging software supports bridging of X.25 frames. To configure this capability, add this variation of the x25 map interface subcommand to the bridging configuration file:

x25 map bridge X.121-address broadcast [options-keywords]

The command specifies Internet-to-X.121 address mapping. The keyword bridge specifies bridging over X.25. The argument X.121-address is the X.121 address. The keyword broadcast is required for bridging X.25 frames. The argument options-keywords represents services that may be added to this map. See the section "Setting Address Mappings," earlier in this chapter. For further information about bridging on X.25, and for an example configuration, refer to the chapter "Configuring Transparent Bridging."

Configuring the X.25 Parameters

The Cisco router software provides subcommands to configure the standard Level 2 and Level 3 X.25 parameters and user facilities.

This section discuses the commands and procedures needed to set these parameters, including interface addresses, virtual circuit channel sequence, and addresses.

Setting Permanent Virtual Circuits

Permanent Virtual Circuits (PVCs) are the X.25 equivalent of leased lines; they are never disconnected. To establish a PVC, use the x25 pvc interface subcommand:

x25 pvc circuit protocol-keyword protocol-address
no x25 pvc
circuit protocol-keyword protocol-address

The argument circuit is a virtual-circuit channel number and it must be less than the lower limit of the incoming call range in the virtual circuit channel sequence.

The argument protocol-keyword can be one of these keywords:

The argument protocol-address is that of the host at the other end of the PVC.

PVCs are not supported for ISO CLNS. Switched Virtual Circuits (SVCs) are sufficient for CLNS connections over X.25.


Note  You must specify the required network-protocol-to-X.121 address mapping with an x25 map subcommand before you can set up a PVC.

To delete a PVC, use the no x25 pvc interface subcommand with the appropriate channel number, protocol keyword, and protocol address.


Note When configuring X.25 to use a PVC, you must ensure that no traffic is sent toward a remote terminal server between the time the x25 map command is issued and the time that x25 pvc command is issued. Otherwise, the local system will create a switched virtual circuit (SVC), and then the x25 pvc command will not be allowed.

Map entries with the broadcast attribute are particularly likely to get traffic, due to routing protocol traffic. The simplest way to ensure that traffic is not sent while configuring an interface to use a PVC, is to disable the interface while configuring it for PVC support.

Protocol-to-Virtual-Circuit Mapping

The Call Request packet that sets up a virtual circuit contains a field called the Call User Data field. Typically, the first byte of Call User Data is used by Cisco software to distinguish which high-level protocol will be carried by a particular virtual circuit.

Table 1-2 lists the hexadecimal values of the initial byte of Call User Data and its corresponding network level protocol. The use of 0x81 for ISO 8473 (CLNS) is an ISO standard. The use of 0xCC for Department of Defense IP is defined by RFC 877. The use of C0 00 80 C4 is defined by Banyan. The other values are meaningful only to Cisco software. All the values are padded with three bytes of 0x00, except for VINES, the BFE X.25 encapsulation and CLNS, which follow ISO 8473 requirements.


Protocols and Initial Byte of Call User Data (CUD)
Protocol Initial CUD Byte
ISO CLNS 0x81
DOD IP 0xCC
PUP 0xCE
Chaosnet 0xCF
DECnet 0xD0
XNS 0xD1
AppleTalk 0xD2
Novell 0xD3
Apollo Domain 0xD4
VINES 0xC0 0x00 0x800xC4
Bridges 0xD5

To set the default protocol, use the x25 default command. The full syntax follows:

x25 default protocol

no x25 default
protocol

The x25 default command specifies the protocol assumed by the router to interpret calls with unknown Call User Data. The argument protocol sets the default protocol and is either ip or pad. Use this subcommand to change the action taken when an incoming call is received without identifying Call User Data. Normally, the call is cleared. When you use this subcommand, the incoming call is assumed to contain the specified default protocol.

The no x25 default subcommand removes the protocol specified.

Displaying Address Mappings

To display the network-protocol-to-X.121 address mappings, enter this command at the EXEC prompt:

show x25 map

The following is a sample output:

Serial0: novel 10.0.0c00.7b22 000000220200 PERMANENT, 1 LCN: 4*
Serial0: IP 10.1.0.1 000000010100 CONSTRUCTED
Serial1: appletalk 128.1 000000010000 PERMANENT
Serial1: decnet 28.1 000000020000 PERMANENT BROADCAST
Serial1: ip 128.1.0.3 000000030000 PERMANENT, 2 LCN: 1023*, 1024

Each line of output shows the interface name, the protocol type, the protocol address, the X.121 address, and the address-mapping type. The address-mapping types are PERMANENT, entered with the x25 map interface subcommand, INTERFACE, indicating the address of a router network interface, and CONSTRUCTED (derived using the DDN address conversion scheme).

If broadcasts are enabled for an address mapping, the word BROADCAST also appears on the output line. Finally, each line also shows the number of Logical Circuit Numbers (LCNs) and, if greater than zero, a list of the LCNs for the protocol/X.121 address. An asterisk marks the current LCN.

Example X.25 Configuration

The following example shows the complete configuration for a serial interface connected to a commercial X.25 PDN for routing the IP protocol. The IP subnetwork address 131.108.9.0 has been assigned for the X.25 network.


Note When routing IP over X.25, the X.25 network must be treated as a single IP network or subnetwork. Map entries for routers with addresses on subnetworks, other than the one on which the interface's IP address is stored, are ignored by the routing software. Additionally, all routers using the subnet number should have map entries for all others. There are also issues with the broadcast flag, which apply both to IP and to other protocols with dynamic routing.
interface serial 2
ip address 131.108.9.1 255.255.255.0
!
encapsulation X25
!
! The "bandwidth" command is not part of the X.25 configuration. It is
! especially important to understand that it does not have any connection with
! with the X.25 entity of the same name. Cisco "bandwidth" commands are used by
! IP routing processes (currently only IGRP) to determine which lines are the best
! choices for traffic. Since the default is 1544, and X.25 service at that rate
! is not generally available, most X.25 interfaces that are being used with IGRP
! in a real environment will have "bandwidth" settings.
!
! This is a 9.6 Kbaud line:
!
bandwidth 10
!
! These Level 3 parameters are defaults; they need to
! match PDN defaults. They are negotiable on a per-call basis:
!
x25 win 7
x25 wout 7
x25 ips 512
x25 ops 512
!
! You must specify an X.25 address, which you get from the PDN:
!
x25 address 31370054065
!
! The following Level 3 parameters have been set to match the network.
! You generally need to change some Level 3 parameters, most often
! those listed below. You may not need to change any Level 2
! parameters, however.
!
x25 hic 32
x25 htc 32
x25 hoc 32
x25 idle 5
x25 nvc 2
!
! The following commands configure the X.25 map. If you want to exchange
! routing updates with any of the routers, they would need "broadcast" flags.
! If the X.25 network is the only path to them, static routes are
! generally used to save on packet charges. If there is a redundant path,
! it might be desirable to run a dynamic routing protocol.
!
x25 map IP 131.108.9.3 31370019134 ACCEPT-REVERSE
! (ACCEPT-REVERSE allows collect calls)
x25 map IP 131.108.9.1 31370054065
x25 map IP 131.108.9.2 31370053087
!
! The PDN cannot handle fast back-to-back packets, so the
!"transmitter-delay" command is used to slow down the MCI card:
!
transmitter-delay 1000

Configuring the Datagram Transport on DDN Networks

The DDN X.25 protocol has two versions: Basic Service and Standard Service. Using the DDN X.25 Basic Service, network devices send raw X.25 data across the DDN and assume no structure within the data portion of the X.25 packet. Basic Service users can interoperate only with other Basic Service users.

DDN X.25 Standard Service requires that the X.25 data packets carry IP datagrams. Because the DDN Packet-Switch Nodes (PSNs) can extract the Internet packet from within the X.25 packet, they can pass data to either an 1822-speaking-host or to another Standard Service host. Thus, hosts using the older 1822 network interface can interoperate with hosts using Standard Service.

The DDN X.25 Standard is the required protocol for use with DDN PSNs. The Defense Communications Agency (DCA) has certified the Cisco Systems DDN X.25 Standard implementation for attachment to the Defense Data Network.

Enabling DDN X.25

A router using the DDN X.25 Basic Service can act as a DTE or DCE device. To set operation type, use the encapsulation interface subcommand:

encapsulation {ddnx25|ddnx25-dce}

These keywords cause the router to specify the Standard Service facility in the Call Request packet, which notifies the PSNs to use Standard Service.

Using Standard Service, the DDN can provide better service for virtual circuits with higher precedence values. If the router receives an Internet packet with a nonzero Internet precedence field, it opens a new virtual circuit and sets the precedence facility request to the DDN-specified precedence mapping in the Call Request packet. Different virtual circuits are maintained based on the precedence mapping values and the permitted number of virtual circuits.

For situations requiring a high degree of security, the Defense Data Network Blacker Front- End Encryption (BFE) device is supported. If the router is attached to such a device, the bfex25 keyword must be used with the encapsulation subcommand:

encapsulation bfex25

This encapsulation provides a mapping from Class A IP addresses to the type of X.121 addresses expected by the BFE encryption device.

DDN X.25 Dynamic Mapping

The DDN X.25 standard implementation includes a scheme for dynamically mapping all classes of Internet addresses to X.121 addresses without a table. This scheme requires that the Internet addresses conform to the formats shown in Table 1-3. These formats segment the Internet addresses into network (N), host (H), logical address (L), and IMP (I) portions. (The acronym IMP, which stands for Interface Message Processor, is the predecessor of PSN, which stands for Packet Switch Node.) For the BFE encapsulation, the Internet address is segmented into Port (P), Domain (D), and BFE ID number (B).


DDN Internet/X.121 Address Conventions

The DDN conversion scheme uses the host and IMP portions of an Internet address to create the corresponding X.121 address. Strictly speaking, the DDN conversion mechanism is limited to Class A Internet addresses. However, the router can convert Class B and Class C addresses as well. As indicated in Table 1-3, this method uses the last two octets of a Class B address as the host and IMP identifiers, and the upper and lower four bits in the last octet of a Class C address as the host and IMP identifiers, respectively.

The DDN conversion scheme uses a physical address mapping if the host identifier is numerically less than 64. (This limit derives from the fact that a PSN cannot support more than 64 nodes.) If the host identifier is numerically larger than 64, the resulting X.121 address is called a logical address. The DDN does not use logical addresses.

The format of physical DDN X.25/X.121 addresses is ZZZZFIIIHHZZ(SS), where each character represents a digit. ZZZZ represents four zeros, F is zero to indicate a physical address, III represents the IMP (PSN) octet from the Internet address padded with leading zeros, HH is the host octet from the Internet address padded with leading zeros, and ZZ represents two zeros. (SS) represents the optional and unused subaddress.

The physical and logical mappings of the DDN conversion scheme always generate a 12-digit X.121 address. Subaddresses are optional; when added to this scheme, the result is a 14-digit X.121 address. The DDN does not use subaddressing.

Packets using routing and other protocols that require broadcast support can successfully traverse X.25 networks, including the DDN. This traversal requires the use of network-protocol-to-X.121 maps because the router must know explicitly where to deliver broadcast datagrams. (X.25 does not support broadcasts.) You can mark network-protocol-to-X.121 map entries to accept broadcast packets; the router then sends broadcast packets to hosts with marked entries. If you do not specify the address for an interface configured for DDN X.25, the router uses the DDN mapping technique to obtain the X.121 address of an interface.

To display the network-protocol-to-X.121 address mapping, enter this command at the EXEC prompt:

show x25 map

DDN X.25 Configuration Subcommands

Normally the X.25 parameters of a DDN connection are configured using the x25 and lapb interface subcommands described earlier in this chapter. There are a few DDN-specific subcommands, however.

The Cisco X.25 implementation allows you to enable or disable the ability to open a new virtual circuit based on the IP Type of Service (TOS) field.

To do this, use the x25 ip-precedence interface subcommand. The full syntax of this command follows:

x25 ip-precedence
no x25 ip-precedence

By default, Cisco routers open one virtual circuit for each type of service. There is a problem associated with this in that some hosts send nonstandard data in the TOS field, thus causing multiple, wasteful virtual circuits to be created. The command no x25 ip-precedence causes the TOS field to be ignored when opening virtual circuits.

Using the HDH Protocol

As mentioned earlier, the HDH protocol (also known as the HDLC Distant Host or 1822-J protocol) provides a method for running the 1822 protocol over synchronous serial lines instead of over special-purpose 1822 hardware. HDH packets consist of 1822-LH/DH leaders and data encapsulated in LAPB (X.25 Level 2) format. The HDH hardware is on the Multiport Communications Interface (MCI) card. Strictly speaking, HDH is not X.25; however, it is still commonly used for attaching to the Defense Data Network.

The router supports both the packet and message modes of HDH. It is enabled with the hdh interface subcommand with the appropriate keyword. The syntax follows:

hdh {packet|message}

The packet keyword specifies the packet mode; the message keyword specifies the message mode.

To enable the HDH protocol, use the interface subcommand:

encapsulation hdh

To enable logging of HDH transactions, use the privileged EXEC command debug hdh. To enable logging of the underlying LAPB protocol transactions, use the privileged EXEC command debug lapb.

To display information about HDH, use the EXEC command show imp-hosts. This command displays information about the hosts with which the network server has communication during the past five minutes via its CSC-A (1822-LH/DH) interfaces or serial interface using HDH (1822-J) encapsulation.

Use the EXEC command debug psn to log information about the Packet-Switch Node. This command enables logging of noteworthy Packet-Switch Node (PSN) events for DDN network servers that are equipped with CSA-A (1822-LH/DH) interfaces or serial interfaces using HDH (1822-J) encapsulation.

The debug psn-events EXEC command enables logging of a subset of the PSN and 1822 debugging messages.

Configuring X.25 Switching

In addition to transporting datagrams, the Cisco X.25 software implementation allows switched virtual circuits to be forwarded from one X.25 interface to another and from one Cisco router to another. The forwarding behavior can be controlled based on a locally built table.

The X.25 switching subsystem supports the following facilities and parameters:

Higher-level protocols may share an X.25 encapsulated serial interface with the X.25 switching support. The ability to switch or forward X.25 virtual circuits can be done in two different ways:

Running X.25 over TCP/IP provides a number of benefits. The IP datagram containing the X.25 packet can be switched by other routers using the Cisco high-speed switching abilities. It also allows X.25 connections to be sent over networks running only the TCP/IP protocols. The TCP/IP protocol suite runs over many different networking technologies including Ethernet, Token Ring, T1 serial, and FDDI. Thus X.25 data can be forwarded over these media to another Cisco router where it can be output to an X.25 interface.

Enabling X.25 Switching

To enable X.25 switching, use the x25 routing global configuration command. The full syntax of this command follows:

x25 routing
no x25 routing

X.25 calls will not be forwarded until this command is issued. The command no x25 routing disables the forwarding of X.25 calls.

Constructing the X.25 Routing Table

The X.25 routing table is consulted when an incoming call is received that should be forwarded to its destination. Two fields are used to determine the route: the called X.121 network interface address or the destination host address, and the X.25 packet's Called User Data (CUD) field. When the destination address and the CUD of the incoming packet fit the X.121 and CUD patterns in the routing table, the packet is forwarded.

An entry in the X.25 routing table is set up or removed with the x25 route global configuration commands. The full syntax and variations of these commands follow:

x25 route [# position] x121-pattern [cud pattern] interface interface-type unit
no x25 route [#
position] x121-pattern [cud pattern] interface interface-type unit x25 route [# position] x121-pattern [cud pattern] ip ip-address
no x25 route [# position] x121-pattern [cud pattern] ip ip-address
x25 route [# position] x121-pattern [cud pattern] alias interface-type unit
no x25 route [# position] x121-pattern [cud pattern] alias interface-type unit

The order in which X.25 routing table entries are specified is significant; the list is scanned for the first match. The optional argument # position (# followed by an integer) designates the line number of an existing entry. The new entry will be inserted after the existing entry indicated by the position argument. If no position parameter is given, the entry is appended to the end of the routing table.

The argument x121-pattern can be either an actual X.121 destination address or a regular expression representing a group of X.121 addresses (for example, 1111.*).

The optional Call User Data pattern can also be specified as a printable ASCII string. Both the X.121 address and Call User Data can be written using UNIX-style regular expressions. The Call User Data field is matched against the data that follows the protocol identification field, which is four bytes. The argument interface-type is the type of interface (for example, serial) and unit is the interface unit number. For connections routed through a LAN, the ip-address argument is the IP address of the network interface or DTE. Use the show x25 route command to display the X.25 routing table.

In the alias version of this command, the type argument is the type of interface and the unit argument is the unit number of the destination interface on the destination router. With the alias command, if a call comes in on the specified interface and the call's destination address fits the X.121 pattern, the call is received on the destination interface. In other words, an alias route is valid only for calls that come in on the named interface.

Enter the no x25 route command with the appropriate arguments and keywords to remove the entry from the table.

Examples

In the following example, if a call comes in on interface serial 0 and matches any x121-pattern, the call will be accepted for the type of connectivity configured for the interface and the CUD.

x25 route .* alias serial 0

In the following example, the call will be accepted because both this vax-x.121 address and the address given in the x25 address interface command will be treated as local addresses for interface serial 0.

x25 route vax-x121-address alias serial 0

Translating X.25 Called Addresses

When interconnecting two separate X.25 networks, it is sometimes necessary to provide for address translation. Cisco's X.25 switch supports translation of X.25 called and calling addresses using the substitute-dest or substitute-source keyword with the x25 route configuration subcommand. Addresses can be rewritten using regular expression replacement.

The substitute-source keyword allows substitution of the calling address. For backwards compatibility, the substitute keyword will be accepted as substitute-dest and written to nonvolatile memory in the new format. When used with the x25 use-source-address command, this option allows the calling address to be modified.

x25 route [# position] x121-pattern [substitute-source rewrite-pattern] [substitute-dest rewrite-pattern] [cud pattern] interface destination-interface

For typographical reasons, this command is shown on two lines. When using the optional keywords in this variation of the x25 route subcommand, the substitute-source keyword must precede the substitute-dest keyword, and both must precede the cud keyword. The entire command must be on one line.

The argument x121-pattern can be either an actual x.121 destination address or a regular expression representing a group of X.121 addresses.

The argument rewrite-pattern will replace the called or calling X.121 address in routed X.25 packets, as appropriate. The backslash (\) character is treated specially in the argument rewrite-pattern; it indicates that the digit immediately following it selects a portion of the original called address to be inserted in the new called address. The characters \0 are replaced with the entire original address. The characters \1 through \9 are replaced with the strings that matched the first through ninth parenthesized parts of X121-pattern. See Table 1-4 and Table 1-5 for a summary of pattern and character matching. A more complete description of the pattern matching characters is found in the "Pattern Matching" appendix.


Pattern Matching
Pattern Matching
\0 Replaces entire original address.
\1..9 Replaces strings that match first through ninth parenthesized part of X.121 address.
* Matches 0 or more sequences of the regular expressions.
+ Matches 1 or more sequences of the regular expressions.
? Matches the regular expression of the null string.

Character Matching
Character Matching
^ Matches the null string at the beginning of the input string.
$ Matches the null string at the end of the input string.
\char Matches char.
. Matches any single character.

Note that address substitution is only performed on routes to an interface. When running X.25 over IP, address substitution can be performed on the destination IP system if the destination system is configured with the appropriate X.25 routing commands.

Example:

This example indicates that X.25 calls to addresses whose first four Data Network Identification Code (DNIC) digits are 1111 should be routed through interface serial 3, but that the DNIC field in the addresses presented to the equipment connected to that interface should be changed to 2222. The \1 characters in the rewrite pattern indicate that the portion of the original address matched by the characters. The asterisk should be inserted in the rewritten address.

x25 route ^1111(.*) substitute-dest 2222\1 interface serial 3

Figure 1-3 shows a more contrived example intended to illustrate the power of the rewriting scheme:


Figure 1-3: X.121 Address Translation Scheme



This sample would cause all X.25 calls with 14-digit called addresses to be routed through interface serial 0. The incoming DNIC field would be moved to the end of the address. The fifth, sixth, ninth, and tenth digits would be deleted, and the thirteenth and fourteenth would be moved before the eleventh and twelfth.

Configuring PVCs on an X.25 Switch

You may configure X.25 Permanent Virtual Circuits (PVCs) in the X.25 switching software. This means that DTEs that require permanent circuits can be connected to the Cisco router acting as an X.25 switch and have a properly functioning connection. X.25 RESETs will be sent indicating when the circuit comes up or goes down.

Use the x25 pvc interface subcommand to configure a PVC for a given interface. The syntax of this command follows.

x25 pvc pvc-number interface interface-name pvc-number

The argument pvc-number is the PVC number that will be used on the local interface (as defined by the primary interface command). The argument interface-name is the interface type and unit number (serial 0, for example), as specified by the interface command.

Example:

Consider a PVC linked across two serial interfaces on the same device. In this type of interconnection configuration, the alternate interface must be specified along with the PVC number on that interface. To make a working PVC connection, two commands must be specified, each pointing to the other as this example illustrates.

interface serial 0
encapsulation x25
x25 pvc 1 interface serial 1 1
interface serial 1
encapsulation x25
x25 pvc 1 interface serial 0 1

When you are configuring X.25 to use a PVC, you must ensure that no traffic is sent towards the remote router between the time the X.25 map command is issued and the time that X25 pvc command is issued. Otherwise, the local router will create an SVC, and then the pvc command will not be allowed.

Map entries with the Broadcast attribute are particularly likely to get traffic, due to routing protocol traffic. The simplest way to ensure that no traffic is sent while configuring is to shut down the interface while configuring it for a PVC.

X.25 Switching Configuration Examples

The following two examples illustrate how to enable an X.25 switch, how to enable call forwarding, and how to configure a router on a Tymnet/PAD switch to accept and forward calls.

Example 1:

This configuration shows how to enable X.25 switching, as well as how to enter routes into the X.25 routing table.

! Enable X.25 forwarding
x25 routing
!
! Enter routes into the table. Without a positional parameter, entries
! are appended to the end of the table
x25 route ^100$ interface serial 0
x25 route 100 cud ^pad$ interface serial 2
x25 route 100 interface serial 1
x25 route ^3306 interface serial 3
x25 route.* ip 10.2.0.2

This routing table forwards calls for X.121 address 100 out via interface serial 0. Otherwise, if the X.121 address contains 100 anywhere within it and contains no Call User Data or the Call User Data is not the string pad, it is forwarded onto serial 1. If the X.121 address contains 100 somewhere within and the Call User Data is the string pad, the call is forwarded onto serial 2. All X.121 addresses that do not match the first three routes are checked for a DNIC of 3306 as the first four digits. If it does match, it is forwarded over serial 3. All other X.121 addresses will match the fifth entry which is a match-all pattern and will have a TCP connection established to the IP address 10.2.0.2. The Cisco router at 10.2.0.2 will then route the call according to its X.25 routing table.

Example 2:

This configuration configures a Cisco router that sits on a Tymnet PAD/switch to accept calls and have them forwarded to a DEC VAX system. This feature permits running X.25 network over a generalized, already existing IP network, thereby making it unnecessary to get another physical line for one protocol.

The Cisco router positioned next to the DEC VAX system is configured with X.25 routes, as follows:

x25 route vax-x121-address interface serial 0
x25 route.* ip cisco-on-tymnet-ipaddress

This would route all calls to the DEC VAX X.121 address out to serial 0, where the VAX is connected running PSI. All other X.121 addresses would be forwarded to the cisco-on-tymnet address using its IP address. This would take all outgoing calls from the VAX and send them to cisco-on-tymnet for further processing.

On the router named cisco-on-tymnet, you would enter these commands.

x25 route vax-x121-address ip cisco-on-vax
x25 route .* interface serial 0

This forces all calls with the VAX X.121 address to be sent to the Cisco router with the VAX connected to it. All other calls with X.121 addresses will be forwarded out to Tymnet. If Tymnet can route them, then a CALL ACCEPTED packet will be returned and everything will proceed normally. If Tymnet can not handle it, it will clear the call and the CLEAR REQUEST packet will be forwarded back toward the VAX.

Setting the X.25 Level 3 Parameters

Once you establish X.25 Level 3 encapsulation, you can set X.25 Level 3 parameters. These parameters are described in the following sections.


Note  If you connect a router to an X.25 network, use the parameters set by the network administration. Also, note that the X.25 Level 2 parameters described in "Setting the X.25 Level 2 (LAPB) Parameters" earlier in this chapter affect X.25 Level 3 operations.

Setting the X.25 Interface Address

To set the X.121 address of a particular network interface, use the x25 address subcommand. The address is assigned by the X.25 network:

x25 address X.121-address

The argument X.121-address is a variable-length X.121 address.

Example:

The following subcommand sets the X.121 address of the current interface to address 2.

x25 address 2

The value must match that assigned by the X.25 network.

The section "DDN X.25 Dynamic Mapping," earlier in this chapter, describes the addressing scheme for DDN X.25 networks.

Configuring the Virtual Circuit Channel Sequence

An important part of X.25 operation is the virtual circuit channel sequence. This sequence is a range of virtual circuit channel numbers broken into four groups (listed here in numerically increasing order):


Permanent virtual circuits
Incoming calls
Incoming and outgoing (two-way) calls
Outgoing calls

Several X.25 parameters determine the numerical ranges of the last three groups; the range for permanent virtual circuits falls numerically below the incoming call range.

X.25 communications devices use the virtual circuit channel sequence when allocating virtual circuits. When initiating a call, these devices must search for an available channel in the sequence in one of two ways. For outgoing calls (made by a DTE device), the search starts at the upper end of the outgoing call range and proceeds in the direction of decreasing channel numbers. The search continues until the device finds an available channel or reaches the lower limit of the two-way call range.

For incoming calls (handled by a DCE device), the search for channel numbers to allocate starts at the lower end of the incoming call range, and proceeds in the direction of increasing channel numbers. The search continues until the device finds an available channel or reaches the upper limit of the two-way call range. The DTE and DCE devices fail to find an available channel only if the overall sequence range is very small or when all of the channels are in use.

To set the upper-limit and lower-limit parameters of the channel ranges, use the x25 subcommand keywords listed in Table 1-6. Each keyword takes a channel number as its argument. Note that the values for these parameters must be the same on both ends of an X.25 link.

The default lower limit for all channel ranges on the router is 1; the default upper limit for all ranges is 1024, except for CMNS. For CMNS the default upper limit for hic, htc, and hoc parameters is 4095. These defaults reflect a simple approach to allocating the channel ranges: assign the same low value to all lower limits, and assign the same high value to all upper limits. This approach causes the three ranges to overlap and become one large range.


Note For LAN interfaces configured with CMNS, the interface type is set to DXE, which allows the interface to be either DTE or DCE based on negotiation that occurs (during the restart phase) between the router and a connecting device at the time a connection is made.

Range Limit Keywords for the Virtual Circuit Channel Sequence

Keyword

Limit Type

Range
Non-CMNS
Default
CMNS Default
lic Lower limit, incoming call range 1-4095 1 1
hic Upper limit, incoming call range 1-4095 1024 4095
ltc Lower limit, two-way call range 1-4095 1 1
htc Upper limit, two-way call range 1-4095 1024 4095
loc Lower limit, outgoing call range 1-4095 1 1
hoc Upper limit, outgoing call range 1-4095 1024 4095

Setting the Highest Incoming Channel

The hic keyword sets the highest incoming channel (HIC).

x25 hic channel

The argument channel is a channel number from 1 through 4095. The default value is 1024.

Setting the Highest Outgoing Channel

The hoc keyword sets the highest outgoing channel (HOC).

x25 hoc channel

The argument channel is a channel number from 1 through 4095. The default value is 1024.

Setting the Highest Two-Way Channel

The htc keyword sets the highest two-way channel (HTC).

x25 htc channel

The argument channel is a channel number from 1 through 4095. The default value is 1024.

Setting the Lowest Incoming Channel

The lic keyword sets the lowest incoming channel (LIC).

x25 lic channel

The argument channel is a channel number from 1 through 4095. The default value is one.

Setting the Lowest Outgoing Channel

The loc keyword sets the lowest outgoing channel (LOC).

x25 loc channel

The argument channel is a channel number from 1 through 4095. The default value is one.

Setting the Lowest Two-Way Channel

The ltc keyword sets the lowest two-way channel (LTC).

x25 ltc channel

The argument channel is a channel number from 1 through 4095. The default value is one.

Example:

The following commands set these channels.

Commands us to set these channels:

x25 hic 20
x25 htc 20
x25 hoc 20

Maintaining Virtual Circuits

The router can clear a switched virtual circuit (SVC) after a set period of inactivity. To set this period, use the x25 idle interface subcommands:

x25 idle minutes
no x25 idle

The argument minutes is the number of minutes in the period. The default value is zero, which causes the router to keep the SVC open indefinitely. Both calls originated and terminated by the router are cleared. The no x25 idle command returns the default.

To increase throughput across networks, you can establish up to eight SVCs to a host. To specify the maximum number of SVCs that can be open simultaneously to one host, use the x25 nvc interface subcommand:

x25 nvc count

The argument count is a circuit count from 1 to 8; the default is 1.


Note The count value specified for x25 nvc affects the default value for the number of SVCs. It does not affect the NVC value for any x25 map commands that have already been configured.

Configuring the Ignore VC Timer

Upon receiving a Clear Request for an outstanding Call Request, the X.25 support code immediately tries another Call Request, if it has more traffic to send. This can overrun some X.25 switches. To prevent this problem, use the x25 hold-vc-timer configuration commands:

x25 hold-vc-timer minutes
no x25 hold-vc-timer

The argument minutes is the number of minutes to prevent calls to a previously failed destination. Incoming calls will still be accepted. The default value is 0, and the no x25 hold-vc-timer command restores this default.

Configuring the X.25 Level 3 Retransmission Timers

The X.25 Level 3 retransmission timers determine how long the router must wait before retransmitting various Request packets. You can set these timers independently using the x25 subcommand keywords listed in Table 1-7. Each keyword requires a time value in seconds as its argument. The last column shows the default timer values, in seconds. Four of the timers apply to DTE devices, and the other four apply to DCE devices.


Retransmission Timer Keywords and Defaults
Keyword
(DTE/DCE)
Affected
Request Packet
Time (seconds) (DTE/DCE) Time (seconds)
(DXE)
t20/t10 Restart Request 180/60 60
t21/t11 Call Request 200/180 180
122/t12 Reset Request 180/60 60
t23/t13 Clear Request 180/60 180

Note When setting this timer for a CMNS configuration, you are setting it for a DXE interface, which can be either DTE or DCE.

Setting the DTE Restart Request Retransmission Timer

The t20 keyword sets the limit for the Restart Request retransmission timer (T20) on DTE devices.

x25 t20 seconds

The argument seconds is a time value in seconds. The default is 180 seconds.

Setting the DCE Restart Request Retransmission Timer

The t10 keyword sets the limit for the Restart Request retransmission timer (T10) on DCE devices.

x25 t10 seconds

The argument seconds is a time value in seconds. The default value is 60 seconds.

Setting the DTE Call Request Retransmission Timer

The t21 keyword sets the limit for the Call Request retransmission timer (T21) on DTE devices.

x25 t21 seconds

The argument seconds is a time value in seconds. The default value is 200 seconds.

Setting the DCE Call Request Retransmission Timer

The t11 keyword sets the limit for the Call Request retransmission timer (T11) on DCE devices.

x25 t11 seconds

The argument seconds is a time value in seconds. The default value is 180 seconds.

Setting the DTE Reset Request Retransmission Timer

The t22 keyword sets the limit for the Reset Request retransmission timer (T22) on DTE devices.

x25 t22 seconds

The argument seconds is a time value in seconds. The default value is 180 seconds.

Setting the DCE Reset Request Retransmission Timer

The t12 keyword sets the limit for the Reset Request retransmission timer (T12) on DCE devices.

x25 t12 seconds

The argument seconds is a time value in seconds. The default value is 60 seconds.

Setting the DTE Clear Request Retransmission Timer

The t23 keyword sets the limit for the Clear Request retransmission timer (T23) on DTE devices.

x25 t23 seconds

The argument seconds is a time value in seconds. The default value is 180 seconds.

Setting the DCE Clear Request Retransmission Timer

The t13 keyword sets the limit for the Clear Request retransmission timer (T13) on DCE devices.

x25 t13 seconds

The argument seconds is a time value in seconds. The default value is 60 seconds.

Updating the X.121 Address

Some X.25 calls, when forwarded by the X.25 switching support, need the calling (source) X.121 address updated to that of the outgoing interface. This is necessary when forwarding calls from private data networks to public data networks.

Outgoing calls forwarded over a specific interface can have their calling X.121 address updated by using the x25 use-source-address subcommand. The full syntax is:

x25 use-source-address
no x25 use-source-address

The no x25 use-source-address command prevents updating of the source address of outgoing calls.

Setting X.25 Packet Sizes

X.25 networks use maximum input and output packet sizes set by the network administration. You can set the router input and output packet sizes to match those of the network with the x25 subcommand keywords ips and ops, respectively:

x25 ips bytes
x25 ops bytes

The argument bytes is a byte count in the range of 128 through 2048. The default value is 128 bytes.

Larger packet sizes are better, because smaller packets require more overhead processing.


Note Set the x25 ips and x25 ops keywords to the same value unless your network supports asymmetry between input and output packets.

To send a packet larger than the X.25 packet size over an X.25 virtual circuit, a router must break the packet into two or more X.25 packets with the M-bit ("more data" bit) set. The receiving device collects all packets with the M-bit set and reassembles them.

Setting the Flow Control Modulus

X.25 supports flow control with a sliding window sequence count. The window counter restarts at zero upon reaching the upper limit, which is called the window modulus. To set the window modulus, use the x25 modulo interface subcommand:

x25 modulo modulus

The argument modulus is either 8 or 128. The default value is eight. The value of the modulo parameter must agree with that of the device on the other end of the X.25 link.

Configuring Packet Acknowledgment

To specify upper limits on the number of outstanding unacknowledged packets, use the commands x25 win (for input window) and x25 wout (for output window):

x25 win packets
x25 wout packets

The argument packets is a packet count. The packet count for win and wout can range from one to the window modulus. The default value is two packets.

The x25 win command determines how many packets the router can receive before sending an X.25 acknowledgment. The wout limit determines how many sent packets can remain unacknowledged before the router uses a hold queue. To maintain high bandwidth use, assign these limits the largest number that the network allows.


Note Set win and wout to the same value unless your network supports asymmetry between input and output window sizes.

You can instruct the router to send acknowledgment packets when it is not busy sending other packets, even if the number of input packets has not reached the win count. This approach improves line responsiveness at the expense of bandwidth. To enable this option, use the x25 th subcommand:

x25 th delay

The argument delay must be between zero and the input window size. A value of one sends one Receiver Ready acknowledgment per packet at all times. The default value is zero, which disables the delayed acknowledgment strategy.

The router sends acknowledgment packets when the number of input packets reaches the count you specify, providing there are no other packets to send. For example, if you specify a count of one, the router can send an acknowledgment per input packet.

Suppressing the Calling Address

To omit the calling address in outgoing calls, use the x25 suppress-calling-address interface subcommand:

x25 suppress-calling-address
no x25 suppress-calling-address

The suppress-calling-address keyword omits the calling (source) X.121 address in Call Request packets. This option is required for networks that expect only subaddresses in the calling address field. The calling address is sent by default.

Use the no x25 suppress-calling-address subcommand to reset this subcommand to the default state.

Suppressing the Called Address

To omit the called address in outgoing calls, use the x25 suppress-called-address interface subcommand:

x25 suppress-called-address
no x25 suppress-called-address

The suppress-called-address keyword omits the called (destination) X.121 address in Call Request packets. This option is required for networks that expect only subaddresses in the called address field. The called address is sent by default.

Use the no x25 suppress-called-address subcommand to reset this subcommand to the default state.

Defining a Packet Hold Queue

To define the number of packets to be held until a virtual circuit is established, use the x25 hold-queue interface subcommand:

x25 hold-queue queue-size
no x25 hold-queue [
queue-size]

The argument queue-size defines the number of packets. By default, this number is 10. A hold-queue value of 0 allows an unlimited number of packets in the hold queue. Use the no x25 hold-queue command without an argument to remove this command from the configuration file; enter the command with a queue size value of zero to return the default.

Accepting Reverse Charge Calls

To instruct the router to accept all reverse charge calls, use the x25 accept-reverse interface subcommand:

x25 accept-reverse
no x25 accept-reverse

The accept-reverse keyword causes the interface to accept reverse charge calls by default. This behavior can also be configured on a per-peer basis using the x25 map subcommand.

The no x25 accept-reverse command disables this facility.

Forcing Packet-Level Restarts

To force a packet-level restart when the link level is restarted, use the x25 linkrestart interface subcommand:

x25 linkrestart
no x25 linkrestart

This command restarts X.25 Level 2 (LAPB) when errors occur. This behavior is the default and is necessary for networks that expect this behavior. Use the no x25 linkrestart to turn this feature off.

Setting the Packet Network Carrier

To set the packet network carrier, use the x25 rpoa interface subcommand:

x25 rpoa name number
no x25 rpoa
name

The x25 rpoa interface subcommand specifies a list of transit RPOAs to use, referenced by name. The argument name must be unique with respect to all other RPOA names. It is used in the x25 facility and x25 map interface subcommands. The argument number is a number that is used to describe an RPOA. The no x25 rpoa command removes the specified name.

Setting X.25 Parameters on a Per-Call Basis

To override interface settings on a per-call basis, use the x25 facility interface subcommand. The full syntax of the command follows:

x25 facility keyword argument
no x25 facility
keyword argument

The command enables X.25 facilities, which are sent between DTE and DCE devices to negotiate certain link parameters.

The argument keyword specifies one of the following keywords, followed by the required argument:

The no x25 facility command with the appropriate keyword and argument removes the facility.

Maintaining X.25

To clear all virtual circuits at once, use the privileged EXEC command clear x25-vc. This command takes an interface type keyword and a unit number as arguments to identify the interface with which the virtual circuits are associated.

To clear a particular virtual circuit, add the two arguments described above the clear x25-vc command, and include a logical circuit number (LCN) value as a third argument. The command syntax is:

clear x25-vc interface unit [lcn]

The clear x25-vc command clears all X.25 virtual circuits at once. The argument interface is the interface type. The argument unit is the interface unit number. The optional argument lcn clears the specified virtual circuit.

Monitoring X.25 Level 3 Operations

The router provides EXEC show commands to provide information on interface operation and virtual circuit operation. Use the EXEC command show interfaces to display interface parameters and statistics. Use the EXEC command show x25 vc to display virtual circuit parameters and statistics.

Displaying Interface Parameters and Statistics

To display parameter information for a serial interface using the X.25 Level 3 protocol, use the EXEC command show interfaces. To display X.25 Level 3 parameters for LAN interfaces (such as Ethernet or Token Ring), use the show cmns EXEC command described later in this chapter. For serial X.25 interfaces, the following is an example of output:

X25 address 000000010100, state R1, modulo 8, idle 0, timer 0, nvc 1
Window size: input 2, output 2, Packet size: input 128, output 128
Timers: T20 180 T21 200 T22 180 T23 180 TH 0
Channels: Incoming 1-1024 Two-way 1-1024 Outgoing 1-1024
RESTARTs 1/20 CALLs 1000+2/1294+190/0+0 DIAGs 0/0

On the first line, the address field indicates the calling address used in the Call Request packet. The state field indicates the state of the interface: R1 is the normal ready state, R2 indicates the DTE not-ready state, and R3 indicates the DCE not-ready state. If the state is R2 or R3, the device is awaiting acknowledgment for a Restart Request packet. The modulo field displays the modulo value, which determines the sequence numbering scheme used. The idle field shows the number of minutes the router waits before closing idle virtual circuits. The timer field displays the value of the interface timer, which is zero unless the interface state is R2 or R3. The nvc field displays the maximum number of simultaneous virtual circuits permitted to and from a single host.

On the second line, the Window size and Packet size fields show the default window and packet sizes for the interface. Each virtual circuit can override these values using facilities specified with the x25 map or x25 facility subcommands.

The third line shows the values of the Request packet timers (T10 through T13 for a DCE device, and T20 through T23 for a DTE device). The fourth line shows the channel sequence ranges. The last line shows packet statistics for the interface using these formats:

sent/received\ successful+failed\ callssent+callssentfailed/\ 
callsreceived+callsreceivedfailed/\ 
callsforwarded+callsforwardedfailed\

Displaying General Virtual Circuit Parameters and Statistics

The EXEC command show x25 vc displays the details of the active X.25 switched virtual circuits. To examine a particular virtual circuit, add an LCN argument to the show x25 vc command. The following is example output:

LC1: 1, State: D1, Interface: Serial0
Started 0:55:03, last input 0:54:56, output 0:54:56
Connected to IP [10.4.0.32] <->000000320400 Precedent: 0
Window size input: 7, output: 7
Packet size input: 1024, output: 1024
PS: 2 PR: 6 Remote PR: 2 RCNT: 1 RNR: FALSE
Retransmits: 0   Timer (secs): 0  Reassembly (bytes): 0
Held Fragments/Packets: 0/0
Bytes 1111/588 Packets 18/22 Resets 0/0 RNRs 0/0 REJs 0/0 INTs 0/0
Window is closed

On the first line, the LCI field displays the virtual circuit number. The State field displays the state of the virtual circuit (which is independent of the states of other virtual circuits); D1 is the normal ready state. (See the CCITT X.25 recommendation for a description of virtual circuit states.) The Interface field shows the interface used for the virtual circuit.

On the second line, the Started field shows the time elapsed since the virtual circuit was created, the last input field shows time of last input, and the output field shows time of last output.

On the third line, the Connected to field shows in brackets the network-protocol address and then the X.121 address. The Precedent field, which appears only if you have specified DDN encapsulation, indicates IP precedence.

The fourth and fifth lines show window and packet sizes. These sizes can differ from the interface default values if facilities were offered and accepted in the Call Request and Call Accepted packets.

On the sixth line, the PS and PR fields show the current send and receive sequence numbers, respectively. The Remote PR field shows the last PR number received from the other end of the circuit. The RCNT field shows the count of unacknowledged input packets. The RNR field shows the state of the Receiver Not Ready flag; this field is true of the network sends a receiver-not-ready packet.

On the seventh line, the Retransmits field shows the number of times a packet has been retransmitted. The Timer field shows a nonzero time value if a packet has not been acknowledged or if virtual circuits are being timed for inactivity. The Reassembly field shows the number of bytes received for a partial packet (a packet in which the more data bit is set).

On the eighth line, the fragments part of the Held Fragments/Packets field shows the number of X.25 packets being held. (In this case, Fragments refers to the X.25 fragmentation of higher-level data packets.) The Packets part of the Held Fragments/Packets field shows the number of higher-level protocol packets currently being held pending the availability of resources, such as the establishment of the virtual circuit.

On the ninth line, the Bytes field shows the total numbers of bytes sent and received. The Packets, Resets, RNRs, REJs, and INTs fields show the total sent and received packet counts of the indicated types. (RNR is Receiver Not Ready, REJ is Reject, and INT is Interrupt).

On the last line, the Window is closed fieldshows when a full link-level frame has been transmitted and is waiting for acknowledgment from the other end of the virtual circuit in order to transmit the next full link-level frame. Flow control is being used on the serial interface.

Debugging X.25

When installing an X.25 link, you can use the EXEC commands debug with different keywords as follows:

debug x25

Enables the monitoring of all X.25 traffic.

debug x25-events

Enables the monitoring of all X.25 traffic but does not display information about X.25 data or acknowledgment packets.

debug x25-vc number

Allows you to watch the specified port number with a virtual circuit using the debug x25 and debug x25-events commands.

The following is example output:

Serial0: X25 I R1 RESTART (5) 8 lci 0 cause 7 diag 250
Serial0:  X25 0 R1 RESTART CONFIRMATION (3) 8 lci 0
Serial0: X25 0 P2 CALL REQUEST (19) 8 lci 1
From(14): 31250000000101 To(14): 31109090096101
Facilities (0)
Serial0: X25 0 P6 CLEAR REQUEST (5) 8 lci 1 cause diag 122

For each event, the first field identifies the interface on which the activity occurred, and the second field indicates that it was an X.25 event. The third field indicates whether the X.25 packet was input (I) or output (O). The fourth field is the state of the interface: R1 is the normal ready state, R2 indicates the DTE not-ready state, and R3 indicates the DCE not-ready state.

The fifth field is the type of the X.25 packet that triggered the event, and the sixth field (in parentheses) gives the total length of the X.25 packet in bytes. The seventh field is the window modulus. The eighth field (labeled lci) shows the virtual circuit number. The ninth field (labeled cause) gives the cause code, and the tenth field (labeled diag) gives the diagnostic code.

For Call Request and Call Connected packets, the router shows additional information on separate lines. The From field shows the calling X.121 address and the To field shows the called X.121 address. The number in parentheses after the field name--(14) for example--specifies the number of digits in the address. The Facilities field indicates the length (in bytes) of the requested facilities and the facilities contents.

Configuring CMNS Routing Support

Cisco's support of Connection-Mode Network Service (CMNS) provides a mechanism through which local X.25 switching can be extended to different media (Ethernet, FDDI, and Token Ring) through the use of OSI-based NSAP addresses. This implementation essentially runs X.25 (packet level) over LLC2 (frame level), to facilitate the extension of X.25 to other media. Cisco's CMNS implementation supports services defined in ISO Standards 8208 (packet level) and 8802-2 (frame level).


Note For information about configuring LLC2 parameters, refer to the chapter "LLC2 and SDLC Link-Level Support."

In addition, Cisco's CMNS-implementation allows LAN-based OSI resources, such as a DTE host and a Sun workstation, to be interconnected to each other via the router's LAN interfaces and to a remote OSI-based DTE through a WAN interface (using, for example, an X.25 PSN).


Note CMNS is implicitly enabled whenever an X.25 encapsulation interface subcommand is included with a serial interface configuration.

All local mapping is performed by statically mapping MAC addresses to NSAP addresses and X.121 addresses to NSAP addresses. Refer to the chapter "Switching ISO CLNS" for a discussion of NSAP addresses and to the chapter "SDLLC: SDLC to LLC2 Media Translation" for more information about Cisco's use of Link Layer Control Type 2 (LLC2).

Implementing CMNS routing on Cisco routers involves the following basic steps:

Step 1: Enable CMNS on an interface.

Step 2: Map NSAP addresses to a MAC-address or X.121 address.

The discussions that follow detail commands used to perform these steps and provide example configurations illustrating CMNS-based routing.

Enabling CMNS

To enable CMNS on a nonserial interface, use the cmns enable interface subcommand. The command syntax is:

cmns enable
no cmns enable

After executing this command, all the X.25-related interface subcommands are made available on the LAN interfaces (Ethernet, FDDI, and Token Ring), as well as on serial interfaces. The no version disables this feature.

Specifying CMNS Address Mappings

After enabling CMNS on a nonserial interface (or specifying X.25 encapsulation on a serial interface), you must use the x25 map cmns interface subcommand to map NSAP addresses to either MAC-layer addresses or X.121 addresses, depending on the application. The syntax for this command is:

x25 map cmns NSAP MAC-address
no x25 map cmns
NSAP MAC-address x25 map cmns NSAP [X.121-address]
no x25 map cmns
NSAP [X.121-address]

The NSAP, MAC-address, and X.121-address arguments specify the NSAP address-to-MAC address or NSAP address-to-X.121 address mappings. The argument NSAP can be either the actual DTE NSAP address or the NSAP prefix of the NSAP address. The NSAP prefix is sufficient for a best match to route a call.


Note For CMNS support over dedicated serial links (such as leased lines), the specification of an X.121 address is not needed, but can be optionally included. You must specify the X.121 address for CMNS connections over a packet-switched network, and you must specify a MAC address for CMNS connections over a nonserial media (Ethernet, FDDI, or Token Ring).

To retract a mapping, use the no x25 map cmns interface subcommand with the appropriate address arguments.

Example Address Mappings

The following examples illustrate enabling CMNS and configuring X.121 and MAC-address mappings:

interface ethernet 0
cmns enable
x25 map cmns 38.8261.1000.0150.1000.17 0000.0c00.ff89
! Above maps NSAP to MAC-address on Ethernet0
!
interface serial 0
encapsulation x25
x25 map cmns 38.8261.1000.0150.1000.18 3110451
! Above maps NSAP to X.121-address on Serial0
! assuming the link is over a PDN
!
interface serial 1
encapsulation x25
x25 map cmns 38.8261.1000.0150.1000.20
! Above specifies cmns support for Serial1
! assuming that the link is over a leased line

CMNS Configuration Examples

The following two examples illustrate common implementations of CMNS for switching traffic over different media. The first example depicts switching CMNS over packet-switched public data network (PDN); the second example illustrates switching CMNS over a leased line. These application are quite similar, with subtle differences in the use of the x25 map cmns command.

Example 1: Switching CMNS over PDN

Figure 1-4 illustrates the general network topology for a CMNS switching application where calls are being made between resources on opposite sides of a remote link to Host A (on an Ethernet) and Host B (on a Token Ring), with a PDN providing the connection.

The following configuration listing allows resources on either side of the PDN to call Host A or Host B. This configuration allows traffic intended for the remote NSAP address specified in the x25 map cmns commands (for the serial ports) to be switched through the serial interface for which CMNS is configured.

The CMNS-related configuration for Cisco Router C2 in Figure 1-4 would be as follows:

! This configuration specifies that any traffic from any other
! interface intended for any NSAP address with NSAP prefix 38.8261.17
! will be switched to MAC address 0800.4e02.1f9f 
! through Token Ring 0
!
interface token 0
cmns enable
x25 map cmns 38.8261.17 0800.4e02.1f9f
!
! This configuration specifies that traffic from any other interface
! on Cisco Router C2 that is intended for any NSAP address with 
! NSAP-prefix 38.8261.18 will be switched to 
! X.121 address 2095551000 through Serial 0
!
interface serial 0
encapsulation x25
x25 address 4085551234
x25 map cmns 38.8261.18 2095551000

Figure 1-4: Example Network Topology for Switching CMNS over PDN



The CMNS-related configuration for Cisco Router C1 in Figure 1-4 would be as follows:

! This configuration specifies that any traffic from any other
! interface intended for any NSAP address with NSAP 38.8261.18 
! will be switched to MAC address 0800.4e02.2abc through Ethernet 0
!
interface ethernet 0
cmns enable
x25 map cmns 38.8261.18 0800.4e02.2abc
!
! This configuration specifies that traffic from any other interface
! on Cisco Router C1 that is intended for any NSAP address with
! NSAP-prefix 38.8261.17 will be switched to X.121 address 
! 4085551234 through Serial 1
!
interface serial 1
encapsulation x25
x25 address 2095551000
x25 map cmns 38.8261.17 4085551234
Example 2: Switching CMNS over Leased Lines

Figure 1-5 illustrates the general network topology for a CMNS switching application where calls are being made by resources on the opposite side a remote link to Host C (on an Ethernet) and Host D (on a Token Ring), with a dedicated leased-line providing the connection.


Figure 1-5: Example Network Topology for Switching CMNS over Leased Line



The following configuration listing allows resources on either side of the leased line to call Host C or Host D. This configuration allows traffic intended for the remote NSAP address specified in the x25 map cmns commands (for the serial ports) to be switched through the serial interface for which CMNS is configured.

A key difference for this configuration in comparison with Example 1 is that with no PDN, the specification of an X.121 address in the x25 map cmns command is not necessary. The specification of an X.25 address is also not needed, but is included for symmetry with Example 1.

The CMNS-related configuration for Cisco Router C4 in Figure 1-5 would be as follows:

! This configuration specifies that any traffic from any other
! interface intended for any NSAP address with NSAP 38.8261.21 
! will be switched to MAC address 0800.4e02.bcd0 through Token Ring 0
!
interface token 0
cmns enable
x25 map cmns 38.8261.21 0800.4e02.bcd0
!
! This configuration specifies that traffic from any other interface
! on Cisco Router C4 that is intended for any NSAP address with 
! NSAP-prefix 38.8261.20 will be switched through Serial 0
!
interface serial 0
encapsulation x25
x25 address 00002
x25 map cmns 38.8261.20

The CMNS-related configuration for Cisco Router C3 in Figure 1-5 would be as follows:

! This configuration specifies that any traffic from any other
! interface intended for any NSAP address with NSAP 38.8261.20 
¡ will be switched to MAC address 0800.4e02.123f through Ethernet 0
!
interface ethernet 0
cmns enable
x25 map cmns 38.8261.20 0800.4e02.123f
!
! This configuration specifies that traffic from any other interface
! on Cisco Router C3 that is intended for any NSAP address with 
! NSAP-prefix 38.8261.21 will be switched through Serial 1
!
interface serial 1
encapsulation x25
x25 address 00001
x25 map cmns 38.8261.21

Monitoring CMNS Traffic Activity

To display information pertaining to CMNS traffic activity, use the show cmns EXEC command. The command syntax is:

show cmns interface-name

The following is an example of the output of show cmns interface.

Ethernet 0 is up, line protocol is up
  CMNS protocol processing disabled

This example indicates that CMNS is disabled on Ethernet0.

The following display sample illustrates show cmns displays for serial interfaces respectively.

Serial 0 is down, line protocol is down
  X25 address 222222, state R1, modulo 8, idle 0, timer 0, nvc 1
      Window size: input 2, output 2, Packet size: input 1024, output 1024
      Timers: T10 60 T11 180 T12 60 T13 60 TH 0
      Channels: Incoming 1-1024 Two-way 1-1024 Outgoing 1-1024
      RESTARTs 0/0 CALLs 0+0/0+0/0+0 DIAGs 0/0

Please refer to "Monitoring X.25 Level 3 Operations" earlier in this chapter for description of the interface parameters and statistic provided in preceding display.

The following display illustrates CMNS-related information presented on an Ethernet display for show cmns.

Ethernet 1 is up, line protocol is up
  Hardware address is 0000.0c01.1515 (bia 0000.0c01.1515), state R1
      Modulo 8, idle 0, timer 0, nvc 1
      Window size: input 2, output 2, Packet size: input 128, output 128
      Timer: TH 0
      Channels: Incoming 1-1024 Two-way 1-1024 Outgoing 1-1024
      RESTARTs 0/0 CALLs 0+0/0+0/0+0 DIAGs 0/0\