13. Процедура опроса
Каждое виртуальное соединение обеспечивает процедуру опроса, которая проводится регулярно через определённый интервал времени с целью формирования и передачи NTPv4-сообщений для различных режимов функционирования виртуальных соединений (симметричном, клиентском и широковещательном сервера). Процедура опроса осуществляется непрерывно, независимо от того являются ли удалённые серверы времени достижимыми или нет. Непрерывность процедуры необходимо для управления фильтром времени и регистром достижимости.
13.1. Переменные процедуры опроса
На рис.26 представлены переменные (в нижнее регистре) и параметры (в верхнем регистре), используемые в процедуре опроса. Если не оговорено обратного, то тогда все переменные обозначаются префиксом p
.
Наименование | Значение | Описание |
---|---|---|
hpoll | hpoll | Экспоненциальное значение времени опроса сервера |
last | last | Время последнего опроса |
next | next | Время следующего опроса |
reach | reach | Регистр достижимости |
unreach | unreach | Счетчик недостижимых серверов времени |
UNREACH | 24 | Предельное значение недостижимых серверов |
BCOUNT | 8 | Количество последовательно передаваемых сообщений |
BURST | flag | Согласие на восстановление соединения |
IBURST | flag | Запрос на восстановление соединения |
Рис.26. Параметры и переменные, используемые в процедуре опроса |
Значения переменных опроса передаются с помощью NTPv4-сообщений вместе со значениями переменных обрабатываемых удалённым сервером в период сеанса связи (сессии). Переменные, используемые в процедуре опроса, имеют следующую кодировку:
hpoll
Знаковое целое число, представляющее собой экспоненциальное значение, то есть log2 в секундах.
last
Целое число, представляющее собой значение счётчика секунд с момента передачи самого последнего NTPv4-сообщения.
next
Целое число, представляющее собой значение счётчика секунд до момента передачи следующего NTPv4-сообщения.
reach
8-битовое целое число, определяемое регистром сдвига, который используется совместно процедурой опроса и процедурой удалённого сервера.
unreach
Целое число, представляющее собой количество секунд, прошедших с момента, когда удалённый сервер времени стал недостижимым.