# Compaq TCP/IP Services for OpenVMS

# Tuning and Troubleshooting

Order Number: AA--RN1VA--TE

# January 2001

This manual describes how to troubleshoot Compaq TCP/IP Services for OpenVMS and how to tune the performance of the product.

Revision Information: This is a new manual.

Operating System: OpenVMS Alpha Versions 7.1 and 7.2-1 OpenVMS VAX Versions 7.1 and 7.2

Software Version: Compaq TCP/IP Services for OpenVMS Version 5.1

Compaq Computer Corporation
Houston, Texas

© 2001 Compaq Computer Corporation

COMPAQ, VAX, VMS, and the Compaq logo Registered in U.S. Patent and Trademark Office.

OpenVMS and Tru64 are trademarks of Compaq Information Technologies Group, L.P. in the United States and other countries.

UNIX is a trademark of The Open Group.

All other product names mentioned herein may be trademarks of their respective companies.

Confidential computer software. Valid license from Compaq required for possession, use, or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license.

Compaq shall not be liable for technical or editorial errors or omissions contained herein. The information in this document is provided "as is" without warranty of any kind and is subject to change without notice. The warranties for Compaq products are set forth in the express limited warranty statements accompanying such products. Nothing herein should be construed as constituting an additional warranty.

ZK6631

This document is available on CD-ROM.

Contents | Index

# Preface

Compaq TCP/IP Services for OpenVMS is the Compaq implementation of the TCP/IP networking protocol suite and internet services for OpenVMS Alpha and OpenVMS VAX systems.

A layered software product, TCP/IP Services provides a comprehensive suite of functions and applications that support industry-standard protocols for heterogeneous network communications and resource sharing.

See the Compaq TCP/IP Services for OpenVMS Installation and Configuration manual for information about installing, configuring, and starting this product.

This manual provides system and network managers with information they need to identify and resolve problems. This manual is best used in conjunction with the Compaq TCP/IP Services for OpenVMS Management manual.

# Intended Audience

This manual is for OpenVMS or UNIX system managers who are experienced in troubleshooting complex software products. This manual assumes a working knowledge of TCP/IP networking, TCP/IP terminology, and familiarity with the TCP/IP Services for OpenVMS product. If you are not familiar with the TCP/IP Services for OpenVMS product, please review all product documentation before attempting to resolve any problems.

# Document Structure

This manual contains the following two chapters and appendix:

- Chapter 1 describes how to determine the cause of networking problems. It introduces some tools useful in monitoring and diagnosing these problems.
- Chapter 2 describes the TCP/IP subsystem attributes that you can adjust to improve network performance.
- Appendix A describes the tools available for isolating and resolving network problems.

# Related Documents

Table 1 lists the documents available with this version of TCP/IP Services.

Table 1 TCP/IP Services Documentation
Manual | Contents
--- | ---
DIGITAL TCP/IP Services for OpenVMS Concepts and Planning | This manual provides conceptual information about networking and the TCP/IP protocol including a description of the Compaq implementation of the Berkeley Internet Name Domain (BIND) service and the Network File System (NFS). It outlines general planning issues to consider before configuring your system to use the TCP/IP Services software. This manual also describes the manuals in the documentation set, provides a glossary of terms and acronyms for the TCP/IP Services software product, and documents how to contact the InterNIC Registration Service to register domains and access Requests for Comments (RFCs).
Compaq TCP/IP Services for OpenVMS Release Notes | This text file describes new features and changes to the software including installation, upgrade, configuration, and compatibility information. These notes also describe new and existing software problems and restrictions, and software and documentation corrections. Print this text file at the beginning of the installation procedure and read it before you install TCP/IP Services.
Compaq TCP/IP Services for OpenVMS Installation and Configuration | This manual explains how to install and configure the TCP/IP Services product.
DIGITAL TCP/IP Services for OpenVMS User's Guide | This manual describes how to use the applications available with TCP/IP Services such as remote file operations, email, TELNET, TN3270, and network printing. This manual explains how to use these services to communicate with systems on private internets or on the worldwide Internet.
Compaq TCP/IP Services for OpenVMS Management | This manual describes how to configure and manage the TCP/IP Services product. Use this manual with the Compaq TCP/IP Services for OpenVMS Management Command Reference manual.
Compaq TCP/IP Services for OpenVMS Management Command Reference | This manual describes the TCP/IP Services management commands. Use this manual with the Compaq TCP/IP Services for OpenVMS Management manual.
Compaq TCP/IP Services for OpenVMS Management Command Quick Reference Card | This reference card lists the TCP/IP management commands by component and describes the purpose of each command.
Compaq TCP/IP Services for OpenVMS UNIX Command Reference Card | This reference card contains information about commonly performed network management tasks and their corresponding TCP/IP management and Compaq Tru64 UNIX command formats.
DIGITAL TCP/IP Services for OpenVMS ONC RPC Programming | This manual presents an overview of high-level programming using open network computing remote procedure calls (ONC RPCs). This manual also describes the RPC programming interface and how to use the RPCGEN protocol compiler to create applications.
Compaq TCP/IP Services for OpenVMS Sockets API and System Services Programming | This manual describes how to use the Sockets API and OpenVMS system services to develop network applications.
Compaq TCP/IP Services for OpenVMS SNMP Programming and Reference | This manual describes the Simple Network Management Protocol (SNMP) and the SNMP application programming interface (eSNMP). It describes the subagents provided with TCP/IP Services, utilities provided for managing subagents, and how to build your own subagents.
Compaq TCP/IP Services for OpenVMS Tuning and Troubleshooting | This manual provides information about how to isolate the causes of network problems and how to tune the TCP/IP Services software for the best performance.
Compaq TCP/IP Services for OpenVMS Guide to IPv6 | This manual describes the IPv6 environment, the roles of systems in this environment, the types and function of the different IPv6 addresses, and how to configure TCP/IP Services to access the 6bone network.

