Протокол NTP (Network Time Protocol) используется для синхронизации часов в компьютерных системах по принципу клиент-сервер. 2
Процесс синхронизации включает в себя обмен небольшими пакетами данных, содержащими информацию о времени: 2
- Устройство посылает запрос на сервер синхронизации и запоминает время, когда ушёл запрос. 1
- Сервер получает запрос, записывает, когда он его получил, и отправляет данные с точным временем на сервере. 1
- Устройство получает ответ от сервера и записывает, во сколько оно его получило. 1
- Зная время отправки и получения запроса и точное время на сервере, можно рассчитать глобальное время. 1
Протокол NTP использует иерархическую структуру источников времени: 3
- Первый слой образуют первичные серверы (главные серверы), которые синхронизируются непосредственно с авторитетными и самыми точными источниками времени — атомными часами или GPS. 3
- Вторичные серверы уже получают время от первичных серверов, а также могут синхронизироваться между собой. 3
- Серверы третьего уровня синхронизируются с вторичными серверами и так далее. 3
Клиенты могут обращаться к нескольким серверам для получения времени, что повышает надёжность синхронизации. 2 Протокол также учитывает сетевые задержки и может постепенно корректировать время, чтобы избежать резких изменений. 2