Multicast IGMP Proxy

Содержание
  1. Multicast routing
  2. UDP proxy
  3. Описание протокола IGMP
  4. Куда идёт пакет
  5. Что такое IGMP snooping в роутере: зачем нужна функция IGMP snooping
  6. Что такое и зачем нужна функция IGMP snooping
  7. Активация функции IGMP snooping
  8. Виды IGMP snooping
  9. Multicast VLAN Replication
  10. Активация функции IGMP snooping
  11. Сети для самых маленьких. Часть 9.4. Мультикаст. Мультикаст на канальном уровне
  12. Мультикаст на канальном уровне
  13. Мультикастовые MAC-адреса
  14. IGMP Snooping
  15. IGMP Snooping Proxy
  16. Как настроить функцию в роутере
  17. Мультикаст на канальном уровне
  18. Зачем отслеживать сетевой трафик?
  19. Решение
  20. IGMP proxy
  21. Установка igmpproxy
  22. Настройки Firewall
  23. Запуск igmpproxy
  24. Подсети провайдера из которых идет вещание
  25. udpxy
  26. Установка udpxy
  27. Пример изменения стартового скрипта /etc/init.d/udpxy
  28. Настройки Firewall
  29. Запуск udpxy
  30. Примечание по совместному использованию igmpproxy и udpxy
  31. Broadcast Широковещание
  32. Направленный broadcast (направленное широковещание)
  33. Ограниченный broadcast (ограниченное широковещание)
  34. Мультикастовые MAC-адреса
  35. Включение функции прослушки

Multicast routing

/ etc / shorewall / rules… ACCEPT net fw: 224.0.0.04 ACCEPT net loc: 224.0.0.04 ACCEPT fw loc: 224.0.0.04

Затем установите IGMPproxy:

  • скомпилировать IGMPproxy: .configure && make
  • запустите checkinstall: sudo checkinstall -D -y —pkgname = igmpproxy —pkgversion = 0.1
  • распаковать: tar -xzf igmpproxy-src — * .tar.gz
  • перейти в распакованный каталог
  • настроить демон:
  • переместить файл конфигурации: sudo mv usrlocaletcigmpproxy.conf etcigmpproxy.conf
  • в результате будет создан и установлен пакет deb igmpproxy вместе с нужным нам демоном, который в будущем можно будет удалить с помощью команды
  • установить checkinstall: sudo apt-get install checkinstall

/etc/igmpproxy.confphyint eth1 upstream ratelimit threshold 1 altnet 172.31.242.024 phyint eth0 downstream ratelimit threshold 1 phyint wlan0 отключен

  • значение altnet можно найти, запустив демон в режиме отладки: и нажав на телеканалы в VLC
  • после настройки файла конфигурации вы можете настроить автоматический запуск демона:

/etc/rc.localusrlocalsbingmpproxy etcigmpproxy.conf выход

все, можно посмотреть!

UDP proxy

Что такое модуль NFC в телефоне и как им пользоваться

Программа udpxy пока отсутствует в репозиториях Debian и Ubuntu (разработчики работают над этой проблемой), поэтому ее нужно скомпилировать из исходников. Из-за этого:

  • в параметрах запуска указываем локальный интерфейс (в моем случае) на котором будут приниматься подключения; порт udpxy будет слушать (мой) и имя внешнего интерфейса, с которого будет приниматься IPTV: usrlocalbinudpxy -a br0 -p 9999 -m eth1
  • добавить правила в брандмауэр (например), разрешающие многоадресный трафик из внешней сети на наш роутер и от роутера во внешнюю сеть, а также из локальной сети в порт udpxy: / etc / shorewall / rules… ПРИНЯТЬ net fw: 224.0.0.04 ПРИНЯТЬ fw net: 224.0.0.04 ПРИНЯТЬ loc fw tcp 9999
  • загрузите исходный архив с официального сайта и скомпилируйте sudo apt-get install build-essential wget «http://www.udpxy.com/download/1_23/udpxy.1.0.23-7-prod.tar.gz» tar — xvf udpxy.1.0.23-7-prod.tar.gz cd udpxy-1.0.23-7
  • скопируйте программу в системный каталог, например
  • смотрю IPTV!
  • откройте VLC на своем компьютере и загрузите в него получившийся плейлист
  • измените ссылки на каналы в плейлисте, чтобы они указывали на udpxy: # изменить «udp: //@233.166.172.91: 1234» на # «http://192.168.0.254:9999/udp/233.166.172.91: 1234» sed — е ‘s / ^ udp: / / @ / http: / / 192.168.0.254:9999/udp//’ -i playlist.m3u
  • вы можете добавить программу при загрузке, например в

Описание протокола IGMP

В настоящее время существует три версии этого протокола: IGMP v1, IGMP v2, IGMP v3. Самая распространенная версия — 2.

формат пакета IGMPv2:

1 2 3 4 5 6 7 восемь девять 10 одиннадцать 12 13 14 15 16 17 18 19 ветры 21 год 22 23 24 25 26 год 27 28 год 29 тридцать 31 год
Тип сообщения Максимальное время отклика Проверить сумму
Групповой широковещательный адрес

