Почему мои многоадресные пакеты без прослушивателя влияют на производительность Wi-Fi?

Почему мои многоадресные пакеты без прослушивателя влияют на производительность Wi-Fi?

У меня есть программа, которая отправляет многоадресный пакет IPv6 (на ff12::2:0:8afb:382b:c053:85f%en1) каждые 50 мс. Я запустил ее в очень простой локальной сети с одним компьютером (Mac mini <-wifi-> маршрутизатор Linksys wifi <-cat5-> модем DSL <-> Интернет). В моем тесте нет компьютеров, присоединенных к этой многоадресной группе (т.е. никто не слушает эти пакеты).

Моя проблема в том, что когда эта программа запущена, производительность WiFi на Mac падает более чем на 50%. Предположительно, проблема в том, что все эти многоадресные пакеты съедают большую часть моей полосы пропускания WiFi и вызывают перегрузку... но я не понимаю, почему пакеты вообще передаются. Насколько я понимаю, многоадресная передача использует алгоритм связующего дерева, чтобы гарантировать, что многоадресные пакеты направляются только тем хостам, которые действительно заинтересованы в их получении. Если это правда, и учитывая, что в моей локальной сети нет других компьютеров, подключенных к этому многоадресному адресу, разве мой Mac не должен это понимать и фактически не отправлять никаких пакетов, пока какой-либо другой хост не присоединится к многоадресной группе? Или отбраковка связующего дерева реализована только на коммутаторе, а не самими хостами?

решение1

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

решение2

Чтобы добавить к ответу @sysadmin1138 (этот комментарий был слишком длинным для поля комментариев)...

Было бы неплохо отметить, что 802.11 добавляет проблем двумя способами: ретрансляция внутри BSS и низкие скорости многоадресной передачи.

В 802.11 беспроводные кадры на одной и той же точке доступа должны быть повторно переданы по беспроводной сети точкой доступа в случае, если исходный отправитель не находится в зоне действия радиосвязи предполагаемого получателя. Этот процесс называется «внутри-BSS-ретранслятор» и решает то, что известно как «проблема скрытого узла» — когда два беспроводных узла могут оба находиться в зоне действия точки доступа, но не в зоне действия (не быть скрытыми) друг от друга. Таким образом, каждый кадр, который приходит от одного беспроводного клиента точки доступа и может нуждаться в отправке другому беспроводному клиенту точки доступа (примечание: сюда входят все многоадресные и широковещательные рассылки), передается по одному и тому же каналу дважды. СначалакAP (это известно как To the Distribution System, или «ToDS»), а затем сноваотAP («FromDS»), как часть внутрисистемного ретранслятора BSS.

"ToDS" этап путешествия проходит на самой высокой скорости передачи данных, с которой клиент может успешно взаимодействовать с AP. Так что если это современный клиент 3x3 N и AP, использующий каналы 40 МГц с короткими защитными интервалами, это может быть 450 Мбит/с.

К сожалению, для этапа "FromDS" кадр должен быть отправлен с достаточно низкой скоростью передачи данных, чтобы все клиенты этой точки доступа могли надежно его получить. Это связано с тем, что многоадресные рассылки не получают подтверждения на уровне 802.11, поскольку это вызвало бы шторм подтверждений в ответ на каждую многоадресную рассылку.

Некоторые точки доступа позволяют вам явно устанавливать скорость многоадресной передачи. Другие позволяют вам определять ваш «базовый» или «требуемый» набор скоростей, а затем точка доступа выбирает скорость многоадресной передачи из базовых скоростей. Другие же просто позволяют вам устанавливать ваш режим совместимости b/g/n (или a/n) и имеют предопределенный базовый набор скоростей и скорость многоадресной передачи на его основе. Многие точки доступа по умолчанию работают в режиме полной совместимости вплоть до скоростей данных DSSS 802.11-1997 в 1 и 2 Мбит/с (до того, как 802.11b добавил 5,5 и 11 Мбит/с). Это означает, что ваша скорость многоадресной передачи может быть всего 1 Мбит/с.

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

Обратите внимание также, что в некоторых конструкциях ретрансляция внутри BSS выполняется микрокодом в 802.11 NIC точки доступа, поэтому в этих архитектурах эти кадры не проходят через хост-процессор точки доступа до их ретрансляции. Таким образом, даже если точка доступа была «умным» коммутатором, который мог бы нарушить модель слоев и выполнить отслеживание IGMP уровня 3 для обрезки многоадресного дерева, у нее не было бы возможности сделать это до того, как радиокарта уже выполнила ретрансляцию внутри BSS для кадра.

решение3

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

Маршрутизаторы SoHo не очень хорошо известны тем, что поддерживают MultiCast полностью или правильно. Многие зависят от маршрутизаторов восходящего потока и ожидают только клиентов на уровне локальной сети. Вы можете попробовать настроить параметры маршрутизатора, но если в вашей группе multicast нет подписчиков, почему бы не отключить его в источнике?

Связанный контент