Arquitetura do NTP Arquitetura O Os servidores NTP formam uma topologia hierrquica, dividida em camadas ou estratos (em ingls: strata) numerados de 0 (zero) a 16 (dezesseis). O O estrato 0 (stratum 0) na verdade no faz parte da rede de servidores NTP, mas representa a referncia primria de tempo. O O estrato 16 indica que um determinado servidor est inoperante. Topologia Arquitetura O De forma geral, quanto mais perto da raiz, ou seja, do estrato 0, maior a exatido do tempo. O estrato ao qual o servidor pertence a principal mtrica utilizada pelo NTP para escolher dentre vrios, qual o melhor servidor para fornecer o tempo. O Por outro lado, normalmente as diferenas de exatido entre os estratos no so expressivas e h, no momento de escolher-se um conjunto de servidores de tempo para configurar um determinado cliente, outros fatores a se considerar, como por exemplo a carga qual os servidores esto submetidos, e o atraso de rede. Arquitetura Arquitetura Associaes O Permanentes: so criadas por uma configurao ou comando e mantidas sempre. O Priorizveis (preemptables): so especficas da verso 4 do NTP e criadas por uma configurao ou comando, podem ser desfeitas no caso de haver um servidor melhor, ou depois de um certo tempo. O Efmeras ou transitrias: so criadas por solicitao de outro dispositivo NTP e podem ser desfeitas em caso de erro ou depois de um certo tempo. Arquitetura O Modo simtrico: (symmetric mode) Dois ou mais dispositivos NTP podem ser configurados como pares (peers), de forma que possam tanto buscar o tempo, quanto fornec-lo, garantindo redundncia mtua. Essa configurao faz sentido para dispositivos no mesmo estrato, configurados tambm como clientes de um ou mais servidores. Caso um dos pares perca a referncia de seus servidores, os demais pares podem funcionar como referncia de tempo. O modo simtrico pode ser: Arquitetura O Ativo: O dispositivo A configura o dispositivo B como seu par (criando dessa forma uma associao permanente). Por sua vez, o dispositivo B tambm configura o dispositivo A como seu par (tambm cria uma associao permanente). O Passivo: O dispositivo A configura o dispositivo B como seu par (modo simtrico ativo). Mas o dispositivo B no tem o dispositivo A na sua lista de servidores ou pares. Ainda assim, ao receber um pacote de A, o dispositivo B cria uma associao transitria, de forma a poder fornecer ou receber o tempo de A. Arquitetura O Broadcast ou Multicast: O NTP pode fazer uso de pacotes do tipo broadcast ou multicast para enviar ou receber informaes de tempo. Esse tipo de configurao pode ser vantajosa no caso de redes locais com poucos servidores alimentando uma grande quantidade de clientes. Arquitetura Funcionamento do NTP O O NTP um protocolo de rede que permite a sincronizao dos relgios dos dispositivos partir de referncias de tempo confiveis. O Na verdade, algumas implementaes do SNTP, a verso simplificada do protocolo, fazem isso e apenas isso. Mas o NTP em sua forma completa muito mais complexo. Funcionamento do NTP O Obter, partir de diversas amostras, informaes de tempo de um determinado servidor, como o deslocamento, disperso e variao. O Discernir, dentre um conjunto de servidores, quais fornecem o tempo correto e quais esto mentindo. O Escolher, dentre os servidores que fornecem o tempo correto, qual a melhor referncia. O Disciplinar o relgio local, descobrindo seus principais parmetros de funcionamento, como preciso, estabilidade e escorregamento e ajustando-o de forma contnua e gradual, mesmo na ausncia temporria de referncias de tempo confiveis, para que tenha e melhor exatido possvel. Funcionamento do NTP O Garantir a monotonicidade do tempo. O Identificar, partir de mtodos criptogrficos, servidores de tempo conhecidos e confiveis, evitando possveis ataques. O Formar, em conjunto com outros servidores NTP, uma topologia simples, confivel, robusta e escalvel para a sincronizao de tempo. Funcionamento do NTP Troca de Mensagens e Clculo do Deslocamento Troca de Mensagens e Clculo do Deslocamento A troca de mensagens entre cliente e servidor permite que o cliente descubra qual seu deslocamento (offset) em relao ao servidor, ou seja, o quanto seu relgio local difere do relgio do servidor. a, x, y e b Troca de Mensagens e Clculo do Deslocamento No possvel calcular o tempo de transmisso das mensagens. Contudo, o tempo total de ida e volta, ou atraso (Round Trip Time ou RTT) que a soma T-ida + T-volta pode ser calculado como: atraso (delay) = (b-a)-(y-x) Considerando-se que o tempo de ida igual ao tempo de volta, pode-se calcular o deslocamento entre o servidor e o relgio local como como: deslocamento (offset) = (x-a+y-b)/2 Troca de Mensagens e Clculo do Deslocamento Troca de Mensagens e Clculo do Deslocamento T-ida = 2 T-volta = 2 a=9, x=4, y=9 b=18 atraso = (b-a)-(y-x) = (18-9)-(9-4) = 9 - 5 = 4. deslocamento = (x-a+y-b)/2 = (4-9+9-18)/2 = -14/2 = -7. Um deslocamento de -7 significa que o relgio local do Cliente deve ser atrasado 7 unidades de tempo para se igualar ao do Servidor. Vimos o mtodo para se conseguir calcular o deslocamento, que T-ida = T-volta. Mas isso nem sempre verdade! H atrasos estocsticos nas redes devido s filas dos roteadores e switchs. Numa WAN ou na Internet enlaces de diferentes velocidades e roteamento assimtrico, alm de outros fatores, tambm causam diferenas entre T-ida e T-volta. Troca de Mensagens e Clculo do Deslocamento deslocamento - atraso/2 <= deslocamento verdadeiro <= deslocamento + atraso/2 O Pior caso: a=9; x=2; y=7; b=18. T-ida=0 T-volta=4 Troca de Mensagens e Clculo do Deslocamento atraso = (b-a)-(y-x) = (18-9)-(7-2) = 9 - 5 = 4. deslocamento = (x-a+y-b)/2 = (2-9+7-18)/2 = -18/2 = -9 O deslocamento est errado! Sabe-se que o valor correto -7, contudo o valor calculado -9. Isso deve-se a assimetria da rede, no tocante a T-ida e T-volta. Algoritmo de Seleo dos Relgios Para a seleo dos relgios, o NTP considera como verdadeiro o deslocamento que se encontra dentro de um determinado intervalo de confiana. Esse intervalo calculado, para cada associao com um servidor, como: Intervalo de confiana do deslocamento intervalo de confiana = (deslocamento/2) + disperso. Exemplos de seleo de relgios Consulta: Lista de Servidores do NTP Os relgios falsos so identificados por um x Tally-codes Algoritmo de Agrupamento Trabalha com os servidores que so relgios verdadeiros; Critrios: O Estrato (stratum) O Distncia para a raiz; O Variao (jitter); Relgios afastados (outlyes); Sobreviventes (survivor); Aps esta filtragem, o melhor dos relgios sobreviventes considerado o par do sistema (system peer) * par do sistema / + relgios sobreviventes / - relgios afastados Tally-codes Consulta: Lista de Servidores do NTP Algoritmo de Combinao de Relgios Algoritmo de combinao de relgios O algoritmo de combinao de relgios utilizando quando se tem mais de um servidor sobrevivente e quando nenhum deles est com a palavra chave prefer. Algoritmo de combinao de relgios O algortmo de Combinao de Relgios calcula uma mdia ponderada dos deslocamentos dos relgios, com o objetivo de aumentar a exatido. Disciplina do relgio local responsvel por controlar a fase e a frequncia do relgio do sistema. O Utiliza duas filosofias: O Phase Locked Loop(PLL) O Frequency Locked Loop (FLL) Disciplina do relgio local O Phase Locked Loop Mais vivel quando h uma grande variao(jitter). O Frequency Locked Loop melhor para quando h instabilidades na frequncia. Disciplina do relgio local Caractersticas: O Saltos no tempo so evitados, sempre que possvel; O Se uma diferena maior que 128ms for detectada o NTP considera que o tempo est muito errado e se faz necessrio uma alterao no relgio; O Se a diferena for maior que 1000s desconsidera a alterao e devem ser alteradas manualmente; Segurana No contexto de Tecnologia da Informao deve-se garantir as quatro propriedades abaixo: O Integridade O Disponibilidade O Autenticidade O Confidencialidade Segurana Autenticao O Por chave Simtrica(Symmetric Key); O Por chave Pblica(Autokey). Segurana Autenticao por chave simtrica (Utilizado para) O Autenticar servidores ou pares no modo simtrico ativo; O Autenticar pares no modo simtrico passivo ou servidores broadcast ou multicast; O Autenticar requisies dos programas de monitorao e controle ntpq e ntpdc. Segurana Autenticao por chave simtrica Segurana Autenticao por chave Pblica O Pode-se configurar um grupo de segurana com um ou mais servidores confiveis (TH Trusted Hosts) no estrato mais baixo. Elege-se um desses servidores para ser o agente confivel (TA - trusted agent) e gerar os certificados privados, um certificado pblico auto assinado, e chaves de Identificao privadas. Se houver mais de um servidor confivel, esses certificados e chaves so copiados para os demais manualmente. Segurana Autenticao pro chave Pblica O O autokey se encarrega de resgatar os certificados ao longo da cadeia de servidores NTP at chegar a um servidor confivel, garantindo que toda a cadeia de servidores confivel.