Sincronización de tiempo sin Internet

Sincronización de tiempo sin Internet

Además de tcp/ip, existen muchas formas de sincronización de tiempo. Algunas de ellas solo requieren un teléfono común, mientras que otras requieren equipos electrónicos costosos, raros y sensibles. La amplia infraestructura de sistemas de sincronización de tiempo incluye observatorios, institutos estatales, estaciones de radio, constelaciones de satélites y mucho más.

Hoy les contaré cómo funciona la sincronización de tiempo sin internet y cómo hacer un servidor NTP “satélital” por su cuenta.

Radiodifusión en ondas cortas

En los Estados Unidos, el NIST transmite tiempo y frecuencia precisos a través de ondas de radio de 2.5, 5, 10, 15 y 20 MHz desde la estación WWVH en Fort Collins, Colorado, y en frecuencias de 2.5, 5, 10 y 15 MHz desde la estación WWVH en Kauai, Hawái. El código horario se transmite a través de intervalos de 60 segundos a una velocidad de 1 b/s utilizando modulación por ancho de pulso en una portadora de 100 Hz.

El Consejo Nacional de Investigación (NRC) de Canadá distribuye información de tiempo y frecuencia en 3.33, 7.85 y 14.67 MHz desde la estación CHU en Ottawa, provincia de Ontario.

Sincronización de tiempo sin Internet
Formato de transmisión de WWVH

La propagación de la señal desde las estaciones de ondas cortas generalmente ocurre mediante la reflexión de las capas superiores de la ionosfera. Las transmisiones de señal pueden ser recibidas a grandes distancias, sin embargo, la precisión del tiempo es del orden de un milisegundo.

El estándar actual NTPv4 incluye controladores de audio para WWV, WWVH y CHU.

Radiodifusión en ondas largas

El NIST también transmite tiempo y frecuencia precisos a través de ondas de radio largas en 60 kHz desde Boulder, Colorado. Existen otras estaciones que transmiten señales de tiempo exacto en ondas largas.

Llamadas y ubicación
Frecuencia (kHz)
Potencia (kW)

WWVB Fort Collins, Colorado, EE. UU.
60
50

DCF77 Mainflingen, Alemania
77.5
30

MSF Rugby, Reino Unido
60>
50

HBG Prangins, Suiza
75
20

JJY Fukushima, Japón
40
50

JJY Saga, Japón
60
50

Estaciones de Tiempo de Baja Frecuencia

El código de tiempo se transmite en intervalos de 60 segundos a una velocidad de 1 b/s, de la misma manera que en las estaciones de onda corta. Los formatos de transmisión de datos también son similares para ambos estándares. La propagación de la señal ocurre a través de las capas inferiores de la ionosfera, que son relativamente estables y tienen fluctuaciones diarias de altura previsibles. Gracias a esta previsibilidad del medio físico, la precisión se eleva a 50 μs.

Sincronización de tiempo sin Internet
Formato de transmisión WWVB

Satélite geoestacionario de operación para la observación del medio ambiente

En EE. UU., el NIST también transmite datos sobre la hora y frecuencia exactas aproximadamente en 468 MHz desde satélites geoestacionarios de operación ambiental (GOES). El código de tiempo se alterna con mensajes utilizados para interrogar sensores remotos. Consiste en 60 semibytes BCD, transmitidos en intervalos de 30 s. La información del código de tiempo es similar a los servicios terrestres.

Sistemas de posicionamiento global

El Departamento de Defensa de EE. UU. utiliza GPS para una navegación precisa en tierra, mar y aire. Este sistema proporciona cobertura de 24 horas en todo el mundo a través de una constelación de satélites en órbitas de 12 horas, inclinadas a 55°.

La constelación inicial de 24 satélites se ha ampliado a 31 satélites en una configuración no homogénea, de modo que al menos 6 satélites siempre están en el campo de visión, y 8 o más satélites son visibles en la mayor parte del mundo.

