Sei sulla pagina 1di 33

UNIVERSIDAD NACIONAL AMAZÓNICA DE MADRE DE DIOS

FACULTAD DE INGENIERÍA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS E INFORMÁTICA

NTP
“NETWORK TIME PROTOCOL”
(PROTOCOLO DE TIEMPO DE RED)

POR:

PAMELA BEATRIZ GRANDE SALLO

2018
DEDICATORIA

Este trabajo se lo dedico a Dios y a mis Padres por el deseo de superación y amor que me
brindan cada día.
INDICE
INTRODUCCIÓN

El estándar de escala de tiempo usado por muchos países es el UTC (Coordinated Universal

Time), que está basado en la rotación de la tierra alrededor de su eje, y el calendario Gregoriano,

que está basado en la rotación de la tierra alrededor del sol. La escala de tiempo UTC está en

concordancia al TAI (International Atomic Time) insertando saltos de segundos en intervalos

de 18 meses aproximadamente. La hora UTC esta divulgada de diferentes maneras, incluyendo

sistemas de navegación por radio y satélite, módems, relojes portátiles, etc. Por tanto podemos

decir que el NTP (puerto 123 UDP y TCP) sirve para sincronizar relojes de hosts y routers en

Internet. Este protocolo se estableció en los años 80 y era para Unix y después salió uno similar

SNTP (Short Network Time Protocol ) para Windows, cuyo objetivo era poder sincronizar los

relojes de 2 computadores. La arquitectura, protocolo y algoritmos de NTP han ido

evolucionando durante los últimos 20 años hasta llegar a la última versión NTP4 que es

utilizada actualmente.
“NETWORK TIME PROTOCOL”
(PROTOCOLO DE TIEMPO DE RED)
NTP

NTP (Network Time Protocol), es un protocolo de red para la sincronización de reloj entre

sistemas informáticos a través de redes de datos de latencia de conmutación de paquetes, es

decir, el objetivo del NTP es la sincronización de la hora de los ordenadores de forma

automática, de tal forma que siempre estén en la hora correcta. La ventaja fundamental de este

servicio es que todos los ordenadores estarán sincronizados y todos tendrán la misma hora con

un error de microsegundos.

Según pasa el tiempo el reloj de un ordenador está expuesto a ligeros desplazamientos. NTP

es un protocolo que permite asegurar la exactitud de nuestro reloj. Existen varios servicios de

internet que confían y se pueden beneficiar de relojes de ordenadores precisos. Por ejemplo un

servidor web puede recibir peticiones de un determinado fichero si ha sido modificado

posteriormente a una determinada fecha u hora. Servicios como cron, ejecutan órdenes en

determinados instantes. Si el reloj no se encuentra ajustado estas órdenes pueden ejecutarse

fuera de la hora prevista.

NTP utiliza un protocolo de la capa de aplicación, y debido a la necesidad de una rápida

transmisión de las referencias horarias, usa el protocolo de capa de transporte UDP, a través de

una red IP. En específico, usa el puerto 123 de UDP.


DATOS HISTÓRICOS:

• Desarrollado en 1985 por David Mills en la Universidad de Delaware, EE. UU.

• David todavía mantiene NTP en conjunto con un equipo de voluntarios.

• NTP es uno de los protocolos de Internet más antiguos todavía en uso.

• Existen 4 versiones actualmente, la última versión es NTP versión 4 (la versión 5 está en

desarrollo)

NTP: VERSIONES

 Versión inicial (RFC 958).

 Versión 1 (RFC 1059):

° Publicada en 1988.

° Incluye implementación del modelo.

° Incluye algoritmos que buscan la mejor precisión posible (filtrado).

 Versión 2 (RFC 1119):

° Publicado en 1989.

° Soporta autenticación cifrada.

° Mejora el chequeo de dispositivos no sincronizados.

 Versión 3 (RFC 1305):

° Publicado en 1992.

° Nuevos algoritmos de menor sobrecarga.

° Cambia el esquema de los cálculos para una mejora en la precisión del tiempo.

 Versión 4 (RFC 5905):

° Publicado en 2010

° Incluye IPv6.
° Incluye mecanismos para configuración automática en algunos casos.

 Secure NTP:

° Solo es un nombre utilizado para los NTP seguros.

 Simple NTP (SNTP):

° Protocolo para otro tipo de entornos.

° Es una versión que se diferencia de NTP.

° También posee 4 versiones.

° Usualmente se utiliza en una red con un solo servidor y muchos clientes.

° Incluye soporte de IPv6.

NTP: ARQUITECTURA

TIPOS DE ASOCIACIONES:

 Cliente-Servidor

° El cliente es únicamente sincronizado por el servidor.

° El cliente manda mensajes continuos para sincronizarse.

° Provee, básicamente, de 3 datos importantes para la sincronización de reloj:

* El offset especifica la diferencia entre la hora del sistema local y la


referencia externa de reloj.
* El delay especifica las latencias de tiempo medidas durante las
transferencias de paquetes dentro de la red.
* La referencia de dispersión de tiempo especifica el máximo número de
errores asociados con la información de tiempo recibido de un reloj externo.
 Simétrico
° Es un clique.
° Cada nodo perteneciente a este modo envía mensajes de disposición tanto para
sincronizar como para ser sincronizado.
° Permite a cada uno de los dos servidores sincronizarse con otro, para proporcionarse
copias de seguridad mutuamente.
° Existe redundancia.
 Broadcast
° Permite que muchos clientes puedan sincronizarse con uno o varios servidores,
reduciendo el tráfico en la red cuando están involucrados un gran número de clientes
° El servidor no es sincronizado por ninguno de sus clientes.
° Se diferencia del cliente/servidor por la cantidad de nodos y por quién envía el
mensaje.

NTP: TOPOLOGÍA

NTP utiliza un sistema de jerarquía en estratos del reloj.

 Estrato 0: Representa los relojes externos, tales como reloj GPS o atómico.

 Estrato 1: Ordenadores conectados a dispositivos del estrato 1 (servidores de tiempo)

 Estrato 2: Ordenadores que envían peticiones y utilizan el algoritmo NTP.

El servicio NTP es provisto por una red de servidores ubicados en Internet.

 Los servidores primarios están conectados directamente a una fuente de tiempo (por

ejemplo, un reloj de radio que recibe UTC, GPS).

 Los servidores secundarios están sincronizados con servidores principales

 Los servidores están conectados de forma lógica jerarquía llamada una subred de

sincronización.

 Los servidores con altos niveles de estrato son susceptibles de tener relojes menos

precisos que aquellos con un estrato más bajo números.

MARCAS DE TIEMPO

Las marcas de tiempo de 64 bits utilizadas por NTP consisten en una parte de 32 bits para

