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-сообщения.
reach8-битовое целое число, определяемое регистром сдвига, который используется совместно процедурой опроса и процедурой удалённого сервера.
unreachЦелое число, представляющее собой количество секунд, прошедших с момента, когда удалённый сервер времени стал недостижимым.