Групповой адрес — это широковещательный IP-адрес, на который отправляется контент. Например, 224 200 200 205.

В IGMPv2 существуют следующие типы сообщений:

  • Отчет о составе группы.
  • Запрос на состав группы.
  • Оставьте групповое сообщение.

Рассмотрим цель этих сообщений более подробно.
При подключении к группе IGMP устройство абонента отправляет в сеть пакет IGMP с типом «Отчет о членстве в группе», тем самым давая понять, что он желает получать пакеты для этой группы.
При выходе из группы абонентское устройство отправляет в сеть IGMP-пакет с типом «Leave group message».
Маршрутизатор (запрашивающий) периодически отправляет в сеть IGMP-запрос типа «Запрос на членство в группе», чтобы узнать состав группы на данный момент. Если нет ответа от абонентских устройств, маршрутизатор отключает эту группу и больше не пересылает пакеты для этой группы.

Куда идёт пакет

Давайте посмотрим на пример. Обычно эта технология использует IP-адреса в диапазоне 224.0.0.0-239.255.255.255. Например, сервер отправляет канал с адресом 224.2.2.4. Это канал СТС. IGMP — это протокол, который используется только на участке между клиентом и ближайшим к нему маршрутизатором.

  1. Затем пользовательская программа отправляет запрос на просмотр канала 224.2.2.4 ближайшему маршрутизатору.
  2. Если в маршрутизаторе уже есть поток и дерево каналов, запрошенное клиентом, пересекает его, пакеты немедленно отправляются пользователю, и он видит изображение.
  3. Как только клиент выключает программу, на роутер отправляется сигнал о выходе из группы и сигнал туда больше не идет.
  4. Но маршрутизатор также постоянно отправляет сигнал ближайшим включенным клиентам, чтобы убедиться, что они все еще получают трафик. Это происходит каждые 60 секунд. Клиент, получивший такой запрос, обязан отправить ответ или будет отключен. Все это происходит офлайн.

Что такое IGMP snooping в роутере: зачем нужна функция IGMP snooping

Игмп шпионит, что в роутере?

Многие платформы в Интернете используют метод многоадресной рассылки для передачи данных группе пользователей. Эта технология используется для онлайн-игр, прямой трансляции, дистанционного обучения и даже для списков рассылки. Но многоадресная рассылка не всегда грамотно оптимизирует переадресацию трафика и загружает сеть пользователя, поэтому для устранения этой проблемы была создана функция отслеживания IGMP. Давайте узнаем, что это за функция и как включить ее для оптимизации вашего трафика.

Что такое и зачем нужна функция IGMP snooping

Во-первых, давайте определим IGMP, чтобы понять, как работает эта технология. Internet Group Management Protocol — это протокол управления многоадресной сетью, который объединяет несколько устройств в группы. Он основан на протоколе IP и используется повсюду в Интернете, обеспечивая эффективное использование сетевых ресурсов.

Отслеживание IGMP — это процесс мониторинга многоадресного трафика между группой потребителей и хостом. Включенная функция отслеживания начинает анализ запросов пользователя на подключение к группе многоадресной рассылки и добавляет порт в список рассылки IGMP. После окончания использования multitraft пользователь оставляет запрос и протокол, удаляет порт из списка многоадресной передачи данных.

Следовательно, отслеживание исключает передачу пользователю ненужных данных по многоадресным каналам. Это делает обмен данными на канальном уровне сети более эффективным и учитывает потребности сетевого уровня, что особенно важно для поставщиков информации. Пользователи также получат оптимизированный контент, хотя это увеличит нагрузку на сеть.

Без отслеживания и анализа данных конечным пользователям в виде конкретных IP-адресов придется «переваривать» дополнительную бесполезную для них информацию. Отслеживание IGMP не только избавит пользователей от ненужного трафика, но и сделает обмен информацией более безопасным. Включенный режим отслеживания быстро подавит DDoS-атаки в сети или на определенные адреса, для которых уязвим протокол управления группами Интернета.

Активация функции IGMP snooping

Мониторинг и анализ трафика доступны на управляемых коммутаторах или сетевых коммутаторах. Это устройство помогает реализовать принципы многоадресной рассылки на канальном уровне сети. Чтобы включить отслеживание IGMP, его необходимо включить и настроить вручную на коммутаторе. Неуправляемые контрагенты не поддерживают режим анализа трафика, так как их нельзя настроить через интерфейс.

Перед использованием коммуникатора в сети убедитесь, что конечный получатель (например, smart-TV) поддерживает режим отслеживания. Обычно для устройств есть соответствующая запись в разделе «Конфигурация сетевого подключения», что значительно упрощает настройку многоадресной рассылки.

