Глава 5. PIM-SSM: различия между версиями
(Новая страница: «==ASM== - Нахождение источника - задача сети. :*PIM-DM: флуд от источника всем получателям. Из-за…») |
(→SSM) |
||
Строка 15: | Строка 15: | ||
==SSM== | ==SSM== | ||
*Нахождение источника - задача приложения у получателя. | |||
:*Получатель уже знает о необходимом источнике. | :*Получатель уже знает о необходимом источнике. | ||
:*Получатель подписывает на определенный канал - (S,G). Требуется IGMPv3. При этом для междоменного мультикаста больше не нужно использование MSDP. И RP, кажется, тоже. | :*Получатель подписывает на определенный канал - (S,G). Требуется IGMPv3. При этом для междоменного мультикаста больше не нужно использование MSDP. И RP, кажется, тоже. | ||
*Использует часть PIM-SM функционала: | |||
:*Всегда используется (S,G) source-based tree. | :*Всегда используется (S,G) source-based tree. | ||
*В основном использует 1 тип приложений: One-to-many | |||
*Распределние адресного пространства: | |||
:*Выделен блок: 232/8. | :*Выделен блок: 232/8. | ||
:*Один и тот же адрес группы может использоваться разными источниками на просторах всего интернета. Из-за этого усложнены DoS атаки. | :*Один и тот же адрес группы может использоваться разными источниками на просторах всего интернета. Из-за этого усложнены DoS атаки. |
Версия 11:30, 20 декабря 2016
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 атаки.
Разница в терминологии
- 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 224.0.0.0/7 set routing-options multicast asm-override-ssm
Если получатели на поддерживают 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 test policy ssm-mapping-policy set routing-options multicast ssm-map test source 192.168.100.10
3.
set protocols igmp interface ge-0/0/0.0 ssm-map test
result: (*, 232.7.7.7) -> (192.168.100.10, 232.7.7.7)
Для troubleshoting используются все те же команды.