En plus du tcp/ip, il existe de nombreuses façons de synchroniser l'heure. Certaines nécessitent simplement un téléphone ordinaire, tandis que d'autres exigent un équipement électronique coûteux, rare et sensible. L'infrastructure étendue des systèmes de synchronisation temporelle comprend des observatoires, des instituts gouvernementaux, des stations radio, des constellations satellitaires et bien plus encore.
Aujourd'hui, je vais vous expliquer comment fonctionne la synchronisation de l'heure sans Internet et comment créer un serveur NTP "satellite" par vous-même.
Diffusion en ondes courtes
Aux États-Unis, le NIST transmet l'heure précise et la fréquence sur des ondes radio de 2,5, 5, 10, 15 et 20 MHz depuis la station WWVH à Fort Collins, Colorado, et sur des fréquences de 2,5, 5, 10 et 15 MHz depuis la station WWVH à Kauai, Hawaï. Le code temporel est transmis toutes les 60 secondes à une vitesse de 1 b/s, en utilisant une modulation d'impulsions en largeur sur une sous-porteuse de 100 Hz.
Le Conseil national de recherche (NRC) du Canada diffuse des informations temporelles et de fréquence sur 3,33, 7,85 et 14,67 MHz depuis la station CHU à Ottawa, province de l'Ontario.

Format de diffusion WWVH
La propagation des signaux des stations d'ondes courtes se fait généralement par réflexion des couches supérieures de l'ionosphère. Les transmissions peuvent être reçues sur de grandes distances, mais la précision de l'heure est de l'ordre de la milliseconde.
La norme actuelle NTPv4 inclut des pilotes audio pour WWV, WWVH et CHU.
Diffusion en ondes longues
Le NIST transmet également l'heure précise et la fréquence sur ondes longues à 60 kHz depuis Boulder, Colorado. Il existe d'autres stations de transmission de signaux temporels sur ondes longues.
Indicatifs et emplacement
Fréquence (kHz)
Puissance (kW)
WWVB Fort Collins, Colorado, États-Unis
60
50
DCF77 Mainflingen, Allemagne
77.5
30
MSF Rugby, Royaume-Uni
60>
50
HBG Prangins, Suisse
75
20
JJY Fukushima, Japon
40
50
JJY Saga, Japon
60
50
Stations de temps basse fréquence
Le code horaire est transmis par intervalles de 60 secondes à une vitesse de 1 b/s, tout comme sur les stations de radiodiffusion à ondes courtes. Les formats de transmission de données sont également similaires pour les deux normes. La propagation du signal se fait à travers les couches inférieures de l'ionosphère, qui sont relativement stables et présentent des fluctuations quotidiennes de hauteur prévisibles. Grâce à cette prévisibilité du milieu physique, la précision augmente jusqu'à 50 μs.

Format de diffusion WWVB
Satellite environnemental opérationnel géostationnaire
Aux États-Unis, le NIST transmet également des données sur l'heure exacte et la fréquence à environ 468 MHz à partir de satellites environnementaux opérationnels géostationnaires (GOES). Le code horaire alterne avec des messages utilisés pour interroger des capteurs distants. Il se compose de 60 octets demi-binaire BCD, transmis par intervalles de 30 secondes. Les informations de code horaire sont similaires aux services terrestres.
Systèmes de positionnement global
Le ministère de la Défense des États-Unis utilise le GPS pour une navigation précise sur terre, en mer et dans les airs. Ce système assure une couverture mondiale 24 heures sur 24 grâce à un réseau de satellites en orbite de 12 heures, inclinés sous un angle de 55°.
Le groupement initial de 24 satellites a été étendu à 31 satellites dans une configuration hétérogène, de sorte qu’au moins 6 satellites soient toujours à portée de vue, et 8 ou plusieurs satellites soient visibles dans la plupart des régions du monde.
Des services similaires au GPS sont exploités ou prévus par d'autres pays. Le GLONASS russe est en service depuis près de dix ans, depuis le 2 septembre 2010, quand le nombre total de satellites a été porté à 26 – le réseau a été entièrement déployé pour un couverture complète de la Terre.

