Multicast в Cisco
Материал из Xgu.ru
- Автор: Наташа Самойленко
Содержание |
[править] Multicast на коммутаторах
[править] IGMP snooping
[править] Cisco Group Management Protocol (CGMP)
CGMP включается на маршрутизаторе и на коммутаторе.
Маршрутизатор отправляет сообщения CGMP, а коммутатор слушает их. С помощью сообщений маршрутизатор передает коммутатору информацию, которую он получил по IGMP.
MAC-адрес получателя в сообщениях CGMP 0x0100.0cdd.dddd.
Информация в CGMP-сообщениях:
- Group Destination Address (GDA)
- Unicast Source Address (USA)
Сообщения CGMP:
Тип | Group Destination Address | Unicast Source Address | Значение |
---|---|---|---|
Join | MAC-адрес группы | MAC-адрес хоста | Добавить USA порт в группу |
Leave | MAC-адрес группы | MAC-адрес хоста | Удалить USA порт из группы |
Join | 0 | MAC-адрес маршрутизатора | Выучить к какому порту подключен CGMP-маршрутизатор |
Leave | 0 | MAC-адрес маршрутизатора | Освободить порт CGMP-маршрутизатора |
Leave | MAC-адрес группы | 0 | Удалить группу из CAM |
Leave | 0 | 0 | Удалить все группы из CAM |
[править] Формат сообщения CGMP
| 8 | 8 | 8 | 8 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Type | Reserved | Count | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GDA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GDA | USA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | USA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ . . . Multiple GDA/USA pairs . . . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GDA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GDA | USA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | USA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Поля сообщения:
- Version — всегда установлено в 0x1,
- Type — указывает тип пакета, Join (0x0) или Leave (0x1),
- Reserved — всегда установлено в 0,
- Count — указывает количество пар GDA/USA которые передает пакет,
- GDA — Group Destination Address. Если поле не равно 0, то оно указывает MAC-адрес multicast группы. Если поле равно 0, то оно указывает все возможные группы,
- USA — Unicast Source Address. Если поле не равно 0, то оно указывает MAC-адрес маршрутизатора, который отправил сообщение или MAC-адрес члена multicast группы. Если поле равно 0, то оно указывает всех участников группы и маршрутизатор.
[править] Cisco Router Port Group Management Protocol (RGMP)
Cisco Router Port Group Management Protocol (RGMP) -- предназначен для того чтобы коммутатор мог взаимодействовать с маршрутизаторами в сети и отслеживать трафик каких групп необходимо передавать маршрутизаторам.
Если RGMP включается на маршрутизаторе или коммутаторе, то CGMP отключается, и наоборот.
Сообщения RGMP отправляются на адрес 224.0.0.25.
Все сообщения RGMP генерирует маршрутизатор:
- Hello сообщения генерируются каждые 30 секунд. Когда коммутатор получает hello-сообщение на порту он прекращает передавать на этот порт трафик всех групп.
- Join G — этим сообщением маршрутизатор сообщает трафик какой группы он хочет получать. После того как коммутатор получил такое сообщение, он начинает передавать через порт трафик соответствующей группы.
- Leave G — этим сообщением маршрутизатор сообщает трафик какой группы он более не хочет получать. После того как коммутатор получил такое сообщение, он перестает передавать через порт трафик соответствующей группы.
- Bye — сообщение, которое маршрутизатор отправляет когда на нём отключается RGMP. После получения такого сообщения коммутатор начинает передавать на этот порт весь multicast трафик.
Информация о протоколе:
- Хоть протокол и проприетарный, но есть информационное RFC3488
- RGMP: Cisco Router Port Group Management Protocol
- Using RGMP: Basics and Case Study
- Поддерживается на Catalyst 6000 [1]
[править] Маршрутизация multicast
[править] Настройка PIM
В PIM трафик конкретной мультикаст группы передается в соответствии с правилами режима настроенного для этой группы.
Реализация PIM в Cisco поддерживает четыре режима для мультикаст групп:
- Основная страница: PIM в Cisco
[править] Настройка IGMP
[править] Таймеры
Значения таймеров для маршрутизаторов Cisco отличаются от значений RFC 2236:
- Group Membership Interval — интервал времени в течение которого маршрутизатор ожидает получения IGMP Report. Если он не был получен, то маршрутизатор считает, что в данной сети больше нет хостов, которые принадлежат группе. По умолчанию на маршрутизаторах Cisco 3 интервала Query, 180 секунд.
- Old Host Present Timeout — интервал времени в течение которого IGMPv2-маршрутизатор ожидает получения IGMPv1 Membership Report, если сообщение получено не было, то маршрутизатор считает, что в сети нет хостов IGMPv1 и начинает отправлять сообщения IGMPv2. По умолчанию равен значению Group Membership Interval.
По умолчанию маршрутизатор отправляет General Query каждые 60 секунд. Изменить это значение можно с помощью команды ip igmp query-interval:
dyn4(config-if)# ip igmp query-interval 100
В General Query передается информация о таймере Max Response Time. Это значение указывает максимальное значение времени, в течение которого хост должен ответить на General Query сообщением Host Membership Report. По умолчанию значение таймера 10 секунд.
Изменение значения таймера Max Response Time:
dyn4(config-if)# ip igmp query-max-response-time 20
[править] Querier
Один маршрутизатор в сети становится Querier. Другие маршрутизаторы в этой сети слушают сообщения от querier. Если они не видят сообщения в течение Other Querier Present Interval, то они считают, что того маршрутизатора нет и становятся Querier. По умолчанию Other Querier Present Interval равен 120 секунд.
Изменить это значение можно с помощью команды ip igmp querier-timeout:
dyn4(config-if)# ip igmp querier-timeout 150
[править] Присоединение интерфейса маршрутизатора к multicast группе
Есть две команды, которые позволяют интерфейсу маршрутизатора присоединиться к группе:
- ip igmp static-group:
- fast-switched traffic,
- настраивает статическую принадлежность интерфейса группе, которая позволяет маршрутизатору присоединиться к группе,
- после указания команды upstream маршрутизатор будет считать, что ниже есть участник группы,
- не обрабатывается пакеты, а только присоединяет маршрутизатор к группе.
- ip igmp join-group:
- process-switched traffic,
- настраивает статическую принадлежность интерфейса группе, которая позволяет маршрутизатору присоединиться к группе,
- после указания команды upstream маршрутизатор будет считать, что ниже есть участник группы,
- позволяет маршрутизатору обрабатывать и отвечать на ping.
Настройка принадлежности интерфейса маршрутизатора к группе:
dyn2(config)# interface FastEthernet1/0 dyn2(config-if)# ip igmp join-group 224.1.1.1
dyn2# sh ip mroute IP Multicast Routing Table Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected, L - Local, P - Pruned, R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT, M - MSDP created entry, X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement, U - URD, I - Received Source Specific Host Report, Z - Multicast Tunnel, z - MDT-data group sender, Y - Joined MDT-data group, y - Sending to MDT-data group Outgoing interface flags: H - Hardware switched, A - Assert winner Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 224.1.1.1), 00:40:59/stopped, RP 0.0.0.0, flags: DCL Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet1/0, Forward/Dense, 00:40:59/00:00:00 FastEthernet0/0, Forward/Dense, 00:40:59/00:00:00 (192.168.1.1, 224.1.1.1), 00:04:12/00:00:27, flags: LT Incoming interface: FastEthernet0/0, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet1/0, Forward/Dense, 00:04:12/00:00:00 (*, 224.0.1.40), 00:58:05/00:02:24, RP 0.0.0.0, flags: DCL Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet0/0, Forward/Dense, 00:58:05/00:00:00
Ping с соседнего маршрутизатора:
dyn1# ping 224.1.1.1 repeat 3 Type escape sequence to abort. Sending 3, 100-byte ICMP Echos to 224.1.1.1, timeout is 2 seconds: Reply to request 0 from 192.168.1.2, 232 ms Reply to request 1 from 192.168.1.2, 32 ms Reply to request 2 from 192.168.1.2, 12 ms
[править] Просмотр информации IGMP
Информация об интерфейсах относящаяся к IGMP:
dyn3# show ip igmp interface [type number]
Показать multicast-группы, которые непосредственно присоединены к маршрутизатору и были выучены по IGMP:
dyn3# show ip igmp groups [group-address | type number]
Информация о multicast-группах:
dyn3# show multicast group [igmp] [mac-addr] [vlan-id]
Информация о multicast-портах маршрутизатора:
dyn3# show multicast router [igmp] [mod-num/port-num] [vlan-id]
[править] Дополнительная информация
- Multicast Quick-Start Configuration Guide
- Cisco IOS IP Multicast Configuration Guide, Release 12.4
- Guidelines for Enterprise IP Multicast Address Allocation
- IP Multicast, Best Practices and Control
- Load Splitting IP Multicast Traffic over ECMP