Multicast в Cisco

Материал из Xgu.ru

Перейти к: навигация, поиск
stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.

Автор: Наташа Самойленко

Содержание

[править] 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 трафик.

Информация о протоколе:

[править] Маршрутизация 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]

[править] Дополнительная информация