Guest

Cisco IOS Software Releases 12.1 T

CTRC Keepalive Timer

Table Of Contents

Cisco Transaction Connection Keepalive Timer

Feature Overview

Benefits

Related Documents

Supported Platforms

Supported Standards, MIBs, and RFCs

Configuration Tasks

Configuring the Keepalive Timer for DB2 Communications

Configuring the Keepalive Timer for CICS Communications

Verifying the Keepalive Timer Configuration

Troubleshooting Tips

Configuration Examples

Example of Configuring Keepalive for DB2 Communications

Example of Configuring Keepalive for CICS Communications

Command Reference

dbconn server

dbconn tcpserver

txconn server


Cisco Transaction Connection Keepalive Timer


This feature module describes the Cisco Transaction Connection (CTRC) keepalive timer. It discusses the benefits of the new feature, the supported platforms, and the commands that have been modified to configure the feature.

This feature module includes the following sections:

Feature Overview

Supported Platforms

Supported Standards, MIBs, and RFCs

Configuration Tasks

Configuration Examples

Command Reference

Feature Overview

In environments where there is heavy network traffic or limited processing capability, TCP/IP connections can time out before transactions are completed. The keepalive timer enables CTRC servers to send acknowledgment messages to clients at specific intervals to maintain the TCP/IP connection. CTRC servers that support direct TCP/IP connections to a DB2 host also can be configured to send keepalive messages to the host. The keepalive timer keeps TCP/IP connections active so they will not timeout from inactivity.

Benefits

The ability to configure the keepalive timer provides another method for tuning a network to meet specific needs. Prior to the release of this feature, CTRC servers attempted up to three keepalive messages every 120 seconds to maintain TCP/IP connections. With the new keepalive command keywords, administrators can specify the number of attempts and the interval in which keepalive messages are sent.

Related Documents

Cisco IOS Bridging and IBM Networking Configuration Guide, Volume I, Cisco IOS Release 12.1

Cisco IOS Bridging and IBM Networking Command Reference, Volume II, Cisco IOS Release 12.1

Cisco Transaction Connection Planning Guide, Cisco IOS Release 12.1

Supported Platforms

CTRC is available for the following platforms:

Cisco 7200 Series routers

Cisco 7500 Series routers

CTRC consists of a system image and a microcode image, virtually bundled as one image. Within the Cisco IOS software listings, look for a software feature called ENTERPRISE/SNASW PLUS. The keepalive timer is available in Cisco IOS 12.1(4) and later.

Supported Standards, MIBs, and RFCs

CISCO-DATABASE-CONNECTION-MIB

CISCO-TRANSACTION-CONNECTION-MIB

For descriptions of supported MIBs and how to use MIBs, see the Cisco MIB Web site on Cisco Connection Online (CCO) at http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml.

Configuration Tasks

See the following sections for configuration tasks for the keepalive timer:

Configuring the Keepalive Timer for DB2 Communications

Configuring the Keepalive Timer for CICS Communications

Configuring the Keepalive Timer for DB2 Communications

By default, the keepalive timer attempts an acknowledgment message every 120 seconds, for up to three times.

To disable the keepalive messages, enter a value of 0 for either the keepalive attempts or the keepalive interval. If the CTRC server supports direct TCP/IP communications with a DB2 host, you can disable keepalive messages by setting the remote-keepalive attempt or interval to 0 (zero).

Command
Purpose

Router(config)# dbconn server server-name keepalive attempts 0

Disables keepalive messages between the CTRC server and client for servers supporting APPC communications to DB2 hosts.

Router(config)# dbconn tcpserver server-name keepalive attempts 0

Disables keepalive messages between the CTRC server and client for servers supporting TCP/IP communications to DB2 hosts.

Router(config)# dbconn tcpserver server-name remote-keepalive attempts 0

Disables keepalive messages between the CTRC server and DB2 host.


To re-enable the keepalive messages, enter a value of 1 to 100 for the keepalive attempts and a value of 1 to 3600 for the keepalive interval.

Command
Purpose

Router(config)# dbconn server server-name keepalive attempts 3 keepalive interval 120

Enables keepalive messages between the CTRC server and client for servers supporting APPC communications to DB2 hosts.

Router(config)# dbconn tcpserver server-name keepalive attempts 3 keepalive interval 120

