How Computers Synchronize Their Clocks - NTP and PTP Explained

Sdílet
Vložit
  • čas přidán 1. 09. 2021
  • It is important for computers to know the correct time. Everything from online shopping to stock market trades rely on accurate time keeping. But how do computers know what time it is? Here is a quick look at how computers synchronize their clocks including a look at NTP and PTP.
    Introduction to Android app development: www.dgitacademy.com
    Let Me Explain T-shirt: teespring.com/gary-explains-l...
    Twitter: / garyexplains
    Instagram: / garyexplains
    #garyexplains

Komentáře • 112

  • @JxH
    @JxH Před 2 lety +35

    6:21 "...we'll talk about that in a minute..." 7:21 "What about network delay?" Exactly a minute later, as promised. Well played sir, very well played.

  • @1MarkKeller
    @1MarkKeller Před 2 lety +12

    The Professor = Time Lord: CONFIRMED!

  • @LinuxinaBit
    @LinuxinaBit Před 2 lety +39

    Those atom clocks have gotten pretty cheap, LTT did a video about them, and it looks very interesting.

    • @GaryExplains
      @GaryExplains  Před 2 lety +30

      Yes, I have the same card as Linus. That will be in the next video in this series.

    • @monalisaray2616
      @monalisaray2616 Před 2 lety

      I agree

    • @eric.is.online
      @eric.is.online Před 2 lety +3

      @@GaryExplains I suspected this was why you were laying such a solid foundation re: computer time

    • @herrbanane
      @herrbanane Před 2 lety +3

      Have look at Jeff Gerling's video, it's pretty good too: czcams.com/video/tU0xC1ynaT8/video.html

    • @BakrAli10
      @BakrAli10 Před 2 lety

      What is the name of LTT’s video?

  • @JohnnieHougaardNielsen
    @JohnnieHougaardNielsen Před 2 lety +6

    I'm also running a local NTP server on my network (on a machine doing other things too). One reason for that was to avoid my IoT devices (ESP8266 or ESP32) asking the public NTP servers for real time, instead getting synchronization from my local NTP server. Of course, my local server will synchronize with a public server, and in case of an outage, my IoT devices (running Tasmota) can also fall back to public NTP servers. Some home "routers" will do a similar thing to reduce network traffic.

    • @James_Knott
      @James_Knott Před 2 lety

      I run pfsense for my firewall/router and have an NTP server running on it.

  • @JxH
    @JxH Před 2 lety +5

    I have a 'radio controlled' wall clock, one of the very nice ones (UltrAtomic) using the newer PSK WWVB signal. Then I got a 2nd one and hung it up right next to the first, just so that I could enjoy their synchronicity. Typically they're within a very small fraction of a second, and tick in seemingly-perfect synchronization, which is strangely satisfying. Not bad radio performance for about 3400 km from the transmitter site near Fort Collins CO.

  • @samarthtandale9121
    @samarthtandale9121 Před rokem +1

    Excellent Video Explanation !!!

  • @_..---
    @_..--- Před 2 lety +16

    "that's how we might ask what is the time", lmao I hope not

  • @vladislavkaras491
    @vladislavkaras491 Před 4 měsíci

    Very greatly explained theme!
    Thanks!

  • @amosreginaldjr.4200
    @amosreginaldjr.4200 Před 2 lety +1

    This is a channel that I would love to watch to pass time when I was 13.
    I’m 19 now and I’m very happy I came across it because now that I’m older I can understand the information provided

  • @AjinkyaMahajan
    @AjinkyaMahajan Před 2 lety +3

    Impressive explanation.

  • @gwen-cloud
    @gwen-cloud Před 7 měsíci

    An excellent lecture! Thanks a lot it helps a ton!

  • @luisorozco5865
    @luisorozco5865 Před 3 dny

    Excellent explanation!

  • @ArnabBose
    @ArnabBose Před 2 lety +1

    Very nice video!
    So, basically, NTP is really the most natural way you would device to determine the offset to apply, if you assume that the latency is symmetric between the client and the time server.
    I suppose the reason for the symmetry assumption is that there's simply no way to deduce the asymmetry in the latency.

  • @greg6094
    @greg6094 Před 2 lety

    NSW Australia are gold standard
    Great video btw!

  • @youraverage90sguys7
    @youraverage90sguys7 Před 2 lety +5

    such great acting, oscar nomination worthy! lmao great stuff gary, keep it coming, really love your content!

  • @1MarkKeller
    @1MarkKeller Před 2 lety +2

    *GARY!!!*
    *Good morning Professor!*
    *Good morning fellow classmates!*
    Stay Safe Out There Everyone.

  • @Mosfet510
    @Mosfet510 Před 2 lety +3

    I was always interested in how it was kept, thanks!

  • @duanedsilva3573
    @duanedsilva3573 Před 2 lety +1

    Please do a detailed video on how PTP works, and its usecases

  • @samarthtandale9121
    @samarthtandale9121 Před rokem +2

    If the time taken to travel from client to server is different from server to client, then would it still give correct offset and round trip delay?

    • @bowzert
      @bowzert Před 3 měsíci

      The round trip delay will still be correct but not the offset, as it depends on the back and forth travel times being equal.

  • @sabriath
    @sabriath Před 2 lety +1

    t1 and t2 are unreliable due to how networks can change on-the-fly, as well as the queued-in-force for network messages. The best you can hope for is all on the clientside, the less the server has to work, the faster you get a response. This means the client saves the time as T0, and when it receives the message back, it's T3.....there is an assumption that the average round trip will be twice the length of a one-way trip, so you take (T3-T0)/2 and that's your offset from the time you receive to set. The time it takes for the response is also unimportant, as it takes time for the client to also queue the data and calculate/set the time, so it's going to be off regardless.
    This formula works very well in dead-reckoning code to sync servers and clients.

  • @xeridea
    @xeridea Před 2 lety

    The accuracy for setting on your home computer is probably within 5ms. If your latency is 10-80ms (depends on internet), it isn't 10-80ms off, since it calculates the trip time to consider. It also sends multiple packets to work out an average. Assuming your jitter isn't bad, it may even be within 1-2ms.

  • @petersilva037
    @petersilva037 Před 2 lety

    Interesting video. Please note that NTP does not make computers have the same time. Rather it makes clocks on computers run at the same speed. @3:53... servers in NTP do not synchronize with each other. They ask eachother what time their peer thinks the it is, and compare multiple such requests over time, and use this sampling to figure make the clocks run at the same rate. A server never sets it's time to match a server's, rather, it says... oh... comparing local and remote time stamps it tries to make them run at the same speed... so it might tweak the local clock to run a little faster.
    Typically, you need to set the time initially, and then use NTP to get the clock to run at closer to accurate rate with hints from the peers.
    Typically if NTP sees an offset of >1 second. it will just complain, it will not reset. You have to adjust such large offsets manually. Even with a large offset, NTP will try to keep the offsets consistent, and does not attempt to correct it.

  • @SwissPGO
    @SwissPGO Před 2 lety +2

    Hi Gary, I think there is a misrepresentation of stratum 0. If I understand you correctly, you represent statum 0 as the gps satellites, and that the stratum 1 servers obtain their time from those satellites. This is in my opinion incorrect: a stratum 1 server needs direct connection to the atomic clock, and it cannot rely on satellites as the timing signals from those satellites is impacted also by atmospheric conditions, clouds, air pressure etc... Each stratum 1 server is sitting really close to its atomic clock, and gets his time from these devices directly.

    • @GaryExplains
      @GaryExplains  Před 2 lety +1

      No. GNSS satellites have atomic clocks on board and are considered Stratum 0.

    • @SwissPGO
      @SwissPGO Před 2 lety +2

      @@GaryExplains The satellite has indeed an atomic clock onboard, but it is Stratum 0 only for the satellite: any device on earth (or in space) reading the time signal cannot determine correct time (at high precision) without knowledge of the orbital parameters, the exact location of the receiver, and atmospheric conditions (temperature, pressure, humidity) along the signal path to the satellite. The parameters cannot be measured in the way you demonstrated on the NTP protocol, as GPS only transmits: it is not possible to measure the transmission delay based on roundtrip times.
      I assisted in the accurate determination of positions of scientific infrastructure to sub mm accuracy based on GPS signals: such measurements take long data acquisition times (hours) and require post processing of all the data, including atmospheric data in order to reach such level of precision. As such, I would personally not (yet) consider a GPS satellite (a single one) sufficiently accurate to be Stratum 0 time reference. But, I'm not a specialist in this field, and I welcome some inputs from specialist, with references to reliable technical documentation. After all, you may be correct Gary - I just have some doubts.

  • @MegasXLR
    @MegasXLR Před 2 lety +1

    The only Stratum I know is the car from GTA lmao

  • @Hagledesperado
    @Hagledesperado Před 2 lety

    5:30 Kilometers is shortend "km", not "KM". When you write it with capital letters, it could be read as KelvinMega, which would be an ... interesting unit.

  • @LotusFlowerrr
    @LotusFlowerrr Před 2 lety

    :) thank you!

  • @cmilkau
    @cmilkau Před 2 lety

    A graphical explanation would have been nice. I picture it like two sticks, a long one client side spanning t0 to t3 and a short one server side spanning t1 to t2. The client then adjusts its clock so the middle of both sticks align in the timeline, basically assuming the delay is the same in both directions.
    The round-trip time (total time with packets inflight) is basically the time the client waited minus the time the server took, so the difference in length between the two sticks.

  • @TheDevil259
    @TheDevil259 Před 2 lety

    The skit at the start reminds me of Vault 103 in Fallout 3. You know, the one with the Gary clones.

  • @autohmae
    @autohmae Před 2 lety

    6:35 I wonder what Low-Frequency Array (LOFAR) uses

  • @user-kc1tf7zm3b
    @user-kc1tf7zm3b Před 2 lety +3

    My Sony DAB+ clock radio is only 2 seconds slow to atomic time. Apparently, time syncing to the radio station only takes place when the DAB+ radio function is used. Otherwise, the internal quartz clock is in effect, which is drift just like any other clock. So, briefly listen to DAB+ radio every so often to keep the clock accurate.

    • @JxH
      @JxH Před 2 lety

      I listen to BBC WS via XM Satellite radio (I'm in North America). BBC has those time signals at the top of the hour. It one case the time signal was about 20s slow (!) by the time the audio eventually made it through all the buffers and reached my ears. Comically bad. More recently it's more like 8-10s late.

    • @user-kc1tf7zm3b
      @user-kc1tf7zm3b Před 2 lety

      @@JxH Or, one could very easily stream and cast BBC World Service with their smartphone. Now everyone around the world with a smartphone of some description can listen to the premiere world news service. 🇬🇧

  • @Turboinvesting
    @Turboinvesting Před 2 lety

    Thanks for the wonderful video Gary. Could you care to make a video on the differences of System time between iPhone and Android devices? Any Time Sync app would show you that [once you do multiple measurements] iPhone system clock is much more accurate [ > 200 ms] than Android’s [ often off by more than 2 s ]. Even this anomaly applies to premium Android devices. I understand than Cell phones take the Date, Time and Time zone information from cell towers. Why then the iPhones would have better system time than Androids. Are iPhones also syncing to Apple NTP servers; while Androids do not.

  • @Lexitivium
    @Lexitivium Před 2 lety

    Where can I get one of those Gary Nest Hubs..? "Hey, Gary!" ;-)

  • @Michael_Brock
    @Michael_Brock Před 2 lety

    Hopefully you can do a video on that open access atomic clock project that is spooling up for PCs and explain its advantages in certain circumstances. Linus showed it of but didn't really explain how a prosumer or small business could benefit from it properly, really only how big data, banks, social media etc can benefit.
    Believe it has an open source? Any way open access board plan which you can get a board manufacturer to make plus an atomic clock costing around 2,000$ plus the open source software to send timing signals to other PCs, single board PCE is the core of the hardware, you can synchronize computers on your network to a couple of nanoseconds rather than the milliseconds the current (baseline) software system does now software only. Plus it can grab it's master time (GMT etc) from one of the government clocks. IE UK or EU or USA etc all have these master clocks, then it will carry-on internally with minimal drift, correcting drift or leap seconds from the master clock as needed.

    • @GaryExplains
      @GaryExplains  Před 2 lety

      Yes, I have the same card as Linus. But really there is little benefit for a prosumer.

  • @eyeshezzy
    @eyeshezzy Před 2 lety

    Nice explanation Gary, Who pays the time servers?

    • @jonmclaughlin4128
      @jonmclaughlin4128 Před 2 lety

      Anyone can run a time server and make it publicly accessible(don't do that). Companies run them I know that Apple has a few, I assume Google does as well. You can get a list of public ones at: support.ntp.org/bin/view/Servers/WebHome

  • @BrockMak
    @BrockMak Před 2 lety +2

    I still have the old ClocksSync app on my S10+, but it's no longer on Google play Store.

    • @James_Knott
      @James_Knott Před 2 lety

      I noticed that too. You can get a app that backs up Android apps, so you can install them, even if no longer on GP.

  • @alexlandherr
    @alexlandherr Před 2 lety

    Stratum 0 are also ground based atomic clocks.

  • @James_Knott
    @James_Knott Před 2 lety

    Actually, atomic clocks are not the only stratum 0 servers. A GPS receiver, which in turn is synced with something called "International Atormic Time" can also be a stratum 0 server. Then the NTP server connected to it is stratum 1, etc. Also, the old 2G CDMA cell phone network was accurate enough to be a stratum 0 source. It's a good idea to connect to at least 3 servers. One reason is for redundancy. If one fails, the others are still avaialble. Also, with 3, should one become inaccurate, it will be ignored. And, NTP averages the times from multiple servers, so the result is more accurate than any single source. I connect my NTP server to 3 stratum 1 sources and 2 stratum 2.
    BTW, cell phones get their time from the cell network. I don't know if they use NTP or some other protocol.
    Wikipedia has a good article on NTP.
    Does Anybody Really Know What Time It Is?
    czcams.com/video/9FzCWLOHUes/video.html
    Well, time to go! ;-)

  • @hansisbrucker813
    @hansisbrucker813 Před 2 lety +2

    Why doesn't my phone use GPS to get the time when I have that switched on? 🤔

    • @pilotavery
      @pilotavery Před 2 lety +2

      It can and does.

    • @James_Knott
      @James_Knott Před 2 lety

      @@pilotavery Actually, phones get there time from the cell network. My phone, anyway, won't let me sync to NTP, though my tablet does.

  • @davidmurphy563
    @davidmurphy563 Před 2 lety +2

    Is the UK central stratum up in Derby, it is it maybe Rugby, I forget... Anyone know?

    • @GaryExplains
      @GaryExplains  Před 2 lety +2

      From 1950 until 1 April 2007 it was transmitted from Rugby, Warwickshire. The transmitter's original location meant that the clock was referred to as "the Rugby clock". Following its relocation in 2007 to Cumbria, the UK's National Physical Laboratory (NPL) now formally calls the signal "The Time from NPL".

    • @davidmurphy563
      @davidmurphy563 Před 2 lety

      @@GaryExplains Ah, I didn't know they stopped in 2007. No wonder I was struggling to recall, I was clearly rummaging through some very old memories!

  • @user-kc1tf7zm3b
    @user-kc1tf7zm3b Před 2 lety

    When will there be Gary Explains Covid video? 👨‍⚕️ ⚕️

  • @SalvatoreEscoti
    @SalvatoreEscoti Před rokem

    So is the BIOS /UEFi Clock also synchronized via NTP? Is the OS telling the BIOS the right time?

  • @JxH
    @JxH Před 2 lety

    Some of the time signal formats are poorly conceived. IIRC, WWVB (maybe GPS too?) only tells you the time after the top of the unit (minute, second). So the SW has to read in the date-time string, increment it by one unit, and then await the next unit pulse. I may be remembering some of this wrong; apologies in advance

    • @GaryExplains
      @GaryExplains  Před 2 lety

      GPS is every second.

    • @JxH
      @JxH Před 2 lety

      Yep, the famous 1PPS.
      VLF Radio signals give the explicit absolute digital time code every minute. Ideally they'd give it in advance, and then "3, 2, 1, MARK!:"

  • @petermainwaringsx
    @petermainwaringsx Před 2 lety

    If I've read it right, the assumption is that the delay is the same both ways?

  • @NoEgg4u
    @NoEgg4u Před 2 lety

    How does Stratum 0 determine the time?
    Whatever the master clock is... how does that clock maintain its time, with accuracy down to the millisecond?
    A few years ago, I heard that aircraft carriers need timing accuracy down to the billionth of a second, in order to safely land airplanes on its deck.
    Do you know if that is true, and how they keep such accurate clocks?

    • @NoEgg4u
      @NoEgg4u Před 2 lety

      @@James_Knott As it pertains to the atomic clocks around the world, that are used to obtain an average...
      How do each of those atomic clocks keep accurate time, such that they are suitable to be included for contributing to the average time?
      What is IAT?

    • @James_Knott
      @James_Knott Před 2 lety

      @@NoEgg4u IAT is International Atomic Time, as I mentioned above. The cesium clocks they use are extremely precise for frequency. As for determining the actual time, it used to be based on stars, but they are no longer accurate enough. How it's done now is a longer story than suitable for here. Search for From Sundials to Atomic Clocks. It's a free download from NIST.

  • @MuhammadHanif-bx4pb
    @MuhammadHanif-bx4pb Před 2 lety

    now how do we know the delay is accurate ??

  • @FriedEgg101
    @FriedEgg101 Před 2 lety

    I think my Casio watch is a stratum 1 device. It communicates with a satellite every night to synchronise itself.

  • @taidee
    @taidee Před 2 lety

    So it’s time we talked about time 😂

  • @ed-jf3xh
    @ed-jf3xh Před 2 lety

    My computer doesn't ask. Or, more correctly, Windows 10 doesn't ask. I always have to update it via manual sync, even though it is set to auto sync. On Linux, it's always correct.

  • @fjdkfdfjdf33
    @fjdkfdfjdf33 Před 2 lety

    Many routers run NTP servers

  • @piiumlkj6497
    @piiumlkj6497 Před 2 lety +1

    So basically NTP is just averaging the travel time of each leg of the trip , it assumes that they are equal , but if they are not ; it loses accuracy. I did the calculation and put different numbers for the time it took for the signal to get from the server to the client ( i assumed it to be 7 seconds ) and the result was 2.5 seconds off the correct time . Not that impressive !

    • @GaryExplains
      @GaryExplains  Před 2 lety +1

      Well, obviously I have show you the top level view. The actual algorithms are clever than that. Multiple messages are used, averages are taken over longer periods of time, plus there are some things to catch outliers etc.

    • @JohnnieHougaardNielsen
      @JohnnieHougaardNielsen Před 2 lety

      Meanwhile, in the real world, 7 seconds would be an *extremely* long delay, about 100 times longer than what is already not that great. Still, NTP is not designed for microsecond accuracy.

    • @piiumlkj6497
      @piiumlkj6497 Před 2 lety

      @@JohnnieHougaardNielsen I realize that , and it seems that NTP is good enough , I just expected a fancier principle of operation .

    • @piiumlkj6497
      @piiumlkj6497 Před 2 lety

      @@GaryExplains I guess they don't call it a PROTOCOL for nothing !

    • @deconline1320
      @deconline1320 Před 2 lety +1

      Yes you are correct. What mainly screws up the time synchronization is network asymmetry (not the same path delay between both directions) and also the variations in travel time of the NTP/PTP packets. PTP provides ways to take into account these problems and generate more accurate results.

  • @FedJimSmith
    @FedJimSmith Před 2 lety

    it's basic arithmetic guys.. so simple

  • @fmphotooffice5513
    @fmphotooffice5513 Před 2 lety

    Some countries have a 30 minute offset.

    • @GaryExplains
      @GaryExplains  Před 2 lety +1

      Yes, but this video isn't about time zones.

    • @fmphotooffice5513
      @fmphotooffice5513 Před 2 lety

      @@GaryExplains ...just a trivial comment. I was surprised when I discovered that.

  • @johnlentokone7318
    @johnlentokone7318 Před rokem +1

    I think this video is missleading. Gary says that the accuracy of NTP is eg. 50 ms, 80 ms and PTP is better than 1 us. I think this is impossible if NTP and PTP is tested in equivalent conditions.

    • @GaryExplains
      @GaryExplains  Před rokem

      Do you have a link to any testing that shows that this video is misleading?

  • @JxH
    @JxH Před 2 lety +1

    9:23 "Offset....just take the absolute value." I'd suggest that the +/- of the offset is rather important... :-)
    e.g. "t3 + Offset" needs to include the sign of the Offset in case it's the other way around.

  • @guilherme5094
    @guilherme5094 Před 2 lety

    Like.

  • @akarimsiddiqui7572
    @akarimsiddiqui7572 Před 2 lety

    Gary uses OnePlus

  • @JosuaKrause
    @JosuaKrause Před 3 měsíci

    hmm, the algorithm relies on each network request to take the same time. this isn't really true in the internet

    • @GaryExplains
      @GaryExplains  Před 3 měsíci

      No it doesn't.

    • @JosuaKrause
      @JosuaKrause Před 3 měsíci

      @@GaryExplains do the math when choosing two different network delays. The final time on the client will be off by half the difference in delays

    • @GaryExplains
      @GaryExplains  Před 3 měsíci

      There are four timestamps and a total round trip delay calculation. But the key is that the reply is timestamped at send and receive, as is the request.

    • @JosuaKrause
      @JosuaKrause Před 3 měsíci

      @@GaryExplains yes, the issue comes from asymmetric network delays which are not accounted for by this algorithm (among other things). PTP attempts to solve this using an additional Delay_Req step. But there can only ever be an approximate solution to this. But cheers, your video made me look up the details of PTP to figure out how the asymmetry is (attempted to be) resolved and how time syncing actually works

  • @anullhandle
    @anullhandle Před 2 lety

    Don't do too deep a dive on this we'll never see you again lol. GPS time? UTC nist? USNO? International? UTC1? Atomic? Upcoming new (optical) definition of the second? We're approaching time resolution where gravity changes from the ground to the 2nd floor changing what a second is, matters. It's a deep rabbit hole.

  • @darin7553
    @darin7553 Před 2 lety

    I'm going to put a atom click in my pc

  • @lorenzomijorus
    @lorenzomijorus Před 2 lety +1

    Sorry.... Do you have the time?

  • @bigbirdwpg
    @bigbirdwpg Před 2 lety

    Too bad Microsoft can't figure out how to sync time properly.

  • @j_ribeiro
    @j_ribeiro Před 2 lety

    please don't start making powerpoint stile videos. It's very annoying because I read it faster than you say it so I tend to pause the video, read it and then pass to the next slide so to speak. I like the usual format better

    • @GaryExplains
      @GaryExplains  Před 2 lety

      It isn't a case of "don't start", I have many videos in this style.