How Computers Synchronize Their Clocks - NTP and PTP Explained

Поділитися
Вставка
  • Опубліковано 16 лис 2024
  • 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.dgitacadem...
    Let Me Explain T-shirt: teespring.com/...
    Twitter: / garyexplains
    Instagram: / garyexplains
    #garyexplains

КОМЕНТАРІ • 112

  • @JxH
    @JxH 3 роки тому +40

    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.

  • @emibulls
    @emibulls 2 місяці тому

    I've set up NTP a bunch of times, but the working were always just black magic to me. Thanks for the explanation!

  • @JohnnieHougaardNielsen
    @JohnnieHougaardNielsen 3 роки тому +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 3 роки тому

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

  • @1MarkKeller
    @1MarkKeller 3 роки тому +12

    The Professor = Time Lord: CONFIRMED!

  • @LinuxinaBit
    @LinuxinaBit 3 роки тому +39

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

    • @GaryExplains
      @GaryExplains  3 роки тому +29

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

    • @monalisaray2616
      @monalisaray2616 3 роки тому

      I agree

    • @herrbanane
      @herrbanane 3 роки тому +3

      Have look at Jeff Gerling's video, it's pretty good too: ua-cam.com/video/tU0xC1ynaT8/v-deo.html

    • @BakrAli10
      @BakrAli10 3 роки тому

      What is the name of LTT’s video?

    • @LinuxinaBit
      @LinuxinaBit 3 роки тому

      @@BakrAli10 I think it's called something like "This pc part is radioactive"

  • @JxH
    @JxH 3 роки тому +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.

  • @AjinkyaMahajan
    @AjinkyaMahajan 3 роки тому +3

    Impressive explanation.

  • @samarthtandale9121
    @samarthtandale9121 Рік тому +1

    Excellent Video Explanation !!!

  • @luisorozco5865
    @luisorozco5865 3 місяці тому

    Excellent explanation!

  • @ArnabBose
    @ArnabBose 3 роки тому +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.

  • @1MarkKeller
    @1MarkKeller 3 роки тому +2

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

  • @duanedsilva
    @duanedsilva 3 роки тому +1

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

  • @vladislavkaras491
    @vladislavkaras491 8 місяців тому

    Very greatly explained theme!
    Thanks!

  • @greg6094
    @greg6094 3 роки тому

    NSW Australia are gold standard
    Great video btw!

  • @amosreginaldjr.4200
    @amosreginaldjr.4200 3 роки тому +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

  • @gwen-cloud
    @gwen-cloud 11 місяців тому

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

  • @samarthtandale9121
    @samarthtandale9121 Рік тому +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 7 місяців тому

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

  • @petersilva037
    @petersilva037 3 роки тому

    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.

  • @Mosfet510
    @Mosfet510 3 роки тому +3

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

  • @_..---
    @_..--- 3 роки тому +16

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

  • @sabriath
    @sabriath 3 роки тому +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 3 роки тому

    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.

  • @user-kc1tf7zm3b
    @user-kc1tf7zm3b 3 роки тому +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 3 роки тому

      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 3 роки тому

      @@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. 🇬🇧

  • @youraverage90sguys7
    @youraverage90sguys7 3 роки тому +5

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

  • @TheDevil259
    @TheDevil259 3 роки тому

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

  • @autohmae
    @autohmae 3 роки тому

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

  • @SwissPGO
    @SwissPGO 3 роки тому +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  3 роки тому +1

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

    • @SwissPGO
      @SwissPGO 3 роки тому +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.

  • @BrockMak
    @BrockMak 3 роки тому +2

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

    • @James_Knott
      @James_Knott 3 роки тому

      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.

  • @Hagledesperado
    @Hagledesperado 3 роки тому

    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.

  • @alexlandherr
    @alexlandherr 2 роки тому

    Stratum 0 are also ground based atomic clocks.

  • @SalvatoreEscoti
    @SalvatoreEscoti Рік тому

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

  • @eyeshezzy
    @eyeshezzy 3 роки тому

    Nice explanation Gary, Who pays the time servers?

    • @jonmclaughlin4128
      @jonmclaughlin4128 3 роки тому

      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

  • @davidmurphy563
    @davidmurphy563 3 роки тому +2

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

    • @GaryExplains
      @GaryExplains  3 роки тому +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 3 роки тому

      @@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!

  • @cmilkau
    @cmilkau 3 роки тому

    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.

  • @Michael_Brock
    @Michael_Brock 3 роки тому

    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  3 роки тому

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

  • @MegasXLR
    @MegasXLR 3 роки тому +1

    The only Stratum I know is the car from GTA lmao

  • @JxH
    @JxH 3 роки тому

    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  3 роки тому

      GPS is every second.

    • @JxH
      @JxH 3 роки тому

      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!:"

  • @James_Knott
    @James_Knott 3 роки тому

    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?
    ua-cam.com/video/9FzCWLOHUes/v-deo.html
    Well, time to go! ;-)

  • @NoEgg4u
    @NoEgg4u 3 роки тому

    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 3 роки тому

      @@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 3 роки тому

      @@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.

  • @lexitivium
    @lexitivium 3 роки тому

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

  • @hansisbrucker813
    @hansisbrucker813 3 роки тому +2

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

    • @pilotavery
      @pilotavery 3 роки тому +2

      It can and does.

    • @James_Knott
      @James_Knott 3 роки тому

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

  • @MuhammadHanif-bx4pb
    @MuhammadHanif-bx4pb 3 роки тому

    now how do we know the delay is accurate ??

  • @JxH
    @JxH 3 роки тому +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.

  • @Turboinvesting
    @Turboinvesting 2 роки тому

    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.

  • @lotusflowerrr
    @lotusflowerrr 3 роки тому

    :) thank you!

  • @user-kc1tf7zm3b
    @user-kc1tf7zm3b 3 роки тому

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

  • @petermainwaringsx
    @petermainwaringsx 3 роки тому

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

  • @FriedEgg101
    @FriedEgg101 3 роки тому

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

  • @FedJimSmith
    @FedJimSmith 3 роки тому

    it's basic arithmetic guys.. so simple

  • @johnlentokone7318
    @johnlentokone7318 2 роки тому +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  2 роки тому

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

  • @piiumlkj6497
    @piiumlkj6497 3 роки тому +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  3 роки тому +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 3 роки тому

      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 3 роки тому

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

    • @piiumlkj6497
      @piiumlkj6497 3 роки тому

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

    • @deconline1320
      @deconline1320 3 роки тому +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.

  • @taidee
    @taidee 3 роки тому

    So it’s time we talked about time 😂

  • @JosuaKrause
    @JosuaKrause 6 місяців тому

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

    • @GaryExplains
      @GaryExplains  6 місяців тому

      No it doesn't.

    • @JosuaKrause
      @JosuaKrause 6 місяців тому

      @@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  6 місяців тому

      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 6 місяців тому

      @@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

  • @fmphotooffice5513
    @fmphotooffice5513 3 роки тому

    Some countries have a 30 minute offset.

    • @GaryExplains
      @GaryExplains  3 роки тому +1

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

    • @fmphotooffice5513
      @fmphotooffice5513 3 роки тому

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

  • @fjdkfdfjdf33
    @fjdkfdfjdf33 3 роки тому

    Many routers run NTP servers

  • @ed-jf3xh
    @ed-jf3xh 3 роки тому

    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.

  • @guilherme5094
    @guilherme5094 3 роки тому

    Like.

  • @akarimsiddiqui7572
    @akarimsiddiqui7572 3 роки тому

    Gary uses OnePlus

  • @anullhandle
    @anullhandle 3 роки тому

    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 3 роки тому

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

  • @lorenzomijorus
    @lorenzomijorus 3 роки тому +1

    Sorry.... Do you have the time?

  • @bigbirdwpg
    @bigbirdwpg 3 роки тому

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

  • @j_ribeiro
    @j_ribeiro 3 роки тому

    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  3 роки тому

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