Сети для самых маленьких. часть девятая. мультикаст

Мультикаст настройка

К сожалению, настройка во многом зависит от той модификации, к которой принадлежит ваш роутер. Перед пользователем стоит задача: правильно задействовать данную функцию на своем маршрутизаторе. Давайте коротко разберем тот вариант, который может подойти роутерам от компании ASUS. Для начала включаем любой девайс (телефон, планшет, ноутбук) и подключаем его к вашему домашнему Wi-fi. Открываем браузер и вводим адрес 192.168.1.1. Наверняка он будет правильным, но стоит на всякий случай его уточнить в инструкции (руководство пользователю) к роутеру. Логин и пароль, если вы ничего не меняли будет идентичным – admin.

На открывшемся сайте мы переходим во вкладку ЛВС – «Маршрут». Находим пункт многоадресная маршрутизация. Включаем его, ставим галочку. Конечно же, не забудем сохранить настройки. Далее открываем вкладку «управление девайсом» — WAN – «Интернет-соединения» и даем определенному порту, например, второму, эту задачу.

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

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

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

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

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

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

Дотошное расследование показало, что компьютер клиента заражён и рассылает IGMP Query на все мультикастовые адреса подряд.

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

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

Причина этого кроется в природе мультикастовых MAC-адресов. Дело в том, пространство мультикастовых IP-адресов специальным образом отображается в пространство мультикастовых MAC-адресов. И загвоздка в том, что они никогда не будут использоваться в качестве MAC-адреса источника, а следовательно, не будут изучены коммутатором и занесены в таблицу MAC-адресов. А как поступает коммутатор с кадрами, адрес назначения которых не изучен? Он их рассылает во все порты. Что и произошло.

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

Multicast Flooding

Summary

Protocol Independent Multicast — Sparse Mode (PIM-SM or PIM) enables RouterOS to support multicast streaming over network area where routers have PIM set up. Several configured PIM routers together will make multicast cloud where client devices can use IGMP to manage subscriptions to streams. PIM should be used when network topology is complex or stream sources are connected to multicast cloud. Continuous cloud must have configured unique rendezvous point for multicast group or groups used in it and other participants should know how to reach rendezvous point. In simple case when in part of cloud reside only potential clients and no stream sources IGMP proxy can be used instead to conserve resources.

Multicast Routing Overview

IP Multicast is a technology that allows one-to-many and many-to-many distribution of data on the Internet. Senders send their data to a multicast IP destination address, and receives express an interest in receiving traffic destined for such an address. The network then figures out how to get the data from senders to receivers.

If both the sender and receiver for a multicast group are on the same local broadcast subnet, then the routers do not need to be involved in the process, and communication can take place directly. If, however, the sender and receiver are on different subnets, then a multicast routing protocol needs to be involved in setting up multicast forwarding state on the tree between the sender and the receivers.

MikroTik supports PIM-SM multicast routing protocol. PIM means «platform independent multicast» — i.e. this protocol is not tied to any particular unicast routing IGP. SM means «sparse-mode»; as opposed to dense-mode, in sparse-mode protocols explicit control messages are used to ensure that traffic is only delivered to the subnets where there are receivers that requested to receive it.

In addition to the routing protocols used to set up forwarding state between subnets, a way is needed for the routers to discover that there are local receivers on a directly attached subnet. For IPv4 this role is served by the Internet Group Management Protocol (IGMP).

Service Models: ASM vs SSM

There are two different models for IP multicast:

  • Any Source Multicast (ASM), in which a receiver joins a multicast group, and receives traffic from any senders that send to that group.
  • Source-Specific Multicast (SSM), in which a receiver explicitly joins to a (source, group) pairing.

Multicast Addressing

For IPv4, multicast addresses are in the range 224.0.0.0 to 239.255.255.255 inclusive.
Addresses within 232.0.0.0/8 are reserved for SSM usage.
Addresses in 239.0.0.0/8 are ASM addresses defined for varying sizes of limited scope.
Addresses within 224.0.0.0/24 are considered link-local and are not forwarded between subnets. Mostly these addresses are used by applications that do not require communication to other networks. Here are some assigned hostgroup addresses by the internet assigned numbers authority (IANA):

  • 224.0.0.1 — All systems on the subnet
  • 224.0.0.2 — All routers on the subnet
  • 224.0.0.9 — For RIPv2
  • 224.0.0.14 — For VRRP
  • 224.0.1.1 — Network time protocol (NTP)

