Я использую OpenWRT 15.05 на маршрутизаторе Linksys 1900ACS для трансляции непрерывного потока данных через UDP (открытый для других альтернатив) (песня). Маршрутизатор работает с сотнями устройств, в настоящее время с помощью многоадресной рассылки (и в будущем путем простой передачи данных от маршрутизатора и всех приемных устройств, отслеживающих пакеты данных).

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

1 ответ1

0

Многоадресная передача сложна в 802.11, поэтому вам, вероятно, не понравятся эти ответы.

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

На AP установите интервал DTIM в 1. Интервал DTIM контролирует, сколько интервалов маяка проходит, прежде чем точка доступа попытается отправить многоадресные пакеты. Установка этого значения в 1 означает, что точка доступа будет отправлять многоадресные рассылки сразу после каждого маяка, что по умолчанию происходит каждые 102,4 мс (примерно каждые 1/10 секунды). Таким образом, интервал DTIM, равный 1, позволит средним групповым передачам задерживаться всего на 51 мс. Если вы даже не хотите этого много, то либо отключите режим энергосбережения на всех ваших клиентах (таким образом, многоадресные рассылки всегда можно отправлять сразу же, как только они придут), либо установите для интервала маяка значение, которое меньше, чем для большинства точек доступа по умолчанию 102,4 мс использовать. Если ваша точка доступа не позволяет вам установить DTIM-интервал или Beacon Interval, вам нужно просто отключить режим энергосбережения на всех ваших клиентах.

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

Если проблема заключается в том, что в вашей точке доступа создаются длинные очереди кадровых буферов, это называется "bufferbloat", и на веб-сайте OpenWrt есть хорошая страница о том, как FQ-CoDel может победить bufferbloat.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .