Sistemas Operativos II NETWORK TIME PROTOCOL Jean Carlo Rivera 02 35364 Fernando Huerta 03 36054 PUNTOS A TRATAR Motivación ´ Definición ´ Objetivos a Conseguir ´ Diseño del protocolo ´ NTP modelo ´ Algoritmo de Marzullo ´ Algoritmo de Bellman-Ford ´ Network time protocol MOTIVACIÓN MOTIVACIÓN Transacciones legales y financieras ´ UTC es el estándar para la medición del tiempo. ´ UTC es propagado de varias formas. ´ Se equipa un número de máquinas (servidores) con receptores de UTC. ´ Se sincronizan las demás. ´ Network Time Protocol DEFINICIÓN DEFINICIÓN Protocolo de comunicación para la sincronización de relojes de computadoras sobre un ambiente de red. ´ Se utiliza desde 1985. ´ Utiliza redundancia múltiple de servidores y diversos caminos de ruteo. ´ Consiste de una red de servidores de tiempo primaria y secundaria. ´ DEFINICIÓN Red primaria, se sincroniza directamente a las fuentes ´ Red secundaria, se sincroniza a otra red secundaria que a su ves se sincroniza desde un servidor primerio ´ Se estima que hay 10-20 millones de servidores NTP en el mundo. ´ Utiliza paquetes UDP ´ Network Time Protocol OBJETIVOS A CONSEGUIR OBJETIVOS Proveer la mayor exactitud ´ Resistir a la mayor cantidad de fallas ´ Maximizar la utilización del internet y la redundancia ´ Organizar topológicamente las sub redes para la mejor exactitud y fiabilidad ´ Disponer de autentificación de seguridad ´ Network Time Protocol DISENO DEL PROTOCOLO DISEÑO DEL PROTOCOLO (MODELO GENERAL) El servidor recibe una petición. ´ El servidor envía un mensaje, con su actual hora (timestamp). ´ El cliente guarda su timestamp. ´ El cliente calcula el retraso de propagación con respecto al servidor. ´ A partir del roundtrip delay, se calcula una aproximación de la propagación. ´ DISEÑO DE PROTOCOLO Protocolos de sincronización trabajan en uno o mas modos de asociación, dependiendo del diseño ´ Cliente/Servidor: DTSS y NTP ´ Modo Simétrico: NTP ´ Broadcast Mode: DTSS y NTP ´ Network Time Protocol NTP MODELO NTP MODELO TOPOLOGÍA Utiliza un sistema de jerarquías (Stratmus) ´ Básicamente es un árbol de sub redes. ´ NTP MODELO ARQUITECTURA Multiples servidores/peers proveen redundancia. ´ Clock Filters mejora el offset estimado de un reloj, dada una serie de observaciones ´ Algoritmos de selección intentan encontrar la medida mas fiable de un conjunto de ellas. ´ NTP timestamp es un registro punto flotante sin signo de 64 bits 32 bits para los segundos 32 bits para la fraccion NTP timestamp empezo el 1 de enero del 1900. Se empezo una nueva era el 1 de enero del 1990 PAQUETE NTP NTP MODELO ´ ´ ´ ´ Delay rountrip δ Clock offset θ Muestras de (δ ,θ) Estimación de una poblacion de muestras. NTP DATES Network Time Protocol ALGORITMOS EMPLEADOS ALGORITMO DE MARZULLO ALGORITMO DE ACUERDO (AGREEMENT ALGORITHM) Inventado por Keith Marzullo en 1984. ´ Estima y selecciona el Tiempo más aproximado de un conjunto de fuentes de tiempo. ´ Eficiente para producir un valor óptimo de un conjunto de intervalos de confianza estimados, o el intervalo consistente más pequeño con el mayor número de fuentes. ¾ Toma el valor central del intervalo. (Valor optimista más que óptimo) ´ ALGORITMO DE MARZULLO ALGORITMO DE ACUERDO (AGREEMENT ALGORITHM) Inventado por Keith Marzullo en 1984. ´ Estima y selecciona el Tiempo más aproximado de un conjunto de fuentes de tiempo ´ Eficiente para producir un valor óptimo de un conjunto de intervalos de confianza estimados, o el intervalo consistente más pequeño con el mayor número de fuentes ´ EJEMPLO 1 ALGORITMO DE MARZULLO ´ 10 ± 2 Æ [8,12] 12 ± 1 Æ [11,13] 11 ± 1 Æ [10,12] [11,12] ó 11,5±0.5 Intervalo Consistente con las 3 fuentes EJEMPLO 2 ALGORITMO DE MARZULLO ´ [8,12] [11,13] [14,15] [11,12] ó 11,5±0.5 Intervalo Consistente con 2 de las 3 fuentes EJEMPLO 3 ALGORITMO DE MARZULLO ´ [8,9] [8,12] [10,12] [8,9] y [10,12] Intervalo Consistente con el mayor número de fuentes ALGORITMO DE BELLMAN-FORD ALGORITMO DE SELECCIÓN Inventado por Richard Bellman y Lester Ford, Jr. ´ Análogo al Algoritmo de Dijkstra con menor eficiencia, pero permite los caminos negativos. ´ Su variante, Bellman-Ford distribuido es usado para calcular el vector de distancias en el protocolo de enrutamiento, Ej. RIP ´ Minimizar la sincronización de las distancias al determinar la topología de las subredes. ´ EJEMPLO ALGORITMO DE BELLMAN-FORD DISTRIBUIDO Cada nodo: ´ Calcula su distancia con respecto a los otros y las almacena en una tabla. ´ Envía su tabla a sus nodos vecinos. ´ Cuando recibe la tabla de distancias de sus vecinos calcula el camino más corto y actualiza su propia tabla de ser necesario. EJEMPLO ALGORITMO DE BELLMAN-FORD DISTRIBUIDO BIBLIOGRAFÍA ´ ´ ´ ´ ´ ´ ´ Home of the Network Time Protocol project, http://www.ntp.org/ Como configurar NTP, http://www.alcancelibre.org/staticpages/index.php/como-ntp Marzullo’s Algorithm, http://en.wikipedia.org/wiki/Marzullo%27s_algorithm Network Time Protocol (Version 3) , http://www.ietf.org/rfc/rfc1305.txt Servicio hora legal, http://www.dhn.mil.ve/Hora/hora.html NTP, Arquitecture, Protocol and Algorithms, http://www.eecis.udel.edu/~mills/database/brief/arch/arch.pdf NTP general overview, http://www.eecis.udel.edu/~mills/database/brief/overview/overview .pdf