El Network Time Protocol ( NTP ) es un protocolo de red para la sincronización del reloj entre sistemas informáticos a través de redes de datos de latencia variable conmutadas por paquetes . En funcionamiento desde antes de 1985, NTP es uno de los protocolos de Internet más antiguos que se utilizan actualmente. NTP fue diseñado por David L. Mills de la Universidad de Delaware .
NTP está diseñado para sincronizar todas las computadoras participantes en unos pocos milisegundos de la hora universal coordinada (UTC). [1] : 3 Utiliza el algoritmo de intersección , una versión modificada del algoritmo de Marzullo , para seleccionar servidores de tiempo precisos y está diseñado para mitigar los efectos de la latencia variable de la red . NTP generalmente puede mantener el tiempo dentro de decenas de milisegundos en la Internet pública y puede lograr una precisión superior a un milisegundo en redes de área local en condiciones ideales. Rutas asimétricas yLa congestión de la red puede provocar errores de 100 ms o más. [2] [3]
El protocolo generalmente se describe en términos de un modelo cliente-servidor , pero también se puede usar en relaciones entre pares en las que ambos pares consideran al otro como una fuente de tiempo potencial. [1] : 20 implementaciones envían y reciben marcas de tiempo usando el Protocolo de datagramas de usuario (UDP) en el puerto número 123. [4] [5] También pueden usar transmisión o multidifusión , donde los clientes escuchan pasivamente las actualizaciones de tiempo después de un viaje de ida y vuelta inicial. calibrar el intercambio. [3] NTP proporciona una advertencia de cualquier ajuste de segundo intercalar inminente , pero no se transmite información sobre las zonas horarias locales o el horario de verano . [2] [3]
El protocolo actual es la versión 4 (NTPv4), que es un estándar propuesto como se documenta en RFC 5905 . Es compatible con versiones anteriores de la versión 3, especificada en RFC 1305 .
Historia
[ necesita actualización ]
Evolución de RFC para NTP | ||||||
1980 - - 1985 - - 1990 - - 1995 - - 2000 - - 2005 - - 2010 - - 2015 - - 2020 - | RFC 958 [6] RFC 1059 [7] RFC 1119 [8] RFC 1305 [9] RFC 5905 [10] RFC 7822 [11] RFC 1361 [12] RFC 1769 [13] RFC 2030 [14] RFC 4330 [15] |
| ||||
En 1979, la tecnología de sincronización de la hora de la red se utilizó en lo que posiblemente fue la primera demostración pública de servicios de Internet que se ejecutan en una red de satélite transatlántica, en la Conferencia Nacional de Computación en Nueva York. La tecnología se describió más tarde en la Nota de ingeniería de Internet (IEN) 173 [17] de 1981 y se desarrolló un protocolo público a partir de ella que se documentó en RFC 778 . La tecnología se implementó por primera vez en una red de área local como parte del protocolo de enrutamiento Hello y se implementó en el enrutador Fuzzball , un sistema operativo experimental utilizado en la creación de prototipos de redes, donde se ejecutó durante muchos años.
Otras herramientas de red relacionadas estaban disponibles tanto entonces como ahora. Incluyen los protocolos Daytime y Time para registrar la hora de los eventos, así como los mensajes ICMP Timestamp y la opción IP Timestamp ( RFC 781 ). Los sistemas de sincronización más completos, aunque carecen del análisis de datos de NTP y de los algoritmos de disciplina del reloj, incluyen el demonio Unix temporizado , que utiliza un algoritmo de elección para designar un servidor para todos los clientes; [18] y el Servicio de sincronización de hora digital (DTSS), que utiliza una jerarquía de servidores similar al modelo de estrato NTP.
En 1985, la versión 0 de NTP (NTPv0) se implementó tanto en Fuzzball como en Unix, y el encabezado del paquete NTP y los cálculos de retardo y desplazamiento de ida y vuelta, que han persistido en NTPv4, se documentaron en RFC 958 . A pesar de las computadoras y redes relativamente lentas disponibles en ese momento, generalmente se obtenía una precisión de más de 100 milisegundos en los enlaces que se extendían por el Atlántico, con una precisión de decenas de milisegundos en las redes Ethernet .
En 1988, se publicó una especificación mucho más completa del protocolo NTPv1, con algoritmos asociados, en RFC 1059 . Se basó en los resultados experimentales y el algoritmo de filtro de reloj documentado en RFC 956 y fue la primera versión que describió los modos cliente-servidor y de igual a igual . En 1991, la arquitectura, el protocolo y los algoritmos de NTPv1 llamaron la atención de una comunidad de ingenieros más amplia con la publicación de un artículo de David L. Mills en IEEE Transactions on Communications . [19]
En 1989, Se publicó RFC 1119 definiendo NTPv2 mediante una máquina de estado , con pseudocódigo para describir su funcionamiento. Introdujo un protocolo de gestión y un esquema de autenticación criptográfica que han sobrevivido en NTPv4, junto con la mayor parte del algoritmo. Sin embargo, el diseño de NTPv2 fue criticado por la falta de corrección formal por parte de la comunidad DTSS, y el procedimiento de selección del reloj se modificó para incorporar el algoritmo de Marzullo para NTPv3 en adelante. [20]
En 1992, RFC 1305 definió NTPv3. El RFC incluyó un análisis de todas las fuentes de error, desde el reloj de referencia hasta el cliente final, lo que permitió el cálculo de una métrica que ayuda a elegir el mejor servidor donde varios candidatos parecen estar en desacuerdo. Se introdujo el modo de transmisión.
En los años siguientes, a medida que se agregaron nuevas funciones y se realizaron mejoras en los algoritmos, se hizo evidente que se necesitaba una nueva versión del protocolo. [21] En 2010, Se publicó RFC 5905 que contiene una especificación propuesta para NTPv4. El protocolo ha avanzado significativamente desde entonces y, a partir de 2014, aún no se ha publicado una RFC actualizada. [22] Tras el retiro de Mills de la Universidad de Delaware , la implementación de referencia se mantiene actualmente como un proyecto de código abierto dirigido por Harlan Stenn. [23] [24]
Estrato de reloj
NTP utiliza un sistema jerárquico de fuentes de tiempo semi-estratificado. Cada nivel de esta jerarquía se denomina estrato y se le asigna un número que comienza con cero para el reloj de referencia en la parte superior. Un servidor sincronizado con un servidor de estrato n se ejecuta en el estrato n + 1. El número representa la distancia desde el reloj de referencia y se utiliza para evitar dependencias cíclicas en la jerarquía. El estrato no siempre es una indicación de calidad o confiabilidad; Es común encontrar fuentes de tiempo del estrato 3 que son de mayor calidad que otras fuentes de tiempo del estrato 2. [a] A continuación se proporciona una breve descripción de los estratos 0, 1, 2 y 3.
- Estrato 0
- Estos son dispositivos de cronometraje de alta precisión, como relojes atómicos , GPS u otros relojes de radio . Generan una señal de pulso por segundo muy precisa que activa una interrupción y marca de tiempo en una computadora conectada. Los dispositivos de estrato 0 también se conocen como relojes de referencia. Los servidores NTP no pueden anunciarse a sí mismos como estrato 0. Un campo de estrato establecido en 0 en el paquete NTP indica un estrato no especificado. [25]
- Estrato 1
- Estas son computadoras cuyo tiempo del sistema está sincronizado a unos pocos microsegundos de sus dispositivos de estrato 0 conectados. Los servidores de estrato 1 pueden emparejarse con otros servidores de estrato 1 para realizar comprobaciones de seguridad y realizar copias de seguridad. [26] También se les conoce como servidores de tiempo primarios. [2] [3]
- Estrato 2
- Estas son computadoras que están sincronizadas a través de una red con servidores de estrato 1. A menudo, una computadora del estrato 2 consulta varios servidores del estrato 1. Las computadoras del estrato 2 también pueden emparejarse con otras computadoras del estrato 2 para proporcionar un tiempo más estable y robusto para todos los dispositivos en el grupo de pares.
- Estrato 3
- Estas son computadoras que están sincronizadas con servidores de estrato 2. Emplean los mismos algoritmos para el emparejamiento y el muestreo de datos que el estrato 2, y pueden actuar ellos mismos como servidores para las computadoras del estrato 4, etc.
El límite superior del estrato es 15; el estrato 16 se utiliza para indicar que un dispositivo no está sincronizado. Los algoritmos NTP en cada computadora interactúan para construir un árbol de expansión de la ruta más corta de Bellman-Ford , para minimizar el retraso acumulado de ida y vuelta a los servidores del estrato 1 para todos los clientes. [1] : 20
Además del estrato, el protocolo puede identificar la fuente de sincronización para cada servidor en términos de identificador de referencia (refid).
Identificador de referencia (refid) [27] | Fuente de reloj |
---|---|
VA | Satélite de entorno de órbita geosincrónica |
GPS | Sistema de Posicionamiento Global |
GALÓN | Sistema de posicionamiento Galileo |
PPS | Pulso por segundo genérico |
IRIG | Grupo de instrumentación entre rangos |
WWVB | Radio LF WWVB Fort Collins, Colorado 60 kHz |
DCF | Radio LF DCF77 Mainflingen, DE 77,5 kHz |
HBG | LF Radio HBG Prangins, HB 75 kHz (dejó de funcionar) |
MSF | Radio LF MSF Anthorn, Reino Unido 60 kHz |
JJY | LF Radio JJY Fukushima, JP 40 kHz, Saga, JP 60 kHz |
LORC | Emisora MF Radio Loran-C , 100 |
TDF | Radio MF Allouis, FR 162 kHz |
CHU | HF Radio CHU Ottawa, Ontario |
WWV | Radio HF WWV Fort Collins, Colorado |
WWVH | Radio HF WWVH Kauai, Hawái |
NIST | Módem telefónico NIST |
HECHOS | Módem telefónico NIST |
USNO | Módem telefónico USNO |
PTB | Módem telefónico estándar de tiempo PTB alemán |
SEÑORA | Fuentes de referencia múltiple |
XFAC | Asociación entre caras modificada (dirección IP cambiada o perdida) |
PASO | Cambio de tiempo de paso, la compensación es menor que el umbral de pánico (1000 s) pero mayor que el umbral de paso (125 ms) |
Marcas de tiempo
Las marcas de tiempo de 64 bits utilizadas por NTP consisten en una parte de 32 bits por segundos y una parte de 32 bits por una fracción de segundo, lo que da una escala de tiempo que se repite cada 2 32 segundos (136 años) y una resolución teórica de 2 −32. segundos (233 picosegundos). NTP usa una época del 1 de enero de 1900. Por lo tanto, el primer traspaso ocurre el 7 de febrero de 2036. [28] [29]
NTPv4 introduce un formato de fecha de 128 bits: 64 bits para el segundo y 64 bits para la fracción de segundo. El 32 bits más significativo de este formato es el Número de Era, que resuelve la ambigüedad de rollover en la mayoría de los casos. [30] [31] Según Mills, "El valor de 64 bits de la fracción es suficiente para resolver la cantidad de tiempo que tarda un fotón en pasar un electrón a la velocidad de la luz. El valor de segundo de 64 bits es suficiente para proporcionan una representación del tiempo inequívoca hasta que el universo se oscurece ". [32] [b]
Algoritmo de sincronización de reloj
Un cliente NTP típico sondea periódicamente uno o más servidores NTP. El cliente debe calcular su compensación de tiempo y la demora de ida y vuelta . Desplazamiento de tiempo θ, la diferencia en tiempo absoluto entre los dos relojes, se define por
- ,
y el retardo de ida y vuelta δ por
- ,
dónde
- t 0 es la marca de tiempo del cliente de la transmisión del paquete de solicitud,
- t 1 es la marca de tiempo del servidor de la recepción del paquete de solicitud,
- t 2 es la marca de tiempo del servidor de la transmisión del paquete de respuesta y
- t 3 es la marca de tiempo del cliente de la recepción del paquete de respuesta. [1] : 19
Para derivar la expresión para el desplazamiento, tenga en cuenta que para el paquete de solicitud,
y para el paquete de respuesta,
Resolviendo para θ se obtiene la definición de la compensación de tiempo.
Los valores de θ y δ se pasan a través de filtros y se someten a análisis estadístico. Los valores atípicos se descartan y se obtiene una estimación de la diferencia de tiempo a partir de los tres mejores candidatos restantes. Luego, la frecuencia del reloj se ajusta para reducir el desplazamiento gradualmente, creando un bucle de retroalimentación . [1] : 20
La sincronización precisa se logra cuando las rutas entrantes y salientes entre el cliente y el servidor tienen un retraso nominal simétrico. Si las rutas no tienen un retraso nominal común, existe un sesgo sistemático de la mitad de la diferencia entre los tiempos de viaje hacia adelante y hacia atrás. [33]
Implementaciones de software
Implementación de referencia
La implementación de referencia NTP , junto con el protocolo, se ha desarrollado continuamente durante más de 20 años. Se ha mantenido la compatibilidad con versiones anteriores a medida que se han agregado nuevas funciones. Contiene varios algoritmos sensibles, especialmente para disciplinar el reloj, que pueden comportarse mal cuando se sincronizan con servidores que usan diferentes algoritmos. El software se ha adaptado a casi todas las plataformas informáticas, incluidas las computadoras personales. Se ejecuta como un demonio llamado ntpd en Unix o como un servicio en Windows. Los relojes de referencia son compatibles y sus desplazamientos se filtran y analizan de la misma forma que los servidores remotos, aunque normalmente se sondean con más frecuencia. [1] : 15–19 Esta implementación fue auditada en 2017 y encontró numerosos problemas de seguridad potenciales. [34]
SNTP
El Protocolo simple de tiempo de red ( SNTP ) es una implementación menos compleja de NTP, que utiliza el mismo protocolo pero sin requerir el almacenamiento del estado durante períodos de tiempo prolongados. [35] Se utiliza en algunos sistemas integrados y en aplicaciones donde no se requiere la capacidad NTP completa. [36]
Hora de Windows
Todas las versiones de Microsoft Windows desde Windows 2000 incluyen el servicio de hora de Windows (W32Time), [37] que tiene la capacidad de sincronizar el reloj de la computadora con un servidor NTP.
W32Time se implementó originalmente con el propósito del protocolo de autenticación Kerberos versión 5, que requería que el tiempo estuviera dentro de los 5 minutos del valor correcto para evitar ataques de repetición . La versión en Windows 2000 y Windows XP solo implementa SNTP y viola varios aspectos del estándar NTP versión 3. [38]
A partir de Windows Server 2003 y Windows Vista , se incluye una implementación compatible de NTP. [39] Microsoft afirma que W32Time no puede mantener de forma fiable la sincronización horaria con un segundo de precisión. [40] Si se desea una mayor precisión, Microsoft recomienda utilizar una versión más reciente de Windows o una implementación de NTP diferente. [41]
Windows 10 y Windows Server 2016 admiten una precisión de tiempo de 1 ms en determinadas condiciones de funcionamiento. [42] [40]
OpenNTPD
En 2004, Henning Brauer presentó OpenNTPD , una implementación de NTP con un enfoque en la seguridad y que abarca un diseño de privilegios separados. Si bien está orientado más de cerca a las necesidades genéricas más simples de los usuarios de OpenBSD , también incluye algunas mejoras de seguridad de protocolo mientras sigue siendo compatible con los servidores NTP existentes. Hay una versión portátil disponible en los repositorios de paquetes de Linux.
Ntimed
Poul-Henning Kamp inició un nuevo cliente NTP, ntimed , en 2014. [43] La nueva implementación está patrocinada por la Fundación Linux como reemplazo de la implementación de referencia, ya que se determinó que era más fácil escribir una nueva implementación desde scratch que reducir el tamaño de la implementación de referencia. Aunque no ha sido lanzado oficialmente, ntimed puede sincronizar relojes de manera confiable. [44]
NTPsec
NTPsec es una bifurcación de la implementación de referencia que se ha reforzado sistemáticamente en seguridad . El punto de bifurcación fue en junio de 2015 y fue en respuesta a una serie de compromisos en 2014. [ especificar ] La primera versión de producción se envió en octubre de 2017. [45] Entre la eliminación de funciones inseguras, la eliminación de soporte para hardware obsoleto y la eliminación de compatible con variantes obsoletas de Unix, NTPsec ha podido eliminar el 75% del código base original, haciendo que el resto sea más auditable. [46] Una auditoría de 2017 del código mostró ocho problemas de seguridad, incluidos dos que no estaban presentes en la implementación de referencia original, pero NTPsec no sufrió otros ocho problemas que permanecieron en la implementación de referencia. [47]
cronicidad
chrony viene por defecto en las distribuciones de Red Hat [48] y está disponible en los repositorios de Ubuntu . [49] chrony está dirigido a computadoras comunes, que son inestables, entran en modo de suspensión o tienen una conexión intermitente a Internet. [50] chrony también está diseñado para máquinas virtuales, un entorno mucho más inestable. Se caracteriza por un bajo consumo de recursos (costo) y admite hardware de Protocolo de tiempo de precisión para una mayor precisión de la marca de tiempo. [51] Tiene dos componentes principales: chronyd, un demonio que se ejecuta cuando se inicia la computadora, y chronyc, una interfaz de línea de comandos para el usuario para su configuración. Ha sido evaluado como muy seguro y con pocas incidencias, [52] su ventaja es la versatilidad de su código, escrito desde cero para evitar una complejidad innecesaria. [53] chrony está disponible bajo GNU General Public License versión 2 , fue creado por Richard Curnow en 1997 y actualmente es mantenido por Miroslav Lichvar . [54]
Segundos bisiestos
En el día de un evento de segundo bisiesto , ntpd recibe una notificación de un archivo de configuración, un reloj de referencia adjunto o un servidor remoto. Aunque el reloj NTP en realidad se detiene durante el evento, debido al requisito de que el tiempo debe parecer estar aumentando estrictamente , cualquier proceso que consulte el tiempo del sistema hace que aumente en una pequeña cantidad, preservando el orden de los eventos. Si alguna vez fuera necesario un segundo intercalar negativo, se eliminaría con la secuencia 23:59:58, 00:00:00, omitiendo 23:59:59. [55]
Una implementación alternativa, denominada intercalación, consiste en introducir el segundo intercalar de forma incremental durante un período de 24 horas, desde el mediodía hasta el mediodía en hora UTC. Esta implementación es utilizada por Google (tanto internamente como en sus servidores NTP públicos) y por Amazon AWS. [56]
Preocupaciones de seguridad
Solo se han identificado algunos otros problemas de seguridad en la implementación de referencia de la base de código NTP, pero los que aparecieron en 2009 fueron motivo de gran preocupación. [57] [58] El protocolo ha sido objeto de revisión y revisión durante toda su historia. El código base para la implementación de referencia se ha sometido a auditorías de seguridad de varias fuentes durante varios años. [59]
En 2014 se descubrió y corrigió una vulnerabilidad de desbordamiento del búfer de pila. [60] Apple estaba tan preocupada por esta vulnerabilidad que utilizó su capacidad de actualización automática por primera vez. [61] Algunos errores de implementación son básicos, como una declaración de retorno faltante en una rutina, que puede conducir a un acceso ilimitado a sistemas que ejecutan algunas versiones de NTP en el demonio raíz. Los sistemas que no utilizan el demonio raíz, como BSD, no están sujetos a esta falla. [62]
Una auditoría de seguridad de 2017 de tres implementaciones de NTP, realizada en nombre de la Iniciativa de Infraestructura Central de la Fundación Linux, sugirió que tanto NTP [63] [64] como NTPsec [65] eran más problemáticos que Chrony [66] desde el punto de vista de la seguridad. [67]
Los servidores NTP pueden ser susceptibles a ataques man-in-the-middle a menos que los paquetes estén firmados criptográficamente para su autenticación. [68] La sobrecarga computacional involucrada puede hacer que esto no sea práctico en servidores ocupados, particularmente durante ataques de denegación de servicio . [69] La suplantación de mensajes NTP de un ataque man-in-the-middle se puede utilizar para mover los relojes en las computadoras cliente y permitir una serie de ataques basados en eludir la expiración de la clave criptográfica. [70] Algunos de los servicios afectados por los mensajes NTP falsos identificados son TLS , DNSSEC , varios esquemas de almacenamiento en caché (como el caché de DNS), BGP, Bitcoin y varios esquemas de inicio de sesión persistentes. [71] [72]
NTP se ha utilizado en ataques distribuidos de denegación de servicio . [73] [74] Se envía una pequeña consulta a un servidor NTP con la dirección de retorno falsificada para ser la dirección de destino. De manera similar al ataque de amplificación de DNS , el servidor responde con una respuesta mucho mayor que permite al atacante aumentar sustancialmente la cantidad de datos que se envían al objetivo. Para evitar participar en un ataque, el software del servidor NTP se puede actualizar o los servidores se pueden configurar para ignorar consultas externas. [75]
Ver también
- Varianza de Allan
- Red de reloj
- Hora atómica internacional
- Código de tiempo IRIG
- NITZ
- Grupo NTP
- Ntpdate
Notas
- ^ Los sistemas de telecomunicaciones utilizan una definición diferente para los estratos de reloj .
- ^ 2 −64 segundos son aproximadamente 54 zeptosegundos (la luz viajaría 16.26 picómetros, o aproximadamente 0.31 × radio de Bohr ), y 2 64 segundos son aproximadamente 585 mil millones de años .
Referencias
- ^ a b c d e f David L. Mills (12 de diciembre de 2010). Sincronización de tiempo de red de computadoras: el protocolo de tiempo de red . Taylor y Francis. págs. 12–. ISBN 978-0-8493-5805-0. Archivado desde el original el 18 de julio de 2014 . Consultado el 16 de octubre de 2016 .
- ^ a b c "Resumen ejecutivo: sincronización de tiempo de red de computadoras" . Archivado desde el original el 2 de noviembre de 2011 . Consultado el 21 de noviembre de 2011 .
- ^ a b c d "Preguntas frecuentes sobre NTP" . El Proyecto NTP. Archivado desde el original el 6 de septiembre de 2011 . Consultado el 27 de agosto de 2011 .
- ^ "Números de puerto" . La Autoridad de Números Asignados de Internet (IANA). Archivado desde el original el 4 de junio de 2001 . Consultado el 19 de enero de 2011 .
- ^ "Página 16" . Archivado desde el original el 1 de enero de 2018 . Consultado el 26 de septiembre de 2011 .
- ^ RFC 958 Network Time Protocol (NTP) , septiembre de 1985.
- ^ RFC 1059 Network Time Protocol (Versión 1) Especificación e implementación , julio de 1988.
- ^ Especificación e implementación del protocolo de tiempo de red RFC 1119 (versión 2) , septiembre de 1989.
- ^ Especificación, implementación y análisis del protocolo de tiempo de red RFC 1305 (versión 3) , marzo de 1992.
- ^ RFC 5905 Network Time Protocol Version 4: Protocolo y especificación de algoritmos , junio de 2010.
- ^ RFC 7822 Network Time Protocol Version 4 (NTPv4) Extension Fields , marzo de 2016.
- ^ RFC 1361 Protocolo simple de tiempo de red (SNTP) , agosto de 1992.
- ^ RFC 1769 Protocolo simple de tiempo de red (SNTP) , marzo de 1995.
- ^ RFC 2030 Protocolo simple de tiempo de red (SNTP) versión 4 para IPv4, IPv6 y OSI , octubre de 1996.
- ^ RFC 4330 Protocolo simple de tiempo de red (SNTP) versión 4 para IPv4, IPv6 y OSI , enero de 2006
- ^ RFC 778 DCNET Internet Clock Service , abril de 1981.
- ^ DL Mills (25 de febrero de 1981), Sincronización de tiempo en hosts DCNET , archivado desde el original el 30 de diciembre de 1996
- ^ "TIMED (8)" , UNIX System Manager's Manual , archivado desde el original el 22 de julio de 2011 , consultado el 12 de septiembre de 2017
- ^ David L. Mills (octubre de 1991). "Sincronización de hora de Internet: el protocolo de hora de red" (PDF) . Transacciones IEEE sobre comunicaciones . 39 (10): 1482–1493. doi : 10.1109 / 26.103043 . Archivado (PDF) desde el original el 10 de junio de 2016 . Consultado el 6 de noviembre de 2017 .
- ^ "RFC 1305" . IETF: Grupo de trabajo de ingeniería de Internet . IETF. Archivado desde el original el 11 de diciembre de 2019 . Consultado el 6 de diciembre de 2019 .
El procedimiento de selección de reloj se modificó para eliminar el primero de los dos pasos de clasificación / descarte y reemplazarlo con un algoritmo propuesto primero por Marzullo y luego incorporado en el Servicio de Hora Digital. Estos cambios no afectan significativamente el funcionamiento normal o la compatibilidad con varias versiones de NTP, pero proporcionan la base para declaraciones formales de corrección.
- ^ David L. Mills (15 de noviembre de 2010). Sincronización de tiempo de red informática: el protocolo de tiempo de red en la Tierra y en el espacio, segunda edición . Prensa CRC. pag. 377. ISBN 978-1-4398-1464-2.
- ^ "Future Plans", Network Time Synchronization Research Project , archivado desde el original el 23 de diciembre de 2014 , consultado el 24 de diciembre de 2014
- ^ "NTP necesita dinero: ¿Es una fundación la respuesta?" . InformationWeek . 23 de marzo de 2015. Archivado desde el original el 10 de abril de 2015 . Consultado el 4 de abril de 2015 .
- ^ "El destino de NTP depende de 'tiempo del padre ' " . InformationWeek . 11 de marzo de 2015. Archivado desde el original el 10 de abril de 2015 . Consultado el 4 de abril de 2015 .
- ^ RFC 5905, pág. 21
- ^ "Protocolo de tiempo de red: Libro blanco de mejores prácticas" . Archivado desde el original el 1 de octubre de 2013 . Consultado el 15 de octubre de 2013 .
- ^ " Salida ' ntpq -p'" . NLUG.ML1.co.uk . Archivado desde el original el 12 de noviembre de 2018 . Consultado el 12 de noviembre de 2018 .
- ^ David L. Mills (12 de mayo de 2012). "La era NTP y la numeración de la era" . Archivado desde el original el 26 de octubre de 2016 . Consultado el 24 de septiembre de 2016 .
- ^ W. Richard Stevens; Bill Fenner; Andrew M. Rudoff (2004). Programación de red UNIX . Addison-Wesley Professional. págs. 582–. ISBN 978-0-13-141155-5. Archivado desde el original el 30 de marzo de 2019 . Consultado el 16 de octubre de 2016 .
- ^ "Cómo NTP representa la hora (sincronización de la hora de la red informática)" . Archivado desde el original el 15 de junio de 2017 . Consultado el 20 de julio de 2018 .
- ^ "Una mirada a los problemas del año 2036/2038 y la prueba de tiempo en varios sistemas" . Archivado desde el original el 21 de julio de 2018 . Consultado el 20 de julio de 2018 .
- ^ Presentación del seminario de sistemas digitales de la Universidad de Delaware por David Mills, 2006-04-26
- ^ Gotoh, T .; Imamura, K .; Kaneko, A. (2002). Mejora del desplazamiento de tiempo NTP bajo el método de red asimétrica con doble paquete . Conferencia sobre Medidas Electromagnéticas de Precisión. págs. 448–449. doi : 10.1109 / CPEM.2002.1034915 . ISBN 0-7803-7242-5.
- ^ "Informe Pentest NTP 01.2017" (PDF) . Curar 53. 2017. Archivado (PDF) desde el original el 2018-12-01 . Consultado el 3 de julio de 2019 .
- ^ "Network Time Protocol Version 4: Protocolo y especificación de algoritmos" . Junio de 2010. p. 54. Archivado desde el original el 10 de septiembre de 2012 . Consultado el 26 de agosto de 2012 .
Los servidores primarios y los clientes que cumplen con un subconjunto de NTP, denominado Protocolo simple de tiempo de red (SNTPv4), [...] no necesitan implementar los algoritmos de mitigación [...] La implementación de NTPv4 completamente desarrollada está destinada a [.. .] servidores con múltiples servidores ascendentes y múltiples servidores descendentes [...] Aparte de estas consideraciones, los servidores y clientes NTP y SNTP son completamente interoperables y pueden mezclarse [...]
- ^ Protocolo simple de tiempo de red (SNTP) versión 4 para IPv4, IPv6 y OSI . doi : 10.17487 / RFC4330 . RFC 4330 .
- ^ "Referencia técnica del servicio de hora de Windows" . technet.microsoft.com. 2011-08-17. Archivado desde el original el 6 de septiembre de 2011 . Consultado el 19 de septiembre de 2011 .
- ^ "Página de servicio de hora de Windows en NTP.org" . Support.NTP.org . 2008-02-25. Archivado desde el original el 14 de mayo de 2017 . Consultado el 1 de mayo de 2017 .
- ^ "Cómo funciona el servicio de hora de Windows" . technet.microsoft.com. 2010-03-12. Archivado desde el original el 24 de septiembre de 2011 . Consultado el 19 de septiembre de 2011 .
- ^ a b "Límite de soporte para configurar el servicio de hora de Windows para entornos de alta precisión" . Microsoft . 2011-10-19. Archivado desde el original el 12 de enero de 2009 . Consultado el 10 de diciembre de 2008 .
- ^ Ned Pyle (23 de octubre de 2007). "Requisitos de alta precisión W32time" . Microsoft . Archivado desde el original el 17 de octubre de 2012 . Consultado el 26 de agosto de 2012 .
- ^ "Hora exacta de Windows Server 2016" . technet.microsoft.com . Archivado desde el original el 2 de diciembre de 2016 . Consultado el 7 de diciembre de 2016 .
- ^ Poul-Henning, Kamp. "20140926 - Jugando con el tiempo otra vez" . Bikeshed de PHK . Archivado desde el original el 20 de diciembre de 2019 . Consultado el 4 de junio de 2015 .
- ^ Poul-Henning, Kamp. "Software de sincronización de tiempo de red, reemplazo de NTPD" . Archivo README del repositorio git ntimed . Github. Archivado desde el original el 2 de agosto de 2015 . Consultado el 4 de junio de 2015 .
- ^ "La distribución del protocolo de tiempo de red segura (NTPsec)" . Archivado desde el original el 13 de enero de 2019 . Consultado el 12 de enero de 2019 .
- ^ Liska, Allan (10 de diciembre de 2016). Seguridad NTP: una guía de inicio rápido . Presione. págs. 80–. ISBN 978-1-4842-2412-0.
- ^ "Pentest-Report NTPsec 01.2017" (PDF) . Curar 53. 2017. Archivado (PDF) desde el original el 4 de julio de 2019 . Consultado el 3 de julio de 2019 .
- ^ Lichvar, Miroslav (20 de julio de 2016). "Combinando PTP con NTP para obtener lo mejor de ambos mundos" . Blog de Red Hat Enterprise Linux . Red Hat . Archivado desde el original el 30 de julio de 2016 . Consultado el 19 de noviembre de 2017 .
A partir de Red Hat Enterprise Linux 7.0 (y ahora en Red Hat Enterprise Linux 6.8), también se proporciona una implementación de NTP más versátil a través del paquete chrony
- ^ Lichtenheld, Frank. "Paquete: chrony (2.1.1-1) [universo]" . Paquete de Ubuntu . Paquete de Ubuntu. Archivado desde el original el 19 de noviembre de 2017 . Consultado el 19 de noviembre de 2017 .
Implementación versátil del Network Time Protocol
- ^ Ambos, David. "Gestionar NTP con Chrony" . Opensource.com . Archivado desde el original el 29 de junio de 2019 . Consultado el 29 de junio de 2019 .
- ^ Lichvar, Miroslav (18 de septiembre de 2018). "chrony - chrony.conf (5)" . Proyecto Chrony . Proyecto Chrony . Consultado el 2 de agosto de 2020 .
Esta directiva habilita el sello de tiempo del hardware de los paquetes NTP enviados y recibidos desde la interfaz de red especificada.
- ^ Heiderich, Mario (agosto de 2017). "Pentest-Report Chrony 08.2017" (PDF) . Equipo Cure53.de . wiki.mozilla.org, también conocido como MozillaWiki o WikiMO. Archivado desde el original (PDF) el 5 de octubre de 2017 . Consultado el 19 de noviembre de 2017 .
Soportar once días completos de pruebas remotas en agosto de 2017 significa que Chrony es robusto, fuerte y desarrollado pensando en la seguridad.
- ^ "Asegurar el tiempo de la red" . Iniciativa de infraestructura central, un proyecto colaborativo de la Fundación Linux . Iniciativa de infraestructura básica. 27 de septiembre de 2017. Archivado desde el original el 28 de octubre de 2017 . Consultado el 19 de noviembre de 2017 .
En resumen, el software Chrony NTP se mantiene sólido y puede considerarse confiable
- ^ "introducción crónica" . TuxFamily, una organización sin fines de lucro . cronicidad. Archivado desde el original el 9 de diciembre de 2009 . Consultado el 19 de noviembre de 2017 .
El software es compatible con Linux, FreeBSD, NetBSD, macOS y Solaris.
- ^ David Mills. "La escala de tiempo NTP y los segundos bisiestos" . Archivado desde el original el 7 de septiembre de 2013 . Consultado el 15 de octubre de 2013 .
- ^ "Google Developers Leap Smear" . Archivado desde el original el 4 de abril de 2019 . Consultado el 4 de abril de 2019 .
- ^ "Aviso de seguridad" . Support.NTP.org . 2009-12-10 . Consultado el 12 de enero de 2011 .
- ^ "Vulnerabilidad de paquetes de protocolo de tiempo de red del software Cisco IOS" . Cisco Systems . 23 de septiembre de 2009. Archivado desde el original el 11 de junio de 2020 . Consultado el 11 de junio de 2020 .
- ^ "Auditoría de código" . Support.NTP.org . 2009-06-13 . Consultado el 12 de enero de 2011 .
- ^ "Vulnerabilidades del protocolo de tiempo de red (actualización C) | ICS-CERT" . Ics-cert.us-cert.gov. Archivado desde el original el 20 de diciembre de 2014 . Consultado el 15 de abril de 2015 .
- ^ Cunningham, Andrew (23 de diciembre de 2014). "Apple parchea automáticamente las Mac para corregir graves fallas de seguridad de NTP" . arstechnica. Archivado desde el original el 15 de abril de 2015 . Consultado el 29 de abril de 2015 .
- ^ Fairhead, Harry (23 de diciembre de 2014). "NTP El último problema de seguridad de código abierto" . Programador. Archivado desde el original el 24 de diciembre de 2014 . Consultado el 24 de diciembre de 2014 .
- ^ Página de aviso de seguridad de NTP archivada el 19 de febrero de 2014 en la Wayback Machine.
- ^ NTP de búsqueda de productos NVD NIST
- ^ NVD NIST Product Search NTPsec Archivado el 26 de junio de 2020 en Wayback Machine.
- ^ NVD NIST Product Search Chrony Archivado el 26 de junio de 2020 en la Wayback Machine.
- ^ "Auditoría de CII identifica la implementación de NTP más segura" . La Fundación Linux. 28 de septiembre de 2017. Archivado desde el original el 3 de febrero de 2018 . Consultado el 3 de julio de 2019 .
- ^ Protocolo de tiempo de red versión 4: Especificación de clave automática . IETF. Junio de 2010. doi : 10.17487 / RFC5906 . RFC 5906 .
- ^ "Análisis de seguridad NTP" . Archivado desde el original el 7 de septiembre de 2013 . Consultado el 11 de octubre de 2013 .
- ^ José Selvi (16 de octubre de 2014). "Eludir la seguridad de transporte estricta de HTTP" (PDF) . Archivado desde el original (PDF) el 18 de octubre de 2014 . Consultado el 16 de octubre de 2014 .
- ^ Aanchal Malhotra; Isaac E. Cohen; Erik Brakke y Sharon Goldberg (20 de octubre de 2015). "Atacando el protocolo de tiempo de la red" (PDF) . NDSS . Archivado desde el original (PDF) el 22 de octubre de 2015 . Consultado el 27 de octubre de 2015 .
- ^ "Atacando el protocolo de tiempo de red" . www.cs.bu.edu . Archivado desde el original el 24 de octubre de 2015 . Consultado el 27 de octubre de 2015 .
- ^ Goodin, Dan (13 de enero de 2014). "Los nuevos ataques DoS que destruyen los sitios de juegos generan inundaciones paralizantes de 100 Gbps" . Ars Technica . Archivado desde el original el 24 de enero de 2014 . Consultado el 25 de enero de 2014 .
- ^ Lee, Dave (11 de febrero de 2014). "Hack enorme 'feo signo del futuro' para las amenazas de Internet" . BBC. Archivado desde el original el 11 de febrero de 2014 . Consultado el 12 de febrero de 2014 .
- ^ "Ataque DRDoS / Amplification usando el comando ntpdc monlist" . support.NTP.org . 2010-04-24. Archivado desde el original el 30 de marzo de 2014 . Consultado el 13 de abril de 2014 .
Otras lecturas
- Definiciones de objetos administrados para la versión 4 del protocolo de tiempo de red (NTPv4) . doi : 10.17487 / RFC5907 . RFC 5907 .
- Opción de servidor Network Time Protocol (NTP) para DHCPv6 . doi : 10.17487 / RFC5908 . RFC 5908 .
enlaces externos
- Página web oficial
- Lista de servidores oficiales de Stratum One Time
- Grupo de trabajo IETF NTP
- Microsft Windows guía de tiempo precisa y más
- Hora y papel NTP
- Encuesta NTP 2005
- Archivo actual de segundos bisiestos de NIST compatible con ntpd
- David L. Mills, A Brief History of NTP Time: Confessions of an Internet Timekeeper (PDF) , consultado el 7 de febrero de 2021