Satellites GPS autour du globe.
Le système de navigation par satellite de l'Union Européenne s'appelle « Galileo ». On s'attendait à ce que « Galileo » commence à fonctionner entre 2014 et 2016, lorsque tous les 30 satellites prévus seraient mis en orbite. Mais à l'année 2018, le groupe de satellites « Galileo » n'avait pas encore atteint le nombre nécessaire d'appareils.
Il existe également le « BeiDou » chinois, qui se traduit par « baleine ». Ce système composé de 16 satellites a été mis en service commercial le 27 décembre 2012 en tant que système de positionnement régional. Il est prévu que le système atteigne sa pleine capacité d'ici 2020. Aujourd'hui, un article est paru sur Habr , concernant le lancement réussi d'un satellite de ce système.
Les mathématiques de la détermination des coordonnées par RNSS
Comment le GPS / GLONASS dans votre smartphone détermine-t-il votre position avec une telle précision grâce au système de communication radio-navigation (RNSS) ? Pour comprendre le principe des calculs, il faut se rappeler de la stéréométrie et de l'algèbre enseignées dans les classes supérieures du secondaire ou des écoles de mathématiques et de physique.
Chaque satellite communique l'heure exacte au récepteur. Les satellites sont équipés d'horloges atomiques et il est donc possible de leur faire confiance. En connaissant la vitesse de la lumière, il est facile de déterminer le rayon de la sphère sur laquelle se trouve le satellite. Cette sphère, en touchant la Terre, forme un cercle où se trouve le récepteur GPS / GLONASS.
Lorsque le signal arrive de deux satellites, nous avons déjà l'intersection de la Terre et de deux sphères, ce qui ne donne que deux points sur le cercle. La sphère du troisième satellite doit idéalement toucher l'un de ces deux points, déterminant ainsi définitivement les coordonnées du récepteur.
En principe, même avec deux satellites, on peut déterminer, par des indices indirects, lequel des deux points est le plus proche de la vérité, et les algorithmes modernes des logiciels de navigation peuvent s'acquitter de cette tâche. Pourquoi avons-nous alors besoin d'un quatrième satellite ?

Détermination de la position à l'aide d'un groupe de satellites.
Il est facile de remarquer que dans cette image idéalisée, il existe de nombreux éléments qui influencent la précision des calculs. Le temps sur le récepteur est sans doute la source d'erreurs la plus évidente. Pour que tout fonctionne correctement, l'heure du récepteur GPS / GLONASS doit être synchronisée avec l'heure du satellite. Sans cela, l'erreur atteindrait ± 100 000 km.
À partir de la formule de la vitesse, du temps et de la distance S = v*t, nous obtenons l'équation de base pour la transmission du signal RNSS. La distance au satellite est égale au produit de la vitesse de la lumière et de la différence de temps entre le satellite et le récepteur.

Cela survient principalement parce qu'après toutes les synchronisations, nous connaissons avec une précision suffisante le temps du récepteur tᵖʳ. Il existe toujours un Δt entre le temps réel et tᵖʳ, rendant l'erreur de calcul inacceptable. Voici pourquoi il est nécessaire quatrième un satellite.
Pour une justification mathématique plus claire de la nécessité de quatre satellites, établissons un système d'équations.

Pour déterminer les quatre inconnues x, y, z et Δt, il est nécessaire que le nombre d'observations soit égal ou supérieur au nombre d'inconnues. C'est une condition nécessaire mais insuffisante. Si la matrice des équations normales s'avère dégénérée, le système d'équations n'aura pas de solution.
Il ne faut pas non plus oublier la Théorie de la Relativité Restreinte et les effets relativistes de dilatation du temps sur les horloges atomiques des satellites par rapport à celles au sol.

