Насколько точным я могу ожидать время от NTP-сервера stratum 0 в той же подсети ethernet?

StackOverflow https://stackoverflow.com/questions/126710

Вопрос

У меня есть приложение, которое зависит от gpsd и ntpd для точной установки системного времени на компьютере с Linux.

gpsd подается по стандарту NMEA + PPS

Приложение передает по сети ~ 25 МБ в секунду, и я думаю, что загрузка системы каким-то образом вызывает дрожание во времени.(загруженная шина PCI express вызывает нерегулярную задержку прерывания)

У меня есть другая машина, которая вообще не загружена, которую я мог бы настроить для считывания GPS и выполнения функций NTP-сервера для загруженной машины.(загруженная машина получит startum 1 ???)

Насколько точным я могу ожидать время от NTP-сервера stratum 0 в той же подсети Ethernet?

Я надеюсь, что это не слишком не по теме, я уверен, что когда-нибудь кто-то другой будет рад, что ответ задокументирован здесь.;-)

Это было полезно?

Решение

Лучшая информация, которую я смог найти по Точность NTP, кажется , указывает на 1-2 мс в локальной сети:

NTP v4 с модами ядра, поддерживающими его, способен обеспечить точность намного выше 1 мс, возможно, такую же хорошую, как 1нс.Согласно статье [Дейва Миллса], NTP v3 работает с точностью до 1-2 мс в локальной сети и 10 мс в сетях глобальной сети. http://www.cis.udel.edu /~mills/ntp.html

В других статьях предполагается, что при использовании точного источника времени, такого как источник времени GPS, NTP имеет точность до 50 мкс, но ссылки на поддержку ядра Linux говорят, что возможна точность в несколько мс. http://www.atomic-clock.galleon.eu.com/support/ntp-time-server-accuracy.html

В другой статье говорится, что это зависит от предсказуемости сетевых задержек (т. е.сеть с низким уровнем джиттера). http://www.postel.org/pipermail/end2end-interest/2003-April/002925.html

Другие советы

NTP обычно считается хорошим для небольших однозначных мс в подобных ситуациях.

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

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

Если у вас действительно загруженная сеть и сетевые карты с действительно глубокой буферизацией, то это может не помочь делу, так как дрожание между поступлением пакетов и обслуживанием прерываний будет больше.Чем сложнее ваша коммутация Ethernet, тем хуже с точки зрения синхронизации - старомодные концентраторы в этом отношении лучше коммутаторов.

Уровень уровня NTP-сервера, о котором идет речь, не имеет никакого отношения к точности часов / сервера.Это просто означает расстояние от "эталонных часов", на котором вы находитесь.

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

Например, MS NTP server заявляет, что он будет точным в течение 2 секунд.OpenNTPD заявил, что они не предоставят вам возможную точность сервера.Есть случаи, когда серверы stratum 3 могут быть более точными, чем серверы stratum 2, и т.д.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top