The internet assigned numbers authority (IANA) allocates ethernet addresses from 01:00:5E:00:00:00 through 01:00:5E:7F:FF:FF for multicasting, therefore leaving only 23 bits available for the multicast group ID.

ВКЛАДКА SYSTEM

Firmware Update — обновление програмного обеспечения.Device — имя устройства.System Accounts — установка имени и пароля адиминистратора и пользователя с правами только для чтения.Reset Button — включение или отключение возможности сброса настроек физически нажав на кнопку на устройстве.Reboot Device — перезагрузка устройства.Support Info — Нажав кнопку сгенерируется файл с различной информацией об устройстве. Может быть потребован техподдержкой Ubiquiti.Date Settings — установка текущей даты и времени.Location — ширина и долгота местонахождения устройства.

Configuration Management:Back Up Configuration — скачивание конфигурации файлом на компьютер.Upload Configuration — загрузка конфигурации фалом из компьютера.Reset to Factory Defaults — восстановление настроек на заводские.

Как включить функцию мультикаст в маршрутизаторах tp link

Смысл работы этой функции в том, что настройка multicast делается таким образом, что ТВ-поток транслируется по Wi-Fi с подменой аппаратного MAC-адреса на канальном уровне сети. В беспроводных роутерах ASUS так же есть возможность настроить Wireless Multicast Forwarding на маршрутизаторе.

Для этого надо зайти в веб-интерфейс маршрутизатора. Затем, в главном меню выбираем раздел Беспроводная сеть, закладка Профессионально:

Прокручиваем страничку практически в самый конец и находим искомую строчку «​Wireless Multicast Forwarding» — в выпадающем списке значений параметра выбираем вариант Включить. Сохраняем настройки роутера ASUS и проверяем работу IPTV по беспроводной сети Вай-Фай.

Замечание: Если у Вас для работы цифрового интерактивного телевидения надо выделять отдельный LAN-порт или поток мультикаст подаётся на роутер в тегированном виде и надо дополнительно указывать VLAN ID — этот способ не подойдёт и для работы ТВ по Wi-Fi придётся покупать отдельное устройство — беспроводной мост.

Ethernet

Ethernet frames with a value of 1 in the least-significant bit of the first octet of the destination address are treated as multicast frames and are flooded to all points on the network. This mechanism constitutes multicast at the data link layer. This mechanism is used by IP multicast to achieve one-to-many transmission for IP on Ethernet networks. Modern Ethernet controllers filter received packets to reduce CPU load, by looking up the hash of a multicast destination address in a table, initialized by software, which controls whether a multicast packet is dropped or fully received.

Ethernet multicast is available on all Ethernet networks. Multicasts span the broadcast domain of the network. Multiple Registration Protocol can be used to control Ethernet multicast delivery.

PIM Sparse Mode

PIM SMPIM JoinПомимо прочих базовых настроек, конечно (IP, IGP).статье

(*, 225.0.1.1)(*, G)старкомаджиNull(172.16.0.5, 225.0.1.1)(S, G)эскомадживосходящийUpstreamOIL — Outgoing Interface List

Чтобы разобраться с тем, что такое PIM, обратимся к сети гораздо более сложной

Клиент1Файл начальной конфигурации

PIM Hello224.0.0.13Rendezvous Point — RP

  1. отвечает за изучение источника,
  2. является точкой притяжения сообщений Join от всех заинтересованных.

на всех

Loopback 0

ip multicast-routingip pim sparse-modeip pim rp-adress X.X.X.XПолная конфигурация с PIM.

Разбор полётов

1)2)Клиента1Клиента23)Join (*,G)4)Клиент 2RPT — Rendezvous Point TreeMDT — Multicast Distribution Tree5)RegisterFHR (First Hop Router)6)7)

  1. Процессы инкапсуляции и декапсуляции — весьма затратные действия для маршрутизаторов. Кроме того, дополнительные заголовки увеличивают размер пакета, и он может просто не пролезть в MTU где-то на промежуточном узле (вспоминаем все проблемы туннелирования).
  2. Если вдруг где-то между источником и RP есть ещё получатели для группы, мультикастовому трафику придётся пройти один путь дважды.

Source Tree8)Join (S, G) — Source Specific JoinSource TreeSPT — Shortest Path Tree9)10)PIM Register-StopинкапсулированныйCервера-источникаКлиента 1Клиента 2Source TreeRPTне отправляя

SPT Switchover — переключение RPT-SPT