Рассмотрим, как подключить функцию через командную строку на примере популярных переключателей D-Link:

  1. Откройте командную строку устройства с помощью интерфейса командной строки.
  2. Введите «enable-igmp-snooping». Эта команда активирует функцию на коммутаторе и всех подключенных адресах.
  3. Введите «config-igmp-snooping-vlan-default-state-enable», чтобы настроить протокол в VLAN.
  4. Команда «confog-multicast-vlan-filtering-mode-vlan-default-filter-unregistred-groups» позволяет фильтровать данные с нескольких адресов одновременно на коммуникаторе.
  5. Наконец, используйте «config-igmp-snooping-vlan-default-fast-leave-enable» в VLAN.

Последняя команда включает IGMP Snooping Fast Leave, который исключает порт из сети, как только пользователь делает запрос на «выход». Благодаря Fast Leave потребитель не получит ненужные данные и не будет их обрабатывать. Это снизит нагрузку на сеть и позволит коммутатору работать более эффективно.

Виды IGMP snooping

Перехват и анализ данных делятся на два типа:

  1. Пассивный шпионаж IGMP. Этот протокол просто отслеживает данные, не фильтруя и не анализируя их. Другими словами, прослушка работает в фоновом режиме и никак не влияет на качество передачи данных.
  2. Активное отслеживание. Он не только пассивно прослушивает трафик, но и фильтрует его для эффективного использования многоадресной рассылки в сети. Активное отслеживание IGMP сводит к минимуму обмен информацией, фильтруя запросы к маршрутизатору на подключение и отключение. Идеальное состояние коммутатора — это наличие потребителя для каждой группы многоадресного вещания, на что и нацелен алгоритм протокола.

Слежение с активным алгоритмом ускоряет передачу данных и улучшает качество сети, но в то же время создает дополнительную нагрузку на коммутатор. Для фильтрации требуется определенный объем памяти и ресурсов ЦП от устройства, тогда как простой мониторинг или пересылка менее требовательны. При этом активное отслеживание отправляет данные в маршрутизатор только о последнем члене группы, так что устройство не обнаруживает это как отсутствие потребителей в канале и не исключает порт из списка.

Отслеживание IGMP хорошо работает с домашними сетями, если вы используете много технологий многоадресной IP-рассылки. Купив и настроив активно контролируемый коммутатор, вы значительно ускорите работу интернет-протокола и защитите свою домашнюю группу от хакеров и злоумышленников.

Multicast VLAN Replication

Сокращенно MVR. Это механизм, например, для тех провайдеров, которые практикуют VLAN на пользователя.

Вот типичный пример сети, в которой важен MVR:

MVR
MVR

5 клиентов в разных VLAN, и все хотят получать многоадресный трафик от группы 224.2.2.4. При этом клиенты должны оставаться изолированными друг от друга.

Разумеется, при отслеживании IGMP учитываются сети VLAN. Если пять клиентов в разных VLAN запрашивают группу, это будет пять разных таблиц. В результате на маршрутизатор отправляется 5 запросов на групповое соединение. И каждый из этих пяти подынтерфейсов на маршрутизаторе будет отдельно добавлен в OIL. То есть после получения 1 потока для группы 224.2.2.4 он отправит 5 копий, несмотря на то, что все они идут в один и тот же сегмент.

Многоадресная репликация VLAN
Многоадресная репликация VLAN

Для решения этой проблемы был разработан механизм многоадресной репликации VLAN.

В него вводится дополнительная VLAN — multicast VLAN, в результате будет транслироваться многоадресный поток. Он «пересылается» непосредственно на последний коммутатор, откуда трафик с него копируется на все клиентские интерфейсы, которые хотят получить этот трафик: это реплика.

В зависимости от реализации репликация из Multicast VLAN может выполняться в User-VLAN или в определенных физических интерфейсах.

Многоадресная репликация VLAN
Многоадресная репликация VLAN

А как насчет сообщений IGMP? Разумеется, запрос от маршрутизатора проходит через VLAN многоадресной рассылки. Коммутатор отправляет их на клиентские порты. Когда отчет или выход приходит от клиента, коммутатор проверяет, откуда он пришел (VLAN, интерфейс), и, при необходимости, перенаправляет в VLAN многоадресной рассылки.

Таким образом, нормальный трафик изолирован и продолжает маршрутизироваться на маршрутизатор в VLAN пользователя. А многоадресный трафик и пакеты IGMP передаются в многоадресных VLAN.

На оборудовании Cisco MVR и IGMP Snooping настраиваются независимо. То есть можно один выключить и второй будет работать. В общем, MVR полагается на IGMP Snooping, и сторонним коммутаторам может потребоваться включить IGMP Snooping для работы MVR.

Кроме того, IGMP Snooping позволяет фильтровать трафик на коммутаторах, ограничивать количество групп, доступных пользователю, включать IGMP Querier, статически настраивать восходящие порты, постоянно подключаться к группе (этот сценарий находится в прикрепленном видео), топология быстрого ответа изменения путем отправки дополнительных запросов, сопоставления SSM для IGMPv2 и т д

Завершая разговор о IGMP Snooping, хочу повторить — это дополнительная функция — все будет работать и без нее. Но это сделает сеть более предсказуемой, а жизнь инженера — более спокойной.

