Ntp - Trabalho

  • Uploaded by: Thiago Fernandes Lemos
  • 0
  • 0
  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Ntp - Trabalho as PDF for free.

More details

  • Words: 2,108
  • Pages: 7
NTP, The Network Time Protocol Thiago Fernandes Lemos, Mauro E. M. De Azeredo, William Avila Chaves Abstract — The NTP protocol nowadays its used too many times to keep update the date and time of the computers. Most of time, this computers are servers. There is a huge demand about always keep the time of the server updated. NTP protocol has a objeticve to synchronism the server with a global time and make it with the minimal error as possible. Resumo — O protocolo NTP é muito usado hoje em dia para manter a data e a hora do computador atualizados. Na maioria das vezes, estes computadores são servidores. Como há uma enorme demanda para manter sempre a hora dos computadores atualizadas, foi desenvolvido o protocolo NTP que tem como objetivo sincronizar o servidor com a hora global e fazer isso com o menor erro possivel.

Termos de indexação — NTP, Time, Network, Protocol

I.Introdução Hoje em dia é muito comum sistemas críticos necessitarem estar com a hora 100% sincronizada com o mundo. Antigamente, os relógios destes sistemas eram assíncronos um com os outros, o que gerava diversos erros tanto para a empresa, como para o cliente, prejudicando assim o funcionamento dos sistemas. Outro fator que também contribui para falhas, é o fato do relógio interno dos compatadores, por serem imprecisos, estarem atrasados ou adiantados, o que agrava o problema. Com o objetivo de resolver esse problema, foi desenvolvido um protocolo que permite a sincronização de hora e data nos computadores do mundo, não apenas em servidores. Através deste protocolo, foi possível a sincronização exata de sistemas críticos, permitindo que ocorram as operações sem que hajam problemas em função da hora e data errada. Apesar de parecer um protocolo de atualização de sistemas de computadores bem simples, há um

algoritmo bem complexo por trás deste protocolo.

II.Arquitetura A.Topologia O protocolo de Tempo utiliza o conceito de peer-to-peer, ou seja, os clientes também são servidores. Os clientes utilizam do protocolo baseados no UDP na porta 123. O NTP trabalha com servidores de diversos níveis. Em primeiro instante temos servidores estratos de nível 0(zero) até servidores estratos de nível 16(dezesseis). Os servidores de nível 0 servem como base de tempo para todo funcionamento da rede. Os servidores de nível 0 são computadores que possuem como sistema de hora um relógio atômico(atrasa somente 1 segundo a cada 30.000 anos) ou são sistemas de GPS. Estes por sua vez, replicam informações de Tempo e hora com uma conexão direta(por exemplo, uma conexão com sinal de Pulso por Segundo), aos servidores de nível 1. Estes servidores de nível 1 já ligados em uma rede, distribuem para os servidores de nível 2 suas informações de tempo, e os de nível 2 para os de nível 3, e assim sucessivamente.

Estrutura dos servidores NTP e seus níveis. Fonte: http://ntpimg.notlong.com

A partir desta hierarquia, vemos que os servidores que recebem de níveis superiores, agem como clientes, e depois como servidores ao replicar suas informações. Para este tipo de

hierarquia, quanto mais abaixo na hierarquia, maior a assincronização com os servidores estratos 0. Somente os servidores estratos de nível 2 são abertos publicamente.

B.Associações Os dispositivos NTP possuem conexões entre si. Estes diferentes meios de relações entre os dispositivos, são nomeados de Associações. Elas são dividas em três categorias: • Permanentes: São conexões estáticas, configuradas manualmente. • Priorizavéis: é especifico do NTPv4 e são criadas através de um comando ou manualmente. Essas relações podem ser excluídas depois de um tempo prédeterminado ou quando houver um servidor melhor. • Efêmeras ou Transitórias: São criadas a partir da requisição de outros dispositivos NTP e só são excluídas caso haja algum erro ou a partir de um tempo prédeterminado. Seguindo as associações, existem três tipos que podem ser realizados: • Cliente/Servidor: O cliente possui permanentemente uma associação configurada com o servidor. As requisições são feitas ao servidor, que responde com as informações de tempo. O servidor não guarda informação alguma sobre a associação, ou sobre os dados enviados. Geralmente dispositivos NTP são clientes e servidos simultaneamente. • Modo Simétrico: Neste modo, dois ou mais dispositivos do mesmo estrato são configurados de forma que haja redundância de dados entre eles. Assim, caso um dispotivo fique sem conexao com seu servidor de estrato superior, sua redundância funciona como referência de tempo. Este modo é divido em dois tipos: ◦ Ativo: Ocorrem quando ambas associações nos servidores são feitas de forma permanente. ◦ Passivo: Somente um dos dispositivos é configurado com associação permanente, enquanto o outro dispositivo adiciona como uma associação efêmera o outro dispositivo, automaticamente. Neste modo é recomendado o uso de criptografia na conexão. • Broadcast ou Multicast: A partir da versão 4, é possível utilizar as associações em broadcast. Para redes com poucos servidores servindo a muitos usuários, este é o melhor tipo a ser utilizado. Funciona de forma bem simples, ao receber um pacote broadcast, o cliente troca algumas mensagens com o servidor a fim de estabelecer o tempo de atraso. Após esta interação com o servidor numa associação do tipo Cliente/Servidor, ele passa a agir somente de modo a recber os pacotes do servidor.