For additional information about Compaq OpenVMS products and services, access the Compaq website at the following location:

    http://www.openvms.compaq.com/

If you are looking for a comprehensive overview of the TCP/IP protocol suite, you might find the following books useful:

- Comer, Douglas E. Internetworking with TCP/IP Volume 1: Principles, Protocols, and Architecture. Third edition. Englewood Cliffs, NJ: Prentice-Hall Inc., 1995.
- Stevens, W. Richard. UNIX Network Programming Volume 1: Networking APIs: Sockets and XTI. Second edition. Englewood Cliffs, NJ: Prentice-Hall Inc., 1999.
- Stevens, W. Richard. UNIX Network Programming Volume 2: Interprocess Communications. Second edition. Englewood Cliffs, NJ: Prentice-Hall Inc., 1999.

# Reader's Comments

Compaq welcomes your comments on this manual. Please send comments to either of the following addresses:

Internet | openvmsdoc@compaq.com
Mail | Compaq Computer Corporation OSSG Documentation Group, ZKO3-4/U08 110 Spit Brook Rd. Nashua, NH 03062-2698

# How to Order Additional Documentation

Visit the following World Wide Web address for information about how to order additional documentation:

    http://www.openvms.compaq.com/

If you need help deciding which documentation best meets your needs, call 800-282-6672.

# Conventions

The name TCP/IP Services means both:

- Compaq TCP/IP Services for OpenVMS Alpha
- Compaq TCP/IP Services for OpenVMS VAX

The following conventions are used in this manual. In addition, please note that all IP addresses are fictitious.

Ctrl/ x | A sequence such as Ctrl/ x indicates that you must hold down the key labeled Ctrl while you press another key or a pointing device button.
PF1 x | A sequence such as PF1 x indicates that you must first press and release the key labeled PF1 and then press and release another key or a pointing device button.
`[Return]` | In examples, a key name enclosed in a box indicates that you press a key on the keyboard. (In text, a key name is not enclosed in a box.) In the HTML version of this document, this convention appears as brackets, rather than a box.
... | A horizontal ellipsis in examples indicates one of the following possibilities: Additional optional arguments in a statement have been omitted. The preceding item or items can be repeated one or more times. Additional parameters, values, or other information can be entered.
. . . | A vertical ellipsis indicates the omission of items from a code example or command format; the items are omitted because they are not important to the topic being discussed.
( ) | In command format descriptions, parentheses indicate that you must enclose choices in parentheses if you specify more than one.
[ ] | In command format descriptions, brackets indicate optional choices. You can choose one or more items or no items. Do not type the brackets on the command line. However, you must include the brackets in the syntax for OpenVMS directory specifications and for a substring specification in an assignment statement.
| | In command format descriptions, vertical bars separate choices within brackets or braces. Within brackets, the choices are optional; within braces, at least one choice is required. Do not type the vertical bars on the command line.
{ } | In command format descriptions, braces indicate required choices; you must choose at least one of the items listed. Do not type the braces on the command line.
bold text | This typeface represents the introduction of a new term. It also represents the name of an argument, an attribute, or a reason.
italic text | Italic text indicates important information, complete titles of manuals, or variables. Variables include information that varies in system output (Internal error number), in command lines (/PRODUCER= name), and in command parameters in text (where dd represents the predefined code for the device type).
UPPERCASE TEXT | Uppercase text indicates a command, the name of a routine, the name of a file, or the abbreviation for a system privilege.
`Monospace text` | Monospace type indicates code examples and interactive screen displays. This typeface indicates UNIX system output or user input, commands, options, files, directories, utilities, hosts, and users. In the C programming language, this typeface identifies the following elements: keywords, the names of independently compiled external functions and files, syntax summaries, and references to variables or identifiers introduced in an example.
- | A hyphen at the end of a command format description, command line, or code line indicates that the command or statement continues on the following line.
numbers | All numbers in text are assumed to be decimal unless otherwise noted. Nondecimal radixes---binary, octal, or hexadecimal---are explicitly indicated.