Однако все преимущества IGMP Snooping могут быть обращены против вас. Об одном из таких исключительных случаев можно прочитать здесь.

Кстати, в самой Cisco есть протокол CGMP, аналог IGMP, который не нарушает принципов работы коммутатора, но является проприетарным и не говорит о том, что он широко распространен.

Итак, мой неутомимый читатель, мы приближаемся к концу проблемы, и, наконец, я хочу показать, как услуга IPTV может быть реализована на стороне клиента.

Самый простой способ, о котором мы уже не раз рассказывали в этой статье, — это запустить плеер, способный принимать многоадресный поток из сети. На нем вы можете вручную установить IP-адрес группы и наслаждаться просмотром видео.

Еще одна программная опция, которую часто используют провайдеры, — это специальное приложение, обычно очень кастомное, в которое вшит набор каналов, используемых в сети провайдера. Нет необходимости что-то настраивать вручную — просто переключайте каналы кнопками.

Оба эти метода позволяют смотреть потоковое видео только на одном компьютере.

Третий вариант позволяет использовать телевизор, причем, как правило, любой. Для этого в доме покупателя устанавливается так называемая телеприставка (STB) — приставка, которая устанавливается на телевизор. Это шелезяк, который входит в абонентскую линию и разделяет трафик: он отправляет обычную одноадресную рассылку в Ethernet или WiFi, чтобы клиенты имели доступ в Интернет, а многоадресный поток передается на телевизор по кабелю (DVI, RGB, антенна и т д.).

Часто, кстати, можно увидеть рекламу, в которой провайдер предлагает свои приставки для подключения телевизора — это те же приставки

Активация функции IGMP snooping

Мониторинг и анализ трафика доступны на управляемых коммутаторах или сетевых коммутаторах. Это устройство помогает реализовать принципы многоадресной рассылки на канальном уровне сети. Чтобы включить отслеживание IGMP, его необходимо включить и настроить вручную на коммутаторе. Неуправляемые контрагенты не поддерживают режим анализа трафика, так как их нельзя настроить через интерфейс.

Перед использованием коммуникатора в сети убедитесь, что конечный получатель (например, smart-TV) поддерживает режим отслеживания. Обычно для устройств есть соответствующая запись в разделе «Конфигурация сетевого подключения», что значительно упрощает настройку многоадресной рассылки.

Рассмотрим, как подключить функцию через командную строку на примере популярных переключателей D-Link:

  1. Откройте командную строку устройства с помощью интерфейса командной строки.
  2. Введите «enable-igmp-snooping». Эта команда активирует функцию на коммутаторе и всех подключенных адресах.
  3. Введите «config-igmp-snooping-vlan-default-state-enable», чтобы настроить протокол в VLAN.
  4. Команда «confog-multicast-vlan-filtering-mode-vlan-default-filter-unregistred-groups» позволяет фильтровать данные с нескольких адресов одновременно на коммуникаторе.
  5. Наконец, используйте «config-igmp-snooping-vlan-default-fast-leave-enable» в VLAN.

Последняя команда включает IGMP Snooping Fast Leave, который исключает порт из сети, как только пользователь делает запрос на «выход». Благодаря Fast Leave потребитель не получит ненужные данные и не будет их обрабатывать. Это снизит нагрузку на сеть и позволит коммутатору работать более эффективно.

Сети для самых маленьких. Часть 9.4. Мультикаст. Мультикаст на канальном уровне

Игмп шпионит, что в роутере?

Последняя статья из серии многоадресных рассылок. Давайте рассмотрим характеристики многоадресных MAC-адресов, отслеживания IGMP и многоадресной репликации VLAN.

Мультикаст на канальном уровне

Итак, долгая рабочая неделя с недосыпанием, переутомлением, тестированием позади — вы успешно внедрили многоадресную рассылку и довольные клиенты, директора и отдел продаж.

Пятница — неплохой день, чтобы исследовать творчество и хорошо провести отпуск.

Но ваш дневной сон был внезапно нарушен звонками в техподдержку, затем еще и еще: ничего не работает, все сломано. Проверить: есть утечки, перебои. Все сходится на отрезке из нескольких свитчей.

Мы обнаружили SSH, проверили CPU, проверили использование интерфейсов и волос — нагрузка была почти 100% на всех интерфейсах одной и той же VLAN. Непрерывный цикл! Но откуда это, если никакой работы не было? 10 минут проверки, и вы заметили, что у вас есть много входящего трафика по восходящему интерфейсу к ядру и исходящего трафика по всем нисходящим интерфейсам к клиентам. Для цикла это тоже типично, но несколько подозрительно — они реализовали многоадресную рассылку, не сделали никакой работы по переключению и прыгают только в одном направлении.

Мы проверили список групп многоадресной рассылки на маршрутизаторе — и есть подписка на все возможные каналы и все на одном порту — разумеется, на том, который ведет к этому сегменту.

Тщательное расследование показало, что компьютер клиента был заражен и отправлял запросы IGMP на все указанные ниже адреса многоадресной рассылки.

