Home/Catalog/CISCO-NTP-MIB

CISCO-NTP-MIB

AI MIB Summary

The CISCO-NTP-MIB enables SNMP-based monitoring and management of Cisco devices acting as Network Time Protocol (NTP) servers and clients, exposing critical synchronization metrics including clock offset, round-trip delay, and dispersion. It facilitates the observation of NTP association states, peer relationships, and stratum levels to validate timekeeping accuracy and detect synchronization failures within the hierarchical master-slave architecture.

This MIB module defines a MIB which provides mechanisms to monitor an NTP server. The MIB is derived from the Technical Report #Management of the NTP with SNMP# TR No. 98-09 authored by A.S. Sethi and Dave Mills in the University of Delaware. Below is a brief overview of NTP system architecture and implementation model. This will help understand the objects defined below and their relationships. NTP Intro: The Network Time Protocol (NTP) Version 3, is used to synchronize timekeeping among a set of distributed time servers and clients. The service model is based on a returnable-time design which depends only on measured clock offsets, but does not require reliable message delivery. The synchronization subnet uses a self-organizing, hierarchical master-slave configuration, with synchronization paths determined by a minimum-weight spanning tree. While multiple masters (primary servers) may exist, there is no requirement for an election protocol. System Archiecture: In the NTP model a number of primary reference sources, synchronized by wire or radio to national standards, are connected to widely accessible resources, such as backbone gateways, and operated as primary time servers. The purpose of NTP is to convey timekeeping information from these servers to other time servers via the Internet and also to cross-check clocks and mitigate errors due to equipment or propagation failures. Some number of local-net hosts or gateways, acting as secondary time servers, run NTP with one or more of the primary servers. In order to reduce the protocol overhead, the secondary servers distribute time via NTP to the remaining local-net hosts. In the interest of reliability, selected hosts can be equipped with less accurate but less expensive radio clocks and used for backup in case of failure of the primary and/or secondary servers or communication paths between them. NTP is designed to produce three products: clock offset, round-trip delay and dispersion, all of which are relative to a selected reference clock. Clock offset represents the amount to adjust the local clock to bring it into correspondence with the reference clock. Roundtrip delay provides the capability to launch a message to arrive at the reference clock at a specified time. Dispersion represents the maximum error of the local clock relative to the reference clock. Since most host time servers will synchronize via another peer time server, there are two components in each of these three products, those determined by the peer relative to the primary reference source of standard time and those measured by the host relative to the peer. Each of these components are maintained separately in the protocol in order to facilitate error control and management of the subnet itself. They provide not only precision measurements of offset and delay, but also definitive maximum error bounds, so that the user interface can determine not only the time, but the quality of the time as well. Implementation Model: In what may be the most common client/server model a client sends an NTP message to one or more servers and processes the replies as received. The server interchanges addresses and ports, overwrites certain fields in the message, recalculates the checksum and returns the message immediately. Information included in the NTP message allows the client to determine the server time with respect to local time and adjust the local clock accordingly. In addition, the message includes information to calculate the expected timekeeping accuracy and reliability, as well as select the best from possibly several servers. While the client/server model may suffice for use on local nets involving a public server and perhaps many workstation clients, the full generality of NTP requires distributed participation of a number of client/servers or peers arranged in a dynamically reconfigurable, hierarchically distributed configuration. It also requires sophisticated algorithms for association management, data manipulation and local-clock control. Glossary: 1. Host: Refers to an instantiation of the NTP protocol on a local processor. 2. Peer: Refers to an instantiation of the NTP protocol on a remote processor connected by a network path from the local host.
59
Objects
Active
Status
4
Dependencies

Imported Objects

Objects