Enables keepalive messages between the CTRC server and client for servers supporting TCP/IP communications to DB2 hosts.

Router(config)# dbconn tcpserver server-name remote-keepalive attempts 3 remote-keepalive interval 120

Enables keepalive messages between the CTRC server and DB2 host.


Configuring the Keepalive Timer for CICS Communications

By default, the keepalive timer attempts to send an acknowledgment message every 120 seconds, for up to three times.

To disable the keepalive messages, enter a value of 0 for either the keepalive attempts or the keepalive interval.

Command
Purpose

Router(config)# txconn server server-name keepalive attempts 0

Disables keepalive messages between the CTRC server and client for servers supporting CICS communications.


To re-enable the keepalive messages, enter a value of 1 to 100 for the keepalive attempts and a value of 1 to 3600 for the keepalive interval.

Command
Purpose

Router(config)# txconn server server-name keepalive attempts 3 keepalive interval 120

Enables keepalive messages between the CTRC server and client for servers supporting CICS communications.


Verifying the Keepalive Timer Configuration

Use the show commands to verify the keepalive configuration settings.

To verify the keepalive configuration settings for a CTRC server that supports DB2 communications, enter the show dbconn server command. The settings for the client keepalive messages appear next to the "keepalives" field in the format of attempts, interval. If the server is configured to send keepalive messages to a DB2 host that supports direct TCP/IP connections, the settings for the host keepalive messages appear next to the "remote-keepalives" field in the format of attempts, interval.

Router> show dbconn server server-name

Router> show dbconn server BUDDY
                 server: BUDDY
           server state: enabled (accepting connections)
             ip-address: 0.0.0.0
                   port: 446
             keepalives: 5,300
                rdbname: DB2510
        connection type: TCP/IP
        remote hostname: STARW.DSNV510
      remote ip-address: 198.147.235.39
            remote port: 446
      remote keepalives: 5,300
           idle-timeout: 0 (none)
            window-size: 4096 bytes
   database server name: (unknown)
    database product id: (unknown)
                    PEM: not configured
  number of connections: 0
             RDB server: active
                    WLM: inactive-enabled 

To verify the keepalive configuration settings for a CTRC server that supports CICS communications, enter the show txconn server command. The settings for the client keepalive messages appear next to the "keepalives" field in the format of attempts, interval.

Router# show txconn server server-name

Router> show txconn server CICSB
                  server: CICSB
             destination: CICSB
            server state: enabled (accepting connections)
              ip address: 0.0.0.0
                    port: 1444
              keepalives: 5,300
          client timeout: 0 (none) 
            host timeout: 1 minute
             window size: 4096 bytes
       fold program name: on
                   ccsid: 273
   number of connections: 178
  number of transactions: 20
             client type: cics
               host type: cics

Note For a description of each output display field, refer to the show dbconn server and show txconn server command reference pages.


Troubleshooting Tips

Use the show tcp statistics command to determine if connections are timing out during the keepalive process:

Router# show tcp statistics
Rcvd: 8825 Total, 5 no port 
   0 checksum error, 0 bad offset, 0 too short 
   2072 packets (8307 bytes) in sequence 
   28 dup packets (511 bytes) 
   108 partially dup packets (162 bytes) 
   32 out-of-order packets (162 bytes) 
   0 packets (0 bytes) with data after window 
   0 packets after close 
   0 window probe packets, 0 window update packets 
   104 dup ack packets, 0 ack packets with unsend data 
   5110 ack packets (57568 bytes) 
Sent: 53711 Total, 0 urgent packets 
   48729 control packets (including 34464 retransmitted) 
   3353 data packets (55859 bytes) 
   171 data packets (2597 bytes) retransmitted 
   1459 ack only packets (56 delayed) 
   0 window probe packets, 0 window update packets 
11500 Connections initiated, 1302 connections accepted, 1309 connections established 
12807 Connections closed (including 4 dropped, 11494 embryonic dropped) 
34635 Total rxmt timeout, 0 connections dropped in rxmt timeout 
2 Keepalive timeout, 2 keepalive probe, 0 Connections dropped in keepalive

If "Connections dropped in keepalive" shows a high number of connections being dropped, the client or host may not be responding quickly enough to the keepalive acknowledgment messages. Enable the keepalive messages if they are disabled. If keepalive is already enabled, increase the keepalive interval or keepalive attempts to give the client or host more time to respond before the connection times out.

