Network Time Service Agenda Vortragsnummer: 2O04 "Time has been invented in the universe so that everything would not happen at once." Einführung in die Zeit-Geschichte UTC NTP Protokoll NTP Hierarchie NTP Operation NTP Implementierungen Time Provider Warum Time Services im Netzwerk? Geschäftsprozesse (Transaktionen, DB...) Prozess-Steuerungen (Schedulling) System Management / Maintenance Reporting / Monitoring Wasseruhr Mechanische Uhren Quarz-Uhren Casium-Uhr Debugging / Troubleshooting (Timestamp) Ungenauigkeit selbst bei guten Hosts ca. 1 s Astronomie Sanduhr Authentication (Kerberos...)....... Internet Survey Einführung 100.000 Server im Internet wurden untersucht Standard für die meisten Länder ist Universal Coordinated Time (UTC) 50% > 2 Minuten 10% > 4 Stunden 3% > 2 Wochen GMT basiert auf der Erdrotation und dem Gregorianischen Kalender (zu ungenau) UTC synchronisiert mit TAI (International Atomic Time) Cäsium-Uhren mit einer Genauigkeit von 10-12 ) Good enough??? circa alle 18 Monate wird eine Sekunde eingefügt oder entfernt (leap seconds), nicht vorhersehbar Zeit wird über GPS, Funk (DCF77), Internet verbreitet 1
NTP (Einführung) NTP (Einführung) David Mills von der Delaware University NTP bietet Zeit-Synchronisierung im Netzwerk für Clients, Server, Router, Switches, Printer... NTP Version 1 (RFC 1059) Verfügbar auf allen Plattformen (PC bis Cray) (UNIX, LINUX, Windows, Mac, OS/2, VMS...) NTP Version 2 (RFC 1119) NTP Version 3+4 (RFC 1305) Genauigkeit von ns im LAN bis ms im WAN erreichbar Hierarchische und redundante Server-Architektur SNTP Version 3 (RFC 2030) Selektiert automatisch die "beste" Zeit aus einer Vielzahl von angebotenen Timestamps UTC UTC Die UTC-Sekunde wurde 1967 definiert 13 th General Conference of Weights and Measures "The second is the duration of 9,192,631,770 periods of the radiation corresponding to the transition between the two hyperfine levels of the ground state of the cesium-133 atom." 64-bit unsigned fixed-point number Integer-Teil in den ersten 32 Bit, Fraction in den letzten 32 Bit (ergibt Genauigkeit von 232 Pico-Sekunden) Start am 1. Januar 1972 um 0h mit 2.272.060.800,0 (Sekunden seit 0h 1. Januar 1900) MSB gesetzt irgendwann 1968, Überlauf 2036 (UNIX benutzt Anzahl der Sekunden seit 1970!!!) Time Protocols im Netzwerk Time Protocols im Netzwerk Design Goals (NTP, SNTP, DTSS): Hierarchisch strukturierte Time Services: Synchronisation der Client-Zeit mit der Server-Zeit Abgestuftes, hierarchisches Server-Konzept unterstützt Polling (connection oriented) und Broadcasting (connection-less) Internet: 300 Primary Time Servers (valid) 100000 Secondary Time Servers Standard-Bodies (ANSI, ITU, DIN...) Einbeziehung und Berücksichtigung der Signal- Laufzeiten Redundanzkonzepte (packet loss, duplication, misordering) Institute (NIST, USNO...) Firmen (AT&T, MCI, Sprint...) 2
NTP-Hierarchie NTP-Hierarchie Hierarchisch strukturierte Time Services: Hierarchisch strukturierte Time Services: Primary Time Server (Stratum-1) Ist direkt synchronisiert mit einer Primary Referenz Uhr (Atomuhr) Atom-Uhr (stratum 0) Secondary Time Server () synchronisiert entweder mit einem Primary Time Server, oder mit einem anderen Secondary Server Synchronisations-Pfad Time Server können über verschiedene Netzwerke miteinander verbunden sein (LAN, WAN, VPN...), da der round-trip-delay berücksichtigt wird. Server 1 Seconday (stratum 2) Server 2 Primary (stratum 1) Seconday (stratum 2) Server 3 Server 4 UDP / TCP (Port 123) LI VN Mode Stratum Poll Precision LI (Leap Indicator) Warnt vor Leap Second am Ende des Tages Synchronizing Distance Synchronizing Dispersion VN (Version Number) (NTP Version, derzeit 3 oder 4) Reference Timestamp (64 bits) Originate Timestamp (64 bits) Receive Timestamp (64 bits) Transmit Timestamp (64 bits) Authenticator (optional) (96 bits) Mode, Stratum, Precision (Beschreibt den Operating Mode, Stratum (1-15) und Local Clock Precision) Poll (Poll Interval) Synchronization Distance/Dispersion (Total Round Trip Delay / Total Dispersion zum Primären Time Server) Reference Clock ID / Reference Timestamp (Typ der Reference Clock / Zeit des letzten Updates) Transmit Timestamp (Lokale Zeit beim senden der NTP-Message Authenticator (optional) (Key Identifier und Encryption Checksum) Originate Timestamp ( Zeit des letzten Updates von Peer, aus dem Transmit Timestamp kopiert) Receive Timestamp (Lokale Zeit beim letzten Update) 3
Reference Clock IDs NTP Protokoll-Maschine Strat. Code Beschreibung 0 DCN DCN routing protocol 0 NIST NIST public modem 0 TSP TSP time protocol 0 DTS Digital Time Service 1 ATOM Atomic clock (calibrated) 1 VLF VLF radio (OMEGA, etc.) 1 callsign Generic radio 1 LORC LORAN-C radionavigation 1 GOES GOES UHF environment satellite 1 GPS GPS UHF satellite positioning Addresses (IP, 32) and Ports (16) Peer Timer (Interval von NTP-Messages) Rechability Register (shift register) Filter Register (measured delay and offset) Delay, Offset, Dispersion Synchronization Source (peer) Local Clock NTP Prozeduren NTP Server Selection Transmit Procedure (wenn ein Peer Timer auf 0 läuft, Poll Interval (variabel) Recieve Procedure (wenn eine NTP-Message empfangen wird) Update Procedure (wenn neue Berechnung möglich oder notwendig wird. z.b. neuer Server, Dispersion zu groß... ) Reachability Antwortet der Server auf alle Polls? Sanity Checks Delay Offset Jitter (Dispersion) Stratum wenn OK --> Candidate Candidates werden nach dem Jitter geordnet. Der kleinste Jitter gewinnt (time reference). Alle anderen Candidates werden aber weiterhin für die Berechnung der Zeit benutzt NTP Server Modes Zeit aus dem Internet Clients und Server NTP Association Poll Server symmetric active (1) / passive (2) Client (3) Server (4) Internet broadcast Broadcast (5) Stratum-8 NTP Clients (passive) 4
Stratum-1 Server in Deutschland ntps1-0.uni-erlangen.de (131.188.1.40) Standalone Time Server Time Synchronization Server 100 (TSS-100) ntps1-1.uni-erlangen.de (131.188.1.45) ntps1-2.uni-erlangen.de (131.188.1.31) ntps1-0.cs.tu-berlin.de (130.149.17.21) ntps1-1.cs.tu-berlin.de (130.149.17.8) ntps1-1.rz.uni-osnabrueck.de (131.173.17.7) Stratum 1 time source Supports Network Time Protocol (NTP) Integral 8 channel GPS receiver 10BaseT Ethernet interface RS-232 console access Built-in environmental monitor System Coetanian Systems GPS/DCF77-Interface-Karte Antenne Stratum-8 Clients Stratum-1 NTP im WAN Stratum-8 Clients z.b. IRIG Server VPN Stratum-8 Clients Stratum-1 Clock Hardware (Auswahl) NTP/SNTP-Software (Auswahl) Absolute Time Corp. Allen Osborne Ass. Arbiter Systems Coetanian Systems Inc. HP Kalisto Lantronix ODETICS Spectrum TF-Systems Ltd. Temex Telecom TrueTime Model xxx TTR-xx 10xxxx TSS100 5xxxxA xxxx CoBox NTS-xx (TR) GPS-xxx/TSAT-xxx GPS XX 88xx Epsilon Clock NTS-xx/GPS-xx MSNTP v1.3 (SNTP implementation on UNIX) WinSNTP (SNTP für Windows von Coetanian Systems) Tardis (NTP für Windows und andere OS) AtomTime98 (NTP für WindowsNT und andere OS)... Komplette Liste für UNIX, Linux, Windows, NetWare, Mac, OS/2, SunOS, Solaris, HPUX, VMS, Java, DOS http://www.eecis.udel.edu/~ntp/software.html http://www.eecis.udel.edu/~ntp/hardware.html 5
Tardis Client Software NTP und CISCO Router Switch# config terminal Enter configuration commands, one per line. End with CNTL/Z. Switch(config)# ntp server 198.92.30.32 Switch(config)# ntp source ethernet0 Switch(config)# ntp authenticate Switch(config)# ntp max-associations 2000 Switch(config)# ntp trusted-key 22507 Switch(config)# ntp update-calendar NTP und CISCO Router Network Time Service Switch# show ntp status Clock is synchronized, stratum 4, reference is 198.92.30.32 nominal freq is 250.0000 Hz, actual freq is 249.9999 Hz, precision is 2**24 reference time is B6C04F19.41018C62 (18:21:13.253 UTC Thu Feb 27 1997) clock offset is 7.7674 msec, root delay is 113.39 msec root dispersion is 386.72 msec, peer dispersion is 1.57 msec Switch# show ntp associations address ref clock st when poll reach delay offset disp ~ 160.89.32.2 160.89.32.1 5 29 1024 377 4.2-8.59 1.6 +~131.108.13.33 131.108.1.111 3 69 128 377 4.1 3.48 2.3 *~131.108.13.57 131.108.1.111 3 32 128 377 7.9 1.18 1.6 * master (synced), # master (unsynced), + selected, - candidate, ~ configured 6