Even if a ntp server is unresponseive then it keeps synchronization situation.

Solution In Progress - Updated -

Issue

  • Even if ntp client (Red Hat Enterprise Linux 5) which is in synchronism with a ntp server comes to be unable to communicate with the ntp server, it keeps synchronization situation. From this phenomenon, the customer wants to clarify the condition it changes synchronization state to non-synchronization state. Could you please tell me that?

  • According to our investigation, if 'poll' is 64 or 128 then it worked as expected (it changed to non-synchronization state) if the ntp server was unresponsive for a while, but if 'poll' is 256, 512 or 1024 then it kept synchronization situation like the customer's case.

2014-09-10 11:46:26      remote           refid      st t when poll reach   delay   offset  jitter
2014-09-10 11:46:26 ==============================================================================
2014-09-10 11:46:26 *xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy  6 u 1015 1024  377    3.009   -0.101   0.289
                                                               ^^^^  ^^^
2014-09-10 11:47:26      remote           refid      st t when poll reach   delay   offset  jitter
2014-09-10 11:47:26 ==============================================================================
2014-09-10 11:47:26 *xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy  6 u 1075 1024  376    3.009   -0.101   0.289
                                                          ^^^^       ^^^ 
 * Ntp client came to be unable to receive responce from a ntp server here.

::
2014-09-10 13:28:26      remote           refid      st t when poll reach   delay   offset  jitter
2014-09-10 13:28:26 ==============================================================================
2014-09-10 13:28:26 *xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy  6 u 119m 1024  300    3.391   -0.390   0.289

2014-09-10 13:29:26      remote           refid      st t when poll reach   delay   offset  jitter
2014-09-10 13:29:26 ==============================================================================
2014-09-10 13:29:26 *xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy  6 u 120m 1024  200    3.391   -0.390   0.289
                    ^                                     ^^^^       ^^^
 * However, it has kept synchronization situation.

::
2014-09-10 13:45:26      remote           refid      st t when poll reach   delay   offset  jitter
2014-09-10 13:45:26 ==============================================================================
2014-09-10 13:45:26 *xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy  6 u 136m 1024  200    3.391   -0.390   0.289

2014-09-10 13:46:26      remote           refid      st t when poll reach   delay   offset  jitter
2014-09-10 13:46:26 ==============================================================================
2014-09-10 13:46:26 *xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy  6 u 137m 1024    0    3.391   -0.390   0.289
                    ^                                    ^^^^^        ^^
 * It has kept synchronization situation.

::
2014-09-11 04:01:26      remote           refid      st t when poll reach   delay   offset  jitter
2014-09-11 04:01:26 ==============================================================================
2014-09-11 04:01:26 *xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy  6 u  17h 1024    0    3.391   -0.390   0.000
                    ^                                     ^^^^        ^^
 * It has kept synchronization situation.
  • We configured as follows in ntp.conf and made 'poll' unchanged.
server xxx.xxx.xxx.xxx iburst maxpoll n minpoll n
                              ^^^^^^^ ^ ^^^^^^^ ^
-> n:  set 6 , 7 , 8 , 9 or 10 in accordance with 'poll'
  • As a result, if 'poll' is 64 or 128 then it changed to non-synchronization state if ntp server was unresponsive to repeated (about six times) requests, but if 'poll' is 256, 512 or 1024 then it kept synchronization situation.

  • In case of 'poll = 64'

Thu Sep 18 18:22:41 JST 2014
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*xxx.xxx.xxx.xxx zzz.zzz.zzz.zzz  6 u   64   64  377    0.163   -2.150   0.464
                                             ^^  ^^^
Thu Sep 18 18:23:41 JST 2014
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*xxx.xxx.xxx.xxx zzz.zzz.zzz.zzz  6 u  124   64  376    0.163   -2.150   0.464
                                       ^^^       ^^^
 * Ntp client came to be unable to receive responce from a ntp server here.

 ::
