Кратко

  • RFC 5148 рекомендует случайно менять время управляющих передач MANET, если нижние уровни не устраняют коллизии эффективно.
  • Периодическая генерация, внешний триггер и пересылка используют разные правила.
  • В периодическом случае случайная величина вычитается из интервала; в двух других добавляет ожидание.
  • Значение следует равномерно выбирать от нуля до применимого MAXJITTER.
  • Настроенный предел не доказывает фактическое распределение или независимость узлов.
  • Периодический максимум не должен превышать половину интервала и желательно не превышает четверти.
  • Положительный MESSAGE_MIN_INTERVAL вводит дополнительные границы.
  • Ретранслятор может не знать интервал источника и нуждается в правиле протокола.
  • Во время ожидания может прийти более новое событие или сообщение.
  • Сообщения одного пакета должны делить одну выборку; минимум нескольких выборок искажает распределение.
  • Задержка накапливается по переходам и должна учитываться до диаметра сети.
  • Снижение вероятности коллизии не доказывает приём, маршрут, сходимость или результат приложения.

Локальная малость не гарантирует малость пути

Одинаковые периодические расписания, общий внешний сигнал и немедленная пересылка одного широковещательного сообщения могут синхронизировать соседние узлы. RFC 5148 вводит ограниченное случайное смещение, чтобы совпадение не повторялось. Механизм нужен лишь там, где MAC и физический уровень не дают эффективного решения.

Каждая задержка имеет цену. Поэтому максимум следует уменьшать настолько, насколько позволяет задача рассинхронизации. В плотной области помех больший диапазон может быть оправдан, но на многошаговом пути его стоимость умножается.

Три разных расписания

Периодическое сообщение передаётся через MESSAGE_INTERVAL - jitter после предыдущей фактической передачи. Оно не опаздывает относительно номинального интервала, а первоначально совпадающие узлы постепенно расходятся.

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

Формула ограничивает настройку

Периодический MAXJITTER неотрицателен, не превышает половину MESSAGE_INTERVAL и предпочтительно остаётся не больше четверти. При положительном минимальном интервале максимум не превышает его и желательно остаётся ниже половины. Выборка предполагается равномерной.

Эти условия не наблюдают исполнение. Значение MIB или значение по умолчанию не доказывает вызов генератора, разные seed после массовой перезагрузки или соблюдение срока очередью. Масштаб также зависит от периода кадра MAC, плотности и дальности помех.

Ожидание создаёт состояние очереди

Пока сообщение ждёт, может появиться новый триггер. Отложенная генерация позволяет объединить события. Уже созданное сообщение требует решения: удалить старое, отправить оба или изменить время с сохранением порядка. При пересылке новое сообщение того же источника может догнать старое.

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

Диаметр принадлежит бюджету

RFC 5148 предлагает учитывать ожидаемое число последовательных пересылок вплоть до диаметра сети. RFC 6130 разделяет периодический и вызванный событием HELLO и исключает пересылку HELLO. RFC 7181 разделяет параметры TC, а RFC 7183 включает задержку каждого перехода в расчёт времени действия.

Увеличенное время действия не удостоверяет прохождение. Настройка, планировщик, попытка радио, приём конкретным узлом, обработка, топология, маршрут и трафик приложения — отдельные квитанции. Случайное время может мешать точному выборочному глушению, но не заменяет аутентификацию или общую защиту от помех.

Sources

  1. RFC 5148, HTML
  2. RFC 5148, текст
  3. Карточка RFC Editor
  4. IETF Datatracker
  5. История
  6. Ссылки
  7. Errata
  8. RFC 6130
  9. RFC 7181
  10. RFC 7183
  11. RFC 7939
  12. RFC 7985
  13. RFC 5444
  14. RFC 3626
  15. RFC 3561
  16. RFC 4271
  17. Minimum Initial Specification
  18. On Reality Layers
  19. Running-Code Primacy