Warum verlängert NTP das Abfrageintervall nicht, wenn ein GPS / PPS-Empfänger und Internet-Server verwendet werden?

7

Ich habe ein Debian-System, das als NTP-Server verwendet wird. Es fragt mehrere Server im Internet ab und verfügt über einen GPS-Empfänger mit PPS-Ausgang für eine präzise Zeitmessung.

Wenn ich den GPS-Empfänger nicht benutze, erhöht NTP das Abfrageintervall schrittweise von dem anfänglichen Intervall von 64 Sekunden auf das Standardmaximum von 1024 Sekunden, normalerweise innerhalb von ein oder zwei Stunden. Dies ist ein normales Verhalten und wird im Allgemeinen als höflich angesehen, da dadurch die Anzahl der an die Internet-Server gestellten Anfragen minimiert wird, während die lokale Uhr weiterhin synchron bleibt.

Wenn ich jedoch den GPS-Empfänger anschließe und der ntp.confDatei die entsprechenden Leitungen hinzufüge , damit NTP sie als Quelle verwenden kann, ändert sich das Verhalten: Obwohl ich keinen der einzelnen serverEinträge für die Internet-Server geändert habe , ändert sich das Abfrageintervall nicht erhöhen und bleibt auch nach Tagen auf 64 Sekunden fixiert.

Das PPS-Signal hält die lokale Uhr gut diszipliniert ( ntpq -pmeldet einen Offset von 0,000 ms mit einem Jitter von 0,002 ms, wobei alle Internet-Server innerhalb von etwa 2 ms liegen), während die Tally-Codes in der ntpq -pPPS-Disziplin bestätigen und wie erwartet zeigen Die meisten Internet-Server werden als "Truechimers" ausgewählt, während es gelegentlich einige Ausreißer gibt.

Kurz gesagt : Alles scheint normal zu funktionieren, mit der Ausnahme, dass sich die Abfrageintervalle für die Internet-Server nicht erhöhen. Warum nicht?

Ich kann das Abfrageintervall manuell länger erzwingen, indem ich beispielsweise minpoll 10die serverZeilen für die Internet-Server einfüge. Ich möchte jedoch lieber, dass NTP das Abfrageintervall von Internet-Servern automatisch verwaltet, wenn PPS aktiviert ist, genau wie bei PPS wird nicht verwendet.

Ich habe derzeit NTP eingestellt, um den PPS-Treiber mit minpollund maxpollvon 4(16 Sekunden) zu überprüfen . Ich habe die Konfiguration jedoch ohne Forcen minpolloder maxpollin irgendeiner serverZeile getestet , einschließlich der für den PPS-Treiber.

Hier ist der relevante Teil meiner ntp.confDatei:

# Drift file
driftfile /var/lib/ntp/ntp.drift

# PPS Driver (check every 16 seconds)
server 127.127.22.0 minpoll 4 maxpoll 4
fudge 127.127.22.0 refid PPS

# Internet servers. Use iburst to get quick sync on startup.
# Server is located in Switzerland, so choose Swiss or German
# primary time servers and members of the Swiss NTP pool.
#
# At least one "prefer" server is needed for PPS to work properly.
# See <http://www.eecis.udel.edu/~mills/ntp/html/drivers/driver22.html>
# "This driver is enabled only under one of two conditions..."
server ntp.metas.ch iburst prefer
server ptbtime1.ptb.de iburst prefer
server ptbtime2.ptb.de iburst prefer
server ptbtime3.ptb.de iburst prefer
server 0.ch.pool.ntp.org iburst
server 1.ch.pool.ntp.org iburst
server 2.ch.pool.ntp.org iburst
server 3.ch.pool.ntp.org iburst
Heypete
quelle

Antworten:

3

Die kurze Antwort lautet: "Weil Prof. Mills et al. Dies gesagt haben." Es gibt einen Fehler ^ 1 , der dieses Verhalten in Frage stellt. In der Diskussion haben zwei der NTP-Entwickler gesagt, dass das "64s-Abfrageintervall der Refclock verhindert, dass sich das Abfrageintervall der Netzwerkquelle erhöht" und dass dieses Verhalten beabsichtigt ist. ^ 2 Sie erwähnten auch, dass Sie, wenn die Minpoll-Klemmung wirklich ein großes Problem für Sie ist, (wie Sie festgestellt haben) den Minpoll für die Remote-Server manuell auf den von Ihnen bevorzugten Wert einstellen können. Sie warnten jedoch davor, dass dieses Verhalten nicht empfohlen wurde.

Die etwas technischere Antwort ist, dass bei Vorhandensein einer Uhr die für die Uhrendisziplin verwendete Zeitkonstante ^ 4 auch für das Abfrageintervall verwendet wird. [^ 5] Es ist erwähnenswert, dass sie sagten, sie würden das Problem erneut prüfen, wenn sie erklären könnten, warum Dieses Verhalten ist ein solches Problem.

Randnotiz: Bei so vielen Quellen sollten Sie die Minclock / Minsane-Einstellungen erhöhen. Zumindest:

tos minsane 4 minclock 4

Gibt es einen Grund, warum Sie nur das PPS und nicht die NMEA-Sätze verwenden? Ich habe zu Hause einen mit NMEA / PPS ausgestatteten NTP-Server und ich habe ein paar externe Quellen, die noselectmit gekennzeichnet sind, minpoll 10damit ich feststellen kann, ob etwas mit meinem Server nicht stimmt. Die meisten modernen GPS-Geräte eignen sich gut für die Antenne auf der Fensterbank.

dfc
quelle
Großartig, vielen Dank. Der Link zum Fehlerbericht wird besonders geschätzt, obwohl ich mir wünsche, dass die Entwickler etwas klarer erklären, warum dieses Verhalten beabsichtigt ist - es scheint, dass die einzige Rolle von Internet-Servern in einem PPS-disziplinierten System darin besteht, die Sekunden und zu disambiguieren Stellen Sie die Überprüfung der Gesundheit sicher, aber ansonsten tragen sie normalerweise nicht zur Zeitmessung bei (vorausgesetzt, ich verstehe den Disziplinalgorithmus richtig). Das Zurückziehen auf längere Intervalle erscheint Internet-Zeitservern höflicher, da nicht benötigter Datenverkehr reduziert wird.
Heypete
In Bezug auf die Minclock / Minsane-Einstellungen verwende ich normalerweise nicht so viele Quellen: Sie wurden ausschließlich zu Testzwecken hinzugefügt, um festzustellen, ob das Abfrageintervall von der Schicht oder der vorgelagerten Zeitquelle abhängt. Außerdem verwende ich normalerweise den 127.127.20.xgenerischen NMEA / PPS-Treiber, wechselte jedoch speziell zum Testen dieses Problems zum Nur-PPS-Treiber: Durch Konfigurationen nur über das Internet (kein PPS) und über das Internet mit PPS konnte ich die Auswirkungen einer einzelnen Änderung testen . Das Hinzufügen einer zusätzlichen Variablen in Form von NMEA würde das Testen erschweren. Außerdem funktioniert Ihr Link Nr. 5 nicht.
Heypete