IGMP Proxy
Содержание:
- Содержание серии статей про мультикаст
- Мультикастовые MAC-адреса
- IGMP Snooping Proxy
- Зачем отслеживать сетевой трафик
- Configuring IGMP Proxy via CLI
- Example 1: Configuring the Interface
- Example 2: Set the Unsolicited Report Interval
- Example 3: Reset the Host Interface Status Parameters
- Example 4: Show IGMP Proxy Host Interfaces
- Example 5: Show Detailed Listing of Host Interface Status
- Example 6: Show IGMP Proxy Groups
- Example 7: Show Detailed Information about IGMP Proxy Groups
- Включение функции прослушки
- Configuring IGMP Proxy
- Unicast
- Тонкости IP Multicast IP
- IGMP Snooping Commands Dell PowerEdge 1655MC Integrated Switch Users Guide
- Monitoring IGMP Proxy
- Приручаем multicast 7
- Понятие и назначение IGMP snooping
- Overview
- Overview
- Configuring IGMP Proxy
Содержание серии статей про мультикаст
- Дополнительно: Микровыпуск СДСМ. Подготовка лаборатории для работы с мультикаст в GNS3
На заре моего становления, как инженера, тема мультикаста меня неимоверно пугала, и я связываю это с психотравмой моего первого опыта с ним.
«Так, Марат, срочно, до полудня нужно пробросить видеопоток до нашего нового здания в центре города — провайдер отдаст его нам тут на втором этаже» — услышал я одним чудесным утром. Всё, что я тогда знал о мультикасте, так это то, что отправитель один, получателей много, ну и, кажется, протокол IGMP там как-то задействован.
В итоге до полудня мы пытались всё это дело запустить — я пробросил самый обычный VLAN от точки входа до точки выхода. Но сигнал был нестабильным — картинка замерзала, разваливалась, прерывалась. Я в панике пытался разобраться, что вообще можно сделать с IGMP, тыркался, тыркался, включал мультикаст роутинг, IGMP Snooping, проверял по тысяче раз задержки и потери — ничего не помогало. А потом вдруг всё заработало. Само собой, стабильно, безотказно.
Это послужило мне прививкой против мультикаста, и долгое время я не проявлял к нему никакого интереса.
Уже гораздо позже я пришёл в к следующему правилу:
И теперь с высоты оттраблшученных кейсов я понимаю, что там не могло быть никаких проблем с настройкой сетевой части — глючило конечное оборудование.
Сохраняйте спокойствие и доверьтесь мне. После этой статьи такие вещи вас пугать не будут.
Мультикастовые MAC-адреса
Так какие же MAC-адреса получателей подставляются в заголовок Ethernet таких пакетов? Широковещательные? Нет. Существует специальный диапазон MAC-адресов, в которые отображаются мультикастовые IP-адреса.
Эти специальные адреса начинаются так: 0x01005e и следующий 25-й бит должен быть 0 (попробуйте ответить, почему так). Остальные 23 бита (напомню, всего их в МАС-адресе 48) переносятся из IP-адреса.
Здесь кроется некоторая не очень серьёзная, но проблема. Диапазон мультикастовых адресов определяется маской 224.0.0.0/4, это означает, что первые 4 бита зарезервированы: 1110, а оставшиеся 28 бит могут меняться. То есть у нас 2^28 мультикастовых IP-адресов и только 2^23 MAC-адресов — для отображения 1 в 1 не хватает 5 бит. Поэтому берутся просто последние 23 бита IP-адреса и один в один переносятся в MAC-адрес, остальные 5 отбрасываются.
Multicast MAC Address
Фактически это означает, что в один мультикастовый MAC-адрес будет отображаться 2^5=32 IP-адреса. Например, группы 224.0.0.1, 224.128.0.1, 225.0.0.1 и так до 239.128.0.1 все будут отображаться в один MAC-адрес 0100:5e00:0001.
Если взять в пример дамп потокового видео, то можно увидеть:
Дамп мультикаста
IP адрес — 224.2.2.4, MAC-адрес: 01:00:5E:02:02:04.
Есть также другие мультикастовые MAC-адреса, которые никак не относятся к IPv4-мультикаст (). Все они, кстати, характеризуются тем, что последний бит первого октета равен 1.
Естественно, ни на одной сетевой карте, не может быть настроен такой MAC-адрес, поэтому он никогда не будет в поле Source MAC Ethernet-кадра и никогда не попадёт в таблицу MAC-адресов. Значит такие кадры должны рассылаться как любой Unknown Unicast во все порты VLAN’а.
Всего, что мы рассматривали прежде, вполне достаточно для полноценной передачи любого мультикастового трафика от потокового видео до биржевых котировок. Но неужели мы в своём почти совершенном мире будем мирится с таким безобразием, как широковещательная передача того, что можно было бы передать избранным?
Вовсе нет. Специально для перфекционистов придуман механизм IGMP Snooping.
IGMP Snooping Proxy
У пытливого читателя может возникнуть вопрос по тому, как IGMP Snooping узнаёт все клиентские порты, учитывая, что на IGMP Query отвечает только один самый быстрый клиент, как мы говорили выше. А очень просто: IGMP Snooping не позволяет сообщениям Report ходить между клиентами. Они отправляются только в восходящие порты к маршрутизаторам. Не видя Report от других получателей этой группы, клиент обязан ответить на Query в течение Max Response Time, указанном в этом Query.
В итоге в сети на 1000 узлов на один IGMP Query в течение секунд 10 (обычное значение Max Response Time) придёт 1000 Report’ов маршрутизатору. Хотя ему достаточно было бы и одного для каждой группы.
И происходит это каждую минуту.
В этом случае можно настроить проксирование IGMP-запросов. Тогда коммутатор не просто «слушает» проходящие пакеты, он их перехватывает.
Правила работы IGMP Snooping могут отличаться для разных производителей. Поэтому рассмотрим их концептуально:
- Если на коммутатор приходит самый первый запрос Report на группу, он отправляется вверх к маршрутизатору, а интерфейс вносится в список нисходящих. Если же такая группа уже есть, интерфейс просто добавляется в список нисходящих, а Report уничтожается.
- Если на коммутатор приходит самый последний Leave, то есть других клиентов нет, этот Leave будет отправлен на маршрутизатор, а интерфейс удаляется из списка нисходящих. В противном случае просто удаляется интерфейс, Leave уничтожается.
- Если IGMP Query приходит от маршрутизатора, коммутатор перехватывает его, отправляет в ответ IGMP Report для всех групп, которые в данный момент имеют получателей.
А дальше, в зависимости от настроек и производителя, либо этот же самый Query рассылается во все клиентские порты, либо коммутатор блокирует запрос от маршрутизатора и сам выступает в роли Querier, периодически опрашивая всех получателей.
Таким образом снижается и доля лишнего служебного трафика в сети и нагрузка на маршрутизатор.
Зачем отслеживать сетевой трафик
Multicast-трафик может передаваться в том числе и к компьютерам, не заинтересованным в нем. Это называется широковещательной ретрансляцией. Для ее предотвращения, с целью снижения нагрузки на сеть, используется IGMP snooping. В то же время такого рода фильтрация требует дополнительных затрат памяти и повышает нагрузку на коммуникатор. Однако она оправдана.
Второй используется для обозначения размера, используемого в необязательном поле. Он используется в следующих сообщениях: «Соседний запрос», «Запрос на маршрутизатор» и «Маршрутизатор». Его функция заключается в предоставлении запрашивающему узлу сетевого префикса, который может использоваться как для автоконфигурации, так и для определения того, принадлежит ли целевой адрес в пакете. Перенаправление заголовка. Его функция заключается в отправке части или всего исходного сообщения, которое должно быть перенаправлено исходным узлом на другой узел.
- Он используется в следующих сообщениях: «Соседняя реклама и переадресация».
- Префиксная информация.
Вчера во время класса меня спрашивали о типах одноадресных и широковещательных фреймов.
Если коммуникатор начинает транслировать групповой трафик по всем своим портам, то:
- этот процесс является бесполезным;
- могут возникнуть проблемы в работе самого конечного получателя (сетевого устройства), вынужденного обрабатывать большой поток ненужных данных.
Для исключения подобных ситуаций и существует функция IGMP snooping, значительно улучшающая работу всей сети. Она учитывает потребности на сетевом (третьем) уровне и таким образом оптимизирует канальный (второй) уровень передачи данных.
Связь, в которой кадр отправляется с хоста, адресованного конкретному получателю, то есть известному адресату. В однонаправленной передаче есть только один отправитель и один приемник. Одноадресная передача является преобладающей формой передачи в локальных сетях и в Интернете.
Примеры протоколов, использующих одноадресные передачи. Все в аэропорту получают сообщение, но только те, кто заинтересован в сообщении, каким-то образом отреагируют, а другие, которые не из этого рейса, также получат, но они просто проигнорируют сообщение. И компьютерная сеть ничем не отличается.
Configuring IGMP Proxy via CLI
The CLI component of FASTPATH allows the end users to configure the network device and to view device settings and statistics using a serial interface or telnet session.
Example 1: Configuring the Interface
This command enables the IGMP Proxy on the router. To enable IGMP Proxy on the router no multicast routing protocol should be enabled and also multicast forwarding must be enabled on the router. Use this command from the CLI mode.
(DTI SWITCH) (Interface 0/15)# ip igmp-proxy ? Press Enter to execute the command. reset-status Reset All the proxy interface status parameters. unsolicited-report-interval Configure IGMP Proxy unsolicited report interval. |
Example 2: Set the Unsolicited Report Interval
This command is valid only when IGMP Proxy is enabled on the interface. The value of could be in range of 1 to 260 seconds. The default is 1 second. Use this command from the Interface mode.
(DTI SWITCH) (Interface 0/15)# ip igmp-proxy unsolicited-report-interval ? Enter unsolicited report interval in seconds. |
Example 3: Reset the Host Interface Status Parameters
This command is valid only when IGMP Proxy is enabled on the interface.
(DTI SWITCH) (Interface 0/15)# ip igmp-proxy reset-status ? Press Enter to execute the command. |
Example 4: Show IGMP Proxy Host Interfaces
This command displays a summary of the host interface status parameters. It displays the parameters only when IGMP Proxy is enabled. Use this command from Privileged EXEC or User EXEC modes.
(DTI SWITCH) # show ip igmp-proxy Admin Mode..................................... Enable Operational Mode............................... Disable |
Example 5: Show Detailed Listing of Host Interface Status
This command displays parameters only when IGMP Proxy is enabled. Use the command from Privileged EXEC or User EXEC modes.
(DTI SWITCH) # show ip igmp-proxy interface |
Example 6: Show IGMP Proxy Groups
Use this command to display information about multicast groups that IGMP proxy reported. It displays a table of entries with the following as the fields of each column. Use the command from Privileged EXEC or User EXEC modes.
(DTI SWITCH) # show ip-igmp-proxy groups |
Example 7: Show Detailed Information about IGMP Proxy Groups
Use this command to display information about multicast groups that IGMP proxy reported. It displays a table of entries with the following as the fields of each column. Enter this command from Privileged EXEC or User EXEC modes.
(DTI SWITCH) # show ip igmp-proxy groups detail |
Sun Netra CP3240 Switch User’s Guide | 820-3252-11 |
Включение функции прослушки
Для того чтобы отслеживать multicast-трафик, требуется сначала включить IGMP snooping и настроить его самостоятельно. Рассмотрим, как это сделать на коммуникаторах D-Link при реализации схемы многоадресной передачи данных. Команды для активизации сетевой прослушки:
Передача широковещательной передачи необходима при отправке одного и того же сообщения всем устройствам локальной сети. Связь, в которой кадр отправляется в определенную группу устройств или клиентов. Клиенты передачи многоадресной рассылки должны быть членами логической многоадресной группы для получения информации. Примером многоадресной передачи является передача видео и голоса, связанная с сетевым совместным бизнес-совещанием, в котором должны размещаться не все хосты в сети, а пункт назначения — не только хост, но и определенной группы хостов.
Для того чтобы исключить порт из сетевой группы, когда коммуникатор получил запрос Leave от клиента, используется функция IGMP Snooping Fast Leave. Она позволяет прекращать передачу ненужных потоков данных по сети с целью ее более эффективной работы. Для активизации этой функции используется следующая команда:
Например, видеосервер, вы хотите отправить видеоконтент нескольким адресатам. Желтые точки — это слишком много хостов, другие компьютеры, подключенные в той же локальной сети, которые не будут получать видео трафик. Для этого необходимо, чтобы видеосервер создал логическую группу многоадресной передачи, например, многоадресный адрес 3, и адресатов, которые должны получать контент, если они регистрируются в той же группе 3, что и приемники. Это гарантирует, что контент отправляется только тем клиентам, которых вы хотите.
Мой ответ: не бойтесь, не сдавайтесь, не торопитесь, чтобы все учиться, делайте это легко и по частям. Моя миссия — облегчить учебу и дать вам направление. Следующий рисунок, это довольно просто, и это точно, хорошо? До следующей статьи или следующего класса.
Применяется в том случае, если необходимо включить фильтрацию многоадресной рассылки коммутатора с подключенным к нему узлом, участвующем в передаче данных.
Configuring IGMP Proxy
To configure a downstream interface, enable IGMP on that interface. To configure IGMP proxy on the system, complete the following tasks:
- Enable IP multicasting.
host1(config)#ip multicast-routing
- Identify the interface that you want to act as the upstream interface.
host1(config-if)#interface atm 3/0
- Enable IGMP proxy on that interface.
host1(config-if)#ip igmp-proxy
- (Optional) Specify how often the system should send unsolicited reports to routers on the upstream interface.
host1(config-if)#ip igmp-proxy unsolicited-report-interval 600
- (Optional) Specify how long the system should assume that there is an IGMPv1 querier router on the subnet after the system receives an IGMP V1 query on this interface.
host1(config-if)#ip igmp-proxy V1-router-present-time 600
ip igmp-proxy
Use to enable IGMP proxy on an interface.
Note: You can enable only one upstream interface. |
- The interface for which you enable IGMP proxy is the upstream interface.
- Example
host1(config-if)#ip igmp-proxy
Use the no version to disable IGMP proxy on an interface.
ip igmp-proxy unsolicited-report-interval
Use to specify how often the upstream interface should transmit unsolicited reports.
Note: Issue this command only on the upstream interface. Otherwise, this command will have no effect. |
host1(config-if)#ip igmp-proxy unsolicited-report-interval 600
Use the no version to transmit unsolicited reports using the default value, 400 seconds.
ip igmp-proxy V1-router-present-time
Use to specify how long the system assumes that there is an IGMPv1 querier router on the subnet after the system receives an IGMP V1 query on this interface.
Note: Issue this command only on the upstream interface. Otherwise, this command will have no effect. |
host1(config-if)#ip igmp-proxy V1-router-present-time 600
Use the no version to set the time to the default, 10 seconds.
Unicast
Тип передачи данных Unicast (индивидуальный) используется для обычной передачи данных от хоста к хосту. Способ Unicast работает в клиент-серверных и пиринговых (peer-to-peer, от равного к равному) сетях.
В unicast пакетах в качестве IP адреса назначения используется конкретный IP адрес устройства, для которого этот пакет предназначен. IP адрес конкретного устройства состоит из порции адреса сети (в которой находится это устройство) и порции адреса хоста (порции, определяющей это конкретное устойчиво в его сети). Это все приводит к возможности маршрутизации unicast пакетов по всей сети.
Multicast и broadcast пакеты, в отличие от unicast пакетов, имеют свои собственные специальные (зарезервированные) IP адреса для использования их в заголовке пакетов в качестве пункта назначения. Из-за этого, broadcast пакеты в основном ограничены пределами локальной сети. Multicast трафик также может быть ограничен границами локальной сети, но с другой стороны также может и маршрутизироваться между сетями.
В IP сетях unicast адрес является адресом, то есть адресом конечного устройства (например, компьютера). Для типа передачи данных unicast, адреса хостов назначаются двум конечным устройствам и используются (эти адреса) как IP адрес источника и IP адрес получателя.
В течение процесса инкапсуляции передающий хост размещает свой IP адрес в заголовок unicast пакета в виде адреса источника, а ИП адрес принимающего хоста размещается в заголовке в виде адреса получателя. Используя эти два IP адреса, пакеты unicast могут передаваться через всю сеть (т.е. через все подсети).
Тонкости IP Multicast IP
Multicast использует UDP-пакеты (User Datagram Protocol), что позволяет передавать данные с меньшими задержками, но не отслеживает потери пакетов. Есть возможность компенсировать этот недостаток классификацией трафика (технология QoS).
IP Multicast оперирует группами подписчиков – для получения данных от каждого источника. Каждый подписчик определяет свою принадлежность к той или иной группе, отправляя IGMP-ответ (Internet Group Management Protocol) устройству (часто маршрутизатору), которое опрашивает сеть о существующих группах рассылки с использованием IGMP-сообщений. В результате формируются группы получателей. Для каждой группы источник генерирует один поток данных, а сетевые устройства (маршрутизаторы и коммутаторы) обеспечивают получение этого потока каждым подписчиком конкретной группы.
IGMP Snooping Commands Dell PowerEdge 1655MC Integrated Switch Users Guide
This switch uses IGMP (Internet Group Management Protocol) to query for any
attached hosts that want to receive a specific multicast service. It identifies
the ports containing hosts requesting a service and sends data out to those
ports only. It then propagates the service request up to any neighboring multicast
switch/router to ensure that it will continue to receive the multicast service.
ip igmp snooping
Use this command to enable IGMP snooping on this switch. Use the no
form to disable it.
Command Syntax
Default Setting
Command Mode
Example
ip igmp snooping vlan mrouter
Use this command to statically configure a multicast router port. Use the no
form to remove the configuration.
Command Syntax
Default Setting
Command Mode
Command Usage
Example
ip igmp snooping vlan static
Use this command to add a port to a multicast group. Use the no form
to remove the port.
Command Syntax
Default Setting
Command Mode
Example
ip igmp snooping querier
Use this command to enable the switch as an IGMP snooping querier. Use the
no form to disable it.
Command Syntax
Default Setting
Command Mode
Command Usage
Example
ip igmp snooping query-count
Use this command to configure the query count. Use the no form to restore the default.
Command Syntax
Default Setting
Command Mode
Example
ip igmp snooping query-interval
Use this command to configure the snooping query interval. Use the no
form to restore the default.
Command Syntax
Default Setting
Command Mode
Example
ip igmp snooping
query-max-response time
Use this command to configure the snooping report delay. Use the no
form of this command to restore the default.
Command Syntax
Default Setting
Command Mode
Command Usage
- The switch must be using IGMPv2 for this command to take effect.
- The command sets the time the switch waits after receiving an IGMP report
(for an IP multicast address) on a port before it sends an IGMP Query out
that port and then removes the entry from its list.
Example
Related Commands
ip igmp snooping query-time-out
Use this command to configure the snooping query-timeout. Use the no
form of this command to restore the default.
Command Syntax
Default Setting
Command Mode
Command Usage
Example
Related Commands
ip igmp snooping version
Use this command to configure the IGMP snooping version. Use the no
form to restore the default.
Command Syntax
Default Setting
Command Mode
Command Usage
- All systems on the subnet must support the same version. If there are legacy
devices in your network that only support Version 1, you will also have to
configure this switch to use Version 1. - Some commands are only enabled for IGMPv2, including ip igmp query-max-response-time
and ip igmp query-timeout.
Example
Use this command to show the IGMP snooping configuration.
Default Setting
Command Mode
Example
Use this command to display information on statically configured and dynamically
learned multicast router ports.
Command Syntax
Default Setting
Command Mode
Example
show bridge multicast
Use this command to show the multicast list with MAC and IP addresses.
Command Syntax
Default Setting
Command Mode
Example
Monitoring IGMP Proxy
To display IGMP proxy parameters, use the following show commands.
show ip igmp-proxy
- Use to display IGMP proxy parameters for a VR.
- Field descriptions
- Routing Process — IGMP proxy protocol
- Administrative state — state of IGMP proxy in the software
- Operational state — operational state of IGMP proxy: enabled or disabled
- Total interfaces — number of IGMP proxy interfaces on the VR; currently only one upstream interface per VR
- State — operational state of the IGMP proxy interfaces: up or down
- Multicast group — number of multicast groups associated with IGMP proxy interfaces
Example
host1#show ip igmp-proxy
Routing Process IGMP Proxy, Administrative state enabled, Operational state enabled
total 1 upstream interface, state enabled
6 multicast group
show ip igmp-proxy groups
- Use to display information about multicast groups that IGMP proxy reported.
- Field descriptions
- Grp Address — address of the multicast group
- Interface — type and identifier of the upstream interface associated with the multicast group
- Member State
- Idle — interface is going to send a group membership report to respond to a group membership query for this group
- Delay — interface has responded to the latest group membership query for this group
Count — total number of multicast groups associated with this interface
Example 1
host1#show ip igmp-proxy groups
Grp Address Interface Member State
--------------- --------------- --------------
225.1.1.1 atm3/0.2 Idle
225.1.1.2 atm3/0.2 Idle
225.1.1.3 atm3/0.2 Idle
225.1.1.4 atm3/0.2 Idle
225.1.1.5 atm3/0.2 Idle
225.1.1.6 atm3/0.2 Idle
count 6
Example 2
host1#show ip igmp-proxy group 225.1.1.1
Grp Address Interface Member State
--------------- --------------- --------------
225.1.1.1 atm3/0.2 Idle
Example 3
host1#show ip igmp-proxy group count
Count: 6 groups
show ip igmp-proxy interface
- Use to display information about the interface on which you configured IGMP proxy.
- To view information about a particular interface, enter an interface type and specifier, such as atm 3/0. For details about interface types and specifiers, see ERX Command Reference Guide, About This Guide.
- Specify the brief option to display a summary rather than a detailed description.
- Field descriptions
- Interface — type of upstream interface. For details about interface types, see ERX Command Reference Guide, About This Guide.
- Address — address of upstream interface
- Administrative state — state of upstream interface in the software: enabled or disabled
- Operation state — physical state of upstream interface: enabled or disabled
- Version — IGMP version on this interface
- State — presence of IGMPv1 routers on the same subnet as this upstream interface
- Unsolicited report interval — time interval at which this upstream interface sends unsolicited group membership report
- Version 1 router present timeout — how long the upstream interface assumes there is an IGMPv1 router on the subnet after that interface receives an IGMPv1 group membership query
- multicast group — number of multicast groups associated with this upstream interface
- Interface statistics: Rcvd — statistics for messages received on this interface
- v1 queries — number of IGMPv1 group membership queries received
- v2 queries — number of IGMPv2 group membership queries received
- v1 report — number of IGMPv1 group membership reports received
- v2 report — number of IGMPv1 group membership reports received
Interface statistics: Sent — statistics for messages sent from this interface
- v1 reports — number of IGMPv1 leave group reports sent
- v2 reports — number of IGMPv2 leave group reports sent
- leaves — number of leave group membership messages sent
Example
host1#show ip igmp-proxy interface atm 3/0.2
Interface atm3/0.2 address 21.1.1.1/255.0.0.0
Administrative state enabled, Operational state enabled
Interface parameters:
Version 2
State No v1 Router Present
Unsolicited report interval 10 secs
Version 1 router present timeout 400 secs
0 multicast group
Interface statistics:
Rcvd: 0 v1 query, 6 v2 queries
0 v1 report, 0 v2 report
Sent: 0 v1 report, 48 v2 reports, 0 leave
Приручаем multicast 7
- 07.11.18 01:53
•
catersplay
•
#429062
•
Хабрахабр
•
•
2600
Системное администрирование, Сетевые технологии, Блог компании ICL Services
Остановимся на анализе мультикаст-трафика через IGMP-протокол. Рассмотрим реализацию работы протокола IGMP, работы протокола PIM, отправки JOIN-запросов. После анализа проблемы была разработана оптимальная конфигурация сетевого оборудования, эффективная настройка QOS. Данная задача появилась после обнаружения проблемы в сети, такой как прерывание сигнала у клиентов, наличие фризов и прерывание звука. IGMP — Internet Group Management Protocol — это сетевой протокол взаимодействия абонентов мультикаст-трафика и ближайшего к ним сетевого оборудования.
Пользователь имеет подписку на следующую группу IP-адресов: 224.0.0.0 до 239.255.255.255. PIM Protocol реализован в режиме Sparse mode. Это означает, что трафик льется только на ту ветку, в которой есть клиенты, желающие войти в мультикаст-группу. Они отправляют сообщения PIM Join. Если клиенты не отправляют Join, то трафик им отправляться не будет. PIM Sparse Mode включен на двух интерфейсах. В сторону источника мультикаст-трафика и в сторону клиента
На стороне клиента имеет цифровой ресивер или абонентское устройство —IPTV-приставка.
Для справки: dense mode предполагает, что мультикаст-трафик идет до абонента, и неважно, подписывается ли он на определенный канал. Мультикаст идет во все порты, потом, если он не нужен по месту назначения, то отправляется служебный пакет PIM Prune, и трафик перестает идти по этой ветке
IGMP-протокол реализуется в сторону клиента. PIM-протокол устанавливает соседство с другими маршрутизаторами. Для этого применяются служебные сообщения PIM Hello.
В нашей сети применялась вторая версия протокола IGMP.
Абонентское устройство, которое решает получить multicast-трафик, отправляет запрос в сообщении IGMP Membership Report (так называемый репорт).
Если абонентское устройство больше не желает получать мультикаст-трафик, то оно отправляет сообщение IGMP Leave. Эта функция реализована коммутаторах уровня доступа. IGMP Membership Group-Specific Query — повторное сообщение коммутатором в сеть о том, есть ли клиентские устройства, которые будут запрашивать мультикаст-трафик. Если их нет, то передача трафика прекращается.
IGMP snooping реализуется на сетевом оборудовании, отдельного включения функции недостаточно, необходима дополнительная настройка. После включения данной функции управляемые коммутаторы могут анализировать трафик — мультикаст-поток.
Если коммутатор обнаруживает IGMP-пакет, то он вносит порт в список мультикаст-групп. Если от абонента идет сообщение IGMP Leave, то коммутатор удаляет порт из подписчиков групп.
IGMP snooping позволяет предотвращать мультикаст шторм. Если функция IGMP snooping не включена, то оборудование ретранслирует multicast-трафик во все порты, которые находятся в одном VLAN. Это не эффективно, а также способно вызвать проблемы на сетевых устройствах, вынужденных обрабатывать высокий поток данных. Это может загружать CPU-оборудования. IGMP snooping улучшает работу сети.
Однако для того, чтобы получить мультикаст-трафик, нужно реализовать эту функции на стороне клиента. К примеру, если клиент подключен через роутер, то необходимо позаботиться о включении этой функции на роутере.
Проверить корректность работы мультикаст-вещания можно путем анализа трафика через Wireshark, после включения телевидения через VLC-медиаплеер. В настройках VLC указываем, к примеру, udp:@239.255.0.A:5500. Для передачи потока используется UDP протокол, далее идет мультикаст адрес, далее порт.
При разработке QOS учитывалось, что «красить» трафик желательно ближе к ядру сети. Его необходимо красить ближе к Randezvous Point. (Ну это для нашего случая)
На коммутаторах уровня доступа у нас применялись следующие настройки:
Глубокий анализ проблемы, применение средств диагностики и понимание работы протокола IGMP позволяет выработать эффективную и оптимальную конфигурацию мультикаст-трафика в вашей сети.
Вы можете помочь и перевести немного средств на развитие сайта
Понятие и назначение IGMP snooping
В переводе с английского snooping означает «подслушивание». При его включении промежуточное сетевое устройство (маршрутизатор или коммуникатор) начинает анализировать передачу всех пакетов данных, осуществляемую между клиентскими компьютерами, подключенными к нему, и маршрутизаторами, поставляющими групповой трафик. При обнаружении запроса на подсоединение включается порт, к которому подключен потребитель (клиент), в противоположной ситуации (запрос Leave) соответствующий порт удаляется из списка группы.
Рекламное сообщение соседей отправляется в ответ на сообщение соседей Соседства или спонтанно, чтобы быстро объявить об изменении какой-либо функции устройства в сети. Подобно сообщению соседей соседей, это сообщение также используется для разрешения разрешения физических адресов, проверки доступности соседнего узла и обнаружения дублирующих адресов.
Другими словами, он отправляет следующий адрес пересылки, который должен использоваться для пересылки пакетов при общении с этим конкретным пунктом назначения. Все параметры имеют базовую структуру из двух 8-битовых полей, Тип и Длина. Первый — указать, какой из выбранных вариантов передается.
В большинстве коммуникаторов функция IGMP snooping доступна, но требует предварительного включения.
Overview
shows a system in an IGMP proxy configuration. You enable IGMP proxy on one interface, which connects to a router closer to the root of the tree. This interface is the upstream interface. The router on the upstream interface should be running IGMP.
You enable IGMP on the interfaces that connect the system to its hosts that are farther away from the root of the tree. These interfaces are known as downstream interfaces.
Figure 3-3 Upstream and downstream interfaces
As described in , earlier in this chapter, hosts interact with the system through the exchange of IGMP messages. Similarly, when you configure IGMP proxy, the system interacts with the router on its upstream interface through the exchange of IGMP messages. However, when acting as the proxy, the system performs the host portion of the IGMP task on the upstream interface as follows:
- When queried, sends group membership reports to the group.
- When one of its hosts joins a multicast address group to which none of its other hosts belong, sends unsolicited group membership reports to that group.
- When the last of its hosts in a particular multicast group leaves the group, sends an unsolicited leave group membership report to the all-routers group (244.0.0.2).
Overview
shows a system in an IGMP proxy configuration. You enable IGMP proxy on one interface, which connects to a router closer to the root of the tree. This interface is the upstream interface. The router on the upstream interface should be running IGMP.
You enable IGMP on the interfaces that connect the system to its hosts that are farther away from the root of the tree. These interfaces are known as downstream interfaces.
Figure 4-3 Upstream and downstream interfaces
As described in , earlier in this chapter, hosts interact with the system through the exchange of IGMP messages. Similarly, when you configure IGMP proxy, the system interacts with the router on its upstream interface through the exchange of IGMP messages. However, when acting as the proxy, the system performs the host portion of the IGMP task on the upstream interface as follows:
- When queried, sends group membership reports to the group.
- When one of its hosts joins a multicast address group to which none of its other hosts belong, sends unsolicited group membership reports to that group.
- When the last of its hosts in a particular multicast group leaves the group, sends an unsolicited leave group membership report to the all-routers group (244.0.0.2).
Configuring IGMP Proxy
To configure a downstream interface, enable IGMP on that interface. To configure IGMP proxy on the system, complete the following tasks:
- Enable IP multicasting.
- Identify the interface that you want to act as the upstream interface.
- Enable IGMP proxy on that interface.
- (Optional) Specify how often the system should send unsolicited reports to routers on the upstream interface.
- (Optional) Specify how long the system should assume that there is an IGMPv1 querier router on the subnet after the system receives an IGMP V1 query on this interface.
ip igmp-proxy
Use to enable IGMP proxy on an interface.
Note: You can enable only one upstream interface. |
- The interface for which you enable IGMP proxy is the upstream interface.
- Example
host1(config)#ip multicast-routing
host1(config-if)#ip igmp-proxy
Use the no version to disable IGMP proxy on an interface.
ip igmp-proxy unsolicited-report-interval
Use to specify how often the upstream interface should transmit unsolicited reports.
Note: Issue this command only on the upstream interface. Otherwise, this command will have no effect. |
host1(config-if)#ip igmp-proxy unsolicited-report-interval 600
Use the no version to transmit unsolicited reports using the default value, 400 seconds.
ip igmp-proxy V1-router-present-time
Use to specify how long the system assumes that there is an IGMPv1 querier router on the subnet after the system receives an IGMP V1 query on this interface.
Note: Issue this command only on the upstream interface. Otherwise, this command will have no effect. |
host1(config-if)#ip igmp-proxy V1-router-present-time 600
Use the no version to set the time to the default value, 10 seconds.