59 total
Object Name
ciscoNtpMIB
OBJECT IDENTIFIER
.1.3.6.1.4.1.9.9.168
RFC1155-SMI
Unknown
.1.3.6.1.4.1.9.9.168
ciscoNtpMIBObjects
OBJECT IDENTIFIER
.1.3.6.1.4.1.9.9.168.1
cntpSystem
OBJECT IDENTIFIER
.1.3.6.1.4.1.9.9.168.1.1
cntpSysLeapTwo-bit code warning of an impending leap second to be inserted in the NTP timescale. This object can be set only when the cntpSysStratum has a value of 1.rw
NTPLeapIndicator -- Rsyntax INTEGER { -- ?? enum value of zero may cause problems -- noWarning(0), -- addSecond(1), -- subtractSecond(2), -- alarm(3) -- }
.1.3.6.1.4.1.9.9.168.1.1.1
cntpSysStratumThe stratum of the local clock. If the value is set to 1, i.e., this is a primary reference, then the Primary-Clock procedure described in Section 3.4.6, in RFC-1305 is invoked.rw
NTPStratum -- Rsyntax INTEGER
.1.3.6.1.4.1.9.9.168.1.1.2
cntpSysPrecisionSigned integer indicating the precision of the system clock, in seconds to the nearest power of two. The value must be rounded to the next larger power of two; for instance, a 50-Hz (20 ms) or 60-Hz (16.67 ms) power-frequency clock would be assigned the value -5 (31.25 ms), while a 1000-Hz (1 ms) crystal-controlled clock would be assigned the value -9 (1.95 ms).ro
INTEGER(-20..20)
.1.3.6.1.4.1.9.9.168.1.1.3
cntpSysRootDelayA signed fixed-point number indicating the total round-trip delay in seconds, to the primary reference source at the root of the synchronization subnet.ro
NTPSignedTimeValue -- Rsyntax OCTET STRING
.1.3.6.1.4.1.9.9.168.1.1.4
cntpSysRootDispersionThe maximum error in seconds, relative to the primary reference source at the root of the synchronization subnet. Only positive values greater than zero are possible.ro
NTPUnsignedTimeValue -- Rsyntax OCTET STRING
.1.3.6.1.4.1.9.9.168.1.1.5
cntpSysRefIdThe reference identifier of the local clock.ro
NTPRefId -- Rsyntax OCTET STRING
.1.3.6.1.4.1.9.9.168.1.1.6
cntpSysRefTimeThe local time when the local clock was last updated. If the local clock has never been synchronized, the value is zero.ro
NTPTimeStamp -- Rsyntax OCTET STRING
.1.3.6.1.4.1.9.9.168.1.1.7
cntpSysPollThe interval at which the NTP server polls other NTP servers to synchronize its clock.ro
NTPPollInterval -- Rsyntax INTEGER(-20..20)
.1.3.6.1.4.1.9.9.168.1.1.8
cntpSysPeerThe current synchronization source. This will contain the unique association identifier cntpPeersAssocId of the corresponding peer entry in the cntpPeersVarTable of the peer acting as the synchronization source. If there is no peer, the value will be 0.ro
NTPAssocIdentifier -- Rsyntax INTEGER
.1.3.6.1.4.1.9.9.168.1.1.9
cntpSysClockThe current local time. Local time is derived from the hardware clock of the particular machine and increments at intervals depending on the design used.ro
NTPTimeStamp -- Rsyntax OCTET STRING
.1.3.6.1.4.1.9.9.168.1.1.10
cntpPeers
OBJECT IDENTIFIER
.1.3.6.1.4.1.9.9.168.1.2
cntpPeersVarTableThis table provides information on the peers with which the local NTP server has associations. The peers are also NTP servers but running on different hosts.
SEQUENCE OF CntpPeersVarEntry
.1.3.6.1.4.1.9.9.168.1.2.1
cntpPeersVarEntryEach peers' entry provides NTP information retrieved from a particular peer NTP server. Each peer is identified by a unique association identifier. Entries are automatically created when the user configures the NTP server to be associated with remote peers. Similarly entries are deleted when the user removes the peer association from the NTP server. Entries can also be created by the management station by setting values for the following objects: cntpPeersPeerAddress, cntpPeersHostAddress and cntpPeersMode and making the cntpPeersEntryStatus as active(1). At the least, the management station has to set a value for cntpPeersPeerAddress to make the row active.
CntpPeersVarEntry
.1.3.6.1.4.1.9.9.168.1.2.1.1
cntpPeersAssocIdAn integer value greater than 0 that uniquely identifies a peer with which the local NTP server is associated.
NTPAssocIdentifier -- Rsyntax INTEGER
.1.3.6.1.4.1.9.9.168.1.2.1.1.1
cntpPeersConfiguredThis is a bit indicating that the association was created from configuration information and should not be de-associated even if the peer becomes unreachable.ro
TruthValue -- Rsyntax INTEGER { -- true(1), -- false(2) -- }
.1.3.6.1.4.1.9.9.168.1.2.1.1.2
cntpPeersPeerAddressThe IP address of the peer. When creating a new association, a value for this object should be set before the row is made active.rw
IpAddress
.1.3.6.1.4.1.9.9.168.1.2.1.1.3
cntpPeersPeerPortThe UDP port number on which the peer receives NTP mesages.ro
INTEGER
.1.3.6.1.4.1.9.9.168.1.2.1.1.4
cntpPeersHostAddressThe IP address of the local host. Multi-homing can be supported using this object.rw
IpAddress
.1.3.6.1.4.1.9.9.168.1.2.1.1.5
cntpPeersHostPortThe UDP port number on which the local host receives NTP messages.ro
INTEGER
.1.3.6.1.4.1.9.9.168.1.2.1.1.6
cntpPeersLeapTwo-bit code warning of an impending leap second to be inserted in the NTP timescale of the peer.ro
NTPLeapIndicator -- Rsyntax INTEGER { -- ?? enum value of zero may cause problems -- noWarning(0), -- addSecond(1), -- subtractSecond(2), -- alarm(3) -- }
.1.3.6.1.4.1.9.9.168.1.2.1.1.7
cntpPeersModeThe association mode of the NTP server, with values coded as followw, 0, unspecified 1, symmetric active - A host operating in this mode sends periodic messages regardless of the reachability state or stratum of its peer. By operating in this mode the host announces its willingness to synchronize and be synchronized by the peer 2, symmetric passive - This type of association is ordinarily created upon arrival of a message from a peer operating in the symmetric active mode and persists only as long as the peer is reachable and operating at a stratum level less than or equal to the host; otherwise, the association is dissolved. However, the association will always persist until at least one message has been sent in reply. By operating in this mode the host announces its willingness to synchronize and be synchronized by the peer 3, client - A host operating in this mode sends periodic messages regardless of the reachability state or stratum of its peer. By operating in this mode the host, usually a LAN workstation, announces its willingness to be synchronized by, but not to synchronize the peer 4, server - This type of association is ordinarily created upon arrival of a client request message and exists only in order to reply to that request, after which the association is dissolved. By operating in this mode the host, usually a LAN time server, announces its willingness to synchronize, but not to be synchronized by the peer 5, broadcast - A host operating in this mode sends periodic messages regardless of the reachability state or stratum of the peers. By operating in this mode the host, usually a LAN time server operating on a high-speed broadcast medium, announces its willingness to synchronize all of the peers, but not to be synchronized by any of them 6, reserved for NTP control messages 7, reserved for private use. When creating a new peer association, if no value is specified for this object, it defaults to symmetricActive(1).rw
Enumeration
.1.3.6.1.4.1.9.9.168.1.2.1.1.8
cntpPeersStratumThe stratum of the peer clock.ro
NTPStratum -- Rsyntax INTEGER
.1.3.6.1.4.1.9.9.168.1.2.1.1.9
cntpPeersPeerPollThe interval at which the peer polls the local host.ro
NTPPollInterval -- Rsyntax INTEGER(-20..20)
.1.3.6.1.4.1.9.9.168.1.2.1.1.10
cntpPeersHostPollThe interval at which the local host polls the peer.ro
NTPPollInterval -- Rsyntax INTEGER(-20..20)
.1.3.6.1.4.1.9.9.168.1.2.1.1.11
cntpPeersPrecisionSigned integer indicating the precision of the peer clock, in seconds to the nearest power of two. The value must be rounded to the next larger power of two; for instance, a 50-Hz (20 ms) or 60-Hz (16.67 ms) power-frequency clock would be assigned the value -5 (31.25 ms), while a 1000-Hz (1 ms) crystal-controlled clock would be assigned the value -9 (1.95 ms).ro
INTEGER(-20..20)
.1.3.6.1.4.1.9.9.168.1.2.1.1.12
cntpPeersRootDelayA signed fixed-point number indicating the total round-trip delay in seconds, from the peer to the primary reference source at the root of the synchronization subnet.ro
NTPSignedTimeValue -- Rsyntax OCTET STRING
.1.3.6.1.4.1.9.9.168.1.2.1.1.13
cntpPeersRootDispersionThe maximum error in seconds, of the peer clock relative to the primary reference source at the root of the synchronization subnet. Only positive values greater than zero are possible.ro
NTPUnsignedTimeValue -- Rsyntax OCTET STRING
.1.3.6.1.4.1.9.9.168.1.2.1.1.14
cntpPeersRefIdThe reference identifier of the peer.ro
NTPRefId -- Rsyntax OCTET STRING
.1.3.6.1.4.1.9.9.168.1.2.1.1.15
cntpPeersRefTimeThe local time at the peer when its clock was last updated. If the peer clock has never been synchronized, the value is zero.ro
NTPTimeStamp -- Rsyntax OCTET STRING
.1.3.6.1.4.1.9.9.168.1.2.1.1.16
cntpPeersOrgTimeThe local time at the peer, when its latest NTP message was sent. If the peer becomes unreachable the value is set to zero.ro
NTPTimeStamp -- Rsyntax OCTET STRING
.1.3.6.1.4.1.9.9.168.1.2.1.1.17
cntpPeersReceiveTimeThe local time, when the latest NTP message from the peer arrived. If the peer becomes unreachable the value is set to zero.ro
NTPTimeStamp -- Rsyntax OCTET STRING
.1.3.6.1.4.1.9.9.168.1.2.1.1.18
cntpPeersTransmitTimeThe local time at which the NTP message departed the sender.ro
NTPTimeStamp -- Rsyntax OCTET STRING
.1.3.6.1.4.1.9.9.168.1.2.1.1.19
cntpPeersUpdateTimeThe local time, when the most recent NTP message was received from the peer that was used to calculate the skew dispersion. This represents only the 32-bit integer part of the NTPTimestamp.rodeprecated
INTEGER
.1.3.6.1.4.1.9.9.168.1.2.1.1.20
cntpPeersReachA shift register of used to determine the reachability status of the peer, with bits entering from the least significant (rightmost) end. A peer is considered reachable if at least one bit in this register is set to one i.e, if the value of this object is non-zero. The data in the shift register would be populated by the NTP protocol procedures.ro
INTEGER
.1.3.6.1.4.1.9.9.168.1.2.1.1.21
cntpPeersTimerThe interval in seconds, between transmitted NTP messages from the local host to the peer.ro
INTEGER
.1.3.6.1.4.1.9.9.168.1.2.1.1.22
cntpPeersOffsetThe estimated offset of the peer clock relative to the local clock, in seconds. The host determines the value of this object using the NTP clock-filter algorithm.ro
NTPSignedTimeValue -- Rsyntax OCTET STRING
.1.3.6.1.4.1.9.9.168.1.2.1.1.23
cntpPeersDelayThe estimated round-trip delay of the peer clock relative to the local clock over the network path between them, in seconds. The host determines the value of this object using the NTP clock-filter algorithm.ro
NTPSignedTimeValue -- Rsyntax OCTET STRING
.1.3.6.1.4.1.9.9.168.1.2.1.1.24
cntpPeersDispersionThe estimated maximum error of the peer clock relative to the local clock over the network path between them, in seconds. The host determines the value of this object using the NTP clock-filter algorithm.ro
NTPUnsignedTimeValue -- Rsyntax OCTET STRING
.1.3.6.1.4.1.9.9.168.1.2.1.1.25
cntpPeersFilterValidEntriesThe number of valid entries for a peer in the Filter Register Table. Since, the Filter Register Table is optional, this object will have a value 0 if the Filter Register Table is not implemented.ro
Gauge
.1.3.6.1.4.1.9.9.168.1.2.1.1.26
cntpPeersEntryStatusThe status object for this row. When a management station is creating a new row, it should set the value for cntpPeersPeerAddress atleast, before the row can be made active(1).rw
RowStatus -- Rsyntax INTEGER { -- active(1), -- notInService(2), -- notReady(3), -- createAndGo(4), -- createAndWait(5), -- destroy(6) -- }
.1.3.6.1.4.1.9.9.168.1.2.1.1.27
cntpPeersUpdateTimeRev1The local time, when the most recent NTP message was received from the peer that was used to calculate the skew dispersion. This represents only the 32-bit integer part of the NTPTimestamp.ro
Gauge
.1.3.6.1.4.1.9.9.168.1.2.1.1.28
cntpFilter
OBJECT IDENTIFIER
.1.3.6.1.4.1.9.9.168.1.3
cntpFilterRegisterTableThe following table contains NTP state variables used by the NTP clock filter and selection algorithms. This table depicts a shift register. Each stage in the shift register is a 3-tuple consisting of the measured clock offset, measured clock delay and measured clock dispersion associated with a single observation. An important factor affecting the accuracy and reliability of time distribution is the complex of algorithms used to reduce the effect of statistical errors and falsetickers due to failure of various subnet components, reference sources or propagation media. The NTP clock-filter and selection algorithms are designed to do exactly this. The objects in the filter register table below are used by these algorthims to minimize the error in the calculated time.
SEQUENCE OF CntpFilterRegisterEntry
.1.3.6.1.4.1.9.9.168.1.3.2
cntpFilterRegisterEntryEach entry corresponds to one stage of the shift register, i.e., one reading of the variables clock delay, clock offset and clock dispersion. Entries are automatically created whenever a peer is configured and deleted when the peer is removed.
CntpFilterRegisterEntry
.1.3.6.1.4.1.9.9.168.1.3.2.1
cntpFilterIndexAn integer value in the specified range that is used to index into the table. The size of the table is fixed at 8. Each entry identifies a particular reading of the clock filter variables in the shift register. Entries are added starting at index 1. The index wraps back to 1 when it reaches 8. When the index wraps back, the new entries will overwrite the old entries effectively deleting the old entry.
INTEGER
.1.3.6.1.4.1.9.9.168.1.3.2.1.1
cntpFilterPeersOffsetThe offset of the peer clock relative to the local clock in seconds.ro
NTPSignedTimeValue -- Rsyntax OCTET STRING
.1.3.6.1.4.1.9.9.168.1.3.2.1.2
cntpFilterPeersDelayRound-trip delay of the peer clock relative to the local clock over the network path between them, in seconds. This variable can take on both positive and negative values, depending on clock precision and skew-error accumulation.ro
NTPSignedTimeValue -- Rsyntax OCTET STRING
.1.3.6.1.4.1.9.9.168.1.3.2.1.3
cntpFilterPeersDispersionThe maximum error of the peer clock relative to the local clock over the network path between them, in seconds. Only positive values greater than zero are possible.ro
NTPUnsignedTimeValue -- Rsyntax OCTET STRING
.1.3.6.1.4.1.9.9.168.1.3.2.1.4
ciscoNtpMIBConformance
OBJECT IDENTIFIER
.1.3.6.1.4.1.9.9.168.3
ciscoNtpMIBCompliances
OBJECT IDENTIFIER
.1.3.6.1.4.1.9.9.168.3.1
ciscoNtpMIBCompliance
OBJECT IDENTIFIER
.1.3.6.1.4.1.9.9.168.3.1.1
ciscoNtpMIBGroups
OBJECT IDENTIFIER
.1.3.6.1.4.1.9.9.168.3.2
ciscoNtpSysGroup
OBJECT IDENTIFIER
.1.3.6.1.4.1.9.9.168.3.2.1
ciscoNtpPeersGroup
OBJECT IDENTIFIER
.1.3.6.1.4.1.9.9.168.3.2.2
ciscoNtpFilterGroup
OBJECT IDENTIFIER
.1.3.6.1.4.1.9.9.168.3.2.3