Thu Sep 18 18:27:41 JST 2014
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*xxx.xxx.xxx.xxx zzz.zzz.zzz.zzz  6 u  364   64  340    0.168   -2.343   0.373
Thu Sep 18 18:28:41 JST 2014
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 xxx.xxx.xxx.xxx zzz.zzz.zzz.zzz  6 u  424   64  300    0.182   -2.637   0.153
^                                      ^^^       ^^^
 * Ntp server (xxx.xxx.xxx.xxx) changed to non-synchronization state. 
  • In case of 'poll = 512'
Fri Sep 19 11:39:12 JST 2014
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*xxx.xxx.xxx.xxx zzz.zzz.zzz.zzz  6 u  491  512  377    0.304   19.380   5.449
                                            ^^^  ^^^
Fri Sep 19 11:42:12 JST 2014
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*xxx.xxx.xxx.xxx zzz.zzz.zzz.zzz  6 u  671  512  376    0.304   19.380   5.449
                                       ^^^       ^^^
 * Ntp client came to be unable to receive responce from a ntp server here.

::
Fri Sep 19 12:21:12 JST 2014
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*xxx.xxx.xxx.xxx zzz.zzz.zzz.zzz  6 u  50m  512  340    0.304   19.380   3.384
Fri Sep 19 12:24:12 JST 2014
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*xxx.xxx.xxx.xxx zzz.zzz.zzz.zzz  6 u  53m  512  300    0.304   19.380   3.384
^                                     ^^^^       ^^^
 * It kept synchronization situation.

::
Fri Sep 19 12:30:12 JST 2014
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*xxx.xxx.xxx.xxx zzz.zzz.zzz.zzz  6 u  59m  512  300    0.304   19.380   3.384
Fri Sep 19 12:33:12 JST 2014
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*xxx.xxx.xxx.xxx zzz.zzz.zzz.zzz  6 u  62m  512  200    0.304   19.380   3.384
^                                     ^^^^       ^^^
 * It kept synchronization situation.

::
Fri Sep 19 12:39:12 JST 2014
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*xxx.xxx.xxx.xxx zzz.zzz.zzz.zzz  6 u  68m  512  200    0.304   19.380   3.384
Fri Sep 19 12:42:12 JST 2014
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*xxx.xxx.xxx.xxx zzz.zzz.zzz.zzz  6 u  71m  512    0    0.304   19.380   3.384
^                                     ^^^^       ^^^
 * It kept synchronization situation.

::
Fri Sep 19 13:12:12 JST 2014
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*xxx.xxx.xxx.xxx zzz.zzz.zzz.zzz  6 u 101m  512    0    0.304   19.380   0.000
^                                     ^^^^       ^^^
 * It kept synchronization situation.
  • How reproducible: Always.

  • Steps to Reproduce:

1) Specify 'maxpoll' and 'minpoll' in ntp.conf and make poll unchanged.

--- ntp.conf ------------
server xxx.xxx.xxx.xxx iburst maxpoll n minpoll n
                              ^^^^^^^ ^ ^^^^^^^ ^
 -> n:  set 6 , 7 , 8 , 9 or 10 in accordance with 'poll'
-------------------------

2) Start ntpd service and waits until it synchronizes to a ntp server.

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*xxx.xxx.xxx.xxx zzz.zzz.zzz.zzz  6 u  491  512  377    0.304   19.380   5.449

3) Add configuration to drop ntp packets on ntp server and then cause packet drop. 

----------------------
iptables -I INPUT -s yyy.yyy.yyy.yyy -p udp -m udp --dport 123 -j DROP
----------------------

4) Confirm synchuronization status on ntp client.

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*xxx.xxx.xxx.xxx zzz.zzz.zzz.zzz  6 u  671  512  376    0.304   19.380   5.449

5) Confirm that it keeps synchronization situation even if times has passed and 'reach' becomes '0'. 
  • Actual results: Even if a ntp server is unresponsive then it keeps synchronization situation.

  • Expected results: If a ntp server is unresponsive then it changes to non-synchronization situation.

Environment

  • Red Hat Enterprise Linux 5.5
  • kernel-2.6.18-348.el5.x86_64
  • ntp-4.2.2p1-9.el5_4.1.x86_64

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content