How Computers Synchronize Their Clocks - NTP and PTP Explained

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 พ.ย. 2024

ความคิดเห็น • 112

  • @JxH
    @JxH 3 ปีที่แล้ว +39

    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!

  • @1MarkKeller
    @1MarkKeller 3 ปีที่แล้ว +12

    The Professor = Time Lord: CONFIRMED!

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

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

  • @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: th-cam.com/video/tU0xC1ynaT8/w-d-xo.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"

  • @AjinkyaMahajan
    @AjinkyaMahajan 3 ปีที่แล้ว +3

    Impressive explanation.

  • @samarthtandale9121
    @samarthtandale9121 ปีที่แล้ว +1

    Excellent Video Explanation !!!

  • @luisorozco5865
    @luisorozco5865 3 หลายเดือนก่อน

    Excellent explanation!

  • @vladislavkaras491
    @vladislavkaras491 8 หลายเดือนก่อน

    Very greatly explained theme!
    Thanks!

    • @GaryExplains
      @GaryExplains  8 หลายเดือนก่อน +1

      Glad it was helpful!

  • @gwen-cloud
    @gwen-cloud 11 หลายเดือนก่อน

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

    • @GaryExplains
      @GaryExplains  11 หลายเดือนก่อน

      Glad it was helpful!

  • @1MarkKeller
    @1MarkKeller 3 ปีที่แล้ว +2

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

  • @greg6094
    @greg6094 3 ปีที่แล้ว

    NSW Australia are gold standard
    Great video btw!

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

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

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

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

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

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

  • @youraverage90sguys7
    @youraverage90sguys7 3 ปีที่แล้ว +5

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

  • @duanedsilva
    @duanedsilva 3 ปีที่แล้ว +1

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

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

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

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

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

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

  • @_..---
    @_..--- 3 ปีที่แล้ว +16

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

    • @GaryExplains
      @GaryExplains  3 ปีที่แล้ว +10

      I did say *might*! 🤣

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

  • @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?
    th-cam.com/video/9FzCWLOHUes/w-d-xo.html
    Well, time to go! ;-)

  • @Mosfet510
    @Mosfet510 3 ปีที่แล้ว +3

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

  • @autohmae
    @autohmae 3 ปีที่แล้ว

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

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

  • @alexlandherr
    @alexlandherr 2 ปีที่แล้ว

    Stratum 0 are also ground based atomic clocks.

  • @TheDevil259
    @TheDevil259 3 ปีที่แล้ว

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

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

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

  • @MegasXLR
    @MegasXLR 3 ปีที่แล้ว +1

    The only Stratum I know is the car from GTA lmao

  • @SalvatoreEscoti
    @SalvatoreEscoti ปีที่แล้ว

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

  • @lexitivium
    @lexitivium 3 ปีที่แล้ว

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

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

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

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

  • @MuhammadHanif-bx4pb
    @MuhammadHanif-bx4pb 3 ปีที่แล้ว

    now how do we know the delay is accurate ??

  • @lotusflowerrr
    @lotusflowerrr 3 ปีที่แล้ว

    :) thank you!

  • @petermainwaringsx
    @petermainwaringsx 3 ปีที่แล้ว

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

  • @user-kc1tf7zm3b
    @user-kc1tf7zm3b 3 ปีที่แล้ว

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

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

  • @FriedEgg101
    @FriedEgg101 3 ปีที่แล้ว

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

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

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

  • @fjdkfdfjdf33
    @fjdkfdfjdf33 3 ปีที่แล้ว

    Many routers run NTP servers

  • @FedJimSmith
    @FedJimSmith 3 ปีที่แล้ว

    it's basic arithmetic guys.. so simple

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

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

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

  • @taidee
    @taidee 3 ปีที่แล้ว

    So it’s time we talked about time 😂

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