Сетевой протокол времени (NTP), Общие сведения о синхронизации.
Размещенно от Ричард Уильямс N on Октябрь 7th, 2008
Протокол сетевого времени, похоже, был навсегда. Фактически, это действительно один из самых старых протоколов Интернета, который был разработан в 1980 профессором Дэвидом Миллсом и его командой из Университета Делавера.
В непринужденном мире, возможно, не имеет значения, не синхронизированы ли компьютерные сети. Единственные последствия ошибок времени могут заключаться в том, что электронная почта прибывает до ее отправки, но в таких отраслях, как резервирование мест в авиалиниях, фондовая биржа или спутниковая связь, доли секунды могут привести к серьезным ошибкам, таким как продажа мест более одного раза, потеря миллионов долларов или даже мошенничества.
Компьютеры - это логические машины, и, поскольку время линейно для компьютера, любое событие, которое происходит на одной машине, должно произойти до того, как новость этого события достигнет другого. Когда сети не синхронизированы, компьютеры пытаются справиться с событиями, которые, очевидно, произошли (например, отправленное электронное письмо), но в соответствии с их часами и отметкой времени еще нет, просто вспомните ошибку тысячелетия, в которой боялись часы вернитесь к 1900!
Именно по этой причине был разработан NTP. NTP использует алгоритм (алгоритм Марзулло) для синхронизации времени с текущей версией NTP, может поддерживать время в общедоступном Интернете с точностью до 10 миллисекунд и может работать даже лучше по LAN. Серверы времени NTP работают в наборе TCP / IP и полагаются на UDP (User Datagram Protocol).
NTP-серверы обычно являются специализированными устройствами NTP, которые используют единую временную ссылку для синхронизации сети. На этот раз ссылка чаще всего является источником UTC (скоординированное универсальное время). UTC - это глобальная шкала времени, распределенная атомными часами через Интернет, специализированные радиопередачи с длинной волной или через сеть GPS (Global Positioning System).
Алгоритм NTP использует эту временную ссылку для определения суммы для продвижения или отступления от системных или сетевых часов. NTP анализирует значения временной метки, включая частоту ошибок и ее стабильность. Сервер NTP будет поддерживать оценку как опорных часов, так и самого себя.
NTP является иерархическим. Расстояние от отсчета времени делится на страты. Stratum 0 - это ссылка на атомные часы; Stratum 1 является сервером NTP, а Stratum 2 - сервером, который получает информацию о синхронизации с сервера NTP. NTP может поддерживать почти безграничные страты, хотя чем дальше от ссылки на синхронизацию вы идете, тем менее она будет точной.
Поскольку каждый уровень страты может принимать и отправлять сигналы синхронизации, преимущество этой иерархической системы состоит в том, что тысячи машин могут быть синхронизированы только с одним NTP-сервером.
NTP содержит меру безопасности, называемую аутентификацией. Аутентификация проверяет, что каждая временная метка исходит из заданной ссылки времени, анализируя набор ключей шифрования, которые отправляются с помощью ссылки времени. NTP анализирует его и подтверждает, пришел ли он из источника времени, проверив его против набора доверенных ключей в своих файлах конфигурации.
Однако аутентификация недоступна из источников синхронизации из Интернета, поэтому Microsoft и Novell среди других настоятельно рекомендуют использовать только внешние ссылки времени, такие как выделенный GPS NTP-сервером или тот, который принимает национальную частотную и частотную передачу длинной волны.