Implementing NTP on the Cisco ASR 9000 Series Router
Network Time Protocol (NTP) is a protocol designed to time-synchronize
devices within a network. Cisco IOS XR software
implements NTPv4. NTPv4 retains backwards compatibility with the older versions
of NTP, including NTPv3 and NTPv2 but excluding NTPv1, which has been
discontinued due to security vulnerabilities.
This module describes the tasks you need to implement NTP on the
Cisco IOS XR software.
For more information about NTP on the
Cisco IOS XR software
and complete descriptions of the NTP commands listed in this module, see
Related Documents.
To locate documentation for other commands that might appear in the course of
running a configuration task, search online in
Cisco ASR 9000 Series Aggregation Services Router
Commands Master List.
Table 1 Feature History for Implementing NTP on
Cisco IOS XR Software
Release
Modification
Release 3.7.2
This feature was introduced.
Release 3.9.0
Support was added for IPv6 addresses, VRFs, multicast-based
associations, and burst and iburst modes for poll-based associations.
Prerequisites for Implementing NTP on Cisco IOS XR Software
You must be in a user group associated with a task group that includes the proper task IDs. The command reference guides include the task IDs required for each command. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
Information About Implementing NTP
NTP synchronizes timekeeping among a set of distributed time servers and
clients. This synchronization allows events to be correlated when system logs
are created and other time-specific events occur.
NTP uses the User Datagram Protocol (UDP) as its transport protocol. All
NTP communication uses Coordinated Universal Time (UTC). An NTP network usually
receives its time from an authoritative time source, such as a radio clock or
an atomic clock attached to a time server. NTP distributes this time across the
network. NTP is extremely efficient; no more than one packet per minute is
necessary to synchronize two machines to within a millisecond of each other.
NTP uses the concept of a “stratum” to describe how many NTP “hops” away a
machine is from an authoritative time source. A “stratum 1” time server
typically has an authoritative time source (such as a radio or atomic clock, or
a GPS time source) directly attached, a “stratum 2” time server receives its
time via NTP from a “stratum 1” time server, and so on.
NTP avoids synchronizing to a machine whose time may not be accurate, in
two ways. First, NTP never synchronizes to a machine that is not synchronized
itself. Second, NTP compares the time reported by several machines and does not
synchronize to a machine whose time is significantly different than the others,
even if its stratum is lower. This strategy effectively builds a
self-organizing tree of NTP servers.
The Cisco implementation of NTP does not support stratum 1 service; in
other words, it is not possible to connect to a radio or atomic clock (for some
specific platforms, however, you can connect a GPS time-source device). We
recommend that time service for your network be derived from the public NTP
servers available in the IP Internet.
If the network is isolated from the Internet, the Cisco implementation
of NTP allows a machine to be configured so that it acts as though it is
synchronized via NTP, when in fact it has determined the time using other
means. Other machines can then synchronize to that machine via NTP.
Several manufacturers include NTP software for their host systems,
and a publicly available version for systems running UNIX and its various
derivatives is also available. This software also allows UNIX-derivative
servers to acquire the time directly from an atomic clock, which would
subsequently propagate time information along to Cisco routers.
The communications between machines running NTP (known as associations)
are usually statically configured; each machine is given the IP address of all
machines with which it should form associations. Accurate timekeeping is made
possible by exchanging NTP messages between each pair of machines with an
association.
The Cisco implementation of NTP supports two ways that a networking
device can obtain NTP time information on a network:
By polling host servers
By listening to NTP
broadcasts
In a LAN environment, NTP can be configured to use IP broadcast messages. As compared to polling, IP broadcast messages reduce configuration complexity, because each machine can
simply be configured to send or receive broadcast or multicast messages.
However, the accuracy of timekeeping is marginally reduced because the
information flow is one-way only.
An NTP broadcast client listens for broadcast messages sent by an NTP
broadcast server at a designated IPv4 address. The client synchronizes the
local clock using the first received broadcast message.
The time kept on a machine is a critical resource, so we strongly
recommend that you use the security features of NTP to avoid the accidental or
malicious setting of incorrect time. Two mechanisms are available: an access
list-based restriction scheme and an encrypted authentication mechanism.
When multiple sources of time (VINES, hardware clock, manual
configuration) are available, NTP is always considered to be more
authoritative. NTP time overrides the time set by any other method.
How to Implement NTP on Cisco IOS XR Software
Configuring Poll-Based Associations
Note
No specific command enables NTP; the first NTP
configuration command that you issue enables NTP.
You can configure the following types of poll-based associations
between the router and other devices (which may also be routers):
Client mode
Symmetric active mode
The client and the symmetric active modes should be used when NTP is
required to provide a high level of time accuracy and reliability.
When a networking device is operating in the client mode, it polls its
assigned time serving hosts for the current time. The networking device then
picks a host from all the polled time servers to synchronize with. Because the
relationship that is established in this case is a client-host relationship,
the host does not capture or use any time information sent by the local client
device. This mode is most suited for file-server and workstation clients that
are not required to provide any form of time synchronization to other local
clients. Use the
server command to individually specify the
time-serving hosts that you want your networking device to consider
synchronizing with and to set your networking device to operate in the client
mode.
When a networking device is operating in the symmetric active mode, it
polls its assigned time-serving hosts for the current time and it responds to
polls by its hosts. Because this is a peer-to-peer relationship, the host also
retains time-related information about the local networking device that it is
communicating with. This mode should be used when there are several mutually redundant servers that are interconnected via diverse network paths.
Most stratum 1 and stratum 2 servers on the Internet today adopt this form of
network setup. Use the
peer command to individually specify the
time-serving hosts that you want your networking device to consider
synchronizing with and to set your networking device to operate in the
symmetric active mode.
When the router polls several other devices for the time, the router
selects one device with which to synchronize.
Note
To configure a peer-to-peer association between the router and
another device, you must also configure the router as a peer on the other
device.
You can configure multiple peers and servers, but you cannot
configure a single IP address as both a peer and a server at the same time.
To change the configuration of a specific IP address from peer to
server or from server to peer, use the
no form of the
peer or
server command to remove the current configuration before you
perform the new configuration. If you do not remove the old configuration
before performing the new configuration, the new configuration does not
overwrite the old configuration.
Forms a peer association with another system. This step can be
repeated as necessary to form associations with multiple systems.
Note
To complete the configuration of a peer-to-peer association
between the router and the remote device, the router must also be configured as
a peer on the remote device.
Step 5
Use one of the following commands:
end
commit
Example:
RP/0/RSP0/CPU0:router(config-ntp)# end
or
RP/0/RSP0/CPU0:router(config-ntp)# commit
Saves configuration changes.
When you issue the
end command, the system prompts you
to commit changes:
Uncommitted changes found, commit them before
exiting(yes/no/cancel)?
[cancel]:
Entering
yes saves configuration changes to the running
configuration file, exits the configuration session, and returns the router to
EXEC mode.
Entering
no exits the configuration session and returns the
router to EXEC mode without committing the configuration changes.
Entering
cancel leaves the router in the current
configuration session without exiting or committing the configuration changes.
Use the
commit command to save the
configuration changes to the running configuration file and remain within the
configuration session.
Configuring Broadcast-Based NTP Associates
In a broadcast-based NTP association, an NTP server
propagates NTP broadcast packets throughout a network. Broadcast clients listen
for the NTP broadcast packets propagated by the NTP server and do not engage in
any polling.
Broadcast-based NTP associations should be used when time accuracy and
reliability requirements are modest and if your network is localized and has a
large number of clients (more than 20). Broadcast-based NTP associations also
are recommended for use on networks that have limited bandwidth, system memory,
or CPU resources. Time accuracy is marginally reduced in broadcast-based NTP
associations because information flows only one way.
Use the
broadcast client command to set your
networking device to listen for NTP broadcast packets propagated through a
network. For broadcast client mode to work, the broadcast server and its
clients must be located on the same subnet. The time server that is
transmitting NTP broadcast packets must be enabled on the interface of the
given device using the broadcast command.
Use the
broadcast command to set your networking
device to send NTP broadcast packets.
Note
No specific command enables NTP; the first NTP configuration command
that you issue enables NTP.
Configures the specified interface to send NTP broadcast packets.
Note
Go to
5
to configure the interface to receive NTP broadcast packets.
Step 7
Use one of the following commands:
end
commit
Example:
RP/0/RSP0/CPU0:router(config-ntp-int)# end
or
RP/0/RSP0/CPU0:router(config-ntp-int)# commit
Saves configuration changes.
When you issue the
end command, the system prompts you
to commit changes:
Uncommitted changes found, commit them before exiting(yes/no/cancel)?
[cancel]:
Entering
yes saves configuration changes to the running
configuration file, exits the configuration session, and returns the router to
EXEC mode.
Entering
no exits the configuration session and returns the
router to EXEC mode without committing the configuration changes.
Entering
cancel leaves the router in the current
configuration session without exiting or committing the configuration changes.
Use the
commit command to save the
configuration changes to the running configuration file and remain within the
configuration session.
Configuring NTP Access Groups
Note
No specific command enables NTP; the first NTP
configuration command that you issue enables NTP.
The access list-based restriction scheme allows you to grant or deny
certain access privileges to an entire network, a subnet within a network, or a
host within a subnet.
The access group options are scanned in the following order, from
least restrictive to most restrictive:
peer—Allows time requests and NTP control queries and allows
the system to synchronize itself to a system whose address passes the access
list criteria.
serve—Allows time requests and NTP control queries, but does
not allow the system to synchronize itself to a system whose address passes the
access list criteria.
serve-only—Allows only time requests from a system whose
address passes the access list criteria.
query-only—Allows only NTP control queries from a system
whose address passes the access list criteria.
If the source IP address matches the access lists for more than one
access type, the first type is granted. If no access groups are specified, all
access types are granted to all systems. If any access groups are specified,
only the specified access types are granted.
For details on NTP control queries, see RFC 1305 (NTP version 3).
Creates an access group and applies a basic IPv4 or IPv6 access
list to it.
Step 4
Use one of the following commands:
end
commit
Example:
RP/0/RSP0/CPU0:router(config-ntp)# end
or
RP/0/RSP0/CPU0:router(config-ntp)# commit
Saves configuration changes.
When you issue the
end command, the system prompts you
to commit changes:
Uncommitted changes found, commit them before
exiting(yes/no/cancel)?
[cancel]:
Entering
yes saves configuration changes to the running
configuration file, exits the configuration session, and returns the router to
EXEC mode.
Entering
no exits the configuration session and returns the
router to EXEC mode without committing the configuration changes.
Entering
cancel leaves the router in the current
configuration session without exiting or committing the configuration changes.
Use the
commit command to save the
configuration changes to the running configuration file and remain within the
configuration session.
Configuring NTP Authentication
This task explains how to configure NTP authentication.
Note
No specific command enables NTP; the first NTP configuration command
that you issue enables NTP.
The encrypted NTP authentication scheme should be used when a reliable
form of access control is required. Unlike the access-list-based restriction
scheme that is based on IP addresses, the encrypted authentication scheme uses
authentication keys and an authentication process to determine if NTP
synchronization packets sent by designated peers or servers on a local network
are deemed as trusted, before the time information that it carries along is
accepted.
The authentication process begins from the moment an NTP packet is
created. A message authentication code (MAC) is computed using the MD5 Message Digest
Algorithm and the MAC is embedded into an NTP synchronization packet. The NTP synchronization packet together with the embedded MAC and key number are transmitted to the receiving client. If authentication is enabled and the key is trusted, the receiving client computes the MAC in the same way. If the computed MAC matches the embedded MAC, the system is allowed to sync
to the server that uses this key in its packets.
After NTP authentication is properly configured, your networking
device only synchronizes with and provides synchronization to trusted time
sources.
Each key has a key
number, a type, a value, and, optionally, a name. Currently the only key type
supported is
md5.
Step 5
trusted-keykey-number
Example:
RP/0/RSP0/CPU0:router(config-ntp)# trusted-key 42
Defines trusted authentication keys.
If a key is trusted,
this router only synchronizes to a system that uses this key in its NTP
packets.
Step 6
Use one of the following commands:
end
commit
Example:
RP/0/RSP0/CPU0:router(config-ntp)# end
or
RP/0/RSP0/CPU0:router(config-ntp)# commit
Saves configuration changes.
When you issue the
end command, the system prompts you
to commit changes:
Uncommitted changes found, commit them before
exiting(yes/no/cancel)?
[cancel]:
Entering
yes saves configuration changes to the running
configuration file, exits the configuration session, and returns the router to
EXEC mode.
Entering
no exits the configuration session and returns the
router to EXEC mode without committing the configuration changes.
Entering
cancel leaves the router in the current
configuration session without exiting or committing the configuration changes.
Use the
commit command to save the
configuration changes to the running configuration file and remain within the
configuration session.
Disabling NTP Services on a Specific Interface
NTP services are disabled on all interfaces by default.
NTP is enabled globally when any NTP commands are entered. You can
selectively prevent NTP packets from being received through a specific
interface by turning off NTP on a given interface.
SUMMARY STEPS
1.configure
2.ntp
3. Use one of the following commands:
nointerfacetypeinterface-path-id
interfacetypeinterface-path-iddisable
4.Use one of the following commands:
end
commit
DETAILED STEPS
Command or Action
Purpose
Step 1
configure
Example:
RP/0/RSP0/CPU0:router# configure
Enters global configuration mode.
Step 2
ntp
Example:
RP/0/RSP0/CPU0:router(config)# ntp
Enters NTP configuration mode.
Step 3
Use one of the following commands:
nointerfacetypeinterface-path-id
interfacetypeinterface-path-iddisable
Example:
RP/0/RSP0/CPU0:router(config-ntp)# no interface pos 0/0/0/1
When you issue the
end command, the system prompts you
to commit changes:
Uncommitted changes found, commit them before
exiting(yes/no/cancel)?
[cancel]:
Entering
yes saves configuration changes to the running
configuration file, exits the configuration session, and returns the router to
EXEC mode.
Entering
no exits the configuration session and returns the
router to EXEC mode without committing the configuration changes.
Entering
cancel leaves the router in the current
configuration session without exiting or committing the configuration changes.
Use the
commit command to save the
configuration changes to the running configuration file and remain within the
configuration session.
Configuring the Source IP Address for NTP Packets
By default, the source IP address of an NTP
packet sent by the router is the address of the interface through which the NTP
packet is sent. Use this procedure to set a different source address.
Note
No specific command enables NTP; the first NTP configuration command
that you issue enables NTP.
Configures an interface from which the IP source address is
taken.
Note
This interface is used for the source address for all
packets sent to all destinations. If a source address is to be used for a
specific association, use the
source keyword in the
peer or
server command shown in
Configuring Poll-Based Associations.
Step 4
Use one of the following commands:
end
commit
Example:
RP/0/RSP0/CPU0:router(config-ntp)# end
or
RP/0/RSP0/CPU0:router(config-ntp)# commit
Saves configuration changes.
When you issue the
end command, the system prompts you
to commit changes:
Uncommitted changes found, commit them before
exiting(yes/no/cancel)?
[cancel]:
Entering
yes saves configuration changes to the running
configuration file, exits the configuration session, and returns the router to
EXEC mode.
Entering
no exits the configuration session and returns the
router to EXEC mode without committing the configuration changes.
Entering
cancel leaves the router in the current
configuration session without exiting or committing the configuration changes.
Use the
commit command to save the
configuration changes to the running configuration file and remain within the
configuration session.
Configuring the System as an Authoritative NTP Server
You can configure the router to act as an
authoritative NTP server, even if the system is not synchronized to an outside
time source.
Note
No specific command enables NTP; the first NTP configuration command
that you issue enables NTP.
SUMMARY STEPS
1.configure
2.ntp
3.masterstratum
4.Use one of the following commands:
end
commit
DETAILED STEPS
Command or Action
Purpose
Step 1
configure
Example:
RP/0/RSP0/CPU0:router# configure
Enters global configuration mode.
Step 2
ntp
Example:
RP/0/RSP0/CPU0:router(config)# ntp
Enters NTP configuration mode.
Step 3
masterstratum
Example:
RP/0/RSP0/CPU0:router(config-ntp)# master 9
Makes the router an authoritative NTP server.
Note
Use the
master command with caution. It is very easy to override valid
time sources using this command, especially if a low stratum number is
configured. Configuring multiple machines in the same network with the
master command can cause instability in
time keeping if the machines do not agree on the time.
Step 4
Use one of the following commands:
end
commit
Example:
RP/0/RSP0/CPU0:router(config-ntp)# end
or
RP/0/RSP0/CPU0:router(config-ntp)# commit
Saves configuration changes.
When you issue the
end command, the system prompts you
to commit changes:
Uncommitted changes found, commit them before
exiting(yes/no/cancel)?
[cancel]:
Entering
yes saves configuration changes to the running
configuration file, exits the configuration session, and returns the router to
EXEC mode.
Entering
no exits the configuration session and returns the
router to EXEC mode without committing the configuration changes.
Entering
cancel leaves the router in the current
configuration session without exiting or committing the configuration changes.
Use the
commit command to save the
configuration changes to the running configuration file and remain within the
configuration session.
Updating the Hardware Clock
On devices that have hardware clocks (system calendars),
you can configure the hardware clock to be periodically updated from the
software clock. This is advisable for devices using NTP, because the time and
date on the software clock (set using NTP) is more accurate than the hardware
clock. The time setting on the hardware clock has the potential to drift
slightly over time.
Note
No specific command enables NTP; the first NTP configuration command
that you issue enables NTP.
The following is sample output from the
showntpstatus command:
RP/0/RSP0/CPU0:router# show ntp status
Clock is synchronized, stratum 4, reference is 172.19.69.1
nominal freq is 1000.0000 Hz, actual freq is 999.9988 Hz, precision is 2**26
reference time is C54C131B.9EECF6CA (07:26:19.620 UTC Mon Nov 24 2008)
clock offset is 66.3685 msec, root delay is 7.80 msec
root dispersion is 950.04 msec, peer dispersion is 3.38 msec
Configuration Examples for Implementing NTP
Configuring Poll-Based Associations: Example
The following example shows an NTP configuration in which the router’s system clock is configured to form a peer association with the time server host at IP address 192.168.22.33, and to allow the system clock to be synchronized by time server hosts at IP address 10.0.2.1 and 172.19.69.1:
ntp
server 10.0.2.1 minpoll 5 maxpoll 7
peer 192.168.22.33
server 172.19.69.1
Configuring Broadcast-Based Associations: Example
The following example shows an NTP client configuration in which Gigabit Ethernet interface 0/2/0/0 is configured to receive NTP broadcast packets, and the estimated round-trip delay between an NTP client and an NTP broadcast server is set to 2 microseconds:
The following example shows an NTP server configuration where Gigabit Ethernet interface 0/2/0/2 is configured to be a broadcast server:
ntp
interface GigabitEthernet 0/2/0/2
broadcast
Configuring NTP Access Groups: Example
The following example shows a NTP access group configuration where the following access group restrictions are applied:
Peer restrictions are applied to IP addresses that pass the criteria of the access list named peer-acl.
Serve restrictions are applied to IP addresses that pass the criteria of access list named serve-acl.
Serve-only restrictions are applied to IP addresses that pass the criteria of the access list named serve-only-acl.
Query-only restrictions are applied to IP addresses that pass the criteria of the access list named query-only-acl.
ntp
peer 10.1.1.1
peer 10.1.1.1
peer 10.2.2.2
peer 10.3.3.3
peer 10.4.4.4
peer 10.5.5.5
peer 10.6.6.6
peer 10.7.7.7
peer 10.8.8.8
access-group peer peer-acl
access-group serve serve-acl
access-group serve-only serve-only-acl
access-group query-only query-only-acl
exit
ipv4 access-list peer-acl
10 permit ip host 10.1.1.1 any
20 permit ip host 10.8.8.8 any
exit
ipv4 access-list serve-acl
10 permit ip host 10.4.4.4 any
20 permit ip host 10.5.5.5 any
exit
ipv4 access-list query-only-acl
10 permit ip host 10.2.2.2 any
20 permit ip host 10.3.3.3 any
exit
ipv4 access-list serve-only-acl
10 permit ip host 10.6.6.6 any
20 permit ip host 10.7.7.7 any
exit
Configuring NTP Authentication: Example
The following example shows an NTP authentication configuration. In this example, the following is configured:
NTP authentication is enabled.
Two authentication keys are configured (key 2 and key 3).
The router is configured to allow its software clock to be synchronized with the clock of the peer (or vice versa) at IP address 10.3.32.154 using authentication key 2.
The router is configured to allow its software clock to be synchronized with the clock by the device at IP address 10.32.154.145 using authentication key 3.
The router is configured to synchronize only to systems providing authentication key 3 in their NTP packets.
Configuring the Source IP Address for NTP Packets: Example
The following example shows an NTP configuration in which Ethernet management interface 0/0/CPU0/0 is configured as the source address for NTP packets:
Configuring the System as an Authoritative NTP Server: Example
The following example shows a NTP configuration in which the router is configured to use its own NTP master clock to synchronize with peers when an external NTP source becomes unavailable:
ntp
master 6
Updating the Hardware Clock: Example
The following example shows an NTP configuration in which the router is configured to update its hardware clock from the software clock at periodic intervals:
ntp
server 10.3.32.154
update-calendar
Additional References
The following sections provide references related to implementing NTP on
Cisco IOS XR software.
Related Documents
Related Topic
Document Title
Cisco IOS XR clock commands
Clock Commands on
the Cisco ASR 9000 Series Router module of
Cisco ASR 9000 Series Aggregation
Services Router System Management Command Reference
Cisco IOS XR NTP commands
NTP Commands on
module of
Cisco ASR 9000 Series Aggregation
Services Router System Management Command Reference
Information about getting started with Cisco IOS XR Software
Cisco ASR 9000 Series Aggregation Services Router
Getting Started Guide
Cisco IOS XR master command index
Cisco ASR 9000 Series Aggregation Services Router
Commands Master List
Information about user groups and task IDs
Configuring AAA Services on
the Cisco ASR 9000 Series Router module of
Cisco ASR 9000 Series Aggregation
Services Router System Security Configuration Guide
Standards
Standards
Title
No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.
Network Time Protocol, Version 1: Specification and Implementation
RFC 1119
Network Time Protocol, Version 2: Specification and Implementation
RFC 1305
Network Time Protocol, Version 3: Specification, Implementation, and Analysis
Technical Assistance
Description
Link
The Cisco Technical Support website contains thousands of pages of searchable technical content, including links to products, technologies, solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content.