Клиента 1Клиенту 2Клиенту 1Клиент 1Клиент 2Shared TreeLHR (Last Hop Router)Вы помните, что вначале этого параграфа на R5 была только запись (*, G), теперь после всех этих событий их станет две: (*, G) и (S, G)

  • Не происходить вообще никогда (команда ip pim spt-threshold infinity).
  • При достижении определённой утилизации полосы пропускания (команда ip pim spt-threshold X).
  • Безусловно — сразу после получения первого пакета (действие по умолчанию или no ip pim spt-threshold X)

Multicast route information base

Menu: /routing pim mrib

MRIB routes are used for reverse path forwarding check. In a way, they perform opposite function that FIB (Forwarding Information Base) routes: FIB is used to find the right By default, MRIB is populated by FIB routes. Use «multicast» routing filter chanin to control that or set specific parameters for imported FIB routes (e.g. you can change the distance of the route). In addition, you can specify static MRIB routes. This is useful only if you are using multihoming and multicast packet flow will be different from unicast packet flow.

Active MRIB entries that are imported from FIB are shown with «dynamic» flag.

Property Desciption
comment (text) textual note to entry can be added to static entries only.
copy-from (number) use other entry as a template to create new one.
destination (IP address/mask Default: 0.0.0.0/0) hosts that will be reachable through gateway
disabled (yes|no Default: no) status of entry
metric (integer Default: 1) value of cost of the route. Route with least weight will be used if available.
gateway (IP address) address through where hosts listed in destination field will be reachable.

IGMP

When a receiver joins a multicast group, the multicast routers serving that receiver’s subnet need to know that the receiver has joined so that they can arrange for multicast traffic destined for that group to reach this subnet. The Internet Group Management Protocol (IGMP) is a link-local protocol for IPv4 that communicates this information between receivers and routers. The same role for IPv6 is performed by the Multicast Listener Discovery protocol (MLD).

The basic IGMP mechanism works as follows. When a multicast receiver joins a multicast group it multicasts an IGMP Join message onto the subnet on which it is joining. The local routers receive this join, and cause multicast traffic destined for the group to reach this subnet. Periodically one of the local routers sends a IGMP Query message onto the subnet. If there are multiple multicast routers on the subnet, then one of them is elected as the sole querier for that subnet. In response to an IGMP query, receivers respond by refreshing their IGMP Join. If the join is not refreshed in response to queries, then the state is removed, and multicast traffic for this group ceases to reach this subnet.

There are three different versions of IGMP:

  • IGMP version 1 functions as described above.
  • IGMP version 2 adds support for IGMP Leave messages to allow fast leave from a multicast group.
  • IGMP version 3 adds support for source include and exclude lists, to allow a receiver in indicate that it only wants to hear traffic from certain sources, or not receive traffic from certain sources.

Пример II

IGMP

IGMP — Internet Group Management Protocol1.IGMP Membership Report2.(*, 224.2.2.4)(172.16.0.5, 224.2.2.4)OIL — Outbound Interface Listshow ip mroute3.IGMP Query*Дамп отфильтрован по IGMP*General Query*Дамп отфильтрован по IGMP*4.IGMP LeaveGroup Specific Queryтолько*Дамп отфильтрован по IGMP*

И ещё раз

IGMPIGMP ReportIGMP General QueryIGMP Group Sepcific QueryIGMP LeaveQuerier

PIM

PIM — Protocol Independent MulticastCBT version 2 is not, and was not, intended to be backwards compatible with version 1; we do not expect this to cause extensive compatibility problems because we do not believe CBT is at all widely deployed at this stage.

  • PIM Dense Mode (DM)
  • PIM Sparse Mode (SM)

Описание переменных окружения для Wi-Fi-интерфейса

wifi_int_ip Задает IP адрес, который будет назначен беспроводному сетевому интерфейсу. Eсли задано «0.0.0.0», то используется автоконфигурация сетевых параметров (задается DHCP сервером)
wifi_int_mask
wifi_int_gw Сетевой шлюз
wifi_int_dns
wifi_ssid
wifi_auth Метод аутентификации «open», «shared», «wep_auto», «wpapsk», «wpa2psk»
wifi_enc Метод шифрования трафика «none», «wep», «wep64»(deprecated), «wep128»(deprecated), «tkip», «aes»
wifi_wep_def_key Ключ по умолчанию для режима шифрования WEP64 и WEP128
wifi_wep_key1, wifi_wep_key2, wifi_wep_key3, wifi_wep_key4 Задаются 4 ключа для для режима шифрования WEP64 и WEP128

Описание

Групповая передача (сверху) в сравнении с однонаправленной передачей. Оранжевыми кругами показаны конечные точки, зелеными — точки маршрутизации.

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

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