Servicios similares al GPS son operados o planificados por otros países. GLONASS de Rusia ha estado funcionando durante más de una década, comenzando desde el 2 de septiembre de 2010, cuando se alcanzó un total de 26 satélites: la constelación se desplegó completamente para una cobertura total de la Tierra.

Sincronización de tiempo sin Internet
Satélites GPS alrededor del mundo.

El sistema de navegación por satélite de la Unión Europea se llama 'Galileo'. Se esperaba que 'Galileo' comenzara a funcionar entre 2014 y 2016, cuando se lanzaran todos los 30 satélites planificados. Sin embargo, para 2018, la constelación de 'Galileo' aún no había alcanzado la cantidad necesaria de dispositivos.

También existe el "Beidou" chino, que en traducción significa "ballena". Este sistema, compuesto por 16 satélites, fue lanzado a explotación comercial el 27 de diciembre de 2012 como un sistema de posicionamiento regional. Se espera que el sistema esté completamente operativo para 2020. Justo hoy, en Habr, se publicó Windows, sobre el exitoso lanzamiento del satélite de este sistema.

Matemáticas para determinar coordenadas mediante RSN

¿Cómo determina un navegador GPS/Glonass en su smartphone la ubicación con tal precisión usando el sistema de comunicación por radio navegación (RSN)? Para entender el principio de los cálculos, es necesario recordar algunos conceptos de estereometría y álgebra de los últimos años de la secundaria o de un colegio de física y matemáticas.

Cada satélite informa al receptor la hora exacta. Los satélites tienen relojes atómicos y, por lo tanto, se les puede confiar. Conociendo la velocidad de la luz, no es difícil determinar el radio de la esfera en la que se encuentra el satélite. Esta esfera, al tocar la Tierra, forma un círculo donde se halla el receptor GPS / Glonass.

Cuando la señal llega de dos satélites, ya tenemos la intersección de la Tierra con dos esferas, lo que da solo dos puntos en el círculo. La esfera de un tercer satélite debería, idealmente, caer en uno de esos dos puntos, determinando finalmente las coordenadas del receptor.

En principio, incluso con dos satélites, a través de indicios indirectos se puede entender cuál de los dos puntos está más cerca de la verdad, y los algoritmos modernos de software de navegación pueden manejar tal tarea. ¿Por qué entonces necesitamos un cuarto satélite?

Sincronización de tiempo sin Internet
Determinación de la ubicación mediante una constelación de satélites.

No es difícil notar que en esta imagen idealizada hay muchos matices que afectan la precisión de los cálculos. La hora en el receptor es, probablemente, la fuente más obvia de errores. Para que todo funcione como debería, la hora del receptor GPS / Glonass debe estar sincronizada con la hora del satélite. Sin esto, el error sería ∓ 100 mil km.

De la fórmula de velocidad, tiempo y distancia S = v*t, obtenemos la ecuación básica para la transmisión de la señal RSN. La distancia al satélite es igual al producto de la velocidad de la luz por la diferencia de tiempo entre el satélite y el receptor.

Sincronización de tiempo sin Internet

Principalmente esto ocurre debido a que, incluso después de todas las sincronizaciones, el tiempo en el receptor t_pr lo conocemos con un grado suficiente de precisión. Siempre habrá un Δt entre el tiempo verdadero y t_pr, debido a lo cual el margen de error en los cálculos se vuelve inaceptable. Por eso es necesario cuarto un satélite.

Para proporcionar un fundamento matemático más claro de la necesidad de cuatro satélites, estableceremos un sistema de ecuaciones.

Sincronización de tiempo sin Internet

Para determinar las cuatro incógnitas x, y, z y Δt, es necesario que el número de observaciones sea igual o mayor que el número de incógnitas. Esta es una condición necesaria, aunque no suficiente. Si la matriz de ecuaciones normales resulta ser degenerada, el sistema de ecuaciones no tendrá solución.

También hay que recordar la Teoría de la Relatividad Especial y los efectos relativistas de dilatación del tiempo en los relojes atómicos de los satélites en comparación con los terrestres.

Sincronización de tiempo sin Internet

