<div dir="ltr"><div>a po case sa NTP klient dosynchronizuje na "najpresnejsi" server <br></div><div><br></div><div>root@tatry:/etc# ntpq -c peers<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>*<a href="http://a1.vnet.cx">a1.vnet.cx</a>      .GPS.            1 u   94  128  377   29.470   -1.106   0.420<br>+<a href="http://a11.vnet.cx">a11.vnet.cx</a>     217.30.75.147    2 u   32  128  377   30.849   -0.743   0.223<br>-<a href="http://inter.tyjo.eu">inter.tyjo.eu</a>   217.31.202.100   2 u   94  128  377   30.739   -0.392   0.228<br>-herbrand.noumic 193.190.230.37   2 u  219  256  377   48.897   -1.323   0.309<br>-ntp.cz.altrosky 80.79.25.111     3 u  202  256  377   29.016   -1.343   0.196<br>+81.2.248.189 (h 195.113.144.201  2 u   71  128  377   32.606   -0.765   0.171<br>-vps.poljakovi.c 195.113.144.238  2 u   80  128  377   30.958   -0.728   0.304<br>root@tatry:/etc# <br></div><div><br></div><div></div><div>Porovnajte si riadky, ktore zacinaju "*" z minuleho vypisu a z terajsieho.</div><div>* ako prvy znak vo vypise znamena, ze klient sa synchronizjue na tento server.</div><div><br></div><div>Dodo<br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">ne 24. 7. 2022 o 13:20 Dodo Racek <<a href="mailto:dodoracek@gmail.com">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="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" target="_blank">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" target="_blank">0.cz.pool.ntp.org</a><br>Address: 80.79.25.111<br>Name:  <a href="http://0.cz.pool.ntp.org" target="_blank">0.cz.pool.ntp.org</a><br>Address: 81.27.192.20<br>Name:  <a href="http://0.cz.pool.ntp.org" target="_blank">0.cz.pool.ntp.org</a><br>Address: 217.30.75.147<br>Name: <a href="http://0.cz.pool.ntp.org" target="_blank">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" target="_blank">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" target="_blank">1.cz.pool.ntp.org</a><br>Address: 162.159.200.1<br>Name: <a href="http://1.cz.pool.ntp.org" target="_blank">1.cz.pool.ntp.org</a><br>Address: 94.124.107.190<br>Name:        <a href="http://1.cz.pool.ntp.org" target="_blank">1.cz.pool.ntp.org</a><br>Address: 147.251.48.140<br>Name:        <a href="http://1.cz.pool.ntp.org" target="_blank">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" target="_blank">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" target="_blank">2.cz.pool.ntp.org</a><br>Address: 109.248.43.233<br>Name:        <a href="http://2.cz.pool.ntp.org" target="_blank">2.cz.pool.ntp.org</a><br>Address: 37.187.104.44<br>Name: <a href="http://2.cz.pool.ntp.org" target="_blank">2.cz.pool.ntp.org</a><br>Address: 162.159.200.123<br>Name:       <a href="http://2.cz.pool.ntp.org" target="_blank">2.cz.pool.ntp.org</a><br>Address: 213.192.54.227<br>Name:        <a href="http://2.cz.pool.ntp.org" target="_blank">2.cz.pool.ntp.org</a><br>Address: 2a00:e140::123<br>Name:        <a href="http://2.cz.pool.ntp.org" target="_blank">2.cz.pool.ntp.org</a><br>Address: 2001:718:801:230::8c<br>Name:  <a href="http://2.cz.pool.ntp.org" target="_blank">2.cz.pool.ntp.org</a><br>Address: 2001:41d0:a:382c::1<br>Name:   <a href="http://2.cz.pool.ntp.org" target="_blank">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" target="_blank">a1.vnet.cx</a>      .GPS.            1 u   11   64   17   30.496    3.162   0.101<br>-<a href="http://a11.vnet.cx" target="_blank">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" target="_blank">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" target="_blank">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" target="_blank">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" target="_blank">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" 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">
  
    
  
  <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>
</blockquote></div>