Глава 5. PIM-SSM

Материал из Juniper Exam Wiki
Перейти к навигации Перейти к поиску

ASM

  • Нахождение источника - задача сети.
  • PIM-DM: флуд от источника всем получателям. Из-за этого хранится много (S,G) => проблемы с масштабируемостью.
  • PIM-SM: регистрация источника на RP. Более сложный механизм.
  • Междоменный мультикаст: MSDP.
  • Поддерживает несколько типов приложений:
  • One-to-many
  • Many-to-many
  • Распределение адресного пространства - адреса групп должны быть уникальными в глобальной сети.
  • Выделены блоки SDP/SAP, GLOP, Admin scoped.

SSM

  • Нахождение источника - задача приложения у получателя.
  • Получатель уже знает о необходимом источнике.
  • Получатель подписывает на определенный канал - (S,G).
  • Приложение должно поддерживать IGMPv3.
  • Для междоменного мультикаста больше не нужно использование MSDP и RP.
  • Использует часть PIM-SM функционала:
  • Всегда используется (S,G) source-based tree.
  • В основном использует 1 тип приложений: One-to-many
  • Распределние адресного пространства:
  • Выделен блок: 232/8.
  • Один и тот же адрес группы может использоваться разными источниками на просторах всего интернета. Из-за этого усложнены DoS атаки.

Как работает

  • Получатель знает все источники и группы, к которым он может подписаться (может быть заранее полученный список каналов на приставке).
  • От получателя subscribe (S,G), используя IGMPv3 (include mode).
  • DR на сегменте получателя шлет join (S,G) в сторону источника и начинает строить source-based tree.
  • DR на сегменте источника как только получил join (S,G) - начинает слать трафик по shortest path tree (spt) к получателю.

Разница в терминологии

  • Address identifier: (G) vs (S,G)
  • Address destination: group vs channel
  • Receiver protocol: IGMPv1,2,3 vs IGMPv3
  • Receiver Operations: Join,Leave vs Subscribe/Unsubscribe
  • Address range: 224/4, exclude 232/8 vs 232/8

Адресное пространство

SSM не работает с shared-tree. SSM не обрабатывает сообщения вида: (*,G).

Junos позволяет определить другое поведение для адресных блоков:

  • Добавлять адресное пространство для использования только SSM.
set routing-options multicast ssm-groups 227.0.0.0/24
  • Позволяет ASM использовать SSM блок.
set routing-options multicast asm-override-ssm

IGMPv3 + SSM

ASM использует 1,2,3 версии протокола. Group joins не определяют конкретный источник. 3 версия предусматривает работу именно с (S,G), что не очень то подходит по ASM, поэтому для ASM IGMPv3 работает только в режиме exclude.

SSM использует только 3 версию. При подписке должны быть определены источник и группа. Этот функционал может обеспечить IGMPv3 include mode.

В IGMPv3 включены 2 новых опции:

  • include (этот режим обеспечивает определение источника для группы => используется только SSM)
  • exclude (этот режим позволяет исключать определенный источник из join сообщения => поддерживается ASM)

IGMPv3 работа получателя

  • получатель отправляет membership report на DA = 224.0.0.22

membership report включает в себя 3 основных типа:

  • current-state record: MODE_IS_INCLUDE, MODE_IS_EXCLUDE;
  • filter-mode-change (когда происходит смена режима): CHANGE_TO_INCLUDE_MODE, CHANGE_TO_EXCLUDE_MODE;
  • source-list-change (когда происходит подписка/отписка): ALLOW_NEW_SOURCES, BLOCK_OLD_SOURCES;

Для SSM модели используется только 3 операции:

  • подписка: ALLOW_NEW_SOURCES
  • поддержание подписки: MODE_IS_INCLUDE
  • отписка: BLOCK_OLD_SOURCES

Типы Query

  • general query ->224.0.0.1
  • group-specific query
  • group-source-specific-query (include source address).

PIM-SM + SSM

SSM это упрощенная форма PIM-SM. Используется только часть функционала от PIM-SM.

Блок 232/8 работает только с обменом сообщений для source-based tree. Никаких сообщений для shared-tree.

  • Сегмент получателя (receiver DR):
  • игнорируются любый (*,G) сообщения
  • не должен отправлять (*,G) upstream роутерам
  • Сегмент источника (source DR):
  • не должен отправлять register сообщения к RP, когда получен трафик от источника.
  • RP роутер:
  • игнорирует register сообщения от source DR.
  • игнорирует SA сообщения от MSDP пиров.
  • Другие роутеры:
  • игнорируют все (*,G) сообщения от downstream роутеров.

Вообще, PIM-SM позволяет использовать как ASM, так и SSM. В зависимости от получаемых сообщений и сконфигурированных SSM блоков, DR роутер устанавливает либо shared tree к RP, либо source-based tree к источнику.

Config

На интерфейсах к сторону получателей - IGMPv3. При этом на такие интерфейсы буду приходить и запросы от IGMPv1, v2, которые будет использовать для своей работы ASM.

  • На сети нужен ASM + SSM: в этом случае конфиг должен быть как для стандартной PIM-SM модели с определенным RP discovery механизмом.
  • На сети нужен только SSM: в этом случае нужно просто сконфигурировать все интерфейсы в sparse mode.

Для использования адресного пространства совместно:

set routing-options multicast ssm-groups 227.0.0.0/24
set routing-options multicast asm-override-ssm

SSM-mapping

Если получатели не поддерживают IGMPv3, SSM maps могут переделать join из (*,G) в (S,G):

1.

set policy-options policy-statement ssm-mapping-policy term 1 from route-filter 232.7.7.7/32 exact
set policy-options policy-statement ssm-mapping-policy term 1 then accept

2.

set routing-options multicast ssm-map ssm-mapping-example policy ssm-mapping-policy
set routing-options multicast ssm-map ssm-mapping-example source 192.168.100.10

3.

set protocols igmp interface ge-0/0/0.0 ssm-map ssm-mapping-example
result: (*, 232.7.7.7) -> (192.168.100.10, 232.7.7.7)

Для troubleshoting используются все те же команды.