Pe lângă tcp/ip, există multe metode de sincronizare a timpului. Unele dintre acestea necesită doar un telefon obișnuit, în timp ce altele necesită echipamente electronice costisitoare, rare și sensibile. Infrastructura extinsă a sistemelor de sincronizare a timpului include observații, institute guvernamentale, stații de radio, constelații de sateliți și multe altele.
Astăzi vă voi arăta cum funcționează sincronizarea timpului fără internet și cum să construiți un server NTP „satellite” cu mâinile tale.
Radiodifuziune pe unde scurte
În Statele Unite ale Americii, NIST transmite ora exactă și frecvența pe unde de radio de 2,5, 5, 10, 15 și 20 MHz de la stația WWVH din Fort Collins, Colorado, și pe frecvențele de 2,5, 5, 10 și 15 MHz de la stația WWVH din Kauai, Hawaii. Codul temporal este transmis printr-un interval de 60 de secunde la o viteză de 1 b/s, folosind modulare de amplitudine în lungime de undă cu un subport de 100 Hz.
Consiliul Național de Cercetare (NRC) din Canada distribuie informații despre timp și frecvență pe frecvențele de 3,33, 7,85 și 14,67 MHz de la stația CHU din Ottawa, provincia Ontario.

Formatul de difuzare WWVH
Distribuția semnalului de la stațiile pe unde scurte se realizează de obicei prin reflexie din straturile superioare ale ionosferei. Transmisiile de semnal pot fi primite pe distanțe mari; cu toate acestea, acuratețea timpului este de aproximativ o milisecundă.
Standardul curent NTPv4 include drivere audio pentru WWV, WWVH și CHU.
Radiodifuziune pe unde lungi
NIST transmite, de asemenea, ora exactă și frecvența pe unde lungi de radio la 60 kHz din Boulder, Colorado. Există și alte stații care transmit semnale de timp exact pe unde lungi.
Semnalele și locația
Frecvența (kHz)
Puterea (kW)
WWVB Fort Collins, Colorado, SUA
60
50
DCF77 Mainflingen, Germania
77.5
30
MSF Rugby, Regatul Unit
60>
50
HBG Prangins, Elveția
75
20
JJY Fukushima, Japonia
40
50
JJY Saga, Japonia
60
50
Stații de frecvență joasă pentru Timp Standard
Codul temporal este transmis printr-un interval de 60 de secunde la o viteză de 1 b/s, exact așa cum se întâmplă la stațiile de unde scurte. Formatele de transmisie a datelor sunt de asemenea similare pentru ambele standarde. Răspândirea semnalului are loc prin straturile inferioare ale ionosferei, care sunt relativ stabile și au oscilații zilnice previzibile ale înălțimii. Datorită acestei previzibilități a mediei fizice, acuratețea este îmbunătățită la 50 μs.

Formatul de broadcast WWVB
Satellit geostaționar operațional de observație a mediului
În SUA, NIST transmite de asemenea date despre timpul și frecvența precise pe aproximativ 468 MHz de pe sateliți geostaționari de observație a mediului (GOES). Codul temporal este alternat cu mesajele utilizate pentru interogarea senzorilor la distanță. Acesta constă din 60 de semibite BCD, transmise la intervale de 30 s. Informațiile codului temporal sunt similare cu cele ale serviciilor terestre.
Sisteme de localizare globală
Ministerul Apărării al SUA folosește GPS pentru navigare precisă pe uscat, pe mare și în aer. Acest sistem oferă o acoperire globală de 24 de ore printr-o constelație de sateliți pe orbite de 12 ore, inclinate la un unghi de 55°.
Constelația inițială de 24 de sateliți a fost extinsă la 31 de sateliți într-o configurație neomogenă, astfel încât cel puțin 6 sateliți sunt întotdeauna în câmpul vizual, iar 8 sau mai mulți sateliți sunt vizibili în cea mai mare parte a lumii.
Serviciile similare cu GPS sunt operate sau planificate de alte țări. GLONASS-ul rus funcționează deja de peste un deceniu, contando din 2 septembrie 2010, când numărul total de sateliți a fost crescut la 26 — constelația a fost complet desfășurată pentru o acoperire completă a Pământului.