segundos y una parte de 32 bits para fracciones de segundo, lo que da una escala de tiempo
que rueda cada 232 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 que la primera reinversión

tendrá lugar el 7 de febrero de 2036.

ALGORITMOS DEL NTP

1) Algoritmo de filtrado de reloj

NTP calcula la diferencia horaria


offset = [(T 2 - T 1) + (T 3 - T 4 )]/ 2
el retraso de ida y vuelta
delay = (T 4 - T 1) - (T 3 - T 2)

La mayor precisión del offset es medida con el menor retraso La dispersión de la fase res

la media de las diferencias de offset sobre las ultimas 8 muestras-usado como un estimador

del error.En una implementación muestras de i, i son desplazadas en una ventana de

8 registros de desplazamiento desde la primera a la última, causando que viejas muestras sean

desplazadas por las otras. Entonces, las 8 muestras son puestas en una lista temporal ordenadas

en orden por el aumento de .La primera muestra en la lista 0, 0 representa los

estimadores ^, ^ , los cuales son almacenados para cada peer separadamente para

después procesarlos por los algoritmos de combinación y selección

2) Algoritmo de intersección

El algoritmo NTS (de intersección) requiere que el punto medio del intervalo este en la

intersección.Inicialmente, pone a 0 f (falsotick), los contadores c y d Lee del mas lejano de la

izquierda: añade uno a c para cada final de punto bajo, y le resta uno para cada final de punto

alto, añade uno a d para cada punto medioSi c m fy d m f, declara éxito y sale del

procedimiento.Hace lo mismo empezando por la parte mas lejana de la derecha.Si no hay

éxito, se incrementa f en uno y se intenta de nuevoSi f³ m/2,error


FINALIDADES DEL NTP

Determinar la hora de un país: La hora de un país se determina principalmente

por su localización geográfica, en función de la hora universal. En el caso de

Honduras lo que se hace es tener un nodo de Internet de investigación con

varios

computadores en línea y en una SPARC

5 el protocolo NTP con servidor

primario BNL (Brookhaven National Laboratory, New York) y en un PC, el

SNTP con el FNL (Fermi National Laboratory ,Chicago) , y cuando ambos

sistemas están en sincronía decimos que tene

mos la hora oficial

Una de las aplicaciones de este protocolo es para la física, la comunicación entre

computadores es más fácil si los computadores están sincronizados y está menos

sujeta a desfases.

La sección de geofísica también necesita de medidas ex

actas de tiempo para


determinar epicentros de terremotos y así por el estilo.

La sección de física teórica trabaja actualmente con un operador de Internet para

poder llevar esta tecnología a las estaciones de radio y televisión.

Son muchos los problemas d

e seguridad relacionados con un tiempo correcto

por lo que tener la hora correcta nos puede ayudar a solventarlos, como por

ejemplo tener un fichero de log correcto.

Algunas universidades ofrecen este servicio por ejemplo la de Alicante, que posee

servido

res de tiempo instalados en la universidad y que a su vez están sincronizados con

un reloj atómico que nos ofrece la hora con gran precisión.(precisión de milisegundos).

La hora exacta la obtienen porque el reloj atómico del cual obtienen la hora es el pa

trón

nacional de tiempo, del cual cuelgan varios servidores que distribuyen el tiempo a través

de internet siguiendo el protocolo NTP (versión 3)

y que son el punto de referencia para

la infraestruc

tura de tiempo de RedIRIS

a la cual esta conectado en este caso la

Universidad de Alicante. Las razones por las que a una universidad le puede ser útil

utilizar este servicio es :

Correo electrónico

: Fiabilidad en la fecha y hora de los mensajes.


Proxy

ca

che:

En el intercambio de documentos entre servidores es muy

importante que los tiempos que cada servidor asocia al documento (última

modificación, tiempo en la cache, etc...) sean precisos para el correcto

funcionamiento de la política de refresco y expir

ación de documentos de la

cache.

Seguridad en la red:

La detección de problemas de seguridad frecuentemente

exige poder comparar datos de los acceso de máquinas diferentes, para lo que es

imprescindible la coincidencia horaria de las mismas.

En el caso d

e un usuario cualquiera le puede ser útil :

Para tener todos nuestros documentos (correo, archivos word, ...) con la fecha

correcta.

Seguridad

En cuanto a la seguridad vamos a hacer una breve explicación, ya que siendo un

servicio de red una parte impor

tante es que se eviten los ataques maliciosos o

accidentales tanto en los servidores como en los clientes.

NTP incluye un modelo revisado para la seguridad y el esquema de autentificación

soportando tanto la criptografía simétrica como la de clave


-

publica

. En cuanto a la clave

publica, esta orientada a reducir el riesgo de intrusión, minimizando el consumo de

recursos del procesador y minimiza la vulnerabilidad de un ataque de hackers

ESTRUCTURA DEL PAQUETE NTP

La cabecera del paquete NTP (Fig. 7) se compone de los siguientes campos. 1. Leap Indicator

(2 bits): Debido a variaciones en la rotación de la tierra, se utiliza el indicador de salto para

señalar si al día actual se le debe sumar o restar un segundo, o mantener la cantidad normal de

segundos de 1 día. 2. Version Number (3 bits): Número de versión, actualmente el convenio

se encuentra en la versión 4. 3. Mode (3 bits): Indica el modo en que funciona el paquete.(0:

Reserved, 1: Symmetric active, 2: Symmetric passive, 3: Client, 4: Server, 5: Broadcast, 6:

NTP control message, 7: Reservado) 4. Stratum(8 bits) Indica el nivel de estrato de referencia

del reloj local. 0 indica no especificado o inválido, 1 indica servidor primario, del 2 al 15

servidor secundario y 16 indica desincronización. El resto son valores reservados. 5. Poll (8

bits): Indica el l og2 del valor correspondiente al máximo intervalo entre sucesivas consultas

NTP, en segundos. 6. Precision (8 bits): Indica el l og2 de la precisión del reloj del sistema, en

segundos. 7. Root Delay(32 bits): Tiempo de ida y vuelta (RTT) desde el servidor a la
referencia primaria indicada. Corresponde a un número punto fijo con signo que indica el RTT

en segundos, con la parte fraccionaria entre el bit 15 y 16. Este campo es relevante solamente

en los mensajes del servidor. 8. Root Dispersion(32 bits): Mismo formato de Root Delay.

Indica el máximo error tolerable, propio de la medición. Solo es relevante en los mensajes del

servidor. 9. Reference Identifier (32 bits): Para servidores primarios (estrato 1), es un código

ASCII que describe la referencia externa de sincronización del reloj (Fig. 8). Para servidores

secundarios, corresponde a la IPv4 del reloj de sincronización, o los primeros 32 bits del

hashing MD5 de la dirección IPv6 del mismo.

