¿De dónde obtiene la hora mi computadora?
(dotat.at)- La hora de una computadora normalmente empieza en NTP, pero detrás hay una larga cadena de suministro que pasa por relojes de referencia, GPS, el Observatorio Naval de EE. UU. y los estándares internacionales de tiempo
- Los servidores NTP stratum 1 usan como reloj de referencia señales de radio como MSF o DCF77, o receptores GPS; en la práctica, GPS suele ser una fuente común
- Si se sigue el origen del tiempo de GPS, se llega a Schriever Space Force Base en Colorado, al US Naval Observatory Alternate Master Clock y al US Naval Observatory en Washington DC
- UTC es el estándar que busca alinear el tiempo de los relojes atómicos con la rotación de la Tierra, y el Bulletin C del IERS junto con el Circular T del BIPM gestionan los segundos intercalares y las diferencias con el UTC oficial
- La definición actual del segundo, basada en cesio, proviene del trabajo de calibración de 1955 a 1958 que conectó el reloj atómico de Louis Essen y Jack Parry, las observaciones astronómicas de William Markowitz y la señal horaria de radio WWV
La jerarquía del tiempo que empieza en NTP
- La respuesta más corta a de dónde obtiene la hora una computadora es NTP
- Pero los servidores NTP tampoco generan el tiempo por sí mismos; si se sigue el origen, aparecen varias capas
- NTP distribuye el tiempo con una estructura de stratum
- Un servidor NTP stratum 3 recibe la hora de un servidor NTP stratum 2
- Un servidor NTP stratum 2 toma como referencia a un servidor NTP stratum 1
- Un servidor NTP stratum 1 obtiene la hora directamente de un reloj de referencia
- El reloj de referencia puede ser una señal de radio como MSF en el Reino Unido o DCF77 en Alemania, pero en muchos casos probablemente sea un receptor GPS
El tiempo de GPS y el Observatorio Naval de EE. UU.
- Si se sigue el origen del tiempo de GPS, se llega a Schriever Space Force Base en Colorado
- En Schriever hay varios satélites ultrasecretos y misiones relacionadas, así que es difícil acercarse y tomar buenas fotos
- En el lugar está el US Naval Observatory Alternate Master Clock
- Ese reloj maestro alterno recibe la hora del US Naval Observatory en Washington DC
Las tres bases con las que el USNO ajusta la hora
-
Relojes atómicos
- La primera base del US Naval Observatory es tener muchos relojes atómicos
- Se usan relojes de haz de cesio montados en rack, cajas negras con máseres de hidrógeno y rubidium fountains
- El USNO tiene tantos relojes que incluso cuenta con un edificio dedicado exclusivamente a relojes atómicos
- En Apple Maps se veía una gran obra en construcción en el centro del campus del USNO, y se confirmó que era un nuevo edificio para relojes
- La principal limitación para la precisión de los relojes es la estabilidad ambiental, como la temperatura y la humedad; el nuevo edificio tendrá un sistema de climatización muy potente
-
Información sobre la rotación de la Tierra
- La segunda base es que UTC representa un compromiso entre el tiempo de los relojes atómicos y el tiempo de rotación de la Tierra
- El USNO recibe esta información del servicio internacional de rotación terrestre IERS, con base en el Observatorio de París
- Dos veces al año, el IERS envía el Bulletin C para avisar si habrá un segundo intercalar seis meses después
- Los segundos intercalares pueden agregarse o quitarse para mantener UTC alineado con la rotación de la Tierra
- El IERS Bulletin A es un aviso semanal con información precisa sobre parámetros de orientación terrestre, y lo emite el US Naval Observatory
- Para que GPS pueda dar posicionamiento preciso, necesita conocer con exactitud la orientación de la Tierra debajo de los satélites
-
Verificación de los relojes atómicos
- La tercera base es la información que permite comprobar si los relojes atómicos del USNO están funcionando correctamente
- Esa información viene del BIPM en París, que mantiene el UTC estándar a nivel mundial
BIPM, UTC y el segundo del SI
- El BIPM reúne las mediciones de tiempo de laboratorios nacionales de todo el mundo para determinar el UTC oficial
- El Circular T, que se publica periódicamente, contiene información sobre las discrepancias entre el UTC oficial y el UTC de cada laboratorio nacional de tiempo
- El BIPM también es responsable de mantener el Sistema Internacional de Unidades, SI
- El SI lo define la CGPM, una organización internacional creada por el Tratado del Metro en 1875
- UTC es una implementación de la unidad de tiempo del SI basada en mediciones cuánticas del átomo de cesio
- El número de aproximadamente 9.2GHz que aparece en la definición actual del segundo proviene de la calibración de los primeros relojes atómicos de cesio
La conexión entre el reloj atómico de cesio y el segundo astronómico
- En 1955, Louis Essen y Jack Parry construyeron el primer reloj atómico de cesio, y la definición actual del segundo proviene de la calibración de ese reloj
- Antes de los relojes atómicos, el segundo se basaba en la astronomía, así que Essen y Parry tuvieron que averiguar qué tan rápido avanzaba su reloj atómico en comparación con el estándar de tiempo anterior
- En ese trabajo de conexión participaron astrónomos del US Naval Observatory
- William Markowitz medía el tiempo observando el cielo
- Louis Essen medía el tiempo mirando el reloj atómico
- Para hacer coincidir ambas mediciones, ambos escuchaban la señal horaria de radio WWV emitida por el National Bureau of Standards en Washington DC
- Este trabajo se realizó durante tres años, de 1955 a 1958
- Lo que medía Markowitz era el ephemeris second
- En 1952, la Unión Astronómica Internacional cambió la definición del tiempo para basarla no en la rotación de la Tierra, sino en la órbita terrestre alrededor del Sol
- En la década de 1930 se descubrió que la rotación de la Tierra no es completamente uniforme y que se acelera y desacelera ligeramente
- A medida que los relojes se volvieron más precisos que la rotación terrestre, el ephemeris second se convirtió en el nuevo estándar de tiempo más preciso
- El ephemeris second se basa en una efeméride (ephemeris), un modelo matemático del sistema solar
- La efeméride estándar fue creada por Simon Newcomb a finales del siglo XIX
- Newcomb reunió una enorme cantidad de datos astronómicos históricos y construyó un modelo matemático
- Ese modelo siguió siendo el estándar hasta mediados de la década de 1980
- Simon Newcomb también trabajó en el US Naval Observatory y en la US nautical almanac office
- En épocas anteriores, el método era más directo: ajustar los relojes observando el paso de las estrellas por el cielo
- El origen del tiempo de las computadoras no es el Royal Greenwich Observatory
1 comentarios
Opiniones en Hacker News
En relación con el mantenimiento de la hora, también existe NIST Randomness Beacon: https://csrc.nist.gov/projects/interoperable-randomness-beac...
Este prototipo genera y publica cada 60 segundos una cadena completa de bits de entropía en bloques de 512 bits; cada valor incluye número de secuencia, timestamp y firma, y también contiene el hash del valor anterior para encadenarlos
Hubo un chiste sobre “subir la hora a la blockchain”, pero en cierto modo NIST ya está haciendo algo parecido
No requiere consenso y se parece a un repositorio Git con un único autor
No me queda claro por qué sería útil subir a una cadena una larga cadena pública de números aleatorios, salvo para demostrar que cierto evento no ocurrió antes de un momento determinado
Si hay una fuente de tiempo confiable con algunas claves que no van a cambiar y cualquiera puede retransmitirla, parecería bastante útil
Incluso podrían ser posibles relojes sin configuración que tomen la hora del celular o la computadora más cercanos, sin ajustes manuales
Es sorprendente ver qué tan rápido puede derivar la hora cuando se deja que la computadora no la sincronice automáticamente
Ahora mismo mi desktop principal está 1,7 segundos adelantada, y es probable que no haya actualizado el reloj en varias semanas
Aun así, no es tan grave; otros sistemas pueden desviarse mucho más
¿Por qué no configurarlo automáticamente con NTP? Porque quizá quiero ver la velocidad de deriva, o quiero mantener al mínimo los servicios en ejecución, o prefiero que el switch Ethernet que tengo delante no parpadee tanto, o quiero recordar qué se rompe cuando el reloj se desvía mucho
Al final, la respuesta es “porque así quiero”, y los relojes internos o cristales de muchas computadoras no son nada precisos
En una semana, con 20 ppm, puede desviarse unos 12 segundos
La motherboard probablemente tenga una cr2032 que mantiene la hora incluso cuando se desconecta la alimentación
Ejemplo de cristal: https://www.digikey.com/en/products/filter/crystals/171?s=N4...
Me gustaba ese diseño porque, al corregir NTP, la hora saltaba hacia adelante y generaba un hueco en el tiempo percibido, en vez de “vivir el mismo instante dos veces”
Por eso pensé que, igual que los velocímetros muestran intencionalmente un poco de más, los cristales se fabricaban deliberadamente un poco lentos para que la computadora no se deslizara hacia el futuro
En dos semanas acumuló una deriva de 30 segundos, y Prometheus lanzó una alerta, pero al principio asumí erróneamente que era una alerta causada por poner todo en un solo nodo
Al consultar las métricas vi que había errores por la deriva; comparé la salida de
date +'%s'en el servidor y en la laptop, y la diferencia superaba ampliamente los 30 segundosLos IC de RTC con compensación de temperatura pueden bajar de 5 ppm y, en la práctica, eso es suficiente para realizar navegación astronómica, la tarea tradicional de los cronómetros marinos
En 2011 aparecieron los relojes atómicos a escala de chip; son mucho más caros y consumen bastante más energía, pero mantienen la hora dentro de 50 ppt
Es una explicación interesante, pero este formato es demasiado incómodo para transmitir información.
Creo que habría sido mejor quitar las diapositivas, reescribirlo como párrafos coherentes y volver a insertar solo las imágenes clave como material de apoyo.
anunciar que se dio la charla, subir la grabación, subir las diapositivas como PDF o similar sin explicación, colocar las diapositivas en una página HTML junto con lo que el presentador habría dicho, y por último reescribir todo como un texto en formato de párrafos.
Aquí hicieron del paso 1 al 4, y quejarse de que no llegaron al 5 implica pedir bastante trabajo adicional, así que cuesta criticarlo; para empezar, se agradece que hayan subido la presentación en una forma que se pueda leer.
Coincido en que en móvil, sobre todo en la versión inicial, era difícil de leer, pero el formato de “presentación anotada” en sí no está mal.
Por ejemplo, hay casos como https://idlewords.com/talks/superintelligence.htm en https://idlewords.com/talks/, https://noidea.dog/impostor en https://noidea.dog/talks, y https://simonwillison.net/2022/Nov/26/productivity/ en https://simonwillison.net/tags/annotatedtalks/; con algunos ajustes de CSS, como poner las imágenes a la derecha, podría hacerse más fácil de leer.
Algo como: después de “aquí hay una imagen de un paquete NTP”, aparece una foto de un hombre sentado en un escritorio.
Me gustó.
También vale la pena mencionar NTP Pool, un recurso usado en común por muchos dispositivos.
Es un grupo de servidores NTP operado por voluntarios, y se elige con frecuencia especialmente en dispositivos del ecosistema open source.
Microsoft, Apple y Google operan sus propios servidores de tiempo, pero para casi todo lo demás NTP Pool es un recurso excelente: https://www.ntppool.org/en/
Fue divertido, pero en un entorno de sala de máquinas era difícil mantener conectada una antena de domo.
Odiaba los cables especiales, y el acceso al techo era un dolor de cabeza por temas de seguridad y filtraciones.
Hoy en día los relojes de rubidio también son bastante baratos.
Ahora participo en el proyecto de deriva/disponibilidad GPS de Bert Hubert, que mide con una Raspberry Pi la visibilidad y disponibilidad de GPS desde la ventana de una oficina en casa, y esto es mucho más divertido.
Es interesante el momento en que un instrumento o método de medición se vuelve más preciso, estable y confiable que el material de referencia.
Y alguien —por lo general una persona— finalmente descubre ese hecho, o en algunos casos lo crea directamente.
El segundo de efemérides se basaba en las efemérides, un modelo matemático del sistema solar; la efeméride estándar era un modelo creado a fines del siglo XIX por Simon Newcomb a partir de una enorme cantidad de datos astronómicos históricos, y se mantuvo como estándar hasta mediados de la década de 1980.
En 1952, la Unión Astronómica Internacional cambió la definición del tiempo para basarla no en la rotación de la Tierra, sino en la órbita de la Tierra alrededor del Sol, porque en la década de 1930 se descubrió que la rotación terrestre no era perfectamente uniforme y que se desaceleraba o aceleraba ligeramente.
Los relojes ya se habían vuelto más precisos que la rotación de la Tierra, y el segundo de efemérides se convirtió en el nuevo estándar de tiempo más preciso.
Si se basaba en la rotación de la Tierra, ¿qué datos eran esos “enormes datos astronómicos históricos” que reunió Newcomb?
Me pregunto cómo podían captar y almacenar de forma confiable la duración del tiempo basándose solo en la velocidad de rotación de la Tierra, que cambia con el tiempo; probablemente eran datos comparados con otros fenómenos naturales.
Creo que, para no depender demasiado de Big Time, necesitamos un estándar de seguimiento del tiempo mantenido por la comunidad y democratizado.
True Time™ se determina en la práctica promediando decenas de relojes atómicos de laboratorios de todo el mundo, así que me parece difícil acercarse más a algo “mantenido por la comunidad” y “democratizado” que eso.
Parece haber bastante redundancia y consenso, pero me pregunto qué sistemas fallarían, en qué plazos aparecerían los problemas y cómo se recuperarían.
Una precisión de segundos tampoco parece una expectativa absurda, aunque la calibración podría tomar un tiempo irrealmente largo.
DARPA está financiando el programa Robust Optical Clock Network (ROCkN).
El objetivo de este programa es crear relojes atómicos ópticos con bajo tamaño, peso y consumo (SWaP), mejor precisión y mejor desempeño de holdover que los relojes atómicos de GPS, y que puedan usarse fuera del laboratorio.
La mayoría de los grandes proveedores de nube despliegan equipos de nivel Open Compute Time Card que obtienen la hora de GPS, pero pueden mantener una hora precisa incluso cuando no hay GPS.
https://www.darpa.mil/news-events/2022-01-20
Si te sobra una Raspberry Pi y quieres operar por tu cuenta un servidor NTP Stratum 1, existe este artículo: https://austinsnerdythings.com/2021/04/19/microsecond-accura...
En las placas viejas, el puerto Ethernet está detrás de un hub USB, lo que introduce jitter en el timing de paquetes de red a nivel de milisegundos, y dificulta lograr precisión NTP a nivel de microsegundos
Para hacerlo más divertido, también podrías meterla en una caja aislada y mantenerla caliente aplicando carga a la CPU, convirtiendo la Raspberry Pi en algo parecido a un oscilador de cristal compensado por horno: https://blog.ntpsec.org/2017/03/21/More_Heat.html
Un servidor Stratum 1 es aquel que recibe la hora de un servidor Stratum 0
La mayoría de las diapositivas trata sobre la física de la medición del tiempo, como GPS o relojes atómicos
Eso es interesante por sí mismo, pero para entender cómo mi computadora obtiene la hora actual, la pregunta más relevante es: “¿cómo mide una computadora doméstica la latencia de los paquetes enviados por un servidor horario remoto?”
Preguntas como si mide la duración de varios viajes de ida y vuelta y toma el promedio como latencia, o qué pasa si durante un viaje de ida y vuelta específico aparece congestión repentina, me parecen más misteriosas que las preguntas físicas
Hay que tener cuidado con qué fuente de tiempo se usa
Hace unos 10 a 15 años, uno de nuestros servidores estaba configurado para usar
tick.usno.navy.milytock.usno.navy.mil, y hubo un “problema” con la hora que emitía la MarinaDe la noche a la mañana, varios servidores de licencias dejaron de autenticarse y ya no pudimos acceder al sistema
Según tenía entendido, SSH también requiere que la hora sea precisa con un margen de unos minutos, pero iniciamos sesión localmente desde otra oficina en el mismo edificio, comprobamos la discrepancia horaria y lo resolvimos cambiando los servidores de tiempo y el método de sincronización
SSH no se preocupa en absoluto por la hora, a menos que uses certificados SSH con una vida útil muy corta