Интегрированные сети ISDN


Таблица Коды идентификаторов часов - часть 13


Только пакеты с корректными заголовками могут использоваться для определения того, может ли партнер быть выбран в качестве источника синхронизации. Заметим, что тесты 1-2 не используются в широковещательном режиме.

Процедура "часовой фильтр" вызывается для вычисления задержки (peer.delay), смещения (peer.offset) и дисперсии (peer.dispersion) для партнера. Спецификация алгоритма часового фильтра не является составной частью протокола NTP. По этой причине описания, приводимые ниже, следует рассматривать как рекомендательные.

if (not valid header) exit;

peer.leap < pkt.leap;

/* Копирование переменных пакета */

peer.stratum ;

peer.precision ;

peer.rootdelay ;

peer.rootdispersion ;

peer.refid ;

peer.reftime ;

if (valid data) call clock-filter(q, d, e);

/* обработка данных */

end packet procedure;

Процедура коррекции показаний часов

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

begin clock-update procedure

call clock-select;

/* Выбор базовых часов */

if (sys.peer ? peer) exit;

Может так случиться, что локальные часы оказались сброшены. В этом случае вызывается процедура очистки (clear procedure) для каждого из партнеров, чтобы возвратить в исходное состояние фильтр часов, период рассылки и, если необходимо, осуществить выбор нового источника синхронизации.

Процедура расстояния вычисляет базовую (root) задержку d, базовую дисперсию e и базовое расстояние синхронизации l. ЭВМ не будет синхронизовать выбранного партнера, если расстояние больше чем ntp.maxdistance.

l andistance(peer);

/* обновление системных переменных */

if (l ? ntp.maxdistance) exit;

sys.leap

sys.stratum

sys.refid

call local-clock;

if (local clock reset) begin

/* если сброс, очистить системные переменные */

sys.leap 2;

for (all peers) call clear;

endif

else begin

sys.peer

/* если нет, то подстроить локальные часы */

<


Начало  Назад  Вперед



Книжный магазин