В чем ошибка между слоями NTP?

Я читал, что NTP синхронизирует машины с точностью до 100 мс по глобальной сети (см. следующие ссылки — http://www.ntp.org/ntpfaq/NTP-s-algo.htm и https://en.wikipedia.org/wiki/Network_Time_Protocol).

Является ли ошибка 100 мс (или разница синхронизации) на каждом слое NTP? Если нет, то как NTP гарантирует, что ошибка не распространится на нижние уровни?

Я знаю, что мне чего-то не хватает в протоколе NTP, может кто-нибудь указать, что? Это как-то связано с корневой задержкой и корневой дисперсией, или они просто используются для отклонения серверов-кандидатов?


person Shehzan    schedule 01.07.2015    source источник


Ответы (1)


100 мс — это просто иллюстративное значение, дающее типичный верхний уровень того, что можно ожидать от современных сетевых технологий.

В основном дельта между двумя узлами ntp определяется асимметрией сетевого подключения к одному узлу и от него к другому.

Дисперсия измеряет ошибку во времени при измерении часов (исходного) ntp-сервера с (локальными) часами ntp-клиента.

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

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

корневая задержка – это общая задержка до используемого источника времени.
корневая дисперсия – это максимальная ошибка на пути к этому источнику времени.

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

Например: RFC 5905: Network Time Protocol Version 4: Спецификация протокола и алгоритмов

person rpy    schedule 29.02.2016