Glossário da F5

Protocolo de Tempo de Rede (NTP)

O que é NTP (Network Time Protocol)?

NTP, ou "Network Time Protocol", é um protocolo usado para sincronizar os relógios dos dispositivos conectados a uma rede com a hora correta. Ele opera na camada de application (Camada 7) no modelo de referência OSI e é definido no "RFC 1305" pela Internet Engineering Task Force (IETF).

Ao sincronizar o tempo usando NTP, um cliente NTP envia uma solicitação a um servidor NTP. O protocolo de transporte subjacente usado é o UDP, e a porta do servidor é o UDP 123. O servidor NTP responde com o Tempo Universal Coordenado (UTC), um padrão de tempo baseado no tempo atômico internacional mantido por relógios atômicos de césio. Existem outras referências de tempo mundial, como o GMT (Horário Médio de Greenwich), derivado da velocidade de rotação da Terra, mas o UTC é o mais amplamente utilizado. Como pode haver discrepâncias entre UTC e UT1, segundos intercalares são ocasionalmente inseridos no UTC para alinhar o horário com mais precisão com a rotação da Terra.

Os servidores NTP são organizados hierarquicamente na internet. Os servidores NTP de nível superior são chamados de Stratum 1, e cada nível inferior aumenta o valor numérico do Stratum. Os servidores NTP sincronizam seus relógios com vários servidores de nível superior. Os servidores Stratum 1 obtêm sua hora precisa do "Stratum 0", que inclui fontes de tempo precisas como GPS e relógios atômicos. As fontes de tempo do Stratum 0 mantêm a precisão em menos de um microssegundo (1/1.000.000 de segundo) e são conectadas diretamente aos servidores do Stratum 1.

Como o NTP comunica dados de tempo pelas redes, ele deve levar em conta os atrasos de comunicação medindo e ajustando esses atrasos. O NTP calcula o tempo de comunicação de ida e volta e usa isso para corrigir atrasos na rede. Entretanto, isso pressupõe atrasos simétricos em ambas as direções. Se houver uma diferença entre os atrasos do caminho de ida e volta, metade da diferença contribui para a margem de erro.