Configuration Examples

The examples in this section show how to use the new keepalive command keywords to specify the number of attempts and the interval at which keepalive messages are sent.

Example of Configuring Keepalive for DB2 Communications

The following example shows configuration statements for a CTRC server named BUDDY, managing communications to a DB2 database named DB2510, using the IBMRDB APPC mode to allocate the conversation, and attempting up to five acknowledgment messages every 300 seconds:

dbconn server BUDDY rdbname DB2510 rlu STARW.BUDDY idle-timeout 20 keepalive attempts 5 
keepalive interval 300 mode IBMRDB

The following example shows configuration statements for a tcpserver named BUDDTCP, managing connections to a DB2 database named DB2510, attempting up to five keepalive messages to the client every 300 seconds and up to five keepalive messages to the host every 300 seconds:

dbconn tcpserver BUDDTCP keepalive attempts 5 keepalive interval 300 port 446 rdbname 
DB2510 remote-ip 198.147.235.39 remote-keepalive attempts 5 remote-keepalive interval 300 
remote-port 446

Example of Configuring Keepalive for CICS Communications

The following example defines the CTRC server NEWSVR on the current router attempting up to five acknowledgment messages every 300 seconds:

txconn server NEWSVR destination GEN keepalive attempts 5 keepalive interval 300 port 
1438

Command Reference

This section documents the CTRC commands that have new keywords for configuring the keepalive timer. All other commands used with CTRC are documented in the Cisco IOS Release 12.1 command reference publications.

dbconn server

To configure a CTRC server process for APPC communications with DB2, use the dbconn server global configuration command. To disable the server and remove its configuration, use the no form of this command.

dbconn server server-name [idle-timeout minutes] [ipaddress ip-address] [keepalive attempts number] [keepalive interval seconds] [mode mode] [port port-number] [rdbname rdbname] [rlu remote-lu] [tpname tp-name] [window-size bytes] [wlm {off | on}]

no dbconn server server-name

Syntax Description

server-name

Name of the CTRC server. Server names are a user-defined string of up to 16 characters.

idle-timeout minutes

(Optional) Time, in minutes, to wait for an idle client. If there is no activity from the client for this amount of time, the connection is forcibly broken. The time spent waiting for a response from the DB2 system is not counted—only the idle time between client requests is counted. The maximum is 1440 minutes (24 hours). If no idle timeout is specified, the default is 0 (zero), for no timeout.

ipaddress ip-address

(Optional) IP address used by the CTRC server to receive a connection requesting DB2 communications. When a connection arrives, this IP address is used for matching and selecting the server from multiple configured servers. If you do not specify an IP address, the current server can handle DB2 connectivity requests sent to any IP address on the local router.

keepalive attempts number

(Optional) Number of times the CTRC server is to attempt sending an acknowledgment message to the client to keep the connection alive. You can specify 1 to 100 attempts, or 0 (zero) to disable the keepalive messages. The default is 3 attempts.

keepalive interval seconds

(Optional) Frequency with which the CTRC server is to send an acknowledgment message to the client to keep the connection alive. The interval can be from 1 to 3600 seconds, or 0 (zero) to disable the keepalive messages. The default is 120 seconds.

mode mode

(Optional) APPC mode used to allocate the conversation to the DB2 system. If no mode is specified, the default is #INTER. For improved performance, choose a mode such as IBMRDB. If you specify a mode that does not exist, CTRC creates it.

port port-number

(Optional) Port used to listen for connections requesting DB2 communications. If no port is specified, the default is 446.

rdbname rdbname

(Optional) DB2 remote database name on the host. When a connection arrives, this name is used to identify and select the appropriate server from multiple configured servers. The string is used to match the RDB name sent by the client in the DRDA data stream at connect time. The default RDB name is an asterisk (*), which indicates that this CTRC server serves any remote database.

rlu remote-lu

(Optional) APPC remote LU used to allocate the connection to the DB2 system. An example is NETA.S103B345. If no remote LU is specified, the default is the configured server name, set to uppercase and truncated to eight characters. An RLU need not be qualified with a NET ID. If you omit the NET ID, the NET ID of the router's SNA Switching Services control point is used to fully qualify the LU name.

tpname tp-name

(Optional) APPC remote transaction program name used to allocate the conversation to the DB2 system. If no TP name is specified, the default is the architected DRDA TP name \x076DB.

window-size bytes

(Optional) TCP/IP receive window size. The maximum window size is 65535 bytes. The default is 4096 bytes.

wlm {off | on}

(Optional) Enables or disables Workload Manager load balancing. The default is "inactive-enabled."


Defaults

If you do not specify an idle timeout, client connections can continue regardless of how long they have been idle.

If you do not specify an IP address, the current server can handle DB2 connectivity requests sent to any IP address on the local router.

If you do not specify a keepalive attempt or a keepalive interval, the server makes up to three attempts to send an acknowledgment message every 120 seconds.

If you do not specify an APPC mode, the default value is #INTER. If you specify a mode that does not already exist, CTRC creates it.

If you do not specify a port number, the current server uses the default value of 446.

If you do not specify an rdbname, the server is configured to serve any remote database.

If you do not specify a remote LU, the default is the configured server name, set to uppercase and truncated to eight characters. An RLU need not be qualified with a NET ID. If you omit the NET ID, the NET ID of the router's SNA Switching Services control point is used to fully qualify the LU name.

If you do not specify an APPC transaction program name, the default value is the architected DRDA TP name \x076DB.

If you do not specify a TCP receive window size, the default value is 4096 bytes.

The Workload Manager load balancing default is "inactive-enabled."

Command Modes

Global configuration

Command History

Release
Modification

11.3(2)T

This command was introduced.

12.0(5)XN

Command moved from CDBC feature to CTRC feature.

12.0(7)T

This command was implemented in Cisco IOS Release 12.0 T.

12.1(4)

This command was enhanced to allow configuration of keepalive messages.


Usage Guidelines

You can configure more than one CTRC server per router for communications with DB2 or CICS. There is no limit on the number of CTRC servers. For each DB2 database system in your network, you can configure a CTRC server in the router configuration. Servers that are configured on the same router can share a port. CTRC txconn servers should use a different port.

Set keepalive attempts or keepalive interval to zero (0) to disable the keepalive messages.

Examples

The following example shows configuring a CTRC server named BUDDY to manage communications to a DB2 database named DB2510, using the IBMRDB APPC mode to allocate the conversation, and attempting five acknowledgment messages every 300 seconds:

dbconn server BUDDY rdbname DB2510 rlu STARW.BUDDY idle-timeout 20 keepalive attempts 5 
keepalive interval 300 mode IBMRDB

Related Commands

Command
Description

clear dbconn connection

Breaks a CTRC connection to DB2.

dbconn ping

Tests CTRC connectivity to DB2.

show dbconn ports

Displays information about ports used for CTRC server communications to DB2.

show dbconn server

Displays information about a CTRC server for DB2 communications.

show snasw mode

Displays information about SNASw modes.


dbconn tcpserver

To configure a CTRC server process to communicate with IP-enabled DB2 databases, use the dbconn tcpserver global configuration command. To disable a server and remove its configuration, use the no form of this command.

dbconn tcpserver server-name [idle-timeout minutes] [ip ip-address] [keepalive attempts number] [keepalive interval seconds] [port port-number] [rdbname rdbname] remote-hostname remote-hostname | remote-ip remote-ip-address [remote-keepalive attempts number] [remote-keepalive interval seconds] [remote-port port-number] [window-size bytes] [wlm {off | on}]

no dbconn tcpserver server-name

Syntax Description

server-name

Name of the CTRC server being configured for TCP passthrough communications with DB2.

idle-timeout minutes

(Optional) Time in minutes to wait for an idle client. If there is no activity from the client for this amount of time, the connection is forcibly broken. The time spent in waiting for a response from the DB2 system is not counted, only idle time in between client requests is counted. The maximum time is 1440 minutes (24 hours). If no idle timeout is specified, the default is 0 (zero), for no timeout.

ip ip-address

(Optional) IP address for the CTRC tcpserver process being configured. If not specified, the tcpserver receives client requests on all IP addresses configured for the router.

keepalive attempts number

(Optional) Number of times the CTRC server is to attempt sending an acknowledgment message to the client to keep the connection alive. You can specify 1 to 100 attempts, or 0 (zero) to disable the keepalive messages. The default is 3 attempts.

