Summary
- Проект CoAP multicast Observe, редакция 17, датированный 2 ноября 2026 года, предлагает одно уведомление для клиентов, наблюдающих за общим ресурсом. Это действующий Internet-Draft.
- Опция
Feedback-Dividerвызывает ответы у случайной доли заинтересованных клиентов. Каждый отвечает с вероятностью1 / 2^Q; сервер получаетRподтверждений и вычисляетE = R × 2^Q. - В примере документа первоначальная оценка равна 32, реально активны 18. Пятеро решают ответить, один ответ теряется, четыре доходят. Индикатор равен 16, и при выбранном для примера демпфере новая оценка тоже становится 16.
Представьте набор небольших устройств, следящих за изменением одного показателя. Согласно RFC 7641, каждый клиент CoAP может зарегистрироваться для получения уведомлений. При индивидуальной отправке нагрузка сервера растёт вместе с числом подписчиков. Новый проект объединяет наблюдателей в группу и отправляет всем одно multicast-уведомление. Отправить сообщение стало дешевле. Узнать, сколько клиентов по-прежнему его ждут, стало труднее.
Сервер локально создаёт «фантомный» запрос Observe, представляющий группу, и использует общий Token. Никакое воображаемое устройство не посылает его по сети. Клиенты узнают параметры группы и слушают уведомления. Сервер видит факт передачи, но не получает из него перечень получателей и подтверждение каждого пакета. Счётчик наблюдателей в документе прямо назван приблизительной оценкой активных заинтересованных клиентов.
Ответ берут у выборки
Раздел 8 редакции 17 добавляет в уведомление Feedback-Divider со значением Q. Каждый поддерживающий опцию клиент, желающий продолжать наблюдение, случайно выбирает целое число от нуля до 2^Q, не включая верхнюю границу. Лишь выбравший ноль после случайной паузы повторно регистрируется индивидуальным запросом Observe. Остальные могут оставаться активными, но молчат. Это спасает сервер от одновременного ответа всей группы.
Сервер считает дошедшие подходящие подтверждения как R и умножает на 2^Q. Результат E — индикатор аудитории. Если отвечать предложено примерно четверти, четыре ответа подсказывают число шестнадцать. Они не являются шестнадцатью личными квитанциями. Случайный отбор колеблется, часть ответов теряется. Проект прямо признаёт смещение оценки из-за потерь пакетов. Экономия передачи оплачена неопределённостью размера группы.
Пока идёт опрос, к группе могут присоединиться новые клиенты. Проект берёт текущий счётчик COUNT', сравнивает новый E со старой оценкой N и корректирует на (E − N) / D, где D — положительный целочисленный демпфер. Обновление должно быть атомарным относительно новых регистраций. Исправляя старую оценку, сервер не должен вычеркнуть только что вошедшего слушателя. Однако корректная бухгалтерия сервера не подтверждает доставку конкретного уведомления.
Авторы приводят арифметический пример. Сервер предполагает 32 наблюдателя и выбирает Q=2, то есть шанс ответа один из четырёх. На самом деле активны 18. Пятеро выпадают по жребию, но один ответ пропадает. По четырём прибывшим сервер получает E=16; при D=1 счётчик снижается с 32 до 16, наблюдение группы продолжается. Реальные 18 известны читателю, потому что авторы сообщили их для расчёта. Работающий сервер видит только свои четыре ответа.
Сэкономленный трафик оставляет решение оператору
При Q=0 сервер может попросить ответить всех активных клиентов. Обратного трафика станет больше, а потери останутся возможными. Более редкие проверки экономят сеть, но число стареет. Больший демпфер замедляет перемены. Политика приложения определяет время нового опроса и порог остановки группового наблюдения. Раннее завершение оставит заинтересованные устройства без общего канала; пустая группа зря расходует ресурсы. Протокол не выбирает этот порог за оператора.
RFC 7252 определяет базовый обмен CoAP. Проект меняет стоимость рассылки обновлений Observe. Счётчик оценивает заинтересованность, но не приём, обработку или выполнение уведомления. Для информационного экрана приблизительной аудитории может хватить при выборе режима рассылки. Команда конкретному устройству требует ответа именно этого устройства.
Официальные материалы не содержат замеров реальной установки и распределения потерь. Контрольный опыт с известным числом клиентов, выбранными и потерянными ответами и фактическим получением уведомлений показал бы ошибку счётчика. Условия обмена ясны: одно уведомление для всех бережёт сеть, а число этих «всех» определяется жребием.
Проект CoAP multicast Observe · Запись Datatracker · RFC 7641 · RFC 7252
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров





