<div dir="ltr"><div>Adresy, ktore pouzivate, su adresy poolov a k tym sa ntp klient sprava (ma spravat) trochu inak ako ku NTP serverom.</div><div><br></div><div>DNS na tieto poolove adresy vrati mnozstvo adries napr:</div><div>dodo@tatry:~$ nslookup <a href="http://0.cz.pool.ntp.org">0.cz.pool.ntp.org</a><br>Server: 127.0.0.53<br>Address: 127.0.0.53#53<br><br>Non-authoritative answer:<br>Name: <a href="http://0.cz.pool.ntp.org">0.cz.pool.ntp.org</a><br>Address: 80.79.25.111<br>Name: <a href="http://0.cz.pool.ntp.org">0.cz.pool.ntp.org</a><br>Address: 81.27.192.20<br>Name: <a href="http://0.cz.pool.ntp.org">0.cz.pool.ntp.org</a><br>Address: 217.30.75.147<br>Name: <a href="http://0.cz.pool.ntp.org">0.cz.pool.ntp.org</a><br>Address: 46.105.218.141<br><br>dodo@tatry:~$ nslookup <a href="http://1.cz.pool.ntp.org">1.cz.pool.ntp.org</a><br>Server: 127.0.0.53<br>Address: 127.0.0.53#53<br><br>Non-authoritative answer:<br>Name: <a href="http://1.cz.pool.ntp.org">1.cz.pool.ntp.org</a><br>Address: 162.159.200.1<br>Name: <a href="http://1.cz.pool.ntp.org">1.cz.pool.ntp.org</a><br>Address: 94.124.107.190<br>Name: <a href="http://1.cz.pool.ntp.org">1.cz.pool.ntp.org</a><br>Address: 147.251.48.140<br>Name: <a href="http://1.cz.pool.ntp.org">1.cz.pool.ntp.org</a><br>Address: 89.221.216.187<br><br>dodo@tatry:~$ nslookup <a href="http://2.cz.pool.ntp.org">2.cz.pool.ntp.org</a><br>Server: 127.0.0.53<br>Address: 127.0.0.53#53<br><br>Non-authoritative answer:<br>Name: <a href="http://2.cz.pool.ntp.org">2.cz.pool.ntp.org</a><br>Address: 109.248.43.233<br>Name: <a href="http://2.cz.pool.ntp.org">2.cz.pool.ntp.org</a><br>Address: 37.187.104.44<br>Name: <a href="http://2.cz.pool.ntp.org">2.cz.pool.ntp.org</a><br>Address: 162.159.200.123<br>Name: <a href="http://2.cz.pool.ntp.org">2.cz.pool.ntp.org</a><br>Address: 213.192.54.227<br>Name: <a href="http://2.cz.pool.ntp.org">2.cz.pool.ntp.org</a><br>Address: 2a00:e140::123<br>Name: <a href="http://2.cz.pool.ntp.org">2.cz.pool.ntp.org</a><br>Address: 2001:718:801:230::8c<br>Name: <a href="http://2.cz.pool.ntp.org">2.cz.pool.ntp.org</a><br>Address: 2001:41d0:a:382c::1<br>Name: <a href="http://2.cz.pool.ntp.org">2.cz.pool.ntp.org</a><br>Address: 2a02:8300:8000:4:214:5eff:fe7e:4bfc<br></div><div><br></div><div>Ak nastavim NTP klienta na tieto 3 poolove adresy, tak NTP klient rozlozi poolove adresy na IP adresy - teda jednotlive servery a zobrazi napr takto:</div><div><br></div><div>dodo@tatry:~$ ntpq -c peer<br> remote refid st t when poll reach delay offset jitter<br>==============================================================================<br> 0.cz.pool.ntp.o .POOL. 16 p - 64 0 0.000 0.000 0.000<br> 1.cz.pool.ntp.o .POOL. 16 p - 64 0 0.000 0.000 0.000<br> 2.cz.pool.ntp.o .POOL. 16 p - 64 0 0.000 0.000 0.000<br> ntp44.kashra-se 192.168.100.15 2 u 1 64 17 52.245 -0.565 0.686<br>-<a href="http://a1.vnet.cx">a1.vnet.cx</a> .GPS. 1 u 11 64 17 30.496 3.162 0.101<br>-<a href="http://a11.vnet.cx">a11.vnet.cx</a> 217.30.75.147 2 u 9 64 17 31.375 2.772 0.271<br>-ntp1.karneval.c 195.113.144.201 2 u 11 64 17 29.866 1.055 0.417<br>-pyrrha.fi.muni. 195.141.190.190 2 u 6 64 17 34.248 4.376 0.349<br>-<a href="http://inter.tyjo.eu">inter.tyjo.eu</a> 217.31.202.100 2 u 7 64 17 49.948 12.178 8.797<br>+<a href="http://ntp.axfone.eu">ntp.axfone.eu</a> 195.113.144.238 2 u 9 64 17 29.208 2.510 0.486<br>+netopyr.hanacke 94.124.107.175 3 u 11 64 17 34.056 2.276 0.501<br>-time.cloudflare 10.114.8.177 3 u 8 64 17 31.601 -2.957 0.284<br> time.cloudflare 10.114.8.177 3 u 6 64 17 35.804 -1.573 0.568<br>*herbrand.noumic 193.190.230.37 2 u 8 64 17 49.280 2.238 0.533<br>+ntp.cz.altrosky 195.171.43.12 2 u 8 64 17 29.264 2.043 0.499<br> <a href="http://mail.jabu.cz">mail.jabu.cz</a> 81.25.28.124 2 u 4 64 17 35.352 1.091 0.639<br> 81.2.248.189 (h 195.113.144.201 2 u 5 64 17 32.725 2.453 0.561<br> vps.poljakovi.c 195.113.144.238 2 u 67 64 7 31.720 2.197 0.821<br> ntp31.kashra-se 192.168.100.15 2 u 64 64 3 42.600 -1.472 0.328<br> </div><div>Vsimnite si, ze to, co je nastavene ako pool ma stratum 16, jednotlive servery maju stratum nizsie. <br></div><div>Prvy stlpec je adresa servera ( reverse DNS z IP adries, ktore boli ziskane requestom na IP adresu z FQDN poolu )</div><div>Druhy stlpec (refid) je IP adresa, ktoru pouziva server ako svoju referencnu ( na ktoru sa server synchronizuje - a v jednom pripade tam je .GPS. )</div><div><br></div><div>Prvy znak ("znamienko") v riadku pred menom servera hovori o tom, ako sa sprava NTP klient k serveru <br></div><div><br></div><div>Pozrite si "Tally codes" napriklad tu:<br></div><div><a href="https://linux.die.net/man/8/ntpq">https://linux.die.net/man/8/ntpq</a></div><div><br></div><div>A v tom manuale najdete aj popis ostatnych stlpcov vypisu.</div><div><br></div><div>V prvom kroku nepouzite poolove adresy ako definicie adries serverov ( to je prva chyba konfiguracie), ale pouzite realne adresy napr. 3 vybranych rozdielnych serverov. Dajte si pozor, aby neboli synchronizovane na ten isty zdroj => tak budu nezavisle.</div><div><br></div><div>Pri spracovani si vyberte podla dasich parametrov ( stratum, delay, offset jitter... ) si vyberte jeden server a synchronizujte sa iba na tento server ( pokial navrati vyssi stratum, ako daval v minulosti ). Ked vrati vyssi stratum, znovu zbehnite proces vyberu jedneho serevera na synchronizaciu zo vsetkych nakonfigurovanych.</div><div><br></div><div>Konkretnemu serveru verte len vtedy, ak v pravidelnych otazkach ( napr 10 po sebe v intervaloch napr. po 64 sekund ) vrati cas, ktory sedi s predpokladanym (ocakavanym) casom a ostatne parametre neuleteli.</div><div><br></div><div>Treba si uvedomit, ze cas (cislo) v pakete je cas, ktory bol v case skaldania paketu na serveri. Delay, offset, jitter su dynamicke hodnoty, vznikajuce "po cesete", ktore mozu lietat aj 4 rady - napr. oneskorenie od 1 ms kludne do 10 sekund. <br></div><div>Aj ked vo vasej aplikacii to je jedno, pri vybere servera, ktory si vyberiete na synchronizaciu si vyberajte taky, ktory ma tie hodnoty priblizne rovnake <br> v kazdej odpovedi na request. Aj ked ma napr. stratum o :1: horsi. <br></div><div></div><div><br></div><div>Dodo<br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">ne 24. 7. 2022 o 11:40 Petr Zapadlo <<a href="mailto:zapik@email.cz">zapik@email.cz</a>> napísal(a):<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>Pool funguje na úrovni DNS, takže žádné průměry ani nečekám. Ale
při každém DNS dotazu na konkrétní pool dostávám různou IP adresu,
viz níže vždy trojice IP adres:</p>
<p><br>
</p>
<p>37.187.104.44 (pool 0)<br>
5.1.56.123 (pool 1)<br>
217.30.75.147 (pool 2)<br>
<br>
82.113.53.41<br>
213.32.40.221<br>
37.187.104.44<br>
<br>
46.105.218.141<br>
162.159.200.123<br>
51.89.33.100<br>
</p>
<p>Petr<br>
</p>
<p><br>
</p>
<div>Dne 24. 07. 22 v 11:26 Dodo Racek
napsal(a):<br>
</div>
<blockquote type="cite">
<div dir="auto">A este jedna rada.
<div dir="auto">NTP klient sice pooluje vsetky nastavene servey,
ale synchronizuje sa len na jeden, ktory si vyberie podla
ostatnych parametrov v komunikacii (stratum, delay, jitter...)
<div dir="auto"><br>
</div>
<div dir="auto">Nerobi priemery, ani nahodne, ci pravidelne
zmeny vyberu servera.</div>
<div dir="auto"><br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">Dodo</div>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">Dňa ne 24. 7. 2022, 11:18 Dodo
Racek <<a href="mailto:dodoracek@gmail.com" target="_blank">dodoracek@gmail.com</a>>
napísal(a):<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="auto">Ak sa da, tak si logujte datum a cas z vaseho
pocitania casu a co chcete nastavit. Napriklad na sd kartu
ako rotacny log, alebo na log server.
<div dir="auto"><br>
</div>
<div dir="auto">Podla zalogovanych hodnot, ktore chcete
nastavit sa mozno bude dat odhadnut ktorym smerom patrat. </div>
<div dir="auto">Napr. Sedia minuty a sekundy, ale nezedia
hodiny -> problem casove pasmo... atd.</div>
<div dir="auto"><br>
</div>
<div dir="auto">Dodo</div>
<div dir="auto"><br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">Dňa ne 24. 7. 2022, 10:22
Petr Zapadlo <<a href="mailto:zapik@email.cz" rel="noreferrer" target="_blank">zapik@email.cz</a>>
napísal(a):<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Zdravím,<br>
<br>
odečítá se od 1970 (unix time stamp), samotného mě
přkvapilo jak málo se <br>
z toho paketu vlastně využije. Ale přesnostně mi to bohatě
stačí (ani <br>
minuta není pro mě kritická míra). Podívám se co dalšího
by v tom paketu <br>
bylo ještě využitelného - minimálně kontrola Stratum by
stála za úvahu.<br>
<br>
Zatím jsem udělal to, že jsem dopsal důslednou kontrolu
délek paketu a <br>
jeho čtení. Tak uvidím co to bude dělat, problém je v tom,
že mi bude <br>
dost dlouho trvat než ověřím, že to skutečně bylo řešení.<br>
<br>
Petr<br>
<br>
Dne 24. 07. 22 v 8:47 Miroslav Mraz napsal(a):<br>
> Tohle zřejmě někdo převzal přímo z arduina - <br>
> <a href="https://www.arduino.cc/reference/en/libraries/ntpclient/" rel="noreferrer noreferrer noreferrer" target="_blank">https://www.arduino.cc/reference/en/libraries/ntpclient/</a>.
Je to <br>
> napsané celé blbě. Autor zřejmě netuší, že existuje
něco jako <br>
> stdint.h, zcela zbytečně používá u členských dat
this-> (vy to tam už <br>
> nemáte) - zřejmě je zvyklý na python nebo javascript.
Z přijatého <br>
> paketu jen převezme počet sekund od nějakého data.
Nebudu zkoumat, <br>
> jestli to má být rok 1900 (jak tam píše) nebo spíš
1970 (unix <br>
> timestamp), podstatné je, že spoustu informací z toho
paketu prostě <br>
> zahodí. Chtělo by to paket podrobně prozkoumat a
pokud v něm budou <br>
> blbosti, tak ho prostě ignorovat.<br>
><br>
> Mrazík<br>
><br>
> On 24. 07. 22 5:34, Petr Zapadlo wrote:<br>
>> Zdravím, odpovím tak nějak hromadně všem v jedné
zprávě.<br>
>><br>
>> Ne, read návratový kod neošetřuje - dobrý nápad -
read by mělo vrátit <br>
>> počet byte paketu - zkusím kontrolovat, to by
mohlo pomoci na nějaké <br>
>> fake pakety.<br>
>><br>
>> Interní čas počítám a synchro dělám jednou za 12
hodin a při startu, <br>
>> nejede mi tam nic kritického abych musel
implementovat časový fázový <br>
>> závěs (jestli se rybičkám rozsvítí o vteřinu dřív
anebo později je <br>
>> jedno :-)).<br>
>><br>
>> Jako časový server používám české pooly NTP
serverů:<br>
>><br>
>> String ntp_hosts[NUM_NTP] <br>
>> ={"<a href="http://0.cz.pool.ntp.org" rel="noreferrer noreferrer noreferrer" target="_blank">0.cz.pool.ntp.org</a>","<a href="http://1.cz.pool.ntp.org" rel="noreferrer
noreferrer noreferrer" target="_blank">1.cz.pool.ntp.org</a>","<a href="http://2.cz.pool.ntp.org" rel="noreferrer
noreferrer noreferrer" target="_blank">2.cz.pool.ntp.org</a>"};<br>
>><br>
>> Prakticky to znamená, že každé čtení jde proti
jinému NTP serveru.<br>
>><br>
>> Celé jsou to zkoušel ve vlaku LEO Express do
Prahy - Leoš má dost <br>
>> blbou wifi, takže o výpadky tam není nouze,
stejně tak o latenci <br>
>> paketů jdoucí až >15s, měl jsem upravenou
synchronizaci aby to šlo <br>
>> co pár vteřin a ani jednou to nezablblo. Říkal
jsem si, že blbější <br>
>> situace už nenastane :-) (A nastala)<br>
>><br>
>> Díky<br>
>><br>
>> Petr<br>
>><br>
> _______________________________________________<br>
> HW-list mailing list - sponsored by <a href="http://www.HW.cz" rel="noreferrer noreferrer
noreferrer" target="_blank">www.HW.cz</a><br>
> <a href="mailto:Hw-list@list.hw.cz" rel="noreferrer
noreferrer" target="_blank">Hw-list@list.hw.cz</a><br>
> <a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer noreferrer noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
_______________________________________________<br>
HW-list mailing list - sponsored by <a href="http://www.HW.cz" rel="noreferrer noreferrer
noreferrer" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" rel="noreferrer
noreferrer" target="_blank">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer noreferrer noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</blockquote>
</div>
</blockquote>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
HW-list mailing list - sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
</blockquote>
</div>
_______________________________________________<br>
HW-list mailing list - sponsored by <a href="http://www.HW.cz" rel="noreferrer" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</blockquote></div>