Примеры сетевых топологий


Сетевой протокол времени NTP - часть 25


if (not valid header) exit;

peer.leap < pkt.leap;/* Копирование переменных пакета */

peer.stratum <- pkt.stratum>;
peer.precision <- pkt.precision>;
peer.rootdelay <- pkt.rootdelay>;
peer.rootdispersion <- pkt.rootdispersion>;
peer.refid <- pkt.refid>;
peer.reftime <- pkt.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 <- peer.leap;
sys.stratum <- peer.stratum + 1;
sys.refid <- peer.peeraddr;
call local-clock;

if (local clock reset) begin/* если сброс, очистить системные переменные */

sys.leap <- 112;
for (all peers) call clear;
endif
else begin

sys.peer <- peer;/* если нет, то подстроить локальные часы */

sys.rootdelay <- d;
sys.rootdispersion <- e + max (ex + |t|, ntp.mindisperse);
endif
sys.reftime <- sys.clock;
end clock-update procedure;

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


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