Ищите программное обеспечение NTP Server для Windows [закрыто]

8

Я ищу, желательно бесплатный, NTP-сервер для Windows Server 2003/2008. Мы уже опробовали встроенный сервер времени Windows, но наши тесты показали, что он не очень точный, мы видим разницу во времени до 500 мс. Максимальная разница во времени, которую мы можем допустить для нашего приложения, составляет ~ 100 мс.

Теперь мы уже использовали Meinberg NTPd для Windows. Он прекрасно работает, за исключением того, что у нас есть одна большая проблема: если есть проблема с сетевым соединением между клиентом и сервером, сервер ntp находится в состоянии паники. Это не даст клиенту новое время, пока мы не перезапустим службу ntp. Это большая проблема, которая доставила нам некоторые неприятности. Он работал нормально в течение нескольких месяцев, пока не возникла проблема с сетью, которую мы не заметили, мы заметили ее только через неделю, когда разница во времени уже составляла 30 секунд. на клиентов.

Поэтому, пожалуйста, предложите какой-нибудь альтернативный NTP-сервер для Windows. Я сделал Google, но я получаю много несвязанных результатов поиска.

Изменить: До сих пор версия Windows NTDPD была очень точной, и я хотел бы придерживаться ее. Единственная проблема - это «состояние паники» после отключения сети. Может быть, кто-то знает здесь, в чем причина и как это исправить. Кроме того, я забыл упомянуть, что у нас есть настройка сервера / клиента, подобная этой:

Сервер1 -> Сервер2 -> Сервер3 -> Клиент1 -> Клиент2 -> Клиент3

Таким образом, Server2 получает свое время от Server1, Server3 получает свое время от Server2, а клиенты получают свое время от Server3. Также есть клиенты, подключенные напрямую к Server2. Важно, чтобы все серверы и клиенты имели одинаковое время (в течение ~ 100 мс)

Теперь была проблема сети с Server3 и его клиентами. На серверах работает порт ntpd для Windows, который выступает в качестве NTP-сервера и клиента. Клиенты имеют Dimension4 в качестве клиента NTP. После проблемы с сетью сообщение об ошибке в D4 выглядело примерно так (из головы нет точного сообщения об ошибке):

Ответ сервера: сервер находится в состоянии паники (не удалось синхронизировать часы)

Я прочитал документы ntpd, и единственное упоминание о «панике» - это когда разница во времени составляет 10000 секунд, что приведет к выходу с сервера ntpd, но это не так. Также есть ключ командной строки "-g" для отключения выхода из паники, но он уже установлен по умолчанию.

Есть идеи, что может вызвать состояние паники и как избавиться от него в следующий раз?

Скотт Пак
источник

Ответы:

4

Я использую NetTime на протяжении многих лет, как в качестве клиента, так и сервера.

Это программное обеспечение является главным NTP-клиентом, но оно также работает как NTP-сервер в локальной сети (опция: разрешить другим компьютерам синхронизироваться с этим компьютером).

LG.
источник
Я попробовал это в нашей тестовой среде, и у меня есть 2 проблемы с NetTime: точность схожа с сервисом windows w32time, поэтому я получаю разницу до 500 мс, во-вторых, мы используем Dimension4 на наших клиентах, чтобы получить время на клиенты, и они не в состоянии синхронизироваться с NetTime, потому что, если «недопустимый слой», из того, что я прочитал, NetTime регистрируется с слоем 16
Извините, мне никогда не требовалась эта точность, поэтому я не знал этих проблем.
LG
2

Мы видим намного лучше, чем 500 мс от W32time, больше похоже на 16 мс, что является разрешением системных таймеров Windows. Это измеряется реальными NTPd-серверами Linux stratum-2 в одной гигабитной локальной сети. Google "инструменты и настройки службы времени Windows" и прочитайте о параметре "updateinteval", который можно изменить с помощью групповой политики или непосредственно в реестре. Сейчас не могу проверить, но я помню, что у нас установлено значение 100 для всех наших серверов, что по умолчанию для контроллеров домена, но не для других членов домена Windows.

Обновлено: у нас фактически установлено значение 100 для всех наших серверов. Подробности настройки UpdateInterval:

UpdateInterval

Путь к реестру : HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ Config

Версия : Windows XP, Windows Vista, Windows 7, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008 и Windows Server 2008 R2.

Эта запись указывает количество тактов между настройками фазовой коррекции. Значение по умолчанию для контроллеров домена - 100. Значение по умолчанию для членов домена - 30 000. Значение по умолчанию для автономных клиентов и серверов - 360 000.

Как вы можете видеть, по умолчанию W32time только «управляет» часами каждые 30 000 тиков для контроллеров, не входящих в домен, или, что еще хуже, если они не являются членами домена. Тик на окнах обычно составляет 1/64 секунды в зависимости от оборудования, что означает, что часы настраиваются только один раз каждые 8 ​​минут или около того в конфигурации по умолчанию. Это хорошо для большинства приложений, но не подходит для приложений, чувствительных ко времени.

Дополнительную информацию можно найти здесь: http://technet.microsoft.com/en-us/library/cc773263(v=ws.10).aspx#w2k3tr_times_tools_uhlp

rmalayter
источник
1

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

Джим Б
источник