Потеря пакетов началась из-за того, что коммутаторам приходилось пропускать через них огромное количество трафика. Это вызвало переполнение буфера интерфейса.

Главный вопрос: почему трафик клиента начал копироваться на все порты?

Это связано с природой многоадресных MAC-адресов. Дело в том, что пространство IP-адресов многоадресной рассылки специально сопоставляется с пространством MAC-адресов многоадресной рассылки. И проблема в том, что они никогда не будут использоваться в качестве MAC-адреса источника и, следовательно, не будут изучены коммутатором и внесены в таблицу MAC-адресов. Но как насчет переключателя кадров, адрес назначения которого не известен? Он отправляет их во все порты. Так и случилось.

Это действие по умолчанию.

Многоадресные наводнения

Мультикастовые MAC-адреса

Итак, какие MAC-адреса назначения подставляются в заголовок Ethernet этих пакетов? Передача инфекции? Нет. Существует специальный диапазон MAC-адресов, которым сопоставляются IP-адреса многоадресной рассылки.

Эти специальные адреса начинаются так: 0x01005e, а следующий 25-й бит должен быть 0 (попробуйте ответить, почему). Остальные 23 бита (помните, что в MAC-адресе 48) передаются с IP-адреса.

Здесь кроется некая не очень серьезная, но проблема. Диапазон адресов многоадресной рассылки определяется маской 224.0.0.0/4, что означает, что первые 4 бита зарезервированы: 1110, а остальные 28 битов могут быть изменены. То есть у нас есть 228 многоадресных IP-адресов и только 223 MAC-адреса: 5 бит недостаточно для сопоставления 1 к 1. Таким образом, только последние 23 бита IP-адреса берутся и передаются один за другим на MAC-адрес, остальные 5 выбрасываются.

МАС-адрес многоадресной рассылки

Фактически это означает, что 25 = 32 IP-адреса появятся в многоадресном MAC-адресе. Например, все группы 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

Идея очень проста: коммутатор «слушает» проходящие через него пакеты IGMP.

Для каждой группы отдельно ведется таблица восходящих и нисходящих портов.

Если отчет IGMP для группы приходит с порта, значит, имеется клиент, коммутатор добавляет его в список нисходящих потоков для этой группы.

Если IGMP-запрос для группы приходит с порта, значит, маршрутизатор есть, коммутатор добавляет его в список восходящего потока.

Поэтому формируется таблица для передачи многоадресного трафика канального уровня.

Следовательно, когда многоадресный поток приходит сверху, он копируется только в нисходящие интерфейсы. Если на 16-портовом коммутаторе только два клиента, трафик будет доставлен только им.

IGMP шпионаж

Гениальность этой идеи заканчивается, когда мы задумываемся о ее природе. Механизм предполагает, что коммутатор должен прослушивать трафик уровня 3.

Однако IGMP Snooping никоим образом не сравним с NAT по степени незнания принципов сетевого взаимодействия. К тому же, помимо экономии ресурсов, это дает много менее очевидных возможностей. И вообще, в современном мире коммутатор, который может заглядывать внутрь IP, не является исключительным явлением.

IGMP Snooping Proxy

У любопытного читателя может возникнуть вопрос о том, как IGMP Snooping изучает все клиентские порты, поскольку, как мы сказали выше, только более быстрый клиент отвечает на запрос IGMP. Это очень просто: отслеживание IGMP не позволяет передавать сообщения отчетов между клиентами. Они отправляются только на восходящие порты маршрутизаторов. Не видя Отчет от других получателей этой группы, клиент обязан ответить на запрос в течение максимального времени ответа, указанного в этом запросе.

В результате в сети с 1000 узлами запрос IGMP в течение 10 секунд (нормальное значение максимального времени ответа) получит 1000 отчетов на маршрутизатор. Даже если по одной на каждую группу будет достаточно.

И это происходит каждую минуту.

В этом случае вы можете настроить прокси IGMP. Таким образом, коммутатор не только «слушает» проходящие пакеты, но и перехватывает их.

Правила отслеживания IGMP могут отличаться от поставщика к поставщику. Поэтому рассмотрим их концептуально:

  1. Если коммутатор получает самый первый запрос отчета для группы, он отправляется маршрутизатору, и интерфейс указывается как нисходящий. Если такая группа уже существует, интерфейс просто добавляется в список по убыванию, а отчет уничтожается.
  2. Если на коммутатор поступает последнее сообщение об отпуске, т. Е. Других клиентов нет, это сообщение об отпуске будет отправлено на маршрутизатор, и интерфейс будет удален из списка нижестоящих. В противном случае интерфейс просто очищается, Leave уничтожается.
  3. Если запрос IGMP поступает от маршрутизатора, коммутатор его перехватывает и отправляет отчет IGMP для всех групп, у которых в настоящее время есть получатели.
    А затем, в зависимости от настроек и производителя, либо один и тот же запрос отправляется на все клиентские порты, либо коммутатор блокирует запрос от маршрутизатора и действует как сам запросчик, периодически опрашивая всех получателей.

Таким образом снижается доля избыточного служебного трафика в сети и нагрузка на роутер.