Hay tres variantes de protocolo NTP, simétricas, cliente / servidor y difusión. Cada uno está asociado
con un modo de asociación como se muestra en la Tabla 1.

En la variante cliente / servidor una asociación de cliente envía paquetes de modo-3 (cliente) a un servidor, que
devuelve paquetes de modo-4 (servidor). Los servidores proporcionan
sincronización con uno o más clientes, pero no acepta la sincronización de ellos. Un servidor
también puede ser un reloj de referencia que obtiene tiempo directamente de una fuente estándar como un GPS
servicio de módem telefónico o receptor. Decimos que los clientes extraen la sincronización de los servidores.

En la variante simétrica, un par funciona como un servidor y un cliente utilizando un sistema simétrico
o asociación simétrica-pasiva. Una asociación simétrica-activa envía el modo-1
(paquetes simétricamente activos) a una asociación de pares simétrica-activa. Alternativamente, un pasivo
simétrico
la asociación puede movilizarse a la llegada de un paquete de modo-1. Esa asociación envía
modo-2 (simétrico-pasivo) paquetes y persiste hasta error o tiempo de espera. Decimos que los pares tanto
push and pull sincronización hacia y desde el otro. Para los fines de este documento, un par
funciona como un cliente, por lo que una referencia al cliente también implica pares.

En la variante de difusión, una asociación de servidor de difusión envía paquetes periódicos de modo-5
(difusión)
que son recibidos por múltiples asociaciones de modo-6 (cliente de difusión). Es útil proporcionar un
volea inicial donde el cliente que opera en el modo 3 intercambia varios paquetes con el servidor en
Para calibrar el retraso de propagación y ejecutar el protocolo de seguridad Autokey, después del cual el
el cliente vuelve al modo 6. Decimos que los servidores de difusión impulsan la sincronización a voluntad
consumidores.

Siguiendo las convenciones establecidas por la industria telefónica, el nivel de cada servidor en el
la jerarquía se define por un número llamado estrato, con los servidores primarios asignados estrato
uno y los servidores secundarios en cada nivel asignados uno mayor que el nivel anterior. Como el
el estrato aumenta de uno, las exactitudes alcanzables se degradan un poco dependiendo de la
particular ruta de red y estabilidad del reloj del sistema. Es útil suponer que los errores medios, y
por lo tanto, una métrica llamada distancia de sincronización aumenta aproximadamente en proporción a la
estrato y retraso medido de ida y vuelta.
Aprovechando la experiencia de la industria telefónica, que aprendió tales lecciones en
costo considerable, la topología de la subred debe organizarse para producir la menor
distancias de sincronización, pero nunca debe permitirse formar un bucle.

En NTP, la topología de subred


se determina usando una variante del algoritmo de enrutamiento distribuido Bellman-Ford, que calcula
el árbol de expansión de distancia más corta enraizado en los servidores principales. Como resultado de este
diseño, el
el algoritmo reorganiza automáticamente la subred para producir el tiempo más preciso y confiable,
incluso cuando uno o más servidores primarios o secundarios o las rutas de red entre ellos fallan.

3 Network Time Protocol (NTP) es un protocolo de Internet para sincronizar los relojes de los
sistemas informáticos a través del ruteo de paquetes en redes con latencia variable. NTP utiliza
UDP como su capa de transporte, usando el puerto 123. Está diseñado para resistir los efectos
de la latencia variable. NTP es uno de los protocolos de internet más viejos que siguen en uso
(desde antes de 1985). NTP fue diseñado originalmente por Dave Mills de la Universidad de
Delaware, el cual lo sigue manteniendo, en conjunto con un equipo de voluntarios. El demonio
NTP de Unix es un proceso de nivel de usuario que se ejecuta continuamente en la máquina
que soporta NTP, y la mayor parte del protocolo está implementado en este proceso de usuario.
Para obtener el mejor rendimiento de NTP, es importante tener un reloj NTP estándar con lazo
de seguimiento de fase implementado en el kernel del Sistema operativo, en vez de sólo usar la
intervención de un demonio NTP externo NTP utiliza un sistema de jerarquía de estratos de
reloj, en donde los sistemas de estrato 1 están sincronizados con un reloj externo tal como un
reloj GPS ó algún reloj atómico. Los sistemas de estrato 2 de NTP derivan su tiempo de uno ó
más de los sistemas de estrato 1, y así consecutivamente.

En funcionamiento desde antes de 1985, NTP es uno de los protocolos de Internet más antiguos en uso actual.
NTP fue diseñado por David L. Mills de la Universidad de Delaware.