Для мультикастных групп зарезервированы адреса как на канальном, так и на сетевом уровнях.

Чтобы технология работала, она должна поддерживаться сервером, клиентом и всеми промежуточными маршрутизаторами. Чтобы коммутаторы посылали пакеты только нужным получателям, они должны поддерживать IGMP snooping (у Cisco есть своя реализация — CGMP), иначе пакеты рассылаются широковещательно. Также нужно иметь в виду, что мультикаст может блокироваться межсетевыми экранами.

Rendezvous point

Menu: /routing pim rp

Rendezvous point configuration. Rendezvous point (RP) is a distribution point for multicast group, source provides its data to it, and if there are any subscribers, then RP will provide data to client. Note, that RP will always receive data stream if that exists.

Property Desciption
comment (text) add comment to static RP entry
copy-from (number) creates another RP just like one you pointed to with number you used.
disabled (yes, no) used to change status of RP entry effectively disabling or enabling it.
group (multicast group address Default: 224.0.0.0/4) sets what group this RP will be assigned to. Values accepted are class D ip addresses with mask, thus effectively marking multiple groups to this RP entry e.g. 224.10.10.0/24 will add 256 groups starting with 224.10.10.0 till 224.10.10.255.
hash-mask-length (number 4..32 Default: 30) when multicast group have multiple RPs, and they are same scope and same priority, then this value is compared. and so you can load balance this way.
priority (number Default: 192) if several RPs are available for multicast group, and they are both with same scope, then RP with highest priority is chosen. Smaller non-negative value is considered of higher priority. Example: priority of 100 is higher than priority of 101.
address (IP address) at what address you have to look for RP for multicast group specified in group field. If group is set to one of routers interfaces, it should be reachable through whole multicast network, if it not, you will have to set up rules in MRIB (multicast routing information base).

Это конец? WiFi и IP-телевидение в multicast-потоке не совместимы?

Для корректной работы UDP Proxy необходимо отключить IGMP Proxy. Одновременная работа двух этих функций невозможна!Для этого проделываем следующее:

  1. Заходим в раздел Домашняя Сеть, выбираем вкладку IGMP Proxy. Снимаем галочку в строке Включить функцию IGMP Proxy. Нажимаем кнопку Применить.
  2. Заходим в раздел Приложения и выбираем вкладку Сервер udpxy. В открывшемся окне отмечаем галочкой пункт Включить, нажимаем на кнопку Применить.

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

Multicast neighbors

Menu: /routing pim neighbors

This menu only allows to see information about multicast routers that are reachable within one Ethernet from all interfaces participating in multicast routing. This list is created and updated automatically according to state of multicast network.

Property Desciption
address (ip address) IP address of neighbour multicast router that router have received hello packet.
interface (text) on what interface hello packet was received
priority (number 1..255) priority of the neighbour router
holdtime (time) how long entry will be held in neighbour list (configured in interface menu hello-holdtime)
timeout (time) how much time left when entry will be dropped from list if no hello packets are received. Every time hello packet is received this entry will be refreshed.

Multicast Forwarding

DLNA and UPnP clients and printer or SMB discovery protocols on LANs tend to work by using multicast packets. For example PS3, xbox, TVs and stereos use DLNA to detect, communicate with and stream audio/video over the network. By default on bridged interfaces on OpenWrt (at least tested in 18.x series) multicast snooping is turned off. This means all network interfaces connected to a bridge (such as a WiFi SSID and ethernet VLAN) will receive multicast packets as if they were broadcast packets.

On WiFi the slowest modulation available is used for multicast packets (so that everyone can hear them). If you have “enabled legacy 802.11b rates” on your WiFi (Advanced settings checkbox in LuCI under the WiFi settings, or ‘ in /etc/config/wireless file) then 1Mbps is the rate that will be used. This can completely use up the WiFi airtime with even fairly light multicast streaming.

There are two possible fixes for this, one is to enable multicast snooping: ‘ under the appropriate /etc/config/network settings for the bridge. This will cause the bridge to forward only on bridge ports that have requested to receive the particular multicast group. On the other hand, if someone on WiFi requests the group, it will still flood the multicast there, and some people have reported problems with certain devices such as android phones and with ipv6 when igmp_snooping is enabled (requires further debugging to identify if there is really a problem or not). By disabling legacy 802.11b rates (‘) you can at least force the use of 6Mbps or more on the WiFi multicast packets, and this opens up more airtime for other uses.