Sateliți GPS în jurul globului.
Sistemul de navigație prin satelit al Uniunii Europene se numește «Galileo». Se aștepta ca «Galileo» să înceapă să funcționeze între 2014 și 2016, când toate cele 30 de sateliți planificați vor fi lansate pe orbită. Însă, până în 2018, constelația «Galileo» nu a atins numărul necesar de aparate.
Există și sistemul chinezesc „Beidou”, care înseamnă „bătaie” în traducere. Grupul, compus din 16 sateliți, a fost lansat în exploatare comercială pe 27 decembrie 2012, ca un sistem regional de poziționare. Se estimează că sistemul va deveni complet funcțional până în 2020. De fapt, astăzi, pe Habra a apărut , despre lansarea de succes a satelitului acestui sistem.
Matematica determinării coordonatelor prin SRNS
Cum determină un navigator GPS/GLONASS pe smartphone-ul dvs. locația cu o astfel de precizie folosind sistemul de comunicație radio de navigație (SRNS)? Pentru a înțelege principiul calculului, trebuie să ne amintim de stereometrie și algebră din anii superiori ai liceului sau ai unei școli de fizică și matematică.
Fiecare satelit comunică receptorului ora exactă. Sateliții au ceasuri atomice, așa că putem avea încredere în ei. Cunoașterea vitezei luminii face ușor de determinat raza sferei pe suprafața căreia se află satelitul. Această sferă, contactând Pământul, formează un cerc, pe care se află receptorul GPS/GLONASS.
Când semnalul sosește de la două sateliți, avem deja o intersecție a Pământului și a două sfere, care oferă doar două puncte pe cerc. Ideal, sfera celui de-al treilea satelit ar trebui să cadă în unul dintre aceste două puncte, determinând în mod decisiv coordonatele receptorului.
În principiu, chiar și cu două sateliți, pe baza unor semne indirecte, se poate înțelege care dintre cele două puncte este mai aproape de adevăr, iar algoritmii moderni de software de navigație pot gestiona o astfel de sarcină. De ce avem, așadar, nevoie de un al patrulea satelit?

Determinarea locației prin intermediul grupării de sateliți.
Nu este greu de observat că în această imagine idealizată există multe nuanțe care influențează precizia calculului. Timpul pe receptor este, poate, cea mai evidentă sursă de erori. Pentru ca totul să funcționeze corect, receptorul GPS/GLONASS trebuie să fie sincronizat cu timpul satelitului. Fără aceasta, eroarea ar fi de ± 100.000 km.
Din formula vitezei, timpului și distanței S = v*t obținem ecuația de bază pentru transmiterea semnalului SRNS. Distanța până la satelit este egală cu produsul vitezei luminii și diferența de timp între satelit și receptor.

În principal, acest lucru se datorează faptului că, chiar și după toate sincronizările, timpul pe receptor tpr este cunoscut cu o precizie suficientă. Între timpul real și tpr va exista întotdeauna un Δt, din cauza căruia eroarea calculului devine inacceptabilă. De aceea, este necesar al patrulea un satelit.
Pentru o fundamentare matematică mai clară a necesității celor patru sateliți, vom construi un sistem de ecuații.

Pentru a determina cele patru necunoscute x, y, z și Δt, numărul observațiilor trebuie să fie egal sau mai mare decât numărul necunoscutelor. Aceasta este o condiție necesară, dar insuficientă. Dacă matricea ecuațiilor normale se dovedește a fi degenerată, sistemul de ecuații nu va avea soluții.
De asemenea, nu trebuie uitată Teoria Specială a Relativității și efectele relativiste ale încetinirii timpului pe ceasurile atomice ale sateliților în raport cu cele terestre.

Dacă presupunem că satelitul se află pe o orbită cu o viteză de 14.000 km/h, obținem o încetinire a timpului de aproximativ 7 μs (microsecunde). Pe de altă parte, acționează efectele relativiste ale Teoriei Generale a Relativității.
Problema este că sateliții de pe orbite se află la o distanță mare de Pământ, unde curvatura continumului spațiu-timp este mai mică decât pe suprafața terestră din cauza masei Pământului. Conform TGR, mersul ceasurilor situate mai aproape de un obiect masiv va părea mai lent decât al celor aflate mai departe de acesta.