El NTP está destinado a sincronizar todas las computadoras participantes dentro de unos pocos milisegundos de
Tiempo Universal Coordinado (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 efectos de la
latencia de red variable. El NTP generalmente puede mantener el tiempo dentro de decenas de milisegundos a
través de Internet público, y puede alcanzar una precisión superior a un milisegundo en redes de área local en
condiciones ideales. Las rutas asimétricas y la congestión de la red pueden causar errores de 100 ms o más. [2]
[3]
El protocolo generalmente se describe en términos de un modelo cliente-servidor, pero se puede usar tan
fácilmente en las relaciones entre iguales donde ambos pares consideran que el otro es una fuente de tiempo
potencial. [1]: 20 Implementaciones envían y reciben marcas de tiempo utilizando el protocolo de datagrama de
usuario (UDP) en el puerto número 123. [4] [5] También pueden usar broadcasting o multicasting, donde los
clientes escuchan pasivamente actualizaciones de tiempo después de un intercambio inicial de calibración de ida
y vuelta. [3] El NTP proporciona una advertencia de cualquier cambio 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, especificado en RFC 1305.

Estratos del reloj

El reloj maestro alternativo del Observatorio Naval de EE. UU. En Schriever AFB (Colorado) es una fuente de
estrato 0 para NTP

Las flechas amarillas indican una conexión directa; las flechas rojas indican una conexión de red.
NTP usa un sistema jerárquico de semi-capas de fuentes de tiempo. Cada nivel de esta jerarquía se denomina un
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 usa 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 de estrato 3 que son
de mayor calidad que otras fuentes de tiempo de estrato 2. [nota 1] 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 un pulso muy preciso por segundo señal que dispara una interrupción y marca de tiempo en una
computadora conectada. Los dispositivos Stratum 0 también se conocen como relojes de referencia.
Estrato 1
Estas son computadoras cuyo tiempo de sistema está sincronizado a unos microsegundos de sus dispositivos de
estrato 0 adjuntos. Los servidores Stratum 1 pueden ver con otros servidores de estrato 1 para la verificación de
la cordura y la copia de seguridad. [13] También se les conoce como servidores de tiempo primario. [2] [3]
Estrato 2
Estas son computadoras que se sincronizan a través de una red para servidores de estrato 1. A menudo, una
computadora de estrato 2 consultará varios servidores de estrato 1. Las computadoras Stratum 2 también pueden
analizar con otras computadoras de stratum 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 los servidores de estrato 2. Emplean los mismos algoritmos
para el peering y el muestreo de datos como el estrato 2, y pueden actuar ellos mismos como servidores para las
computadoras del estrato 4, y así sucesivamente.
El límite superior para el estrato es 15; el estrato 16 se usa para indicar que un dispositivo no está sincronizado.
Los algoritmos NTP en cada computadora interactúan para construir un árbol de expansión de ruta más corta
Bellman-Ford, para minimizar la demora acumulada de ida y vuelta a los servidores de estrato 1 para todos los
clientes.
Marcas de tiempo
Las marcas de tiempo de 64 bits utilizadas por NTP consisten en una parte de 32 bits para segundos y una parte
de 32 bits para fracciones de segundo, lo que da una escala de tiempo que rueda cada 232 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
que la primera reinversión tendrá lugar el 7 de febrero de 2036. [14] [15]

Las versiones futuras de NTP pueden extender la representación de tiempo a 128 bits: 64 bits para el segundo y
64 bits para el segundo fraccionario. El formato NTPv4 actual es compatible con el Número de Era y el Desfase
de Era, que cuando se utiliza correctamente debería ayudar a solucionar los problemas de cambio de fecha.
Según Mills, "el valor de 64 bits para 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 segundo valor de 64 bits es suficiente para proporcionar
una representación de tiempo inequívoca hasta que el universo dim. "[16] [nota 2]

Algoritmo de sincronización de reloj

Tiempo de retardo de ida y vuelta δ


Un cliente NTP típico sondeará regularmente tres o más servidores en diversas redes. Para sincronizar su reloj,
el cliente debe calcular su compensación de tiempo y retardo de ida y vuelta. El desplazamiento de tiempo θ se
define por

{\ displaystyle \ theta = {(t_ {1} -t_ {0}) + (t_ {2} -t_ {3}) \ over 2}} \ theta = {(t_1 - t_0) + (t_2 - t_3) \mas de
2},
y el retraso de ida y vuelta δ por

{\ displaystyle \ delta = {(t_ {3} -t_ {0}) - (t_ {2} -t_ {1})}} \ delta = {(t_3 - t_0) - (t_2- t_1)},
dónde
t0 es la marca de tiempo del cliente de la transmisión del paquete de solicitud,
t1 es la marca de tiempo del servidor de la recepción del paquete de solicitud,
t2 es la marca de tiempo del servidor de la transmisión del paquete de respuesta y
t3 es la marca de tiempo del cliente de la recepción del paquete de respuesta. [1]: 19
Los valores para θ y δ se pasan a través de filtros y se someten a análisis estadísticos. Los valores atípicos se
descartan y una estimación del tiempo compensado se deriva de los mejores tres candidatos restantes. La
frecuencia del reloj se ajusta para reducir el desplazamiento gradualmente, creando un ciclo de
retroalimentación. [1]: 20

La sincronización es correcta cuando las rutas entrantes y salientes entre el cliente y el servidor tienen un retardo
nominal simétrico. Si las rutas no tienen un retraso nominal común, habrá un sesgo sistemático de la mitad de la
diferencia entre los tiempos de viaje hacia adelante y hacia atrás. [17]
Implementaciones de software

La utilidad de protocolo de gestión NTP ntpq se utiliza para consultar el estado de un servidor de estrato 2.
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. La compatibilidad con versiones anteriores se ha mantenido a medida que se agregaron nuevas
características. 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 portado
a casi todas las plataformas informáticas, incluidas las computadoras personales. [1]: 13 Se ejecuta como un
daemon llamado ntpd bajo Unix o como un servicio bajo Windows. [1]: 15 relojes de referencia son compatibles
y sus compensaciones son filtradas y se analiza de la misma manera que los servidores remotos, aunque
generalmente se sondean con mayor frecuencia. [1]: 19

Reference indentifier (refid) Clock Source


Satélite de Ambiente de órbita geosincrónica GOES
Sistema de Posicionamiento Global GPS
Sistema de posicionamiento GAL Galileo
PPS pulso genérico por segundo
Grupo de instrumentación entre rangos IRIG
WWVB LF Radio WWVB Ft. Collins, CO 60 kHz
DCF LF Radio DCF77 Mainflingen, DE 77.5 kHz
HBG LF Radio HBG Prangins, HB 75 kHz (operación interrumpida)
MSF LF Radio MSF Anthorn, Reino Unido 60 kHz
JJY LF Radio JJY Fukushima, JP 40 kHz, Saga, JP 60 kHz
Estación LORC MF Radio LORAN C, 100
TDF MF Radio Allouis, FR 162 kHz
CHU HF Radio CHU Ottawa, Ontario
WWV HF Radio WWV Ft. Collins, CO
WWVH HF Radio WWVH Kauai, HI
Módem de teléfono NIST NIST
Módem de teléfono ACTS NIST
Módem telefónico USNO USNO
Módem telefónico europeo PTB
MRS Multi Fuentes de referencia
Cambio de la Asociación Inter Face de XFAC
Desarrollado en 1985 por David Mills en el
Universidad de Delaware, EE. UU.
• David todavía mantiene NTP.
• NTP es uno de los protocolos de Internet más antiguos
todavia en uso.
• La última versión es NTP versión 4 (la versión 5 es
en desarrollo)

Diferencias con el método de Cristian


y el algoritmo de Berkley
• El método de Cristian (CM) y el Berkley
algoritmo (BA) están diseñados principalmente para
uso en intranets.
• El protocolo de tiempo de red fue diseñado para
uso en Internet (u otro tipo de información no confiable)
redes) desde el principio.
• CM y BA ambos se sincronizan contra uno
servidor de tiempo
• NTP se sincroniza con muchos servidores de tiempo.

Datos técnicos
• NTP es un protocolo de capa de aplicación
- Número de puerto predeterminado 123
- Utiliza el protocolo de transporte de Internet UDP estándar
• Las marcas de tiempo se usan en los mensajes
- Marcas de tiempo contadas como segundos a partir de 1900-01-01 (año
2036 error en la versión 3 de NTP debido a un campo de segundos de 32 bits de ancho)
- Campo de segundos de 64 bits (NTP versión 4)
- La versión 5 de NTP podría tener un campo de segundos de 128 bits de ancho
• Exactitud
- aprox. 200 μs en LAN
- aprox. 10 ms a través de Internet

Objetivos de diseño de NTP


