У меня такая настройка беспроводной сети:
Laptop \ | Wifi Router A | Wifi Router B | Wifi Router C |
\ | / \ | / \ | / \ |
\|wlan0 wlan1----wlan0 wlan1-----wlan0 eth0--|
|hostapd managed mode | hostapd managed mode | AP Internet|
Итак, в основном прямая линия ноутбук -> маршрутизатор A -> маршрутизатор B -> маршрутизатор C -> Интернет.
Маршрутизаторы A и B оснащены двумя радиомодулями 802.11a и представляют собой встроенные платы Linux с радиомодулями высокой мощности (Ubiquiti 600 мВт). Маршрутизатор C - это Linksys E2500, который подключается к Интернету через Ethernet. Мосты не используются, только простая IP-маршрутизация.
Все соединения Wi-Fi имеют отличный сигнал (минимум -60 дБм) и очень низкий уровень шума (-99 дБм).
Для тестирования скорости я использую iperf с большим размером окна (3 МБ) и 10 параллельными соединениями с различным временем передачи от 100 до 240 секунд.
Ноутбук стабильно обеспечивает скорость 6-8 Мбит / с между ним и маршрутизатором B (загрузка и загрузка). Я пробовал много разных изменений настроек на стороне Wi-Fi, и, похоже, ничто не повлияло на производительность, я даже проверил такие вещи, как прием аппаратного обеспечения / разгрузка контрольной суммы на интерфейсах, и эти настройки тоже не имеют значения.
Однако, если я тестирую между ноутбуком и маршрутизатором A, я получаю около 30 Мбит / с. Скорость тестирования между маршрутизатором A и маршрутизатором B также превышает 25 Мбит / с. Но когда ноутбук должен работать с более чем одним радиомодулем, производительность очень плохая (6-8 Мбит / с). Я проверил свою теорию, заменив соединение между маршрутизатором A и маршрутизатором B на кабель Ethernet, а затем тесты скорости от ноутбука до маршрутизатора B увеличились более чем вдвое, до 25-28 Мбит / с последовательно.
Почему производительность такая плохая, когда пакеты отправляются более чем по одному радио в маршрутизаторе?
Обновлено:
Я пытаюсь достичь производительности клиентской сети конечного пользователя (ноутбука), которую я получаю при подключении точки доступа через Ethernet ... без этого.
Я понимаю, что Wi-Fi полудуплексный, и чем больше радиомодулей в сети, тем хуже будет производительность.
Можно ли использовать отдельные радиомодули для передачи и приема для решения проблемы?
У меня на каждой плате по 4 слота mini-pci.
Конечно, после стольких обходов производительность снизится. Радио - это общая среда (полудуплекс), могут происходить коллизии, и для их предотвращения Wi-Fi использует CSMA / CA. Ваша производительность упадет как минимум более чем вдвое. Каждый клиент увеличивает задержку
Я не думаю, что возможно разделить одну радиоплату для передачи и одну для приема, потому что это приведет к огромному объему трафика через объединительную плату PCI.
Точно так же я подозреваю, что по какой-то причине многие проблемы вызваны большим объемом трафика уже через указанную объединительную плату, что приводит к тому, что вы воспринимаете как задержку.
Если бы я разрабатывал подобную систему (я делаю беспроводные сети для жизни [вроде]) .. Я бы разделил радиомодули, другими словами, входящие и исходящие пары для каждого здания в отдельные физические блоки, соединенные взаимно обратно через гигабитный Ethernet.
Это позволит сетевым адаптерам и сетевому оборудованию обрабатывать трафик между радио и внутри точки доступа, который, как я подозреваю, может быть узким местом. Без дополнительной информации трудно поставить точный диагноз. Также сложно запросить любую информацию, потому что, честно говоря, я не знаю. Старая пословица: «Вы не знаете, что ищете, но узнаете, когда найдете».
Тем не менее, я не знаю, предоставляют ли эти платы маршрутизаторов статистику по объему трафика объединительной платы и так далее.
У Алекса тоже есть несколько важных моментов, хотя я не уверен в CSMA / CA (разве это не должно быть / CD?), Но это всегда возможно. Беспроводная связь по самой своей природе работает с потерями, и повторение такого сигнала мало чем отличается от фотокопирования фотокопии или клонирования ленты VHS (помните их?;).
Напомним, мне вообще не нравится идея иметь два радиомодуля на одной плате, и я бы попытался разделить их на разные физические устройства, соединенные Ethernet.
YMMV.