Кратко
- Сначала получатель становился известен маршрутизатору последнего перехода через IGMP; лишь затем PIM-SM протягивал общее дерево
(*,G)к точке рандеву RP. - Join/Prune не выдавал квитанции. Мягкое состояние истекало и продолжало жить только благодаря периодическому обновлению.
- Источник обращался к RP через Register; RP мог ответить Register-Stop, создать
(S,G)и разрешить переход на кратчайшее дерево, отмеченное битом SPT. - Спецификация отделяла наблюдаемый сигнал от доказательства доставки. Запись в таблице подтверждала свежее состояние, а не сквозное получение пакета.
Дерево начиналось на границе
RFC 2117 был опубликован в июне 1997 года как экспериментальная спецификация PIM-SM для сетей, где участники группы распределены редко. «Независимость от протокола» не означала независимость от одноадресной маршрутизации: PIM использовал её таблицу для проверки обратного пути, но не требовал определённого одноадресного протокола.
Первый рабочий факт поступал из IGMP. Узел сообщал локальному маршрутизатору об интересе к группе. Этот маршрутизатор последнего перехода отправлял PIM Join к RP группы. На каждом переходе создавалось состояние (*,G) — любой источник, группа G. Так общее дерево с корнем в RP росло лишь туда, где был известен спрос.
Эта последовательность проводит границу доказательств. Отчёт IGMP подтверждал локальный интерес. Состояние (*,G) показывало, что маршрутизатор принял и поддерживает направление пересылки. Ни то ни другое не гарантировало доставку каждого будущего пакета получателю.
Источник входил другим путём
Когда источник начинал передачу, назначенный маршрутизатор инкапсулировал первые пакеты в сообщения Register для RP. RP мог снять оболочку и передать трафик по общему дереву. Одновременно он мог отправить Join к источнику и сформировать состояние (S,G).
Получив обычный трафик с нового направления, RP отправлял маршрутизатору источника Register-Stop. Это было не подтверждение доставки подписчикам, а команда прекратить лишнюю инкапсуляцию. RFC описывал и переход маршрутизатора получателя на кратчайшее дерево от источника. Бит SPT показывал, что соответствующая запись уже использует этот путь.
Поэтому (*,G), Register, Register-Stop, (S,G) и SPT не были этапами одной подтверждённой транзакции. Это разные сигналы и состояния на разных устройствах, каждое со своей доказательной силой.
Join/Prune не обещал постоянства
Самая показательная черта RFC 2117 — отсутствие подтверждения Join/Prune. Потеря сообщения не вызывала положительного ответа, закрывающего операцию. Вместо этого протокол опирался на периодическое обновление. Таймеры удаляли неподтверждённое заново состояние, а последующие сообщения восстанавливали или продлевали то, что оставалось нужным.
Так дерево могло пережить временный сбой без центрального журнала квитанций. Но таблицы требовали осторожного чтения: присутствующее состояние означало недавно обновлённые сведения; отсутствие могло быть результатом истечения таймера, смены топологии, потери управляющего сообщения или исчезновения спроса. Смысл находился в паре «сообщение — таймер», а не в отдельной строке.
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
