Download presentation
Presentation is loading. Please wait.
Published byAleesha Lambert Modified over 9 years ago
1
NTP Network Time Protocol Nóirín Plunkett Network Time Protocol Nóirín Plunkett
2
A Short French Lesson TAI – Temps Atomique International International Atomic Time UTC – Temps Universel Coordonné Universal Co-ordinated Time BIH – Bureau International de l’Heure International Time Bureau TAI – Temps Atomique International International Atomic Time UTC – Temps Universel Coordonné Universal Co-ordinated Time BIH – Bureau International de l’Heure International Time Bureau
3
Second SI Unit 9,192,631,770 periods of the radiation corresponding to the transition between the two hyperfine levels of the ground state of the caesium-133 atom SI Unit 9,192,631,770 periods of the radiation corresponding to the transition between the two hyperfine levels of the ground state of the caesium-133 atom
4
Brief History of Time Second defined in 1967 UTC started on 1st January 1972 RFC 778, 1981 - Internet Clock Service RFC 958, 1985 - description of NTP RFC 1059, 1988 - NTPv1, protocol & algorithms RFC 1305, 1992 - NTPv3, formal correctness principles NTPv4 in use, not yet formalised Second defined in 1967 UTC started on 1st January 1972 RFC 778, 1981 - Internet Clock Service RFC 958, 1985 - description of NTP RFC 1059, 1988 - NTPv1, protocol & algorithms RFC 1305, 1992 - NTPv3, formal correctness principles NTPv4 in use, not yet formalised
5
Real World “ Time is what prevents everything from happening at once. ” - J.A. Wheeler Correlating logs of events Cryptographic expiries Air Traffic Control GPS Networking “ Time is what prevents everything from happening at once. ” - J.A. Wheeler Correlating logs of events Cryptographic expiries Air Traffic Control GPS Networking
6
Atomic Time 260 atomic clocks in 40 labs contribute to the international time standards contribute to TAI Radio broadcasts DCF77, Physikalisch-Technische Bundesanstalt, Braunschweig (77.5kHz) GPS based on US Naval Observatory, DC 260 atomic clocks in 40 labs contribute to the international time standards contribute to TAI Radio broadcasts DCF77, Physikalisch-Technische Bundesanstalt, Braunschweig (77.5kHz) GPS based on US Naval Observatory, DC
7
NTP and UTC NTP is based on UTC NTP has no memory Every leap-second, NTP ‘resets’ itself to the current UTC value Using a clock synchronised to UTC in 2005 to calculate the time of an event in early 1972 would result in 22 seconds difference NTP is based on UTC NTP has no memory Every leap-second, NTP ‘resets’ itself to the current UTC value Using a clock synchronised to UTC in 2005 to calculate the time of an event in early 1972 would result in 22 seconds difference
8
What NTP Does Provide most accurate time possible, based on ‘reference time’ - not just syncing to a common time Keep in sync with leap seconds Ignore ‘falsetickers’ - clocks it could use for reference, but which provide an apparently wrong time Use previous figures to estimate current difference between system time and reference time, in the absence of a network connection Provide most accurate time possible, based on ‘reference time’ - not just syncing to a common time Keep in sync with leap seconds Ignore ‘falsetickers’ - clocks it could use for reference, but which provide an apparently wrong time Use previous figures to estimate current difference between system time and reference time, in the absence of a network connection
9
What NTP Does Not Convert NTP timestamps into system time format Set the hardware clock Handle time-zones/summer time Recognise when the system clock is far off and accept apparent ‘falsetickers’ as true Convert NTP timestamps into system time format Set the hardware clock Handle time-zones/summer time Recognise when the system clock is far off and accept apparent ‘falsetickers’ as true
10
Some Definitions Reference clock - a device which gives a known accurate time Accuracy - the difference between the value of a measurement and the actual measurand Precision - how close two measurements of the same value are Reference clock - a device which gives a known accurate time Accuracy - the difference between the value of a measurement and the actual measurand Precision - how close two measurements of the same value are
11
Precision vs Accuracy Exp I - Imprecise, inaccurate Exp II - Imprecise, accurate Exp III - Precise, inaccurate Exp IV - Precise, accurate (image source)image source
12
NTP Packet UDP Packet Request Time of client system clock at sending Response Time of client system clock at sending Time of receipt at server Time of server system clock at sending UDP Packet Request Time of client system clock at sending Response Time of client system clock at sending Time of receipt at server Time of server system clock at sending
13
NTP Timestamp 64-bit number First 32 bits represent seconds since 00:00, January 1st, 1900 Next 32 bits represent fractions of a second Sat, Nov 19 2005 19:27:30.869 c729fb22.de8afc9d 11000111 00101001 11111011 00100010. 11011110 10001010 11111100 10011101 64-bit number First 32 bits represent seconds since 00:00, January 1st, 1900 Next 32 bits represent fractions of a second Sat, Nov 19 2005 19:27:30.869 c729fb22.de8afc9d 11000111 00101001 11111011 00100010. 11011110 10001010 11111100 10011101
14
More Definitions Latency - the time taken for a packet to reach its destination Round trip time - the time taken between the client sending out a packet, and receiving a response to that packet from the server Jitter - variability of latency over time Latency - the time taken for a packet to reach its destination Round trip time - the time taken between the client sending out a packet, and receiving a response to that packet from the server Jitter - variability of latency over time
15
Timestamps in Packets Client sends packet - T 1 Server receives packet, adds receipt timestamp - T 2 Server prepares packet to send to client, adds sending timestamp - T 3 Client receives packet - T 4 Latency client -> server = (T 2 -T 1 ) Latency server -> client = (T 4 -T 3 ) Client sends packet - T 1 Server receives packet, adds receipt timestamp - T 2 Server prepares packet to send to client, adds sending timestamp - T 3 Client receives packet - T 4 Latency client -> server = (T 2 -T 1 ) Latency server -> client = (T 4 -T 3 )
16
Round Trip Times Actual RTT = (T 4 -T 1 ) Network RTT = (T 2 -T 1 ) + (T 4 -T 3 ) Latencies = (T 2 -T 1 ), (T 4 -T 3 ) If latencies are symmetric (within reason), (T 1 +T 4 ) = (T 2 +T 3 ) If (T 1 +T 4 ) != (T 2 +T 3 ), our estimate of clock offset is (T 1 +T 4 ) - (T 2 +T 3 ) Actual RTT = (T 4 -T 1 ) Network RTT = (T 2 -T 1 ) + (T 4 -T 3 ) Latencies = (T 2 -T 1 ), (T 4 -T 3 ) If latencies are symmetric (within reason), (T 1 +T 4 ) = (T 2 +T 3 ) If (T 1 +T 4 ) != (T 2 +T 3 ), our estimate of clock offset is (T 1 +T 4 ) - (T 2 +T 3 )
17
Truechimers & Falsetickers Multiple servers providing time estimates If the majority of servers provide a consistent time - they’re probably right If there are one or two outliers - they’re probably wrong Multiple servers providing time estimates If the majority of servers provide a consistent time - they’re probably right If there are one or two outliers - they’re probably wrong
18
Peering Client should peer with multiple servers (image source)image source
19
Law of Averages Peering with multiple servers makes for more reliable results Falsetickers will be easier to identify Truechimers will be more useful (because more servers means we can dismiss borderline true/false) Assumptions become statistically more reliable Latency symmetry Clock regularity Peering with multiple servers makes for more reliable results Falsetickers will be easier to identify Truechimers will be more useful (because more servers means we can dismiss borderline true/false) Assumptions become statistically more reliable Latency symmetry Clock regularity
20
Problems with Peering Loops NTP prevents loops, through spanning-tree mechanism Layers NTP prevents there being more than fourteen layers, by using strata Loops NTP prevents loops, through spanning-tree mechanism Layers NTP prevents there being more than fourteen layers, by using strata
21
Strata Radio clock - Stratum 0 Computer running NTP syncing from radio clock - Stratum 1 Computer syncing from Stratum n NTP server - Stratum n+1 Server unreachable - Stratum 16 Radio clock - Stratum 0 Computer running NTP syncing from radio clock - Stratum 1 Computer syncing from Stratum n NTP server - Stratum n+1 Server unreachable - Stratum 16
22
Lies, Damn Lies NTP checks that values are consistent with previous measurements Deals with sudden changes in network/system load Allows NTP to ‘guess’, in case of network failure If values are very different from previously, but remain consistent, NTP accepts that local clock may be falseticker NTP checks that values are consistent with previous measurements Deals with sudden changes in network/system load Allows NTP to ‘guess’, in case of network failure If values are very different from previously, but remain consistent, NTP accepts that local clock may be falseticker
23
Clocks Hardware clock - quartz crystal Software clock - interrupt-driven timer chips Software clock more accurate for judging interval between two times Both need to be set to correct time Hardware clock - quartz crystal Software clock - interrupt-driven timer chips Software clock more accurate for judging interval between two times Both need to be set to correct time
24
Problems Inaccurate time needs to be corrected Massive time changes are undesirable Time travel is undesirable Skipping seconds is bad Going backwards is not allowed Best way of balancing all this is to slow down/speed up time This only works with computers, and in the movies! Inaccurate time needs to be corrected Massive time changes are undesirable Time travel is undesirable Skipping seconds is bad Going backwards is not allowed Best way of balancing all this is to slow down/speed up time This only works with computers, and in the movies!
25
Exceptions On system boot-up, time can be set, regardless of offset from previous time init scripts are aware of this, bootup expects it, nothing should break Computers do what they’re told - regardless of what the admin intended If an admin tells the system to update its time, it updates. Things may break. On system boot-up, time can be set, regardless of offset from previous time init scripts are aware of this, bootup expects it, nothing should break Computers do what they’re told - regardless of what the admin intended If an admin tells the system to update its time, it updates. Things may break.
26
Phase Lock Loops Raises (or lowers) frequency of an oscillator until it matches a reference frequency Pauses oscillator as necessary to match ref. phase Raises (or lowers) frequency of an oscillator until it matches a reference frequency Pauses oscillator as necessary to match ref. phase
27
More on PLL Seconds can be speeded up or slowed down, until they happen as often as reference clock - frequency is matched NTP can also use this speed change to match the phase - some PLLs will stop the oscillator momentarily to do this Seconds can be speeded up or slowed down, until they happen as often as reference clock - frequency is matched NTP can also use this speed change to match the phase - some PLLs will stop the oscillator momentarily to do this
28
NTP Traffic ntp.maths.tcd.ie Stratum 1 server, syncing from radio clock ntp.maths.tcd.ie Stratum 1 server, syncing from radio clock
29
Daily Peak Graph dates from IST - blip occurring at 1am local time
30
After IST Ends Peak remains - still at midnight GMT
31
Daylight Savings Time NTP is time-zone agnostic
32
Daylight Savings Time Ends 2005-W43-7 - Daylight Savings Time ends
33
Strange Happenings
34
References RFC 1305 http://www.ntp.isc.org http://www.ntp.isc.org http://www.eecis.udel.edu/~mills/ http://www.eecis.udel.edu/~mills/ ntp.maths.tcd.ie ntp.maths.tcd.ie RFC 1305 http://www.ntp.isc.org http://www.ntp.isc.org http://www.eecis.udel.edu/~mills/ http://www.eecis.udel.edu/~mills/ ntp.maths.tcd.ie ntp.maths.tcd.ie
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.