Notes:

  • The Dumb AP wireless can be configured to control access as Open/WPA/WPA2/etc. MAC-based access control is controlled by the main router.

  • ‘Static DHCP‘ is not covered here: this procedure creates an AP that provides wired/wireless access and won’t interfere with Static DHCP.

  • This recipe is similar to the “Bridged AP” recipe at Bridged AP. These pages should probably be merged.

  • Firewall bridge mode support in OpenWrt is provided by the kmod-br-netfilter module.

Поддержка прокси-сервера Udpxy

Одним из способов передачи IPTV-потоков от операторов к абонентам является мультикаст-вещание. Если STB подключен к сети через беспроводное Wi-Fi-соединение, сетевое устройство (как правило, Wi-Fi роутер) должно обеспечить трансляцию мультикаст-потоков, получаемых с WAN-интерфейса роутера (как правило, соединение с интернет-провайдером) в беспроводной интерфейс STB. В современных Wi-Fi-роутерах эта задача решается благодаря технологии  Однако, для более ранних моделей Wi-Fi-роутеров данная задача выполняется путем использования в роутере функции прокси-сервера. Ниже приводится описание данной функции.

В силу особенностей стандарта IEEE 802.11 он не может быть использован для передачи мультимедийных потоков в виде широковещательного (мультикаст) трафика. Поэтому на практике для передачи мультимедийных потоков по беспроводной сети стандарта IEEE 802.11 применяют посреднический сервер (proxy server), который позволяет передавать потоки в виде юникаст трафика.Для конечного пользователя задача сводится к установке на территории абонента роутера класса «домашний роутер» или «роутер SOHO» с поддержкой прокси‐сервера необходимого типа. Для примера, рассмотрим применение домашнего роутера ASUS RT‐N16 для подключения STB по беспроводной сети с предоставлением доступа к IPTV сервису оператора (оператор использует мультикаст для доставки мультимедиа потоков).

Настройка домашнего роутера

В поле «IPTV UDP Multicast to HTTP Proxy Port:» указываем номер порта, под которым будет доступен прокси‐сервер.Поле «Enable access from WAN» настраивается по ситуации. Для типовых применений желательно снять выделение (т.е. запретить пользоваться прокси‐сервером со стороны WAN порта).После этого настройка роутера завершена, необходимо применить настройки и перегрузить роутер.

Настройка приставки

Произвести настройку WiFi-доступа, проверить настройки.

На этой странице:

Связанные статьи:

  • Поддерживаемые Wi-Fi адаптеры в STB MAG256/257
  • Поддерживаемые Wi-Fi адаптеры в STB MAG322/324/349/351

IPv4

224.0.0.0/24

224.0.0.0 — зарезервировано
224.0.0.1 — все системы в подсети, поддерживающие мультикаст. Система включается в группу при инициализации интерфейса. О членстве в этой группе система не сообщает.
224.0.0.2 — все маршрутизаторы в подсети, поддерживающие мультикаст
224.0.0.5, 224.0.0.6 — OSPF
224.0.0.9 — RIPv2
224.0.0.10 — IGRP
224.0.0.13 — PIM
224.0.0.18 — VRRP
224.0.0.19, 224.0.0.20, 224.0.0.21 — IS-IS
224.0.0.22 — IGMP
224.0.0.102 — HSRP
224.0.0.107 — Протокол точного времени (PTP) версия 2
224.0.0.251 — Multicast DNS (Zeroconf)
224.0.0.252 — LLMNR (англ.)
224.0.0.253 — Teredo
и другие

224.0.1.0 по 238.255.255.255

Globally Scoped Addresses

239.0.0.0/8 Для частных мультикаст-доменов/организаций (пользовательские адреса). Могут динамически использоваться протоколами.

239.255.255.250 — SSDP.
239.192.152.143 — Local Peer Discovery для BitTorrent.

Bootstrap router status

Menu: /routing pim bsr

Property Desciption
zone-type (active | expiring | configured ) type of the zone
valign=»top»|bsr-address (IP address) address of BSR router
scope-zone (IP address/mask) multicast group range this router is a BSR
bsr-priority (integer) priority of BSR router
local-address (IP address) local BSR candidate address in scope zone
local-priority (integer) local BSR candidate priority in scope zone
state (init | candidate | pending | elected | no-info | accept-any | accept-preferred) state of BSR router
timeout (time | -1) time-out when this entry will be removed

  • -1 : never expire
  • time value : time remaining to expiry
sz-timeout (time | -1) in what time when sope zone will time out.

  • -1 : never expire
  • time value : time remaining to expiry
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector