NTP
|
NTP o Network Time Protocol, es un protocolo diseñado para sincronizar los relojes de las estaciones de trabajo a través de la red. La versión 3 de este protocolo es un Internet Draft Standard, formalizado en la RFC 1305. El protocolo NTP versión 4 es una importante revisión del estandard mencionado, y se encuentra en desarrollo, pero aún no ha sido formalizado en una RFC. Una versión simple de NTP (SNTP) versión 4 se describe en la RFC 2030.
Sumario
NTP
NTP utiliza UDP como su Capa de transporte, usando el Puerto 123. Está diseñado para resistir los efectos de la latencia variable, ademas de lograr una precisión de orden de milisegundos con respecto a la Hora Universal Coordinada (UTC).
La hora UTC es diseminada a través de receptores especiales, como Radios, Satélites o Módems, manejados por los gobiernos de varias naciones del mundo. Un número limitado de computadores están equipados con estos receptores y actúan como servidores de tiempo.
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 mismo utiliza el Algoritmo de Marzullo con la escala de tiempo UTC, incluyendo soporte para características como Segundos intercalares. NTPv4 puede mantenerse sincronizado con una diferencia máxima de 10 milisegundos (1/100 segundos) a través de Internet, y puede llegar a acercarse hasta 200 microsegundos (1/5000 segundos) o más en redes de área local sobre condiciones ideales.
En NTP se 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 (cabe mencionar que esto es diferente de los estrato de reloj utilizados en los sistemas de telecomunicaciones).
Hay una forma menos compleja de NTP que no requiere almacenar la información respecto a las comunicaciones previas que se conoce como Protocolo Simple de Tiempo de Red' ó SNTP. Ha ganado popularidad en dispositivos incrustados y en aplicaciones en las que no se necesita una gran precisión
Descripción del paquete
Descripción del formato del paquete de la gversión 4 de NTP/SNTP, que sigue después de las cabeceras de IP y de UDP.
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
LI |
VN |
Mode |
Stratum |
Poll |
Presición | ||||||||||||||||||||||||||
Root Delay | |||||||||||||||||||||||||||||||
Root Dispersion | |||||||||||||||||||||||||||||||
Reference Identifier | |||||||||||||||||||||||||||||||
Reference Timestamp (64) | |||||||||||||||||||||||||||||||
Originate Timestamp (64) | |||||||||||||||||||||||||||||||
Receive Timestamp (64) | |||||||||||||||||||||||||||||||
Transmit Timestamp (64) | |||||||||||||||||||||||||||||||
Key Identifier (optional) (32) | |||||||||||||||||||||||||||||||
Message Digest (optional) (128) |
Leap Indicator (LI)
código de 2 bits que sirve para indicar que al último minuto del presente día se le añadirá/quitará un segundo.
LI |
Valor |
Significado |
00 |
0 |
sin modificación |
01 |
1 |
el último minuto tiene 61 segundos |
10 |
2 |
el último minuto tiene 59 segundos |
11 |
3 |
condición de alarma (reloj no sincronizado) |
Version Number (VN)
entero de 3 bits que indica el número de versión. La versión 3, indica la versión 3 (sólo IPv4) y la 4 para la versión 4 (IPv4, IPv6 y OSI). Si es necesario distinguir entre IPv4, IPv6 y OSI, se debe examinar el contexto encapsulado.
Mode
entero de tres bits que sirve para indicar el modo, definidos de la siguiente manera:
Mode |
Significado |
0 |
reservado |
1 |
simétrico activo |
2 |
simétrico pasivo |
3 |
cliente |
4 |
servidor |
5 |
broadcast |
6 |
reservado para mensajes de control NTP |
7 |
reservado para uso privado |
Stratum
Es un entero sin signo de 8 bits que indica el nivel (stratum) del servidor local, los valores definidos son los siguientes:
Stratum |
Significado |
0 |
no especificado o no disponible |
1 |
referencia primaria (ej., radio clock) |
2-15 |
referencia secundaria (vía NTP o SNTP) |
16-255 |
reservado |
Poll Interval
es un entero de 8 bits con signo que indica el intervalo máximo de tiempo entre dos mensajes sucesivos, expresado en segundo y como la potencia de 2 más cercana. La mayoría de las aplicaciones usan el rango que va desde 6 bits (64") a 10 (1024")
Precisión
es un entero con signo que indica la precisión del reloj local expresado en segundo a la potencia de 2 más cercana.
Fuentes
- http://es.wikipedia.org/wiki/Network_Time_Protocol | NetTime Cliente NTP Gratuito para Windows
- http://www.arcert.gov.ar