keepalive interval seconds

(Optional) Frequency with which the CTRC server is to send an acknowledgment message to the client to keep the connection alive. The interval can be from 1 to 3600 seconds, or 0 (zero) to disable the keepalive messages. The default is 120 seconds.

port port-number

(Optional) Port the tcpserver listens on for client requests. The default value is 446. A dbconn server and a dbconn tcpserver can share the same port.

rdbname rdbname

(Optional) DB2 remote database name on the host. When a connection arrives, this name is used to identify and select the appropriate tcpserver from multiple configured tcpservers. The string is used to match the RDB name sent by the client in the DRDA data stream at connect time. The default RDB name is an asterisk (*) which indicates that this CTRC tcpserver serves any remote database.

remote-hostname remote-hostname | remote-ip remote-ip-address

DNS host name of the remote database server to which you want to connect, or the IP address for the host where DB2 resides. You must specify either the name or the IP address of the host.

remote-keepalive attempts number

(Optional) Number of times the CTRC server is to attempt sending an acknowledgment message to the host to keep the connection alive. You can specify 1 to 100 attempts, or 0 (zero) to disable the keepalive messages. The default is 3 attempts.

remote-keepalive interval seconds

(Optional) Frequency with which the CTRC server is to send an acknowledgment message to the host to keep the connection alive. The interval can be from 1 to 3600 seconds, or 0 (zero) to disable the keepalive messages. The default is 120 seconds.

remote-port port-number

(Optional) Host port that listens for tcpserver communications from the router. The default value is 446.

window-size bytes

(Optional) TCP/IP receive window size. The default is 4096 bytes.

wlm {off | on}

(Optional) Enables or disables Workload Manager load balancing. The default is "inactive-enabled."


Defaults

If you do not specify an IP address for the tcpserver, it can receive requests on any IP address configured for the router.

If you do not specify a keepalive attempt or a keepalive interval, the server makes three attempts to send an acknowledgment message to the client every 120 seconds. If you do not specify a remote-keepalive attempt or a remote-keepalive interval, the server makes three attempts to send an acknowledgment message to the host ever 120 seconds.

If you do not specify a port for the tcpserver, the default port is 446.

If you do not specify a remote database name for the DB2 system, the tcpserver can communicate with any rdbname.

If you do not specify a port for the remote DB2 system, the tcpserver uses the default value of 446.

If you do not specify an idle timeout period, the default value is 0 (zero), for no timeout.

If you do not specify a TCP/IP receive window size, the default value is 4096 bytes.

Command Modes

Global configuration

Command History

Release
Modification

12.0(5)XN

This command was introduced.

12.0(7)T

This command was implemented in Cisco IOS Release 12.0 T.

12.1(4)

This command was enhanced to allow configuration of the keepalive interval.


Usage Guidelines

Configure a separate tcpserver for each DB2 system IP address. A dbconn server and a dbconn tcpserver can share the same port.

A dbconn tcpserver has two TCP/IP connections—one each for the client and the host—which you can separately configure for keepalive messages. Set keepalive attempts or keepalive interval to zero (0) to disable sending keepalive messages to the client. Set remote-keepalive attempts or remote-keepalive interval to zero (0) to disable sending keepalive messages to the host.

Examples

The following example shows configuration statements for a tcpserver named BUDDTCP, managing connections to a DB2 database named DB2510, attempting up to five keepalive messages to the client and up to five keepalive messages to the host every 300 seconds:

dbconn tcpserver BUDDTCP keepalive attempts 5 keepalive interval 300 port 446 rdbname 
DB2510 remote-ip 198.147.235.39 remote-keepalive attempts 5 remote-keepalive interval 300 
remote-port 446

Related Commands

Command
Description

dbconn ping

Tests connectivity between a CTRC server (or tcpserver) and a specified DB2 system.

show dbconn server

Displays information about CTRC servers for DB2 communications, whether they use TCP/IP or SNA to communicate with DB2 databases.


txconn server

To configure a CTRC server for communications with CICS, use the txconn server global configuration command. To disable a CTRC server, use the no form of this command.