O IANA reservou dois endereços IPs para a utilização deste protocolo no modo Multicast. Os endereços são: 224.0.1.1, para IPv4; e FF05::101, para IPv6. No fator segurança, para previnir ataques de hosts maliciosos via pacotes broadcast, é recomendado que a opção de autenticação esteja sempre habilitada.

III.Funcionamento O NTP em sua forma completa é muito mais complexo do que apenas consultar a hora em um servidor e atualizá-la localmente. A figura abaixo ilustra o funcionamento básico do protocolo

• • • •

Obter informações de tempo de vários servidores; Detectar quais fornecem o tempo correto e quais estão mentindo; Escolher qual é a melhor referência; Ajustar o relógio local, de forma contínua e gradual para que tenha e melhor exatidão possível. • Identificar servidores de tempo conhecidos e confiáveis, evitando possíveis ataques. • Formar, em conjunto com outros servidores NTP, uma topologia simples, confiável, robusta e escalável para a sincronização de tempo.

Troca de mensagens e Cálculo de Deslocamento São baseadas no protocolo UDP, ou seja, sem confirmação de entrega e não orientado a conexão. Essa troca de mensagens entre cliente e servidor permite ao cliente calcular o seu deslocamento (offset) em relação ao servidor (atrasado ou adiantado). Como calcular o deslocamento:

1. 2. 3. 4. 5. 6. 7. 8.