Si consideramos que el satélite se desplaza en una órbita a una velocidad de 14 mil km/h, obtenemos una dilatación del tiempo de aproximadamente 7 μs (microsegundos). Por otra parte, también existen los efectos relativistas de la Teoría General de la Relatividad.

El asunto es el siguiente: los satélites en órbita están a una gran distancia de la Tierra, donde la curvatura del continuo espacio-temporal es menor que en la superficie terrestre debido a la masa de la Tierra. Según la TGR, el ritmo de los relojes situados más cerca de un objeto masivo parecerá más lento que el de aquellos que se encuentran más lejos de él.

Sincronización de tiempo sin Internet

  • G — constante de gravitación;
  • M — masa del objeto, en este caso, la Tierra;
  • r — distancia desde el centro de la Tierra hasta el satélite;
  • c — velocidad de la luz.

El cálculo mediante esta fórmula da una dilatación del tiempo de 45 μs en el satélite. En total, -7μs +45μs = 38μs de balance — efectos de la TCR y la TGR.

En problemas prácticos de determinación de la ubicación mediante GNSS, también se deben considerar los retrasos ionosféricos y troposféricos. Además, las correcciones de 46 ns están relacionadas con la excentricidad de 0.02 de las órbitas de los satélites GPS.

La posibilidad de recibir señales simultáneamente de más de cuatro satélites GPS / GLONASS permite aumentar aún más la precisión en la determinación de las coordenadas del receptor. Esto se logra porque el navegador resuelve un sistema de cuatro ecuaciones con cuatro incógnitas. Sincronización de tiempo sin Internet número de veces y toma el valor promedio, aumentando la precisión de la evaluación final de acuerdo con las leyes de la estadística matemática.

Cómo configurar un servidor NTP Stratum 1 a través de comunicación por satélite

Para configurar un servidor de tiempo de alta calidad, solo se necesita GPSD, NTP y un receptor GPS con salida 1PPS (un pulso por segundo).

1. Instale gpsd y ntpd, o gpsd y chronyd. La versión de gpsd debe ser ≥ 3.20

(1:1109)$ sudo emerge -av gpsd chrony

La copia local del índice remoto está actualizada y se utilizará.

Calculando dependencias... hecho!

[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 paquetes (3 nuevos, 3 binarios), tamaño de las descargas: 1275 KiB

¿Te gustaría fusionar estos paquetes? [Sí/No]

2. Conecte el receptor GPS que soporte PPS al puerto RS232 o USB.

Un receptor GPS común y barato no servirá; puede que tenga que buscar un poco para encontrar uno adecuado.

3. Asegúrese de que el dispositivo realmente emite PPS, para ello verifique el puerto con la utilidad gpsmon.

4. Abra el archivo /etc/conf.d/gpsd y edite la siguiente línea.

Reemplazar

GPSD_OPTIONS=""

por

GPSD_OPTIONS="-n"

Este cambio es necesario para que gpsd comience a buscar fuentes GNSS inmediatamente al iniciarse.

5. Inicie o reinicie gpsd.

(1:110)$ sudo /etc/init.d/gpsd start
(1:111)$ sudo /etc/init.d/gpsd restart

Para distribuciones con systemd, use el comando systemctl correspondiente.

6. Verifique la salida de la consola del comando cgps.

Necesita asegurarse de que los datos llegan correctamente de los satélites. En la consola debe haber algo similar a la ilustración.

Sincronización de tiempo sin Internet
Salida de la consola del comando cgps.

7. Es hora de editar el archivo /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

La entrada superior NTP0 indica una fuente de tiempo universal disponible en casi todos los dispositivos GPS. La entrada inferior NTP1 define una fuente PPS mucho más precisa.

8. Reinicie ntpd.

(1:112)$ sudo /etc/init.d/ntpd restart

Para distribuciones con systemd, use el comando systemctl.
$ sudo systemctl restart ntp

Materiales utilizados

Sincronización de tiempo sin Internet

Sincronización de tiempo sin Internet

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster