PowerPoint Presentation - NTP

Download Report

Transcript PowerPoint Presentation - NTP

NTP
Network Time Protocol
Nóirín Plunkett
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
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
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
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
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
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
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
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
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
Precision vs Accuracy
 Exp I - Imprecise,
inaccurate
 Exp II - Imprecise,
accurate
 Exp III - Precise,
inaccurate
 Exp IV - Precise,
accurate
(image source)
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
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
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
Timestamps in Packets
 Client sends packet - T1
 Server receives packet, adds receipt
timestamp - T2
 Server prepares packet to send to client,
adds sending timestamp - T3
 Client receives packet - T4
 Latency client -> server = (T2-T1)
 Latency server -> client = (T4-T3)
Round Trip Times




Actual RTT =
(T4-T1)
Network RTT =
(T2-T1) + (T4-T3)
Latencies =
(T2-T1), (T4-T3)
If latencies are symmetric (within reason),
(T1+T4) = (T2+T3)
 If (T1+T4) != (T2+T3), our estimate of clock
offset is (T1+T4) - (T2+T3)
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
Peering
 Client should peer with multiple servers
(image source)
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
Problems with Peering
 Loops
 NTP prevents loops, through spanning-tree
mechanism
 Layers
 NTP prevents there being more than fourteen
layers, by using strata
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
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
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
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!
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.
Phase Lock Loops
 Raises (or lowers) frequency of an oscillator until it
matches a reference frequency
 Pauses oscillator as necessary to match ref. phase
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
NTP Traffic
 ntp.maths.tcd.ie
 Stratum 1 server, syncing from radio clock
Daily Peak
 Graph dates from IST - blip occurring at 1am local
time
After IST Ends
 Peak remains - still at midnight GMT
Daylight Savings Time
 NTP is time-zone agnostic
Daylight Savings Time Ends
 2005-W43-7 - Daylight Savings Time ends
Strange Happenings
References




RFC 1305
http://www.ntp.isc.org
http://www.eecis.udel.edu/~mills/
ntp.maths.tcd.ie