HP OpenVMS Systems Documentation |
HP TCP/IP Services for OpenVMS
|
Previous | Contents | Index |
After starting the server, run the NTPQ program with the -n switch to avoid distractions because of name resolution problems. Use the peer command to display a list showing the status of configured peers and other clients trying to access the server. After operating for a few minutes, the display should look similar to the following:
NTPQ> peer remote refid st t when poll reach delay offset jitter ===================================================================== -isipc6.cairn.ne .GPS1. 1 u 18 64 377 65.592 -5.891 0.044 +saicpc-isiepc2. pogo.udel.edu 2 u 241 128 370 10.477 -0.117 0.067 +uclpc.cairn.net pogo.udel.edu 2 u 37 64 177 212.111 -0.551 0.187 *pogo.udel.edu .GPS1. 1 u 95 128 377 0.607 0.123 0.027 |
The host names or addresses shown in the remote column correspond to the server and peer entries listed in the configuration file; however, the DNS names might not agree if the names listed are not the canonical DNS names. The refid column shows the current source of synchronization; the st column shows the stratum; the t column shows the type ( u = unicast, m = multicast, l = local, - = don't know); and the poll column shows the poll interval in seconds. The when column shows the time (in seconds) since the peer was last heard, and the reach column shows the status of the reachability register (in octal) (see RFC 1305). The remaining entries show the latest delay, offset, and jitter (in milliseconds). Note that, in NTP Version 4, what used to be the dispersion column is replaced by the jitter column.
The symbol at the left margin displays the synchronization status of each peer. The currently selected peer is marked with an asterisk (*), while additional peers that are not currently selected but are designated acceptable for synchronization are marked with a plus sign (+). Peers marked with * and + are included in the weighted average computation to set the local clock; the data produced by peers marked with other symbols are discarded. See Table 13-7 for the meaning of these symbols.
Additional details for each peer can be determined by the following procedure. First, use the associations command to display an index of association identifiers, as shown in the following example:
NTPQ> associations ind assID status conf reach auth condition last_event cnt =========================================================== 1 50252 f314 yes yes ok outlyer reachable 1 2 50253 f414 yes yes ok candidat reachable 1 3 50254 f414 yes yes ok candidat reachable 1 4 50255 f614 yes yes ok sys.peer reachable 1 |
Each line in this display is associated with the corresponding line in the preceding peer display. The assID column shows the unique identifier for each mobilized association, and the status column shows the peer status word (in hexadecimal), as defined in the NTP specification.
Next, use the readvar command and the respective assID identifier to display a detailed synopsis for the selected peer, as shown in the following example:
NTPQ> readvar 50253 status=f414 reach, conf, auth, sel_candidat, 1 event, event_reach, srcadr=saicpc-isiepc2.cairn.net, srcport=123, dstadr=140.173.1.46, dstport=123, keyid=3816249004, stratum=2, precision=-27, rootdelay=10.925, rootdispersion=12.848, refid=pogo.udel.edu, reftime=bd11b225.133e1437 Sat, Jul 8 2000 13:59:01.075, delay=10.550, offset=-1.357, jitter=0.074, dispersion=1.444, reach=377, valid=7, hmode=1, pmode=1, HPoll=6, ppoll=7, leap=00, flash=00 ok, org=bd11b23c.01385836 Sat, Jul 8 2000 13:59:24.004, rec=bd11b23c.02dc8fb8 Sat, Jul 8 2000 13:59:24.011, xmt=bd11b21a.ac34c1a8 Sat, Jul 8 2000 13:58:50.672, filtdelay= 10.45 10.50 10.63 10.40 10.48 10.43 10.49 11.26, filtoffset= -1.18 -1.26 -1.26 -1.35 -1.35 -1.42 -1.54 -1.81, filtdisp= 0.51 1.47 2.46 3.45 4.40 5.34 6.33 7.28, |
This example was chosen to illustrate one of the most complex configurations involving symmetric modes. As the result of debugging experience, the names and values of these variables might change from time to time. The fields in this display include most variables defined in the NTP Version 3 specification, as well as those defined for NTP Version 4.
A useful indicator of miscellaneous problems is the flash value, which reveals the state of the various sanity tests on incoming packets. There are currently eleven bits, one for each test, numbered from right to left. If the test fails, the corresponding bits are set to 1 and 0. If any bit is set following each processing step, the packet is discarded.
The three lines identified as filtdelay , filtoffset , and filtdisp reveal the round-trip delay, clock offset and dispersion for each of the last eight measurement rounds (all in milliseconds). Note that the dispersion, which is an estimate of the error, increases as the age of the sample increases. From these data, it is usually possible to determine the incidence of severe packet loss, network congestion, and unstable local clock oscillators. Every case is unique; however, if one or more of the rounds show large values or change radically from one round to another, the network is probably congested or experiencing loss.
Once the server has set the local clock, it continuously tracks the discrepancy between local time and NTP time and adjusts the local clock accordingly. This adjustment consists of two components: time and frequency. Adjustments to time and frequency are determined automatically by the clock discipline algorithm, which functions as a hybrid phase/frequency feedback loop. The behavior of this algorithm is controlled carefully to minimize residual errors resulting from normal network jitter and frequency variations of the local clock hardware oscillator. However, when started for the first time, the algorithm may take some time to converge on the intrinsic frequency error of the host machine.
The state of the local clock itself can be determined using the readvar statement (without the argument), as shown in the following example:
NTPQ> readvar status=0644 leap_none, sync_ntp, 4 events, event_peer/strat_chg, version="ntpd 4.0.99j4-r Fri Jul 7 23:38:17 GMT 2002 (1)", processor="i386", system="FreeBSD3.4-RELEASE", leap=00, stratum=2, precision=-27, rootdelay=0.552, rootdispersion=12.532, peer=50255, refid=pogo.udel.edu, reftime=bd11b220.ac89f40a Sat, Jul 8 2002 13:58:56.673, poll=6, clock=bd11b225.ee201472 Sat, Jul 8 2002 13:59:01.930, state=4, phase=0.179, frequency=44.298, jitter=0.022, stability=0.001, hostname="barnstable.udel.edu", publickey=3171372095, params=3171372095, refresh=3172016539 |
An explanation of most of these variables is in the RFC 1305 specification. The most useful variables are clock , which shows when the clock was last adjusted, and reftime , which shows when the server clock of refid was last adjusted. The mean millisecond time offset ( phase ) and deviation ( jitter ) monitor the clock quality, and the mean Ppm frequency offset ( frequency ) and deviation ( stability ) monitor the clock stability and serve as useful diagnostic tools. NTP operators have found that these data represent useful environment and hardware alarms. If the motherboard fan or some hardware bit malfunctions, the system clock is usually the first to reflect these problems.
When nothing seems to happen in the
peer
display after several minutes, it might indicate a network problem. One
common network problem is an access-controlled router on the path to
the selected peer, or an access-controlled server using methods
described in Section 13.3.2.2. Another common problem is that the server
is down or is running in unsynchronized mode because of a local
problem. Use the NTPQ program to look at the server variables in the
same way you look at your own.
13.8.1.3 Special Problems
The frequency tolerance of computer clock oscillators can vary widely, which can put a strain on the server's ability to compensate for the intrinsic frequency error. While the server can handle frequency errors up to 500 parts per million (ppm), or 43 seconds per day, values much higher than 100 ppm reduce the headroom and increase the time to identify the particular value and record it in the TCPIP$NTP.DRIFT file. In extreme cases, before the particular oscillator frequency error has been determined, the residual system time offsets can sweep from one extreme to the other of the 128-millisecond tracking window only for the behavior to repeat at 900-second intervals until the measurements have converged.
To determine whether excessive frequency error is occurring, observe the nominal filtoffset values for a number of rounds and divide by the poll interval. If the result is approximately 500 ppm, NTP probably will not work properly until the frequency error is reduced.
A common cause of this problem is the hardware time-of-year (TOY) clock chip, which must be disabled when NTP disciplines the software clock.
If the TOY chip is not the cause, the problem might be that the hardware clock frequency is too slow or too fast.
NTPD provides for access controls that deflect unwanted traffic from selected hosts or networks. The controls described in Section 13.3.2.2 include detailed packet filter operations based on source address and address mask. Normally, filtered packets are dropped without notice other than to increment tally counters. However, the server can be configured to generate a kiss-of-death (kod) packet to be sent to the client. If outright access is denied, the kod is the response to the first client packet. In this case, the client association is permanently disabled and the access-denied bit is set in the flash peer variable, and a message is sent to the server's log file.
The access control provisions include a limit on the packet rate from a
host or network. If an incoming packet exceeds the limit, it is dropped
and a kod is sent to the source. If this occurs after the client
association has synchronized, the association is not disabled, but a
message is sent to the system log. For more information, see
Section 13.3.2.2.
13.8.1.4 Debugging Checklist
If the NTPQ or NTPDC programs do not show that messages are being received by the server or that received messages do not result in correct synchronization, verify the following:
The Simple Network Management Protocol (SNMP) is network management technology that facilitates the management of a TCP/IP network or internet in a vendor-independent manner. SNMP enables a network administrator to manage the various network components using a set of well-known procedures understood by all components, regardless of the vendor that manufactured them.
Configuring SNMP on your OpenVMS system allows a remote SNMP management client to obtain information about your host and to set system and network parameters.
This chapter reviews key concepts of SNMP and describes:
For information about writing programs using SNMP, refer to the
Compaq TCP/IP Services for OpenVMS SNMP Programming and Reference guide.
14.1 Key Concepts
Systems using SNMP are divided into two categories:
The management console is the system that issues a query; the agents run on the system being queried. Queries are sent and received in the form of protocol data units (PDUs) inside SNMP messages, which are carried in user data protocol (UDP) datagrams.
You can configure your host so that an SNMP client can obtain information about your host and perform updates on your host's management information base (MIB) data items. For example, you can configure your host to:
TCP/IP Services provides an SNMP master agent, two subagents (MIB II and Host Resources MIB), a MIB converter and compiler, a simple MIB browser, and MIB utility programs. Each subagent contains routines that perform read and write operations on its MIB data items.
Table 14-1 describes the SNMP components and the sample code supplied for custom subagent development.
Component | Description |
---|---|
Master agent SNMP Version 2 |
Process name: TCPIP$SNMP_
n, where
n is the number of times that the master agent has been
started since the SNMP service was enabled.
Keeps track of managed objects and allows objects to register themselves. Sends information about these objects to remote SNMP management consoles. Also maintains a small set of variables for the MIB II component. |
MIB II |
Process name: TCPIP$OS_MIBS.
Provides information about the TCP/IP protocol stack and other network activity. |
Host resources MIB |
Process name: TCPIP$HR_MIB.
Provides information about the host system. |
MIB converter | Extracts a MIB definition in ASN.1 notation into a MIB definition (.MY) file. |
MIB compiler | Compiles MIB-definition files (for example, CHESS_MIB.MY) into source code templates for use in building subagents. |
SNMP utility programs | Acts as a simple clients to obtain a set of values for a MIB and to listen for and send trap messages. For information about using the MIB utility programs, see the Compaq TCP/IP Services for OpenVMS SNMP Programming and Reference manual. |
SNMP subagent example | Implements an example based on the chess game; includes executable and source code. |
The TCPIP$CONFIG procedure sets up the SNMP UDP-based service at well-known port 161.
In addition, TCPIP$CONFIG sets up required files in the SYS$SYSDEVICE:[TCPIP$SNMP] directory.
The SNMP startup procedure (SYS$STARTUP:TCPIP$SNMP_STARTUP.COM) runs from the general TCPIP$STARTUP.COM procedure or can be run directly by the system manager.
TCPIP$SNMP_STARTUP.COM does the following:
To ensure compatibility with previous versions of TCP/IP Services, TCPIP$SNMP_SYSTARTUP.COM in turn runs SYS$SYSDEVICE:[TCPIP$SNMP]TCPIP$EXTENSION_MIB_STARTUP.COM, which installs and adjusts privileges for any additional, user-written subagents.
On startup, the TCP/IP Services kernel runs the TCPIP$SYSTEM:TCPIP$SNMP_RUN.COM procedure, which does the following:
As each subagent starts, it makes itself known to the master agent, a sequence that includes registering the MIB subtrees that the subagent maintains and communicating the port number on which it listens.
Once SNMP starts, the following sequence occurs for each incoming SNMP request. This sequence is standard for SNMP implementations.
The SNMP shutdown procedure TCPIP$SNMP_SHUTDOWN.COM runs either from the general shutdown procedure TCPIP$SHUTDOWN.COM or can be run directly by the system manager.
TCPIP$SNMP_SHUTDOWN.COM does the following:
To ensure compatibility with previous versions, this procedure in turn
runs SYS$SYSDEVICE:[TCPIP$SNMP]TCPIP$EXTENSION_MIB_SHUTDOWN.COM, which
stops any additional subagent processes and deinstalls their images, if
necessary.
14.1.2 Ensuring Access to Mounted Data
If the proxy setup between the SNMP server and the NFS server is not correct, the Host Resources MIB subagent cannot access data that has been mounted.
To ensure access to mounted data, set up a proxy to an anonymous user
(for example, to TCPIP$NOBODY) on the NFS server system. For more
information about adding proxy entries, see Chapter 22.
14.2 Managing the SNMP Service
The following command procedures are supplied to allow you to start up and shut down the SNMP service independently of TCP/IP Services:
Both the startup and shutdown procedures invoke the appropriate TCPIP$EXTENSION_MIB_*.COM file to ensure compatibility with previous versions of TCP/IP Services.
These files might be overwritten when you install subsequent versions of the TCP/IP Services product. For more information about these procedures, see Section 14.1.1.
To maintain site-specific SNMP logical names, commands, and parameter settings, you can create the following files:
Enter the commands for starting and stopping site-specific subagents in
these command procedures.
14.3 Verifying the SNMP Installation
A separate installation verification procedure (IVP) exists for SNMP. To verify your configuration, complete these steps:
$ @SYS$MANAGER:TCPIP$CONFIG |
$ RUN SYS$COMMON:[SYSTEST.TCPIP]TCPIP$SNMPIVP.EXE |
Table 14-2 lists the names of the primary SNMP executable and command files and their locations. For a list of files that help you build your own subagent, see the Compaq TCP/IP Services for OpenVMS SNMP Programming and Reference guide.
File | Location | Function |
---|---|---|
TCPIP$ESNMP_SERVER.EXE | SYS$SYSTEM | Master agent image. |
TCPIP$OS_MIBS.EXE | SYS$SYSTEM | MIB II subagent image. |
TCPIP$HR_MIB.EXE | SYS$SYSTEM | Host Resources MIB subagent image. |
TCPIP$SNMP_REQUEST.EXE | SYS$SYSTEM | Simple MIB browser. |
TCPIP$SNMP_TRAPSND.EXE | SYS$SYSTEM | Program for sending trap messages. |
TCPIP$SNMP_TRAPRCV.EXE | SYS$SYSTEM | Program for receiving trap messages. |
TCPIP$ESNMP_SHR.EXE | SYS$SHARE | Routines in the eSNMP application programming interface (API). |
TCPIP$SNMP_STARTUP.COM | SYS$STARTUP | Installs master and subagent images and runs TCPIP$SNMP_RUN.COM. |
TCPIP$SNMP_RUN.COM | TCPIP$SYSTEM | Starts the master agent and subagents. |
TCPIP$SNMP_SHUTDOWN.COM | SYS$STARTUP | Stops the master agent and subagents. |
TCPIP$SNMP_SYSTARTUP.COM | SYS$STARTUP | Sets site-specific configuration values on startup. |
TCPIP$SNMP_SYSHUTDOWN.COM | SYS$STARTUP | Sets site-specific configuration values on shutdown. |
TCPIP$EXTENSION_MIB_STARTUP.COM | ||
SYS$SYSDEVICE:[TCPIP$SNMP] | Starts custom subagents. | |
TCPIP$EXTENSION_MIB_SHUTDOWN.COM | ||
SYS$SYSDEVICE:[TCPIP$SNMP] | Shuts down custom subagents. | |
TCPIP$VMS_SNMP_CONF.DAT | SYS$SYSDEVICE:[TCPIP$SNMP] | User-editable configuration data file. |
TCPIP$SNMP_CONF.DAT | SYS$SYSDEVICE:[TCPIP$SNMP] | Configuration data file used in the startup of the master agent and standard subagents. |
Previous | Next | Contents | Index |