- G — constanta gravitațională;
- M — masa obiectului, în acest caz Pământul;
- r — distanța de la centrul Pământului până la satelit;
- c — viteza luminii.
Calculul prin această formulă dă o încetinire a timpului de 45 μs pe satelit. În total -7μs + 45μs = 38μs echilibru — efectele TGR și TGR.
În problemele practice de determinare a poziției prin GPS, trebuie luate în considerare întârzierile ionosferice și troposferice. În plus, corectările de 46 ns sunt legate de excentricitatea de 0.02 a orbitei sateliților GPS.
Posibilitatea de a primi semnale de la mai mult de patru sateliți GPS / GLONASS permite, de asemenea, creșterea și mai mult a preciziei determinării coordonatelor receptorului. Acest lucru se realizează prin faptul că navigatorul rezolvă sistemul de patru ecuații cu patru necunoscute.
numărul de ori și ia media, crescând precizia evaluării finale conform legilor statisticii matematice.
Cum să configurezi un server NTP Stratum 1 prin satelit
Pentru a configura un server de timp de înaltă calitate, ai nevoie doar de GPSD, NTP și un receptor GPS, cu ieșire 1PPS (un impuls pe secundă).
1. Instalează gpsd și ntpd sau gpsd și chronyd. Versiunea gpsd trebuie să fie ≥ 3.20
(1:1109)$ sudo emerge -av gpsd chrony
Copie locală a indexului la distanță este actualizată și va fi utilizată.
Calcularea dependențelor... gata!
[binary N ] net-misc/pps-tools-0.0.20120407::gentoo 31 KiB
[binary N ] net-misc/chrony-3.5-r2::gentoo USE="adns caps cmdmon ipv6 ntp phc readline refclock rtc seccomp (-html) -libedit -pps (-selinux)" 246 KiB
[binary N ] sci-geosciences/gpsd-3.17-r3:0/23::gentoo USE="X bluetooth cxx dbus ipv6 ncurses python shm sockets udev usb -debug -latency-timing -ntp -qt5 -static -test" GPSD_PROTOCOLS="aivdm ashtech earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 navcom ntrip oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tnt tripmate tsip ublox -fury -geostar -nmea0183 -nmea2000 -passthrough" PYTHON_TARGETS="python2_7" 999 KiB
Total: 3 pachete (3 noi, 3 binare), Dimensiunea descărcărilor: 1275 KiB
Vrei să îmbini aceste pachete? [Da/Nu]2. Conectează receptorul GPS compatibil cu PPS la portul serial RS232 sau USB.
Un receptor GPS obișnuit și ieftin nu va funcționa; s-ar putea să fie necesar să cauți puțin pentru a găsi unul adecvat.
3. Asigură-te că dispozitivul emite cu adevărat PPS, verifică acest lucru cu utilitarul gpsmon.
4. Deschide fișierul /etc/conf.d/gpsd și editează următoarea linie.
Schimbă
GPSD_OPTIONS=""în
GPSD_OPTIONS="-n"Această modificare este necesară pentru ca gpsd să înceapă imediat căutarea surselor GNSS la pornire.
5. Lansează sau repornește gpsd.
(1:110)$ sudo /etc/init.d/gpsd start
(1:111)$ sudo /etc/init.d/gpsd restart
Pentru distribuții cu systemd, folosește comanda corespunzătoare systemctl.
6. Verifică outputul consolei comenzii cgps.
Trebuie să te asiguri că datele sunt primite corect de la sateliți. În consolă ar trebui să apară ceva similar cu ilustrația.

Outputul comenzii consolei cgps.
7. Este timpul să editezi fișierul /etc/ntp.conf.
# GPS Serial data reference (NTP0)
server 127.127.28.0
fudge 127.127.28.0 time1 0.9999 refid GPS
# GPS PPS reference (NTP1)
server 127.127.28.1 prefer
fudge 127.127.28.1 refid PPS
Înregistrarea NTP0 indică o sursă universală de timp, disponibilă pe aproape toate dispozitivele GPS. Înregistrarea NTP1 definește o sursă PPS mult mai precisă.
8. Reporneste ntpd.
(1:112)$ sudo /etc/init.d/ntpd restart Pentru distribuții cu systemd, folosește comanda systemctl.
$ sudo systemctl restart ntp
Materiale utilizate
- David L Mills, Protocolul de timp al rețelei pe Pământ și în spațiu, Ediția a doua.
Sursa: habr.com