Как настроить функцию в роутере

Разберу IGMP в роутере, что это за настройка, на примере IPTV. Обычно все включается автоматически. Но если вы это читаете, что-то явно пошло не так. Поэтому выполните следующие действия:

  • Перейдите в веб-интерфейс маршрутизатора: введите 192.168.1.1 или 192.168.0.1 или адрес, указанный на наклейке в нижней части адресной строки вашего браузера.
  • Введите свое имя пользователя и пароль — обычно имя пользователя — «admin», а пароль — «admin», если вы не меняли их вручную. Или проверьте такую ​​же наклейку на роутере.

  • Зайдите в «Сеть», «Настройки сети» или аналогичный. В ASUS это называется «Локальная сеть». Вам нужно найти вкладку «IPTV».

  • Не все модели имеют объект IGMP Snooping, но если он есть, включите его. Отслеживание улучшит производительность всех устройств.
  • Нажмите Применить».
  • Опция «прокси» активирует трансляцию, фактически запускает функцию IPTV. Вот что такое прокси IGMP в роутере. Включи это.
  • Все готово.

Мультикаст на канальном уровне

Маршрутизатор как приемник Wi-Fi адаптера. Для компьютеров, телевизоров и других устройств

Итак, долгая рабочая неделя с недосыпанием, переутомлением, тестированием позади — вы успешно внедрили многоадресную рассылку и довольные клиенты, директора и отдел продаж.

Пятница — неплохой день, чтобы исследовать творчество и хорошо провести отпуск.

Но ваш дневной сон был внезапно нарушен звонками в техподдержку, затем еще и еще: ничего не работает, все сломано. Проверить: есть утечки, перебои. Все сходится на отрезке из нескольких свитчей.

Мы обнаружили SSH, проверили CPU, проверили использование интерфейсов и волос — нагрузка была почти 100% на всех интерфейсах одной и той же VLAN. Непрерывный цикл! Но откуда это, если никакой работы не было? После 10 минут проверки вы заметите, что у вас много входящего трафика на восходящем интерфейсе к ядру и исходящего трафика на всех нисходящих интерфейсах к клиентам. Для цикла это тоже типично, но несколько подозрительно: они реализовали многоадресную рассылку, не сделали никакой работы по переключению и прыгают только в одном направлении.

Мы проверили список групп многоадресной рассылки на маршрутизаторе — и есть подписка на все возможные каналы и все на одном порту — разумеется, на том, который ведет к этому сегменту.

Тщательное расследование показало, что компьютер клиента был заражен и отправлял запросы IGMP на все указанные ниже адреса многоадресной рассылки.

Потеря пакетов началась из-за того, что коммутаторам приходилось пропускать через них огромное количество трафика. Это вызвало переполнение буфера интерфейса.

Главный вопрос: почему трафик клиента начал копироваться на все порты?

Это связано с природой многоадресных MAC-адресов. Дело в том, что пространство IP-адресов многоадресной рассылки специально сопоставляется с пространством MAC-адресов многоадресной рассылки. И проблема в том, что они никогда не будут использоваться в качестве MAC-адреса источника и, следовательно, не будут изучены коммутатором и внесены в таблицу MAC-адресов. Но как насчет переключателя кадров, адрес назначения которого не известен? Он отправляет их во все порты. Так и случилось.

Это действие по умолчанию.


Многоадресные наводнения

Зачем отслеживать сетевой трафик?

Многоадресный трафик также может передаваться на компьютеры, которые в нем не заинтересованы. Это называется широковещательной переадресацией. Чтобы предотвратить это, чтобы снизить нагрузку на сеть, используется IGMP snooping. В то же время такая фильтрация требует дополнительного потребления памяти и увеличивает нагрузку на коммуникатор. Однако это оправдано.

Если коммуникатор начинает широковещательную рассылку многоадресного трафика на все свои порты, то:

  • этот процесс бесполезен;
  • проблемы могут возникнуть в работе конечного получателя (сетевого устройства), который вынужден обрабатывать большой поток ненужных данных.