txconn server server-name destination destination-name [access {cics | comti}] [ccsid number] [client-timeout minutes] [fold {on | off}] [host-timeout minutes] [ipaddress ip-address] [keepalive attempts number] [keepalive interval seconds] [port port-number] [target
{cics | ims-tm}] [window-size bytes]

no txconn server server-name

Syntax Description

server-name

Name of the server being defined. This name is used in other commands to identify the server being administered.

destination destination-name

Name of the server's default destination. Any transactions whose tranid is not associated with a particular route will be routed to this destination. The destination must be defined before configuring the server.

access {cics | comti}

(Optional) Indicates whether server-name supports IBM CICS (Universal Client or TXSeries) or Microsoft COMTI clients. If this value is not specified, a default of CICS is used.

ccsid number

(Optional) The Coded Character Set Identifier. This is used for TXSeries clients.

client-timeout minutes

(Optional) Number of minutes of client connection inactivity after which the server decides the client has gone away. When this happens the server closes the client connection. If no client timeout is specified, the default is 0 (zero), for no timeout.

fold {on | off}

(Optional) Enables/disables the fold program. Default is on. CTRC folds (sets) the CICS program name to uppercase.

host-timeout minutes

(Optional) Number of minutes of host connection inactivity after which the server decides the host has gone away. When this happens the server closes the host connection. If no host timeout is specified, the default is 0 (zero), for no timeout.

ipaddress ip-address

(Optional) TCP/IP network address for which the server accepts connections. If this parameter is omitted, the server accepts connections for any IP address, like a wildcard address. If multiple servers are configured to listen on the same port, each must specify a different IP address. If a server is configured with the IP address omitted, no other servers may listen on the same port. So, on a given port, you may configure either 1 wildcard IP address server, or n address-specific servers, where n is 1 or more.

keepalive attempts number

(Optional) Number of times the CTRC server is to attempt sending an acknowledgment message to the client to keep the connection alive. You can specify 1 to 100 attempts, or 0 (zero) to disable the keepalive messages. The default is 3 attempts.

keepalive interval seconds

(Optional) Frequency with which the CTRC server is to send an acknowledgment message to the client to keep the connection alive. The interval can be from 1 to 3600 seconds, or 0 (zero) to disable the keepalive messages. The default is 120 seconds.

port port-number

(Optional) TCP/IP port number on which the server listens. If no IP address is specified, only one server can listen on a port. Multiple servers can use the same port number if the combination of IP address and port number is unique to each server. If the port number is omitted, the server listens on port 1435.

target {cics | ims-tm}

(Optional) Indicates whether the host connection is to a CICS or IMS transaction server. The default is cics.

window-size bytes

(Optional) Size, in bytes, of the TCP/IP window for incoming CICS client connections. If no window size is specified, the default is 4096 bytes.


Defaults

If the CTRC server's IP address is not configured, the server accepts connections for any IP address that is configured for the router.

If you do not specify a keepalive attempt or a keepalive interval, the server makes up to three attempts to send an acknowledgment message every 120 seconds.

If the port number is not configured, the server listens on port 1435.

If you do not specify a client timeout, CICS client connections can continue regardless of how long they have been idle.

If you do not specify a host timeout, host connections can continue regardless of how long they have been idle.

If you do not specify a target, the server uses a default of cics.

If you do not specify a TCP/IP window size, the default value is 4096 bytes.

Command Modes

Global configuration

Command History

Release
Modification

12.0(5)XN

This command was introduced.

12.0(7)T

This command was implemented in Cisco IOS Release 12.0 T.

12.1(4)

This command was enhanced to allow configuration of the keepalive feature.


Usage Guidelines

You can configure more than one CTRC server per router for communication with DB2 or CICS. There is no limit on the number of CTRC servers. However, be sure that CTRC txconn servers and CTRC dbconn servers are configured to use different ports, and that each txconn server is configured to use a unique combination of port number and IP address, or a unique port number with no IP address. Set keepalive attempts or keepalive interval to zero (0) to disable the keepalive messages.

Examples

The following example defines the CTRC server NEWSVR on the current router attempting up to five acknowledgment messages every 300 seconds:

txconn server NEWSVR destination GEN keepalive attempts 5 keepalive interval 300 port 
1438

Related Commands

Command
Description

show txconn destination

Displays information about CICS destinations for CTRC.

show txconn server

Displays information about CTRC servers that communicate with CICS.