Синхронизация времени компьютера с серверами времени.

Post date: 15.07.2015 8:24:40

Компьютер отсчитывает время в секундах, которые формируются из тактов, генерируемых кварцем и измеряемых в герцах. Стабильность частоты типичного кварцевого генератора невелика (например, зависит от температуры, напряжения, механических деформаций и т.д.), к тому же базовая частота меняется от кристалла к кристаллу (что может приводить к уходу системных часов на десятки секунд в день).

Насколько точны часы вашего компьютера, можно увидеть, запустив команду:

w32tm /query /status /verbose

и сравнив полученное значение ClockRate с эталонной величиной 0.0156000s (у меня: Тактовая частота: 0.0156004s).

Часы компьютера можно синхронизировать с сервером времени в Интернете. Это означает, что показания компьютерных часов будут обновляться в соответствии с показаниями часов на сервере времени, что гарантирует точность локальных часов. Обычно показания часов обновляются раз в неделю, и для синхронизации необходимо подключение к Интернету.

"Раз в неделю" в граммах секундах - это значение ключа реестра

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval, равное 604800.

Убедиться в этом можно, запустив команду:

w32tm /dumpreg /subkey:TimeProviders\NtpClient

Поменять интервал синхронизации можно, изменив значение этого ключа реестра на другое число, например 3600.

Но при частом обращении к одному серверу система может заблокировать ваши запросы, восприняв их как попытка атаки.

Программное обеспечение сервера времени автоматически обнаруживает и добавляет в список необслуживаемых клиентов те IP адреса, с которых приходит неразумно большое количество запросов точного времени.

Избежать блокировки вашего IP адреса можно чередованием серверов, количество которых сегодня - более 3000. В программе "InternetTime" предусмотрен стартовый список из 47 NTP-серверов в файле NTPsrv.cfg в формате XML, который можно модифицировать любым текстовым редактором, добавив или удалив строки типа:

<srvs>time.windows.com</srvs>

Программа выбирает сервера из этого списка случайным образом. Риск блокировки ваших запросов при этом сводится к минимуму.

Есть возможность задавать периодичность опроса времени (в секундах), допустимое расхождение часов, а также настраивать включение/отключение записи протокола работы программы в файл. Эти параметры хранятся в файле InternetTime.cfg в формате XML.

Скачать: InternetTime.7z

Приятного пользования!