2014-04-23 4 views
5

Es handelt sich um die Network Time Protocol, spezifiziert in RFC 5905.Was ist der Zweck des Feldes Root Delay im NTP-Protokoll?

Ich verstehe, dass der Root-Verzögerung Bereich der NTPv4 Pakete (oder das Synchronisiergerät Entfernung Feld, wie es in der vorherige Version NTPv3 genannt wird) ist eine Zahl, die die geschätzte Verzögerung hin zu dem primären/Referenztakt angibt.

Aber warum das Protokoll benötigt die Verzögerung auf die primäre Uhr wissen? Wie in der Beschreibung beschrieben, verwendet es richtig die Herkunft, und Transmit Felder Zeitstempel Erhalten Sie die richtige Zeit (in Zusammenarbeit mit dem Server/Peer) zu berechnen, und nicht einmal machen jede direkte oder indirekte Kommunikation mit der primären Uhr in der Zeitberechnung "trip".

Liegt es daran, dass der Server/Peer in der Vergangenheit durch die Referenzuhr synchronisiert wurde und nun den Client über die aufgetretene Verzögerung informieren möchte?

Übrigens, was ist die Bedeutung der verwandten Root Dispersion Feld? Leider habe ich das Dispersionskonzept nicht verstanden, was nicht im Detail erklärt wird.

Antwort

1

ntpd stellt nicht nur die lokale Uhr ein, sondern kann auch als Zeitserver für andere NTP-Clients fungieren. Um dies zu tun, muss es seine Genauigkeit kennen. Um dies zu berechnen, sieht man die minimale und maximale Umlaufverzögerung von dem (vermutlich perfekten) Grundtakt sowie seinen eigenen Fehler in seiner Systemuhr. Es kann dann werben, wie gut seine Uhr für Clients ist.

Wurzelverzögerung DELTA ist der Bereich der Verzögerungen (max - min) vom Grundtakt. Der von diesem Teil beigesteuerte Fehler wird als DELTA/2 angenommen.

Dispersion ist der Fehler in der lokalen Systemuhr seit der letzten Synchronisation mit der Upstream-Uhr. Das sieht dann wie eine Sägezahnfunktion aus, die beim Synchronisieren auf 0 fällt und dann linear bis zur nächsten Synchronisation wächst.

+0

Welchen Wert hat das Root-Delay-Feld im Client-Modus (wenn ntpd nicht als Zeitserver fungiert)? Ist es implementierungsabhängig? Wie steht es aber mit Fällen, in denen ntpd als Server fungiert, aber nicht direkt mit einer Referenzuhr synchronisiert ist? (Das heißt, Schicht ist höher als 1) – Reflection

+0

Ich habe nicht auf den Code geschaut, aber basierend auf der RFC sieht es aus wie die Summe seiner Verzögerung plus die Upstream-Server-Root-Verzögerung. Daher akkumuliert sich die Root-Verzögerung über die Schichten hinweg. – stark

+0

Vielen Dank! Ich denke, deine Antwort bezieht sich auf meine Frage zum sekundären Server (mit höherer Schicht). Aber was ist mit der Frage zu Client-Mode-Paketen? Was dieses Feld für einen noch nicht synchronisierten Client enthalten soll sendet eine Anfrage an einen Zeitserver? Nullen? – Reflection