# Chapter 1
Troubleshooting Techniques and Tools

This chapter provides information that helps you identify symptoms, isolate problems, and take steps to resolve your network problem. This chapter also introduces the tools available to help you monitor and diagnose problems with your network software, devices, and interfaces.

# 1.1 Using Symptoms to Identify a Problem

The inability to reach remote hosts and networks is usually caused by one of the following:

- Physical connection failure
- Underlying transport failure (UDP, TCP, IP)
- Incorrectly configured routing, applications, or services such as BIND
- User error

# 1.2 Isolating Problems

The first step in problem isolation is to make sure that the TCP/IP Services product is started. This may seem like an obvious step, but it is frequently overlooked because error messages may not indicate the product is disabled. (Instead, the messages returned may be "invalid host" or something similar.) You may not have stopped the product, but someone else may have. To check whether the product is running, enter the following command:

    $ SHOW DEVICE BG

    Device                  Device           Error
     Name                   Status           Count
    BG0:                    Mounted              0
    BG1:                    Mounted              0
    BG5:                    Mounted              0
    BG6:                    Mounted              0
    BG7:                    Mounted              0
    BG8:                    Mounted              0

If the command output shows only the BG0: device, then the product is stopped.

The second step is to reduce the problem to its basic components and to systematically identify what is and what is not working. Ask the following questions:

- Does the problem occur all the time or intermittently?
- Does it involve all hosts or is it limited to one host?
- Are there special load or configuration conditions under which you encounter a specific problem?
- Does the problem affect a single user? Multiple users? Your LAN?

The following steps can help you isolate your problem and determine a solution.

1. Check connectivity. ( Section 1.2.1)
2. Check network interface parameters. ( Section 1.2.2)
3. Check the IP address to Ethernet address translation tables. ( Section 1.2.3)
4. Examine network statistics. ( Section 1.2.4)
5. Monitor network traffic. ( Section 1.2.5)
6. Check name server operation. ( Section 1.2.6)
7. Check the route to a remote host. ( Section 1.2.7)
8. Check the routes known to a gateway. ( Section 1.2.8)
9. Check whether the network services have been enabled. ( Section 1.2.9)
10. Look for application errors or interoperability issues.

Table 1-1 summarizes the tools you use to obtain information about network operations. The following sections describe each tool in detail.

Table 1-1 Diagnostic Tools
Diagnostic Tool | Function
--- | ---
`arp` | Controls and displays ARP tables.
`dig` | Sends domain name query packets to name servers.
`ifconfig` | Configures or displays network interface parameters, redefines an address for a particular interface, or sets options such as an alias list, broadcast address, or access filter. Use to detect incorrect IP addresses, subnet masks, and broadcast addresses.
`ndc` | Allows the name server administrator to send messages to a name server to start, stop, and restart BIND; to dump the BIND database; to check the status of the BIND process; and to change the tracing level.
`netstat` | Displays network statistics of sockets, data link counters, specified protocols or aliases, network interfaces, and a host's routing table.
`nslookup` | Provides the ability to directly query a name server and retrieve information. Use NSLOOKUP to determine whether your local name server is running correctly or to retrieve information from remote name servers.
`ping` | Indicates a host is reachable, and displays statistics about packet loss and delivery time.
`route` | Allows the user to manipulate the network routing tables manually.
`sysconfig` | Displays and maintains the various network subsystem attributes.
`TCPTRACE` | Traces packets going in and out of the system. To run the trace utility, enter the DCL command TCPTRACE.
`traceroute` | Displays the route of an IP packet sent from the local host to a remote host.

To enter a command at the system prompt, execute the SYS$STARTUP:TCPIP$DEFINE_COMMANDS.COM file. This file defines each tool as a foreign command.