1. Ajuste el reloj del sistema lo más cerca posible de UTC
a través de Internet. (Técnicas estadísticas para filtrar
datos de tiempo)
2. Maneje la mala conectividad. (rutas redundantes,
servidores reconfigurables)
3. Habilite resincronizaciones con la frecuencia suficiente.
(escalando bien en un gran número de clientes y
servidores)
4. Seguridad. (tiempo del servidor de desconfianza, autenticación)

Estructura jerarquica
• El servicio NTP es provisto por una red de
servidores ubicados en Internet.
• Los servidores primarios están conectados directamente a un
fuente de tiempo (por ejemplo, un reloj de radio que recibe
UTC, GPS).
• Los servidores secundarios están sincronizados con
servidores principales
• Los servidores están conectados de forma lógica
jerarquía llamada una subred de sincronización.

Subred de sincronización
• Cada nivel de la subred de sincronización se llama
estrato. (por ejemplo, los servidores principales son el estrato 1,
estrato secundario 2 y así sucesivamente)
• Los servidores de nivel más bajo (hoja) se ejecutan en usuarios
estaciones de trabajo. (por ejemplo, ntp en Linux)
• Los servidores con altos niveles de strat son susceptibles de tener
relojes menos precisos que aquellos con un estrato más bajo
números.
• La subred de sincronización puede reconfigurarse como
los servidores se vuelven inalcanzables o se producen fallas.

Ejemplo: estratos

Sincronización del servidor


