Серверы времени: поддержание точного времени на компьютерах
Размещенно от Ричард Уильямс N on Сентябрь 8th, 2008
Компьютерные сети полагаются на хронометраж для почти всех своих приложений, от отправки электронной почты до сохранения данных, для отслеживания компьютера необходима метка времени. Все маршрутизаторы и коммутаторы должны работать с одинаковой скоростью, из-за синхронизации устройства могут привести к потере данных и даже к целым соединениям.
Все ПК и сетевые устройства используют часы для поддержания внутреннего системного времени. Эти часы, называемые чипами реального времени (RTC), предоставляют информацию о времени и дате. Микросхемы снабжены батареей, так что даже при отключении электроэнергии они могут поддерживать время.
Однако персональные компьютеры не предназначены для идеальных часов, их дизайн был оптимизирован для массового производства и недорогих, а не для поддержания точного времени. Однако эти внутренние часы подвержены дрейфу, и хотя для многих приложений это может быть вполне адекватным, часто машинам необходимо работать вместе в сети, и если компьютеры дрейфуют с разной скоростью, компьютеры будут не синхронизированы друг с другом, и проблемы могут особенно в случае транзакций с учетом времени.
Для некоторых транзакций необходимо, чтобы компьютеры были полностью синхронизированы, даже разница в секундах между машинами может иметь серьезные последствия, например, если вы нашли авиабилет, который вы забронировали, были проданы через несколько секунд другому клиенту, или вы могли бы извлечь свои сбережения из банкомат, а когда ваша учетная запись пуста, вы можете быстро перейти на другую машину и снова снять ее.
Время серверов как и другие компьютерные серверы в том смысле, что они обычно расположены в сети. Сервер времени собирает информацию о синхронизации, как правило, из внешнего аппаратного источника, а затем синхронизирует сеть с этим временем.
Большинство серверов времени используют NTP (Протокол сетевого времени), который является одним из старейших протоколов Интернета, все еще используемых, изобретенный д-ром Дэвидом Миллсом из Университета штата Делавэр, он использовался с 1985. NTP - это протокол, предназначенный для синхронизации часов на компьютерах и сетях через Интернет или локальные сети (ЛВС).
NTP использует внешнюю привязку синхронизации, а затем синхронизирует все устройства в сети с этим временем.
Часто серверы времени синхронизируются с UTC (скоординированным универсальным временем) источником, который является глобальным стандартным временным масштабом и позволяет компьютерам во всем мире синхронизироваться точно в одно и то же время. Это имеет очевидное значение в отраслях, где точное время имеет решающее значение, например, для биржевой или авиационной промышленности.
Существуют различные источники, которые сервер времени может использовать в качестве ссылки на синхронизацию. Интернет является очевидным источником, однако ссылки на интернет-время из Интернета, такие как nist.gov и windows.time, не могут быть аутентифицированы, оставив сервер времени и, следовательно, сеть уязвимой для угроз безопасности.