Si l'on considère qu'un satellite se déplace sur une orbite à une vitesse de 14 000 km/h, on obtient un ralentissement du temps d'environ 7 μs (microsecondes). D'autre part, des effets relativistes de la Théorie de la Relativité Générale agissent également.
Le fait est que les satellites en orbite se trouvent à une grande distance de la Terre, où la courbure du continuum espace-temps est moindre par rapport à la surface terrestre en raison de la masse de la Terre. Selon la TRG, l'affichage des horloges situées plus près d'un objet massif semblera plus lent que celles situées plus loin.

- G — constante gravitationnelle;
- M — masse de l'objet, dans ce cas, la Terre;
- r — distance du centre de la Terre au satellite;
- c — vitesse de la lumière.
Le calcul avec cette formule donne un ralentissement du temps de 45 μs au satellite. Au total -7μs +45μs = 38μs, un équilibre entre les effets de la TRR et de la TRG.
Dans les applications de localisation utilisant le GPS, il est également nécessaire de tenir compte des retards ionosphériques et troposphériques. De plus, des corrections de 46 ns sont liées à l'excentricité de 0,02 de l'orbite des satellites GPS.
La possibilité de recevoir des signaux simultanément de plus de quatre satellites GPS / GLONASS permet d'augmenter davantage la précision de la détermination des coordonnées du récepteur. Cela est réalisé grâce à la résolution par le navigateur d'un système de quatre équations à quatre inconnues.
le nombre de fois et prend la valeur moyenne, augmentant la précision de l'évaluation finale conformément aux lois de la statistique mathématique.
Comment configurer un serveur NTP Stratum 1 via satellite
Pour configurer un serveur de temps de haute qualité, il suffit d'un GPSD, d'un NTP et d'un récepteur GPS avec sortie 1PPS (un impulsion par seconde).
1. Installez gpsd et ntpd, ou gpsd et chronyd. La version de gpsd doit être ≥ 3.20
(1:1109)$ sudo emerge -av gpsd chrony
La copie locale de l'index distant est à jour et sera utilisée.
Calcul des dépendances... fait !
[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 paquets (3 nouveaux, 3 binaires), Taille des téléchargements: 1275 KiB
Souhaitez-vous fusionner ces paquets ? [Oui/Non]2. Connectez le récepteur GPS avec support PPS à un port sériel RS232 ou USB.
Un récepteur GPS ordinaire bon marché ne conviendra pas ; il se peut que vous deviez chercher un moment pour en trouver un adapté.
3. Assurez-vous que l'appareil émet réellement un PPS, vérifiez le port avec l'outil gpsmon.
4. Ouvrez le fichier /etc/conf.d/gpsd et modifiez la ligne suivante.
Remplacer
GPSD_OPTIONS=""par
GPSD_OPTIONS="-n"Cette modification est nécessaire pour que gpsd commence immédiatement à rechercher les sources GNSS au démarrage.
5. Démarrez ou redémarrez gpsd.
(1:110)$ sudo /etc/init.d/gpsd start
(1:111)$ sudo /etc/init.d/gpsd restart
Pour les distributions avec systemd, utilisez la commande systemctl correspondante.
6. Vérifiez la sortie console de la commande cgps.
Vous devez vous assurer que les données arrivent correctement des satellites. La console devrait afficher quelque chose de similaire à l'illustration.

Sortie de la commande console cgps.
7. Il est temps de modifier le fichier /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
L'entrée supérieure NTP0 indique une source de temps universelle, disponible sur presque tous les appareils GPS. L'entrée inférieure NTP1 définit une source PPS beaucoup plus précise.
8. Redémarrez ntpd.
(1:112)$ sudo /etc/init.d/ntpd restart Pour les distributions avec systemd, utilisez la commande systemctl.
$ sudo systemctl restart ntp
Matériaux utilisés
- David L Mills, Le protocole de temps réseau sur Terre et dans l'espace, Deuxième édition.
Source : habr.com