Для исключения таких ситуаций есть функция IGMP snooping, которая значительно улучшает работу всей сети. Он учитывает потребности на сетевом уровне (третий) и, таким образом, оптимизирует уровень канала передачи данных (второй.

включить отслеживание igmp

Решение

Благодаря отслеживанию IGMP igmpproxy больше не должен вызывать проблем в беспроводных сетях. Теперь вы можете запускать утилиты igmpproxy и udpxy одновременно.

Убедитесь, что поддержка IGMP snooping присутствует в прошивке OpenWrt и включена!

Выполните команду:  # cat / sys / device / virtual / net / br-lan / мост / multicast_snooping

Если команда отображает сообщение, содержащее «», микропрограмма была скомпилирована без поддержки «отслеживания IGMP», и просмотр IPTV замедлит вашу беспроводную сеть.

Если файл существует, вывод команды будет напечатан «» или «». Если отображается «», ничего делать не нужно, а если «», то для включения «IGMP Snooping» в файле в конфигурации интерфейса «lan» добавьте следующую строку:   igmp_snooping вариант 1

IGMP proxy

Установка igmpproxy

Выполните команды для установки igmpproxy:  # обновить opkg # установить opkg igmpproxy

После установки пакета необходимо отредактировать файл конфигурации :  config igmpproxy quickleave option 1 config phyint network option wan option upstream list direction altnet 192.168.0.0/16 altnet list 172.16.0.0/12 altnet list 10.0.0.0/8 config phyint option lan network option downstream config option phyint option network loopback option direction disabled

Настройки Firewall

также необходимо включить IGMP для интерфейса WAN и перенаправить широковещательный трафик со следующими правилами в файле :

имя опции правила конфигурации ‘Allow-IGMP’ option src ‘wan’ option proto ‘igmp’ option target ‘ACCEPT’ имя опции правила конфигурации ‘Allow-IPTV-IGMPPROXY’ option src ‘wan’ option proto ‘udp’ option dest ‘lan’ option dest_ip ‘224.0.0.0/4’ параметр назначения ‘ACCEPT’

Запуск igmpproxy

После добавления правил необходимо перезапустить брандмауэр, добавить igmpproxy для автозапуска и, естественно, запустить сам igmpproxy. Выполните следующие команды:  # /etc/init.d/firewall restart # /etc/init.d/igmpproxy enable # /etc/init.d/igmpproxy start

В будущем igmpproxy будет запускаться автоматически во время процесса запуска маршрутизатора.

Проверьте службу igmpproxy

# ps | grep igmp 1900 root 952 S / usr / sbin / igmpproxy /var/etc/igmpproxy.conf 1941 root 1336 S grep igmp #

Если строка «/ usr / sbin / igmpproxy /var/etc/igmpproxy.conf» отсутствует, выполните отладку службы из командной строки

# igmpproxy -d -vv /var/etc/igmpproxy.conf

В случае сбоя сервиса вы можете добавить команду в cron

* / 30 * * * * / usr / bin / pgrep igmpproxy || /etc/init.d/igmpproxy start

Подсети провайдера из которых идет вещание

Для универсальности вы можете разрешить igmpproxy прослушивать все возможные адреса, набрав

config phyint option network option список направлений wan upstream altnet 0.0.0.0/0

Однако в этом случае возможна нестабильность.

udpxy

Установка udpxy

Выполните команды для установки udpxy:  # обновить opkg # установить opkg udpxy

Пример изменения стартового скрипта /etc/init.d/udpxy

#! / bin / sh /etc/rc.common # Чтобы открыть многоадресный трафик, добавьте следующее правило в конец файла # / etc / config / firewall: # # config ‘rule’ # option ‘target’ ‘ACCEPT’ # option ‘_name’ ‘multicast’ # option ‘src’ ‘wan’ # option ‘proto’ ‘all’ # option ‘dest_ip’ 224.0.0.0/4 ‘START = 99 STOP = 10 SERVICE_DAEMONIZE = 1 SERVICE_WRITE_PID = 1 # OPTIONS = » — T -S -p 4022 «OPTIONS =» — T -S -m eth0.2 -p 4022 -B 2Mb -M 600 «start () {service_start / usr / bin / udpxy $ OPTIONS} stop () {service_stop / usr / bin / udpxy }

Настройки Firewall

Чтобы udpxy работал с IGMP, в файл необходимо добавить соответствующие правила :

имя опции правила конфигурации ‘Allow-IGMP’ option src ‘wan’ option proto ‘igmp’ option target ‘ACCEPT’ имя опции правила конфигурации ‘Allow-IPTV-UDPXY’ option src ‘wan’ option proto ‘до опции dest_ip’ 224.0.0.0. 0,0 / 4 ‘Объективная опция’ ПРИНЯТЬ’

Запуск udpxy

После добавления правил нужно перезапустить брандмауэр, добавить udpxy для автозапуска и, естественно, запустить сам udpxy. Выполните следующие команды:

# /etc/init.d/firewall restart # /etc/init.d/udpxy enable # /etc/init.d/udpxy start

В будущем udpxy будет запускаться автоматически во время процесса запуска маршрутизатора.

Теперь, когда вы хотите войти, скажем, в, вы должны сказать своему плееру, чтобы он подключился к этому адресу. В этом примере IP-адрес 192.168.1.1 — это адрес вашего маршрутизатора в локальной сети.

Примечание по совместному использованию igmpproxy и udpxy

Если вы планируете использовать igmpproxy и udpxy одновременно, вы должны найти два правила в файле конфигурации брандмауэра:

имя опции правила конфигурации ‘Allow-IGMP’ option src ‘wan’ option proto ‘igmp’ option target ‘ACCEPT’ имя опции правила конфигурации ‘Allow-IPTV-ALL’ option src ‘wan’ option proto ‘в опцию dest_ip’ 224.0. 0,0 / 4 ‘Объективная опция’ ПРИНЯТЬ’

Broadcast Широковещание

В связи с тем, что тип широковещательной рассылки используется для отправки пакетов на все хосты в сети, пакеты используют специальный широковещательный IP-адрес. Когда хост получает пакет с широковещательным адресом, указанным в заголовке, он обрабатывает пакет, как если бы это был одноадресный пакет.

Когда хосту необходимо передать некоторую информацию всем хостам в сети, используется метод широковещательной передачи данных. Даже если адрес услуг (услуг) или специальных устройств заранее неизвестен, передача также используется для обнаружения).

