本文档介绍如何运行show ntp associations命令输出,以确定NTP是否正常工作。
本文档没有任何特定的要求。
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
有关文档规则的详细信息,请参阅思科技术提示规则。
网络时间协议(NTP)可在网络设备之间同步时钟,以便路由器、交换机、服务器和其他系统使用一致的时间源。准确的时间对于跨多个设备的日志关联、证书验证、安全事件分析、计划操作和故障排除非常重要。
NTP使用基于层级的分层时间模型。较低层值表示更接近权威时间源的设备。例如,第1层服务器直接连接到主参考时钟,而第2层设备与第1层服务器同步。Cisco设备可以与外部NTP服务器同步,或者,如果已配置,可以为其他设备提供时间。
在Cisco IOS和Cisco IOS XE设备上,show ntp associations命令显示有关已配置和已学习的NTP对等体的信息。输出包括对等选择状态、可达性、层、轮询间隔、延迟、偏移和色散信息。这些字段有助于确定设备是否可以与其NTP对等体通信,以及是否选择了对等体作为同步源。
reach字段有助于确定最近是否从对等体收到NTP响应。偏移量字段显示计算出的本地设备和NTP对等设备之间的时间差。延迟和分散字段提供有关网络延迟和时间准确性的其他信息。
将show ntp associations与show ntp status一起运行,以验证本地设备是否已同步以及哪个对等体用作同步源。show ntp status命令提供设备的整体NTP状态,而show ntp associations提供每个对等体的详细信息,以帮助验证或排除NTP操作故障。
首先,检查show ntp associations命令的输出。然后,详细描述命令显示的信息。
这是一个示例输出和某些输出字段的说明。
Router#show ntp associations address ref clock st when poll reach delay offset disp ~172.31.32.2 172.31.32.1 5 29 1024 377 4.2 -8.59 1.6 +~192.168.13.33 192.168.1.111 3 69 128 377 4.1 3.48 2.3 *~192.168.13.57 192.168.1.111 3 32 128 377 7.9 11.18 3.6 * primary (synced), # primary (unsynced), + selected, - candidate, ~ configured
轮询字段显示NTP数据包之间的轮询间隔(以秒为单位)。在许多Cisco IOS平台上,当关联稳定时,间隔可能会增加,最多达到平台默认最大值,通常为1024秒。实际行为可能因平台、版本和配置而异。
偏移量字段显示本地设备和NTP对等体之间的计算时间差(以毫秒为单位)。当NTP限制本地时钟时,偏移量通常趋近于零,但由于网络延迟变化和时钟稳定性,偏移量可能会出现波动。
如果对等体旁边显示星号(*),则该对等体是选定的同步源。通过运行show ntp status命令确认总体同步状态。
reach字段是以八进制格式显示的循环8位可达性缓冲区。它记录路由器是否收到对对等体的最后8个网络时间协议(NTP)轮询尝试的响应。
每个位代表一个轮询间隔:
到达值为377表示路由器收到最近8个NTP轮询的响应。二进制表示11111111,八进制表示377。值越低表示一个或多个最近的NTP响应丢失。例如,如果一个响应丢失,则到达值会随着未接响应在后续轮询间隔内通过循环缓冲区而变化。
稳定的NTP关联通常显示到达值377。但是,除377以外的值并不总是表示NTP发生故障。在初始收敛期间、重新加载后、新配置对等体后或出现间歇性丢包时,会出现较低的值。将reach字段与其他字段一起使用(如when、poll、delay、offset和disp),并使用show ntp status命令确认整体同步状态。
In general:
下表解释了NTP响应数据包丢失时可能的到达字段值,从377开始,一个NTP响应丢失,并且收到所有后续NTP响应:
注意:此表假定到达值从377开始,一个NTP响应丢失,并且收到所有后续响应。丢失的响应由0位表示,此位会随着每次后续成功轮询而左移,直到其超出8位可达性缓冲区。
| Reach 字段值(报告的/二进制) | 说明 |
|---|---|
| 377 = 1 1 1 1 1 1 1 1 | 时间 0:收到来自服务器的最后八个响应. |
| 376 = 1 1 1 1 1 1 1 0 | 时间 1:未收到最后一个NTP响应(网络中丢失)。 |
| 375 = 1 1 1 1 1 1 0 1 | 时间 2:收到最后的 NTP 响应;未响应的响应左移。 |
| 373 = 1 1 1 1 1 0 1 1 | 时间 3:收到最后的 NTP 响应;错过的响应继续老化。 |
| 367 = 1 1 1 1 0 1 1 1 | 时间 4:收到最后的 NTP 响应;错过的响应继续老化。 |
| 357 = 1 1 1 0 1 1 1 1 | 时间 5:收到最后的 NTP 响应;错过的响应继续老化。 |
| 337 = 1 1 0 1 1 1 1 1 | 时间 6:收到最后的 NTP 响应;错过的响应继续老化。 |
| 277 = 1 0 1 1 1 1 1 1 | 时间 7:收到最后的 NTP 响应;错过的响应继续老化。 |
| 177 = 0 1 1 1 1 1 1 1 | 时间 8:收到最后的 NTP 响应;遗漏的响应现在是最早的跟踪结果 |
| 377 = 1 1 1 1 1 1 1 1 | 时间 9:收到最后的 NTP 响应;未应答者过期;收到最后八个响应 |
其逻辑可以解释为:
每个新的NTP轮询将上一个到达值左移一位,丢弃最旧的结果,并在右侧将最新结果添加为1(表示收到响应)或0(表示失去响应)。
例如,如果在到达值为375之后丢失了另一个响应,则下一个到达值为372。这是因为前面的结果向左移动,而最新的丢失响应在右侧添加为0。
当使用ntp master命令将路由器配置为将其本地时钟用作NTP源时,show ntp associations输出可以显示本地时钟关联。例如:
address ref clock st when poll reach delay offset disp *~127.127.7.1 127.127.7.1 6 20 64 377 0.0 0.00 0.0 * primary (synced), # primary (unsynced), + selected, - candidate, ~ configured
在此输出中,127.127.7.1代表路由器本地时钟。星号(*)表示本地时钟被选为同步源,波浪线(~)表示已配置关联。
输出中显示的层值可以比使用ntp master命令配置的值小1。例如,如果路由器配置了ntp master 7,则本地时钟关联可以与show ntp associations输出中的第6层一起显示。
由于路由器正在轮询自己的内部时钟,本地时钟关联不会像远程NTP对等体不可达一样不可达。在此模式下,轮询间隔通常保持为64秒,而不是增加至更长的间隔,如1024秒。
平台和软件行为可能会有所不同,方法是运行show ntp status和show ntp associations来确认同步状态和所选时钟源。
show ntp associations命令输出中配置的对等体旁边显示的井号(#)表示该对等体被选为主要同步候选者,但路由器未同步到该对等体。
在这种情况下,NTP请求和响应数据包仍然可以在路由器和对等设备之间交换,但时钟不能成功同步。
要调查路由器未同步的原因,请运行以下命令:
show ntp associations detail命令提供有关对等体关联的其他信息;包括可达性、同步状态、有效性和可能的拒绝原因。show ntp status命令显示路由器的整体NTP状态,包括路由器是否已同步、所选参考时钟和本地层。
如果需要更详细的故障排除,请仔细运行NTP debug命令,特别是在生产设备上。井号(#)的一个可能原因是NTP客户端时钟与NTP服务器时钟的差异超过4000秒。在Cisco路由器上,大于4000秒的时间差可视为超出范围,可能会阻止路由器与服务器同步。
当NTP对等体首先在Cisco路由器上配置时,或在重新加载后立即配置时,此行为不适用。在这些情况下,NTP客户端(即思科路由器)可以更新其时钟以匹配NTP服务器时钟,即使时间差大于4000秒也是如此。
NTP在协议消息中使用协调世界时(UTC),也称为格林威治标准时间(GMT)。配置的本地时区仅影响时间在路由器上的显示方式。如果显示的本地时间不正确,请验证客户端路由器上的时区配置。
如果客户端时钟与NTP服务器时钟距离太远,并且同步不会发生,请手动将客户端时钟设置为NTP服务器时钟的几分钟内,然后通过运行show ntp status和show ntp associations命令再次验证NTP同步。
| 版本 | 发布日期 | 备注 |
|---|---|---|
3.0 |
17-Jul-2026
|
更新了简介、拼写、语法、插入的水平线用于分隔各部分/可读性。 |
2.0 |
23-Apr-2024
|
更新了有偏见的语言、拼写和格式。 |
1.0 |
24-Mar-2023
|
初始版本 |