Zum Hauptinhalt springen

RFC 1305 - Netzwerkzeitprotokoll (Version 3)

  • Status: Historic
  • Veröffentlicht: March 1992
  • Stream: Legacy
  • Ersetzt: RFC958, RFC1059, RFC1119
  • Ersetzt durch: RFC5905
  • Errata: Keine Errata

Hinweis

Dieses Dokument besteht aus einer ungefähren Darstellung in ASCII des PostScript-Dokuments mit demselben Namen. Es wird aus Gründen der Bequemlichkeit und zur Verwendung in Suchvorgängen usw. bereitgestellt. Die meisten Tabellen, Abbildungen, Gleichungen und Bildunterschriften wurden jedoch nicht gerendert, und die Seitenzahlangaben und Abschnittsüberschriften sind nicht verfügbar.

Zusammenfassung

Dieses Dokument beschreibt das Netzwerkzeitprotokoll (NTP), spezifiziert seine formale Struktur und fasst Informationen zusammen, die für seine Implementierung nützlich sind. NTP bietet die Mechanismen zur Zeitsynchronisation und Koordinierung der Zeitverteilung in einem großen, vielfältigen Internet, das mit Geschwindigkeiten von gewöhnlich bis zu Lichtgeschwindigkeit arbeitet. Es verwendet ein rückgabefähiges Zeitdesign, bei dem ein verteiltes Subnetz von Zeitservern, die in einer selbstorganisierenden, hierarchischen Master-Slave-Konfiguration arbeiten, lokale Uhren innerhalb des Subnetzes und zu nationalen Zeitstandards über Kabel oder Funk synchronisiert. Die Server können die Referenzzeit auch über lokale Routing-Algorithmen und Zeit-Daemons neu verteilen.

Status dieses Memorandums

Dieses RFC spezifiziert ein IAB-Standards-Track-Protokoll für die Internet-Community und bittet um Diskussion und Verbesserungsvorschläge. Für den Standardisierungsstatus und Status dieses Protokolls siehe die aktuelle Ausgabe der "IAB Official Protocol Standards". Die Verbreitung dieses Memorandums ist unbegrenzt.

Schlüsselwörter

Netzwerk-Uhrsynchronisation, Standard-Zeitverteilung, fehlertolerante Architektur, Maximum-Likelihood-Schätzung, disziplinierter Oszillator, Internetprotokoll, Hochgeschwindigkeitsnetze, formale Spezifikation.

Vorwort

Dieses Dokument beschreibt Version 3 des Netzwerkzeitprotokolls (NTP). Es ersetzt Version 2 des Protokolls, das in RFC-1119 vom September 1989 beschrieben wurde. Es ändert jedoch das Protokoll in keiner wesentlichen Weise und macht weder frühere Versionen noch bestehende Implementierungen obsolet. Die Hauptmotivation für die neue Version besteht darin, die Analyse- und Implementierungsmodelle für neue Anwendungen bei viel höheren Netzwerkgeschwindigkeiten bis zum Gigabit-pro-Sekunde-Bereich zu verfeinern und die bei solchen Geschwindigkeiten erforderliche erhöhte Stabilität, Genauigkeit und Präzision bereitzustellen. Insbesondere wurden die Quellen von Zeit- und Frequenzfehlern rigoros untersucht und Fehlergrenzen festgelegt, um die Leistung zu verbessern, ein Modell für Korrektheitsaussagen bereitzustellen und die Zeitmessungsqualität dem Benutzer anzuzeigen. Die Revision beinhaltet auch zwei neue optionale Funktionen: (1) einen Algorithmus zur Kombination der Offsets mehrerer Peer-Zeitserver, um die Genauigkeit zu verbessern, und (2) verbesserte lokale Uhrenalgorithmen, die es ermöglichen, die Polling-Intervalle auf allen Synchronisationspfaden erheblich zu erhöhen, um den Netzwerk-Overhead zu reduzieren. Eine Übersicht über die Änderungen, die ausführlich in Anhang D beschrieben werden, folgt:

1. Verbesserungen des lokalen Uhrenalgorithmus

In Version 3 wurde der lokale Uhrenalgorithmus überarbeitet, um Stabilität und Genauigkeit zu verbessern. Anhang G präsentiert ein detailliertes mathematisches Modell und Designbeispiel, das mit Hilfe der Feedback-Kontrollanalyse und umfangreicher Simulation unter Verwendung von Daten verfeinert wurde, die über gewöhnliche Internet-Pfade gesammelt wurden. Abschnitt 5 von RFC-1119 über die NTP-Lokaluhr wurde vollständig neu geschrieben, um den neuen Algorithmus zu beschreiben. Da der neue Algorithmus zu Nachrichtenraten führen kann, die weit unter denen der alten liegen, wird dringend empfohlen, sie in neuen Implementierungen zu verwenden. Beachten Sie, dass die Verwendung des neuen Algorithmus die Interoperabilität mit früheren Versionen oder bestehenden Implementierungen nicht beeinträchtigt.