Примеры использования широковещательной передачи данных:

  • адресный запрос (например, ARP)
  • создать карту принадлежности адресов более высокого уровня к адресам более низкого уровня (например, какой IP-адрес на конкретном устройстве с его MAC-адресом)
  • протоколы маршрутизации обмениваются маршрутной информацией (RIP, EIGRP, OSPF)

Когда хосту нужна информация, он отправляет запрос на широковещательный адрес. Все остальные хосты в сети получат и обработают этот запрос. Один или несколько хостов прикрепят запрошенную информацию и ответят на запрос. Ответчики будут использовать одноадресную рассылку в качестве типа передачи.

Точно так же, когда хост должен отправить информацию всем хостам в сети, он создает широковещательный пакет со своей информацией и передает его в сеть.

В отличие от одноадресной передачи, при которой пакеты могут маршрутизироваться по всей сети, широковещательные пакеты обычно ограничиваются локальной сетью. Это ограничение зависит от конфигурации маршрутизатора, который ограничивает сеть и контролирует тип передачи).

Существует два типа широковещательной передачи данных: направленная широковещательная передача и ограниченная широковещательная передача.

Направленный broadcast (направленное широковещание)

Прямая трансляция отправляется на все хосты в определенной сети. Этот тип широковещательной рассылки полезен для отправки широковещательного трафика на все хосты за пределами локальной сети.

Например, хост хочет отправить пакет всем хостам в сети 172.16.5.0/24, но сам хост находится в другой сети. В этом случае хост-отправитель присоединит широковещательный адрес 172.16.5.255 к заголовку пакета в качестве адреса назначения. Хотя маршрутизаторы должны ограничивать (не транслировать) прямой широковещательный трафик, их можно настроить для разрешения широковещательного трафика.

Ограниченный broadcast (ограниченное широковещание)

Ограниченная широковещательная рассылка используется для передачи данных всем хостам в локальной сети. В этих пакетах IP-адрес 255.255.255.255 вводится как место назначения. Маршрутизаторы не транслируют такой широковещательный трафик. Ограниченные широковещательные пакеты будут распространяться только в локальной сети. По этой причине IP LAN также называют широковещательными доменами. Маршрутизаторы образуют границу широковещательного домена. Без границы пакеты распространялись бы по всей сети на каждый хост, снижая производительность сетевых устройств и забивая пропускную способность каналов связи.

Вот пример ограниченной передачи: хост находится внутри сети 172.16.5.0/24 и хочет отправить пакет всем хостам в своей сети. Используя IP-адрес 255.255.255.255 в качестве пункта назначения, он отправляет широковещательный пакет. Этот пакет будет принят и обработан только всеми хостами в этой локальной сети (172.16.5.0/24).

Мультикастовые MAC-адреса

Итак, какие MAC-адреса назначения подставляются в заголовок Ethernet этих пакетов? Передача инфекции? Нет. Существует специальный диапазон MAC-адресов, которым сопоставляются IP-адреса многоадресной рассылки.

Эти специальные адреса начинаются так: 0x01005e, а следующий 25-й бит должен быть 0 (попробуйте ответить, почему). Остальные 23 бита (помните, что в MAC-адресе 48) передаются с IP-адреса.

Здесь кроется какая-то не очень серьезная, но проблема. Диапазон адресов многоадресной рассылки определяется маской 224.0.0.0/4, что означает, что первые 4 бита зарезервированы: 1110, а остальные 28 битов могут быть изменены. То есть у нас есть 2 ^ 28 IP-адресов многоадресной рассылки и только 2 ^ 23 MAC-адреса: 5 бит недостаточно для сопоставления 1 к 1. Таким образом, только последние 23 бита IP-адреса берутся и передаются один за другим в адрес MAC, оставшиеся 5 отбрасываются.

МАС-адрес многоадресной рассылки

Фактически это означает, что 2 ^ 5 = 32 IP-адреса будут сопоставлены с MAC-адресом многоадресной рассылки. Например, все группы 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 и настроить его самостоятельно. Рассмотрим, как это сделать на коммуникаторах D-Link при реализации схемы многоадресной передачи данных. Команды для включения прослушки:

команды igmp

Чтобы исключить порт из сетевой группы, когда коммуникатор получил запрос на выход от клиента, используется функция IGMP Snooping Fast Leave. Это позволяет остановить передачу ненужных потоков данных по сети, чтобы она работала более эффективно. Следующая команда используется для активации этой функции:

покинуть igmp

Он используется, если необходимо включить фильтрацию многоадресной рассылки на коммутаторе с подключенным к нему узлом, участвующим в передаче данных.

 

Оцените статью
Блог про роутеры и их настройки