O Cliente lê o relógio: a=9. O Cliente envia a Mensagem 1 (a=9). O Servidor recebe a Mensagem 1 (a=9) e lê seu relógio: x=4. O Servidor algum tempo depois lê seu relógio novamente: y=9. O Servidor envia a Mensagem 2 (a=9, x=4, y=9). O Cliente recebe a Mensagem 2 (a=9, x=4, y=9) e lê seu relógio: b=18. Atraso ou RTT = (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 relógio local do Cliente deve ser atrasado 7 unidades de tempo para se igualar ao do Servidor. O NTP não sabe quanto é o tempo de ida nem o tempo de volta, ele calcula o RTT e assume que T.ida é igual ao T.volta. A maior parte das vezes esses tempos (ida e volta) não são iguais, mas o cálculo de deslocamento efetuado aproxima-se muito do real.

IV.Algoritmos O protocolo consegue manter as informações de atraso da rede trocando mensagens de tempos em tempos com o servidor. Quando a sincronização está no ínicio, o cliente executa uma pesquisa para cada servidor a cada 64 segundos. Conforme o tempo de sincronização passa, o tempo de pesquisa nos servidores aumenta. Esse tempo máximo de pesquisa ao servidor, não ultrapassa 17 minutos(1.024 segundos). Cada informação trocada com o servidor, faz com que ele receba simultaneamente junto aos seus pacotes, informações de atraso, deslocamento, estampa de tempo e dispersão. Os servidores concorrentes, passam por 5 etapas, ou 5 algoritmos, antes de realmente serem utilizados pelo cliente. Em cada etapa o servidor é cada vez mais testado, somente para que ao final, o melhor seja utilizado. Através da informação de atraso e deslocamento, o Algoritmo de Filtro de Relógio utiliza

os dados como base para calcular qual o servidor com o menor atraso e deslocamento. Após ser descoberto qual o algoritmo com menor atraso e deslocamento, se faz necessário descobrir qual o servidor mais seguro. Através da metade do tempo de deslocamento e a soma, o Algoritmo de Seleção de Relógio seleciona o servidor que possuir o tempo de deslocamento dentro do intervalo de intersecção definida pelo protocolo. Se este tempo não estiver dentro do intervalo de intersecção, este servidor é considerado um relógio falso, senão, verdadeiro. Depois de passar por estas duas primeiras etapas, os servidores que conseguirem passar, chegam ao terceiro passo, onde são analisados pelo Algoritmo de Agrupamento, que seleciona os melhores servidores utilizando técnicas padrões. Os critérios utilizados para a seleção dos melhores, variam desde o nível de estrato, distância para o estrato raiz e a variação. Os melhores selecionados, são chamados de pares do sistema. Os últimos servidores que chegarem ao Algoritmo de Combinação de Relógios são os que tem mais chances de serem utilizados. Caso haja somente um servidor, este será o servidor utilizado. Caso haja mais de um, será feita uma média emcima dos dados de deslocamento dos relógios, em busca da maior exatidão possível. Esta penúltima etapa é anulada caso seja definido um servidor preferêncial para uso. A última e final etapa é a Disciplina do Relógio Local que tem como função, gerenciar a fase e a frequência do relógio do computador. Este algoritmo, esta sempre em funcionamento, mesmo quando o computador ão esta sincronizado com nenhum servidor NTP. É de fundamental importância para o protocolo NTP conhecer a taxa de erro máximo que pode haver do relógio do sistema, pois é utilizada nos algoritmos. Todas as informações do relógio do sistema são passados para o NTP, que então os usa. O NTP toma algumas atitudes com relação à diferença de tempo entre os dados e o relógio local. Caso o tempo de diferença seja maior que 128 milisegundos e permanece assim por mais de 15 minutos(900 segundos) ele corrije esta diferença. Se o tempo for menor que 15 minutos, a correção não é efetuada pois o NTP visa não inundar a rede e que possíveis congestionamentos temporários na rede, atrapalhem a medição do tempo. Para casos onde o tempo de diferença ultrapassa 16,7 minutos(1000 segundos), o NTP ignora o erro, pois quando o erro é muito grande, o horário deve ser ajustado manualmente pelo administrador do sistema.

V.Segurança O NTP tenta garantir as quartos propriedades da informação na área de segurança. São elas: integridade, disponibilidade, autenticidade e confidecialidade. Os servidores sempre devem provar ao cliente, que ele é quem diz ser. Para isto, é utilizado um algoritmo de criptografia que visa autenticidade.

Já a questão de confidecialidade, não preocupa muito o protocolo NTP pois de acordo com os princípios, não há necessidade de se ocultar o tempo, por dois motivos: criptografar a mensagem de tempo, exigiria processamento e poderia provocar atrasos de milisegundos nos dados de tempo. Para que seja realizada a autenticação, são utilizados dois métodos: Chave simétrica: É muito utilizada para casos onde há pares no modo simétrico ativo/ passivo, servidores ou servidores de multicast/broadcast. Utiliza MD5 para criptografia. Chave pública: Utiliza MD5 para criptografia e a forma de identificação ocorre num esquema de desafio/resposta. Um fator muito importante no método de auntenticação de chave pública, é o fato dele nçao funcionar em redes com NAT.

VI.Conclusão Como se viu necessário há muito tempo, havia uma demanda muito grande por sistemas de missão crítica que tivessem de ter a hora sincronizada. Com isto, o protocolo NTP resolve estes problemas, através de implementações de hierarquia de servidores, algoritmos complexos para escolha do melhor servidor a ser utilizado e a utilização de autenticação para maior segurança em comunicações. O NTP surge cada vez mais aperfeiçoado, em busca da sincronização em tempo real e perfeito entre os sistemas.

Referências 1. 2. 3.

Port Numbers, IANA.Org. Disponível em: http://www.iana.org/assignments/port-numbers. Acessado em 8 jun 2008. Segundo | Avançado, Laura Barros. Disponível em: http://www.e-escola.pt/site/topico.asp?topico=63. Acessado em 8 jun 2008. Network Time Protocol, Wikipédia, A Enciclopédia Livre. Disponível em: http://pt.wikipedia.org/wiki/ Network_Time_Protocol. Acessado em 8 jun 2008.

4.

Network Time Protocol, Wikipédia, The Free Enciclopedia. Disponível em: http://en.wikipedia.org/wiki/ Network_Time_Protocol. Acessado em 8 jun 2008.

5. 6. 7.

Projeto NTP.br. Disponível em: http://ntp.br/ntp.html. Acessado em 8 jun 2008. R. W. Lucky, “Automatic equalization for digital communication,” Bell Syst. Tech. J., vol. 44, no. 4, pp. 547–588, Apr. 1965. USNO Network Time Servers. Disponível em: http://tycho.usno.navy.mil/ntp.html. Acessado em 8 jun 2008.

Related Documents

Ntp - Trabalho
November 2019 26
Ntp-399.613_fabri.pdf
October 2019 22
Ntp 155cablesmetalicos
November 2019 23
Ntp Server
July 2020 8
Ntp Configuration
November 2019 25
Ntp Ubuntu
July 2020 10

More Documents from ""

Tcp Veno - Trabalho
November 2019 15
Monitores Usb - Artigo
November 2019 12
Ntp - Trabalho
November 2019 26
Voip - Voz Sobre Ip
November 2019 12