5 puntos por GN⁺ 2023-10-06 | 1 comentarios | Compartir por WhatsApp
  • 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

 
GN⁺ 2023-10-06
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

    • Esto no es una blockchain, sino algo más cercano a un Merkle DAG de autor único
      No requiere consenso y se parece a un repositorio Git con un único autor
    • Me gustaría ver ejemplos de para qué se usa esto
      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
    • Siempre me pregunté por qué no usan esto como raíz de un sistema P2P de números aleatorios
      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

    • El error de los cristales suele ser de alrededor de 20 ppm
      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...
    • Es difícil entrar en detalles, pero cierto producto IoT estaba diseñado para que, si NTP fallaba, todos los dispositivos se atrasaran lentamente
      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
    • Hace unos 40 días configuré una mini PC como servidor doméstico y no sabía que Fedora Server no configura la sincronización NTP por defecto
      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 segundos
    • Según Wikipedia, la precisión RTC de un cristal común es de ±100 a ±20 ppm, es decir, entre 8,6 y 1,7 segundos por día
      Los 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.

    • Después de que alguien da una presentación offline, hay varios niveles de cosas que se pueden hacer online:
      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.
    • Me confundió especialmente que las imágenes aparecieran antes que las frases que había que leer.
      Algo como: después de “aquí hay una imagen de un paquete NTP”, aparece una foto de un hombre sentado en un escritorio.
    • Es mucho mejor ver el video real de la charla: https://ripe86.ripe.net/archives/video/1126/
    • Era la primera vez que veía un formato así, pero se parece bastante al proceso de una persona curiosa cayendo por una madriguera de conejo sobre un tema específico.
      Me gustó.
    • Fue un texto divertido, que se lee como un flujo de conciencia.
  • 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/

    • Me viene a la mente aquella vez en que NTP Pool prácticamente recibió un DDoS por una versión de Snapchat para iOS con errores: https://community.ntppool.org/t/recent-ntp-pool-traffic-incr...
    • Durante un tiempo participé en el pool usando una tarjeta PCI con sincronización GPS de RIPE NCC.
      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.

    • Recuerdo haber aprendido esto en la secundaria, pero me pregunto qué duración de un segundo se usaba realmente antes.
      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.

    • ¿En realidad no es ya casi así?
      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.
    • Al ver el artículo y este comentario, me da curiosidad qué efecto tendría un ataque organizado contra los mecanismos fundamentales de mantenimiento del tiempo.
      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.
    • Con un cielo nocturno despejado y la cámara de un teléfono moderno, creo que también sería posible calibrar un reloj.
      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...

    • Para NTP, conviene usar una Raspberry Pi 4 en vez de una placa más antigua
      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
    • Si recibes la hora directamente desde GPS, eso es un servidor Stratum 0
      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.mil y tock.usno.navy.mil, y hubo un “problema” con la hora que emitía la Marina
    De 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

    • Creo que estás recordando mal algunas cosas
      SSH no se preocupa en absoluto por la hora, a menos que uses certificados SSH con una vida útil muy corta