• Hay tres posibles sincronizaciones
modos:
- multicast (a veces llamado broadcast)
- procedimiento-llamada (a veces llamado clie
2007-10-23 M. Höfling, F. Jäckel: Network Time Protocol 10
modo multicast
• Uno o más servidores periódicamente multicast
el tiempo para los servidores en la red.
• Los receptores configuran su reloj asumiendo un pequeño
retrasar.
• Los receptores no responden.
• Problema:
- Baja precisión relativa.
- Debido a limitaciones de hardware, este modo solo funciona
en redes IP multicast habilitadas como LAN.
2007-10-23 M. Höfling, F. Jäckel: Network Time Protocol 11
modo de llamada al procedimiento
• Un servidor acepta solicitudes de otros
ordenadores.
• El servidor responde con su marca de tiempo.
• Mayor precisión.
2007-10-23 M. Höfling, F. Jäckel: Network Time Protocol 12
modo simétrico
• Destinado a ser utilizado en niveles más altos de la
subred de sincronización.
• Un par de servidores intercambian mensajes a
mejorar la precisión de su syn
2007-10-23 M. Höfling, F. Jäckel: Network Time Protocol 13

El Servicio de Tiempo en Red (NTP, Network Time Protocol), ofrece la posibilidad de


sincronizar el reloj de cualquier ordenador conectado a la Red con un servidor central de tiempo.
 El objetivo del NTP (Network Time Protocol) es la sincronización de la hora de los
ordenadores de forma automática, de tal forma que siempre estén en la hora correcta. La
ventaja fundamental de este servicio es que todos los ordenadores estarán sincronizados y
todos tendrán la misma hora con un error de microsegundos.  Según pasa el tiempo el reloj de
un ordenador está expuesto a ligeros desplazamientos. NTP es un protocolo que permite
asegurar la exactitud de nuestro reloj. Existen varios servicios de internet que confían y se
pueden beneficiar de relojes de ordenadores precisos. Por ejemplo un servidor web puede
recibir peticiones de un determinado fichero si ha sido modificado posteriormente a una
determinada fecha u hora. Servicios como cron, ejecutan órdenes en determinados instantes. Si
el reloj no se encuentra ajustado estas órdenes pueden ejecutarse fuera de la hora prevista.

3 Network Time Protocol (NTP) es un protocolo de Internet para sincronizar los relojes de los
sistemas informáticos a través del ruteo de paquetes en redes con latencia variable. NTP utiliza
UDP como su capa de transporte, usando el puerto 123. Está diseñado para resistir los efectos
de la latencia variable. NTP es uno de los protocolos de internet más viejos que siguen en uso
(desde antes de 1985). NTP fue diseñado originalmente por Dave Mills de la Universidad de
Delaware, el cual lo sigue manteniendo, en conjunto con un equipo de voluntarios. El demonio
NTP de Unix es un proceso de nivel de usuario que se ejecuta continuamente en la máquina
que soporta NTP, y la mayor parte del protocolo está implementado en este proceso de usuario.
Para obtener el mejor rendimiento de NTP, es importante tener un reloj NTP estándar con lazo
de seguimiento de fase implementado en el kernel del Sistema operativo, en vez de sólo usar la
intervención de un demonio NTP externo NTP utiliza un sistema de jerarquía de estratos de
reloj, en donde los sistemas de estrato 1 están sincronizados con un reloj externo tal como un
reloj GPS ó algún reloj atómico. Los sistemas de estrato 2 de NTP derivan su tiempo de uno ó
más de los sistemas de estrato 1, y así consecutivamente.

Network Time Protocol - Protocolo de Hora en Red (NTP)

NTP es un método común para sincronizar los relojes de sistemas informáticos en redes locales y
globales. El concepto básico, versión 1 [Mills88], se publicó en 1988 como RFC (Request For
Comments). Tras las experiencias obtenidas de su uso práctico en Internet le siguió la versión 2
[Mills89]. El paquete de software NTP es una implementación de la versión 3 [Mills90], descrito en el
RFC-1305 de 1990.

Está permitido utilizar, copiar, modificar y distribuir este software para cualquier propósito y de forma
gratuita (léase el Archivo COPYRIGHT).

El funcionamiento de NTP difiere básicamente de la mayoría de los otros protocolos. NTP no


sincroniza todos los relojes conectados, establece una jerarquía de servidores de tiempo y clientes.
Cada nivel de esta jerarquía se denomina estrato, y el Estrato 1 constituye el nivel más alto.

Los servidores de este nivel se sincronizan con una fuente de tiempo de referencia, como un reloj
radiocontrolado, receptor de GPS o módem. Los servidores de Estrato 1 distribuyen el tiempo a
distintos clientes de la red, que se denominan Estrato 2.

Es posible una sincronización de alta precisión gracias a las distintas referencias de tiempo. Cada
ordenador se sincroniza con hasta tres fuentes de tiempo fiables. NTP permite la comparación de las
horas de la máquina y el ajuste del reloj. Puede alcanzarse una precisión de 128 ms, con frecuencia
mayor que 50 ms.

Network Time Protocol es un protocolo TCP / IP para sincronizar los tiempos de reloj de la computadora a
través de una red. El tiempo preciso en una red es muy importante. ¡Los servidores NTP son la mejor solución
para esta preocupación! NTP fue iniciado por Dave L. Mills en la Universidad de Delaware. Estaba tratando de
lograr una sincronización de tiempo de alta precisión para computadoras conectadas a través de una red.
Después de sus contribuciones, Network Time Protocol (NTP) versión 1 hizo su debut en 1980. Desde entonces,
NTP ha sido continuamente optimizado y ampliamente utilizado en todo el mundo. Corre sobre el puerto 123
UDP en Transport Layer. La versión 4 de NTP, que es una revisión significativa de los estándares NTP
anteriores, es la última versión de desarrollo.
NTP usa el Tiempo Universal Coordinado (UTC) para sincronizar los tiempos del reloj de la computadora. La
hora UTC puede obtenerse utilizando varios métodos, como los mecanismos de radio o satélite. NTP usa una
versión modificada del algoritmo de Marzullo para seleccionar servidores de tiempo precisos. Se mitiga en gran
medida los efectos de varias latencias de red. NTP se aplica tanto al protocolo como a los programas de cliente /
servidor que se ejecutan en las computadoras. En términos simples, el cliente NTP inicia un intercambio de
solicitud de tiempo con el servidor de tiempo. Como resultado de este intercambio de tiempo, el cliente puede
calcular la demora y ajustar su reloj local al reloj de la computadora servidor. El paquete NTP contiene un
programa en segundo plano (daemon o servicio) que ayuda a sincronizar el tiempo del sistema de la
computadora con una o más fuentes de tiempo de referencia externas.

El programa NTP se configura utilizando el archivo /etc/ntp.conf. El archivo ntp.conf más básico simplemente
listará 2 servidores, uno con el que desea sincronizar y una pseudo dirección IP para sí misma. La pseudo IP
puede usarse solo en caso de problemas de red o en caso de que el servidor NTP remoto caiga. Los servidores
NTP se clasifican en un sistema jerárquico con muchos niveles llamados estratos: los dispositivos que se
consideran como fuentes de tiempo independientes se clasifican como estrato 0 fuentes. Los servidores
conectados directamente a los dispositivos del estrato 0 se clasifican como fuentes del estrato 1, los servidores
conectados a las fuentes del estrato 1 se clasifican luego como fuentes del estrato 2, y así sucesivamente. El
término estrato en el contexto NTP no indica una cierta clase de precisión, es solo un indicador del nivel de
jerarquía. No tiene que preocuparse por dónde elegir los servidores de hora NTP. La lista de servidores de
tiempo NTP se puede obtener en http://www.pool.ntp.org. El grupo NTP ofrece una colección de más de 220
servidores NTP de acceso público distribuidos en diferentes regiones del mundo.
El sistema operativo nativo de NTP es UNIX. Sin embargo, hoy en día, NTP funciona con muchos sistemas
similares a UNIX. ¡Ahora la versión 4 de NTP también se ha adaptado al sistema operativo de Windows y se
puede usar con diferentes versiones de la misma! Windows NT, Windows 2000 y las versiones de Windows
más recientes hasta Windows Vista y Windows 7 pueden funcionar con NTP

Existe otra versión simplificada del protocolo NTP que se llama SNTP (Simple Network Time Protocol). Utiliza
la misma estructura de paquete TCP / IP que la de NTP. Pero debido a su algoritmo simple, la precisión no es
muy precisa. El protocolo NTP admite una precisión de tiempo de hasta nanosegundos. Sin embargo, la
precisión máxima alcanzable también depende del sistema operativo y el rendimiento de la red.
Desafortunadamente, el protocolo NTP puede explotarse y usarse para ataques de denegación de servicio (DoS).

CONCLUSIONES

ANEXOS
BIBLIOGRAFÍA
Libro de curso capítulo 11.3.4
• Wikipedia:
- http://en.wikipedia.org/wiki/Network_Time_Protocol
- http://en.wikipedia.org/wiki/Marzullo%27s_algorithm
• Referencia de la versión 4 del protocolo de tiempo de red
y Guía de implementación:
- http://www.ee.udel.edu/~mills/database/reports/ntp4/ntp4.pdf

ABREVIATURAS

Abrev. en Ingles Significado Ingles Abrev. Español Significado Español

NTP network time NTP Protocolo de tiempo


protocol de red

Sincronizando sistemas digitales con NTP


El protocolo NTP (Network Time Protocol), más comúnmente conocido como NTP, es

un protocolo de Internet ampliamente utilizado para transferir el tiempo a través de una

red. NTP es normalmente utilizado para sincronizar el tiempo en clientes de red a una

hora precisa.

Un poco de historia sobre NTP

El protocolo NTP, es uno de los más antiguos de Internet y sigue estando en uso hoy en día.

Ha estado en continuo uso desde hace más de 25 años. Fue en un primer momento diseñado

originalmente para sincronizar ordenadores y procesos críticos dependientes del tiempo sobre

la red de Internet. Fue inicialmente pensada para el sistema operativo Linux, pero luego fue

migrado también a Windows, aunque sigue siendo instalado por defecto en muchos sistemas

Unix y distribuciones BSD. Por este motivo, hay una gran cantidad de servidores NTP que

utilizan Linux debido a su kernel especializado y sus algoritmos de tiempo.

Sobre el protocolo NTP

NTP es un protocolo basado en un sistema cliente-servidor. Provee a los clientes con tres

productos fundamentales: clock offset, round-trip delay y referencia de dispersión. El offset

especifica la diferencia entre la hora del sistema local y la referencia externa de reloj. Round-

trip delay especifica las latencias de tiempo medidas durante la transferencias de paquetes

dentro de la red. La referencia de dispersión de tiempo especifica el máximo número de

errores asociados con la información de tiempo recibido de un reloj externo.


El protocolo tiene una estructura jerárquica. Un servidor Stratum 1, es el servidor primario de

referencia y se asienta en el más alto nivel de la jerarquía. Este servidor primario está seguido

de servidores secundarios de referencia y clientes. Un servidor NTP primario generalmente se

sincroniza mediante una referencia externa de reloj, como puede ser un reloj de radio o GPS.

El protocolo NTP usa el protocolo UDP el cual es una parte integrada de la pila TCP/IP.

Actualmente, la versión actual que se está utilizando es NTP 4, y todas las versiones son

compatibles entre si, La única modificación entre la versión 3 y 4 es una variación en la

cabecera para acomodar IPv6.

Modos de operación

Un servidor NTP stratum 1 tiene tres modos de operación. Unicast, anycast y multicast. El

cliente inicia los modos unicast y anycast, y el servidor responde con un mensaje de tiempo

NTP con el que el cliente se sincroniza. Multicast es un modo de envío de mensajes a solo

ciertos elementos de la red, a diferencia de broadcast, el cual habla con todos. A periodos

regulares, el dominio es inundado por estos mensajes con motivos de sincronización.

SNTP

El protocolo SNTP (Simple Network Time Protocol), es una versión simplificada de NTP.

Normalmente es utilizada donde la precisión y complejidad de NTP no es necesaria. Ambos

protocolos son compatibles e intercambiables, es decir, cualquier cliente SNTP puede

sincronizar con un servidor NTP.

Artículos relacionados

https://www.cisco.com/c/es_mx/support/docs/availability/high-availability/19643-ntpm.pdf
https://translate.google.com.pe/translate?hl=es-
419&sl=en&u=https://www8.cs.umu.se/kurser/5DV020/HT07/ntp.pdf&prev=search

CONCLUSIONES

El protocolo NTP es el encargado de mantener sincronizado el tiempo en todos los equipos


dentro de una red y utiliza el puerto 123/ UDP
El Servicio de Tiempo en Red (NTP, Network Time Protocol), ofrece la posibilidad de sincronizar
el reloj de cualquier ordenador conectado a la Red con un servidor central de tiempo.  El
objetivo del NTP (Network Time Protocol) es la sincronización de la hora de los ordenadores de
forma automática, de tal forma que siempre estén en la hora correcta. La ventaja fundamental
de este servicio es que todos los ordenadores estarán sincronizados y todos tendrán la misma
hora con un error de microsegundos.  Según pasa el tiempo el reloj de un ordenador está
expuesto a ligeros desplazamientos. NTP es un protocolo que permite asegurar la exactitud de
nuestro reloj. Existen varios servicios de internet que confían y se pueden beneficiar de relojes
de ordenadores precisos. Por ejemplo un servidor web puede recibir peticiones de un
determinado fichero si ha sido modificado posteriormente a una determinada fecha u hora.
Servicios como cron, ejecutan órdenes en determinados instantes. Si el reloj no se encuentra
ajustado estas órdenes pueden ejecutarse fuera de la hora prevista.

Anexo

Figura 01: Network Time Protocol (NTP)

Modo de Asociación Modo de Asociación Modo de paquete


Broadcast Client

CUADRO
Association Mode Assoc. Modo de paquete de modo Symmetric Active 1 1 o 2 Pasiva
simétrica 2 1 Cliente 3 4 Servidor 4 3 Servidor de difusión 5 5 5 Broadcast Client 6 na
www.eecis.udel.edu/~ntp

www.eecis.udel.edu/~ntp/ntp_spool/html/exec.htm

Mills, D.L. Internet time synchronization: the
Network Time Protocol.
IEEE
Trans. Communications COM
-
39, 10
(October 1991), 1482
-
1493.
PostScript
|
PDF
.
Also in: Yang, Z., and T.A. Marsland (Eds.).
Global States and Time in
Distributed Systems
. IEEE Computer Society Press, Los Alamitos, CA, 1994,
91
-
102.

segurinet.com/gsal/ntp.htm

www.ua.es/es/servicios/si/ntp

www.ujaen.es/sci/redes/ntp/concepto.html

www.
utc.uam.es/ntp/ntp.html

members.es.tripod.de/izariel/

Este documento es una guía de referencia e implementación para la versión del protocolo de tiempo de red
4 (NTPv4), que se utiliza ampliamente para sincronizar los relojes del sistema entre un conjunto de
servidores de tiempo y clientes. Este documento define la arquitectura central, el protocolo, las máquinas de
estado,
estructuras de datos y algoritmos. Está destinado principalmente para desarrolladores y no como un
estándar. Este y otros documentos relacionados reemplazan colectivamente a Network Time Protocol Version 3
(NTPv3) especificación RFC 1305 [6] y versiones anteriores de esa especificación. El núcleo
el protocolo sigue siendo compatible con todas las versiones anteriores, excepto el original (sin numerar)
versión del protocolo. Si bien se han realizado ciertos cambios menores en algún encabezado de protocolo
campos, estos no afectan la interoperabilidad entre NTPv4 y versiones anteriores.
El modelo de subred NTP incluye una serie de servidores de tiempo primario ampliamente accesibles
sincronizado por cable o radio a estándares nacionales. El propósito del protocolo NTP es
transmitir la información de la hora de estos servidores principales a los servidores de tiempo secundarios y
clientes a través de redes privadas y de Internet público. Los algoritmos elaborados mitigan los errores que
puede ser el resultado de interrupciones en la red, fallas del servidor y posible acción hostil. Servidores y
los clientes se configuran como un bosque donde los valores de tiempo fluyen desde los servidores primarios en
la raíz a través de
bifurcando servidores secundarios hacia clientes en las hojas del bosque.
La implementación de referencia NTPv4 disponible en www.ntp.org es consistente con el modelo
descrito en este documento. Sin embargo, ni esta implementación ni este documento están destinados
como un estándar formal definitivo. Documentos de estándares formales consistentes con los requisitos IETF
están en proceso al momento de escribir. Cuando se encuentra un conflicto entre este documento y el
documentos de normas formales, estos últimos prevalecen.
El diseño NTPv4 supera deficiencias significativas en el diseño NTPv3, corrige ciertos
errores e incorpora nuevas características. En particular, la implementación de referencia usa flotante
tipos de datos dobles en todo, a excepción de las diferencias de marca de tiempo de primer orden requeridas
para
calcular el desplazamiento y la demora. La resolución de tiempo es mejor que un nanosegundo y frecuencia
resolución mejor que un nanosegundo por segundo. Las mejoras adicionales incluyen un nuevo reloj
algoritmo de disciplina que responde mejor a las fluctuaciones de frecuencia del hardware del reloj del sistema.
Los servidores primarios típicos que usan máquinas modernas son precisos en unas pocas decenas de
microsegundos.
Los servidores y clientes secundarios típicos en LAN rápidas están dentro de unos cientos de microsegundos
con
intervalos de encuesta de hasta 1024 segundos, que fue el máximo con NTPv3. Con NTPv4, servidores
y los clientes están dentro de unas pocas decenas de milisegundos con intervalos de encuesta de hasta 36 horas.

El cuerpo principal de este documento describe solo el protocolo central y las estructuras de
datos necesarias para interoperar entre implementaciones conformes. Se brindan detalles
adicionales en forma de programa esqueleto incluido como un apéndice. Este programa
incluye estructuras de datos y código segmentos para los algoritmos centrales y, además,
los algoritmos de mitigación utilizados para mejorar fiabilidad y precisión. Si bien el
esqueleto y otras descripciones de este documento se aplican a un implementación
particular, no están destinados a ser la única forma en que las funciones requeridas pueden
ser implementado. Mientras que el esquema de autenticación de clave simétrica NTPv3 se
describe en este el documento se transfiere desde NTPv3, el esquema de autenticación de
clave pública Autokey nuevo en NTPv4 se describe en [3]. TR 06-6-1 Guía de referencia e
implementación del NTPv4 Junio de 2006 Información de Mills Track [Página 2] El protocolo
NTP incluye los modos de operación descritos en la Sección 2 usando los tipos de datos
descrito en la Sección 5 y las estructuras de datos en la Sección 6. El modelo de
implementación descrito en la Sección 4 se basa en una arquitectura de múltiples procesos
y subprocesos, aunque otras arquitecturas podría ser utilizado también. El protocolo en
línea descrito en la Sección 7 se basa en un tiempo retornable diseño que depende solo de
las compensaciones de reloj medidas, pero no requiere un mensaje confiable entrega. La
subred de sincronización es una red auto-organizadora, jerárquica, maestro-esclavo con
rutas de sincronización determinadas por un árbol de expansión de ruta más corta y una
métrica definida. Si bien pueden existir múltiples maestros (servidores primarios), no existe
un requisito para una elección protocolo. Las secciones restantes de este documento
definen las estructuras de datos y los algoritmos adecuados para una implementación de
NTPv4 con todas las funciones. Detalles específicos de los formatos de paquetes NTP
comúnmente utilizados con el Protocolo de datagramas de usuario (UDP) se presentan en
el Apéndice A. El Apéndice B contiene la Esqueleto de código con definiciones, estructuras
y segmentos de código que representan la estructura básica de la implementación de
referencia.
Modos de operación

Una implementación de NTP funciona como servidor primario, servidor secundario o


cliente.

Un primario el servidor se sincroniza directamente con un reloj de referencia, como un


receptor GPS o un módem telefónico Servicio. Un cliente se sincroniza con uno o más
servidores en sentido ascendente, pero no proporciona sincronización con clientes
dependientes

Un servidor secundario tiene uno o más servidores ascendentes y uno o más servidores o
clientes en sentido descendente. Todos los servidores y clientes que reclaman NTPv4
completo el cumplimiento debe implementar todo el conjunto de algoritmos descritos en este
documento. A fin de que mantener la estabilidad en subredes NTP grandes, los servidores
secundarios deben ser totalmente compatibles con NTPv4. Servidores principales y clientes
que cumplen con un subconjunto de NTP, llamado Tiempo de red simple Protocolo
(SNTPv4) [4], no es necesario implementar todos los algoritmos. SNTP está destinado para
primaria servidores equipados con un solo reloj de referencia, así como clientes con un solo
servidor de subida y no clientes dependientes La implementación totalmente desarrollada
de NTPv4 está destinada a servidores con múltiples servidores en sentido ascendente y
múltiples servidores o clientes en sentido descendente. Otro que estas consideraciones, los
servidores y clientes NTP y SNTP son completamente interoperables y pueden ser
mezclado y emparejado en subredes NTP. Los servidores no conservan ningún estado
después de devolver la respuesta a un paquete de cliente; los clientes conservan estado en
el forma de una estructura de datos llamada asociación. Las asociaciones persistentes se
movilizan cuando el el servicio comienza y nunca se desmoviliza. Las asociaciones
efímeras se movilizan durante la operación, tal como a la llegada de un paquete de difusión,
y desmovilizado por tiempo de espera o error. Preemptable las asociaciones se movilizan
cuando o después de que el servicio comienza y se desmoviliza cuando se considera que
no más útil para la sincronización. El esqueleto del código y la implementación de referencia
resumidos en el Apéndice B incluye algoritmos adecuados para asociaciones efímeras y
susceptibles de aprobación previa, pero no se discuten en el cuerpo principal de este
documento.

CUADRO
Association Mode Assoc. Modo de paquete de modo Symmetric Active 1 1 o 2 Pasiva
simétrica 2 1 Cliente 3 4 Servidor 4 3 Servidor de difusión 5 5 5 Broadcast Client 6 na

Hay tres variantes de protocolo NTP, simétricas, cliente / servidor y difusión. Cada uno está asociado
con un modo de asociación como se muestra en la Tabla 1. En la variante cliente / servidor una asociación de
cliente
envía paquetes de modo-3 (cliente) a un servidor, que devuelve paquetes de modo-4 (servidor). Los servidores
proporcionan
sincronización con uno o más clientes, pero no acepta la sincronización de ellos. Un servidor
también puede ser un reloj de referencia que obtiene tiempo directamente de una fuente estándar como un GPS
servicio de módem telefónico o receptor. Decimos que los clientes extraen la sincronización de los servidores.
En la variante simétrica, un par funciona como un servidor y un cliente utilizando un sistema simétrico
o asociación simétrica-pasiva. Una asociación simétrica-activa envía el modo-1
(paquetes simétricamente activos) a una asociación de pares simétrica-activa. Alternativamente, un pasivo
simétrico
la asociación puede movilizarse a la llegada de un paquete de modo-1. Esa asociación envía
modo-2 (simétrico-pasivo) paquetes y persiste hasta error o tiempo de espera. Decimos que los pares tanto
push and pull sincronización hacia y desde el otro. Para los fines de este documento, un par
funciona como un cliente, por lo que una referencia al cliente también implica pares.
En la variante de difusión, una asociación de servidor de difusión envía paquetes periódicos de modo-5
(difusión)
que son recibidos por múltiples asociaciones de modo-6 (cliente de difusión). Es útil proporcionar un
volea inicial donde el cliente que opera en el modo 3 intercambia varios paquetes con el servidor en
Para calibrar el retraso de propagación y ejecutar el protocolo de seguridad Autokey, después del cual el
el cliente vuelve al modo 6. Decimos que los servidores de difusión impulsan la sincronización a voluntad
consumidores.
Siguiendo las convenciones establecidas por la industria telefónica, el nivel de cada servidor en el
la jerarquía se define por un número llamado estrato, con los servidores primarios asignados estrato
uno y los servidores secundarios en cada nivel asignados uno mayor que el nivel anterior. Como el
el estrato aumenta de uno, las exactitudes alcanzables se degradan un poco dependiendo de la
particular ruta de red y estabilidad del reloj del sistema. Es útil suponer que los errores medios, y
por lo tanto, una métrica llamada distancia de sincronización aumenta aproximadamente en proporción a la
estrato y retraso medido de ida y vuelta.
Aprovechando la experiencia de la industria telefónica, que aprendió tales lecciones en
costo considerable, la topología de la subred debe organizarse para producir la menor
distancias de sincronización, pero nunca debe permitirse formar un bucle. En NTP, la topología de subred
se determina usando una variante del algoritmo de enrutamiento distribuido Bellman-Ford, que calcula
el árbol de expansión de distancia más corta enraizado en los servidores principales. Como resultado de este
diseño, el
el algoritmo reorganiza automáticamente la subred para producir el tiempo más preciso y confiable,
incluso cuando uno o más servidores primarios o secundarios o las rutas de red entre ellos fallan.

Potrebbero piacerti anche