Поддержание точного времени на компьютерах
Размещенно от Ричард Уильямс N on Январь 15th, 2008
Все ПК и сетевые устройства используют часы для поддержания внутреннего системного времени. Эти часы, называемые чипами реального времени (RTC), предоставляют информацию о времени и дате. Микросхемы снабжены батареей, так что даже при отключении электроэнергии они могут поддерживать время. Однако персональные компьютеры не предназначены для идеальных часов, их дизайн был оптимизирован для массового производства и недорогих, а не для поддержания точного времени.
Эти внутренние часы склонны к дрейфу, и хотя для многих приложений это может быть вполне адекватным, часто машинам необходимо работать вместе в сети, и если компьютеры дрейфуют с разной скоростью, компьютеры будут не синхронизированы друг с другом, и могут возникнуть проблемы, особенно с секретными транзакциями.
Сетевой протокол времени (NTP) является одним из самых старых протоколов Интернета, который все еще используется, изобретенный д-ром Дэвидом Миллсом из Университета штата Делавэр, он использовался с 1985. NTP - это протокол, предназначенный для синхронизации часов на компьютерах и сетях через Интернет или локальные сети (ЛВС).
NTP (версия 4) может поддерживать время в общедоступном Интернете с точностью до 10 миллисекунд (1 / 100th секунды) и может работать даже лучше по локальной сети с точностью до микросекунд 200 (1 / 5000th секунды) в идеальных условиях.
NTP работает в пакете TCP / IP и использует UDP, менее сложная форма NTP существует как Simple Network Time Protocol (SNTP), которая не требует хранения информации о предыдущих сообщениях, необходимых NTP. Он используется в некоторых устройствах и приложениях, где высокая точность синхронизации не так важна.
Многие операционные системы, включая Windows, UNIX и LINUX, могут использовать NTP и SNTP, а синхронизация времени с NTP относительно проста, она синхронизирует время со ссылкой на надежный источник синхронизации. Этот источник может быть относительным (внутренние часы компьютера или время на наручных часах) или абсолютный (A UTC - универсальный координированный источник времени, который является точным, насколько это гуманно).
Все версии Microsoft Windows с 2000 включают службу времени Windows (w32time.exe), которая имеет возможность синхронизировать часы компьютера с сервером NTP.
Существует большое количество интернет-серверов NTP, которые синхронизируются с внешними ссылками UTC, такими как time.nist.gov или ntp.my-inbox.co.uk, но следует отметить, что Microsoft и другие рекомендуют использовать внешний источник для синхронизировать свои компьютеры, поскольку ссылки на Интернет не могут быть аутентифицированы. Доступны специализированные серверы времени NTP, которые могут синхронизировать время в сетях с использованием MSF (или эквивалентного) или сигнала GPS.
Наиболее широко используются серверы времени GPS, которые используют GPS-систему для ретрансляции точного времени. Система GPS состоит из нескольких спутников, обеспечивающих точную информацию о местоположении и местоположении. Каждый GPS спутник может сделать это только за счет использования атомных часов, которые в свою очередь может быть может быть использован в качестве эталона синхронизации.
Типичный приемник GPS может предоставлять информацию о синхронизации в течение нескольких наносекунд UTC, пока имеется антенна, расположенная с хорошим видом на небо.
Существует ряд национальных частотных и радиочастотных передач, которые могут использоваться для синхронизации сервера NTP. В Великобритании сигнал (так называемый MSF) транслируется Национальной Лабораторией Физики в Камбрии, которая служит в качестве национальной ссылки времени Соединенного Королевства, есть также аналогичные системы в Колорадо, США (WWVB) и во Франкфурте, Германия (DCF-77). Эти сигналы обеспечивают время UTC до точности микросекунд 100, однако радиосигнал имеет конечный диапазон и уязвим к помехам.