web-dev-qa-db-ja.com

Ntpdが過度に不正確

Ntpdをセットアップし(Windows7クライアント上のWindows用のMeinbergntp-4.2.6p5@londonバージョン)、短いping時間(通常は10〜20ミリ秒のping)用に選択された多数の近くのサーバーを使用します。しかし、私の時計は100ms以内の精度しかなく、時間の経過とともに良くなることはないようです。私はそれが多くを得ることができると思っていたでしょうもっと ping時間より正確です、これは残念です。それをより良く機能させる方法は?

ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+pool-test.ntp.o 216.218.254.202  2 u  259 1024   17   12.920  -106.39 111.972
+palpatine.steve 208.201.242.2    3 u  239 1024   17   16.959  -102.84 112.056
+grom.polpo.org  127.67.113.92    2 u  259 1024   17   17.362  -184.43  74.468
+paladin.latt.ne 204.123.2.72     2 u  378 1024    3   24.211  -106.97  61.825
+public-ntp1.iso 204.13.164.164   3 u  259 1024   17   33.080  -100.17  65.970
+nist1.symmetric .ACTS.           1 u  214 1024   17   17.548  -108.30 111.951
*nist1-sj.ustimi .ACTS.           1 u  245 1024   17   21.826  -111.02  63.313

ジッタとオフセットが遅延よりもはるかに大きいのはなぜですか? ping時間が12msのときに100msずれているのはばかげているようですが、これを間違って読んでいますか?

実際、ntpが時計を変更するために何かをしているのかどうかはわかりませんget時間のように見えますが、必ずしもset何かではありません。どうすれば確認できますか?

さらにいくつかの情報:

ntpdc> sysinfo
system peer:          nist1-sj.ustiming.org
system peer mode:     client
leap indicator:       00
stratum:              2
precision:            -11
root distance:        0.02182 s
root dispersion:      0.15431 s
reference ID:         [216.171.124.36]
reference time:       d4dae2b5.3c32ce54  Fri, Mar  1 2013  0:17:57.235
system flags:         auth monitor ntp kernel stats
jitter:               0.045776 s
stability:            0.000 ppm
broadcastdelay:       0.000000 s
authdelay:            0.000000 s

more "c:\Program Files (x86)\NTP\etc\ntp.drift"
192.049

more "c:\Program Files (x86)\NTP\etc\ntp.conf"
driftfile "C:\Program Files (x86)\NTP\etc\ntp.drift"
server nist1.symmetricom.com iburst
server nist1-sj.ustiming.org iburst
server 149.20.68.17 iburst
server 173.230.144.109 iburst
server 65.19.178.219 iburst
server 204.2.134.162 iburst
server 173.230.144.109 iburst
server 207.115.64.229 iburst

理想的には、構成されたサーバーの中央値から50ミリ秒以内の時間にしたいのですが、それ以上離れた場合は、ステップしたいのです。 ntpにそれをさせる設定できる設定オプションはありますか?

4
Alex I

ジッタ(古いNTPでの分散とも呼ばれます)は、時間の経過とともに大きく変化する可能性があります。特に、自分とNTPサーバー)の間の接続が混雑している設定の場合。ジッターを監視するには、「ntpq -p」を頻繁に(「poll」秒ごとに)実行する必要があります。 、またはパフォーマンスファイルをオンにします(ntp.confファイルの「statsdir」および「statistics」行)。

http://www.ntp.org/ntpfaq/NTP-s-sw-clocks-quality.htmhttp://www.ntp.org/ntpfaq/NTP-s-トラブル.htm

理想的には、構成されたサーバーの中央値から50ミリ秒以内の時間にしたいのですが、それ以上離れた場合は、ステップしたいのです。 ntpにそれをさせる設定できる設定オプションはありますか?

NTPはそのようには機能しません。リストから1つのサーバーを選択し、「ntpq -p」出力の最初の列に「*」(アスタリスク、別名参照時間ソース)のマークを付けて、それを追跡しようとします。参照タイムソースに到達できなくなった場合は、「+」(適格な候補)サーバーのいずれかにフォールバックします。

私は提案します:

  1. すべてのサーバーでiburstを使用していない
  2. 最適なサーバーを選択し、その上でiburstを使用して、preferでマークします。つまり、「servertick.example.comiburstprefer」です。
  3. 3つの近いサーバーのみを厳選します。
  4. 残りの部分には、地域プールのDNS名([0-3] .us.poo.ntp.orgなど)をさらに使用します。
  5. 合計4つ以上の参照サーバーを撮影しますが、9つ以下で撮影します。
  6. 「サーバー127.127.1.0」(別名ローカルクロック)または「ファッジ」ラインを構成しないでください。

デフォルトでは、「スルー」と「ステップ」の選択は128msです。時間オフセットが> 128msの場合、スルーではなくステップします。 「ntpd」の「-x」パラメータを参照してください(クロックがステップされた場合に異常なソフトウェアがない限り、使用しないでください)。

「ntpq-p」に加えて、「ntpdc-cloopinfo」も確認することをお勧めします。

4
tgharold

NTPは、ほぼすべてのネットワークで1秒以内に正確な時刻を取得するように設計されています。したがって、その点で100msは正しく機能しています。今日の実際の使用では、NTPは通常、ほとんどすべてのハードウェアで20ミリ秒以内、安定したRTCを備えたハードウェアで5〜10ミリ秒の時間を維持します。

サーバーが(ピアと比較して)一貫した数だけ継続的にオフになっている場合は、RTCに多くのジッターがある可能性があります。 NTPは、常に「適切な」時間を取得するためにピアを叩くことでこれを補うことができます。ただし、これは推奨されておらず、ピアリングしている相手にはあまり礼儀正しくありません。

NTPは時計を「設定」しません(デフォルト)。時計を「回転」させ、時計が目標時間に達するまで少し速くまたは遅く実行します。次に、スルーレートが再調整されて「ドリフト」が補正されます(量NTPは、ピアと比較して高速または低速であるとRTCを計算しました)。

また、tgharoldのAnswerの推奨事項すべてに同意します。

5
Chris S