See Appendix A for complete reference information about these diagnostic tools.

## 1.2.1 Testing Connectivity Between Network Hosts

Use the `ping` command to test whether you can reach a remote host from your local system. The `ping` command sends an Internet Control Message Protocol (ICMP) echo request to the specified host name or host address. When received by a host, an ICMP reply is returned to the requester.

When using the `ping` command to isolate a problem, you should first test the `localhost` to verify that the system can communicate with itself. For example:

    TCPIP> ping localhost
    PING LOCALHOST (127.0.0.1): 56 data bytes
    64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=1 ms
    64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=1 ms
    64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0 ms
    64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0 ms

    ----LOCALHOST PING Statistics----
    4 packets transmitted, 4 packets received, 0% packet loss
    round-trip (ms)  min/avg/max = 0/0/1 ms
    TCPIP>
    TCPIP> ping 127.0.0.1
    PING 127.0.0.1 (127.0.0.1): 56 data bytes
    64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=1 ms
    64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=1 ms
    64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0 ms
    64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0 ms

    ----127.0.0.1 PING Statistics----
    4 packets transmitted, 4 packets received, 0% packet loss
    round-trip (ms)  min/avg/max = 0/0/1 ms

The output from this `ping` command shows that the system is able to send a message down and then back up the protocol stack through the loopback address. The host address 127.0.0.1 and its associated host name, `localhost` , are the loopback address of the local host. This address was devised so that software could use common code to address local processes as well as remote processes. If the command output shows that it received a message for every message it transmitted, then you can be sure that the network software is up and running and that your system should able to communicate with remote systems.

If you do not receive output similar to that shown in the example, then one of the following conditions may exist:

- TCP/IP Services may not be running.
- A definition for `localhost` is missing from the local database.

If the `ping` command for `localhost` does not respond correctly, try the `ping` command with the IP address `127.0.0.1` . If this command displays correct output, the TCPIP database is missing a definition for `localhost` .

If `localhost` returns the data correctly at this point, use the `ping` command to test another host on the same local network. If you are able to reach this host, then test remote hosts farther and farther away from the local host.

If the remote host does not respond to the request, the `ping` command displays the following message:

    TCPIP> ping a7u1kt
    ping: unknown host a7u1kt
    %SYSTEM-F-UNREACHABLE, remote node is not currently reachable

If you used an IP address in the `ping` command, the output may be:

    TCPIP> ping 10.10.22.1
    PING 10.10.22.1 (10.10.22.1): 56 data bytes

    ----10.10.22.1 PING Statistics----
    4 packets transmitted, 0 packets received, 100% packet loss
    %SYSTEM-F-TIMEOUT, device timeout

These error messages could indicate that:

- There is no host with the specified host name.
- Using the host file or DNS/BIND, the system was not able to resolve the specified host name to an IP address.
- There is no host with that IP address.
- The host is down and not responding.

The following sample shows the `ping` statistics displayed:

    TCPIP> ping chester
    PING chester (16.20.208.53): 56 data bytes
    64 bytes from 16.20.208.53: icmp_seq=0 ttl=64 time=0 ms
    64 bytes from 16.20.208.53: icmp_seq=1 ttl=64 time=1 ms
    64 bytes from 16.20.208.53: icmp_seq=2 ttl=64 time=0 ms
    64 bytes from 16.20.208.53: icmp_seq=3 ttl=64 time=1 ms

    ----chester PING Statistics----
    4 packets transmitted, 4 packets received, 0% packet loss
    round-trip (ms)  min/avg/max = 0/0/1 ms

The `ping` command displays statistics on packets sent; packets received; the percentage of packets lost; and the minimum, average, and maximum round-trip packet times.

If you do not specify command options, the `ping` command displays the results of each ICMP request in sequence, the number of bytes received from the remote host, and the round-trip time on a per-request basis.

Use the output from the `ping` command to help determine the cause of direct and indirect routing problems such as host is unreachable, connection timed out, and network is unreachable.

This command helps you decide whether further testing is required and where. For example, if someone reports a problem connecting to a remote host, but `ping` shows packets traveling to the remote system and back, the problem probably resides in the upper (application) layer protocols (such as FTP, TELNET), or the user introduced the error to the application.

If the packets do not make the round trip, the problem probably resides in the lower layers, and perhaps indicates a misconfigured interface or other configuration or routing problems.

When preliminary testing indicates a problem in the lower layers, the next step is to test the network interfaces and routing. Use the `ifconfig` , `netstat` , and `arp` commands for these purposes (see Appendix A).

Next | Contents | Index