2. Uhren-Kombinationsalgorithmus

In Version 3 wird in Anhang F ein neuer Algorithmus zur Kombination der Offsets mehrerer Peer-Zeitserver vorgestellt. Dieser Algorithmus ist denjenigen nachempfunden, die von nationalen Standardlabors verwendet werden, um die gewichteten Offsets von mehreren Standarduhren zu kombinieren, um eine synthetische Labor-Zeitskala zu konstruieren, die genauer ist als die jeder Uhr einzeln. Er kann in einer NTP-Implementierung verwendet werden, um Genauigkeit und Stabilität zu verbessern und Fehler aufgrund asymmetrischer Pfade im Internet zu reduzieren. Der neue Algorithmus wurde unter Verwendung von Daten simuliert, die über gewöhnliche Internet-Pfade gesammelt wurden, und zusammen mit dem neuen lokalen Uhrenalgorithmus in den Fuzzball-Zeitservern implementiert und getestet, die jetzt im Internet laufen. Beachten Sie, dass die Verwendung des neuen Algorithmus die Interoperabilität mit früheren Versionen oder bestehenden Implementierungen nicht beeinträchtigt.

3. Verfahrensklärungen

Mehrere Inkonsistenzen und kleinere Fehler in früheren Versionen wurden in Version 3 korrigiert. Die Beschreibung der Verfahren wurde in Pseudocode umgeschrieben, der durch englische Kommentare ergänzt wurde, um Klarheit zu schaffen und Mehrdeutigkeit zu vermeiden. Anhang I wurde hinzugefügt, um C-Sprach-Implementierungen der verschiedenen für NTP vorgeschlagenen Filter- und Auswahlalgorithmen zu veranschaulichen. Zusätzliche Informationen sind in Abschnitt 5 und in Anhang E enthalten, der das Tutorial-Material enthält, das zuvor in Abschnitt 2 von RFC-1119 enthalten war, sowie viel neues Material zur Klärung der Interpretation von Zeitskalen und Schaltsekunden.

4. Schaltsekunden- und Präzisions-Oszillator-Unterstützung

In den lokalen Uhrenalgorithmen von Version 3 wurden kleinere Änderungen vorgenommen, um Probleme zu vermeiden, die beim Einführen von Schaltsekunden in die UTC-Zeitskala beobachtet wurden, und um einen auxiliären Präzisions-Oszillator wie eine Cäsiumuhr oder einen Timing-Empfänger als Präzisions-Zeitbasis zu unterstützen. Darüber hinaus wurden Änderungen an einigen in Abschnitt 3 beschriebenen Verfahren und an den in Abschnitt 4 beschriebenen Uhrenfilter- und Uhrenauswahlverfahren vorgenommen. Obwohl diese Änderungen vorgenommen wurden, um kleinere Fehler zu korrigieren, die als Ergebnis von Erfahrungen gefunden wurden, und für neue Implementierungen empfohlen werden, beeinträchtigen sie die Interoperabilität mit früheren Versionen oder bestehenden Implementierungen nur in geringfügiger Weise (zumindest bis zur nächsten Schaltsekunde).

5. Fehlergrenzverbesserungen

In Version 3 wurden Änderungen an der Art und Weise vorgenommen, wie Verzögerung, Offset und Dispersion definiert, berechnet und verarbeitet werden, um die den Zeitübertragungsverfahren innewohnenden Fehler zuverlässig zu begrenzen. Insbesondere wurden die Fehlerakkumulationen von der Verzögerungsberechnung zur Dispersionsberechnung verschoben und beide in die Uhrenfilter- und Auswahlverfahren einbezogen. Das Uhrenauswahlverfahren wurde modifiziert, um den ersten der beiden Sortier-/Verwerfungsschritte zu entfernen und durch einen Algorithmus zu ersetzen, der zuerst von Marzullo vorgeschlagen und später in den Digital Time Service aufgenommen wurde. Diese Änderungen beeinflussen den normalen Betrieb oder die Kompatibilität mit verschiedenen Versionen von NTP nicht wesentlich, bieten jedoch die Grundlage für formale Aussagen über Korrektheit, wie in Anhang H beschrieben.

Inhaltsverzeichnis

Hauptabschnitte

Anhänge

Adresse des Autors

David L. Mills
Abteilung für Elektrotechnik
Universität Delaware
Newark, DE 19716
Telefon: (302) 451-8247
E-Mail: [email protected]