Задать вопрос

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

На данный момент имеется несколько точек доступа TP-Link с установленной прошивкой OpenWRT. Все они настроены на один SSID и подключены по проводному соединению в одну сеть, в которой стоит маршрутизатор и DHCP сервер. Такой подход за все время существования показывал себя только с плохой стороны: ноутбуки постоянно теряют соединение, находясь на одном месте, а мобильные устройства очень редко решаются переключится на ближнюю точку доступа с лучшем сигналом и вместо этого остаются на самой отдаленной.

Я прекрасно понимаю, что есть решения от тех же D-Link или Ubiquiti, которое позволит решить данную проблему, но уж слишком дорого стоит такое удовольствие. Ведь с Linux нет ничего невозможного.
  • Вопрос задан
  • 26187 просмотров
Подписаться 24 Оценить 1 комментарий
Решения вопроса 1
@Showvars Автор вопроса
Вроде как получилось найти то что хотелось. К сожалению, в OpenWRT эту секцию пока нельзя настраивать через UCI, но вручную поправить настройки hostapd не сложно.

UPD: Теперь все таки можно. Разработчики добавили возможность настроить 802.11r Fast Roaming через UCI.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@alteist
Я изучал эту тему долго и мучительно (начав путь примерно с такого же вопроса, что и вы), но не являюсь профессионалом. Буду рад замечаниям и критике.

Вкратце - проблемы, описанные в теле вопроса не соотносятся с заголовком и направлением копания в сторону, мягко говоря, неоднозначного и замыленного термина "роуминг". Для быстрого понимания темы лучше временно выкинуть это слово из вокабуляра. Заметьте, кстати, что в серьезных статьях пишут как минимум fast roaming, а не просто roaming или seamless roaming.

Также есть две спорные препозиции, начну с них.
1.
Единая Wi-Fi сеть

Если у вас WPA2-PSK, и если не рассматривать малоприменимую в нашей жизни экзотику вроде одного MAC-адреса на разных ТД и mesh-сетей разных уровней, то у вас и так "единая" Wi-Fi сеть. Не менее единая чем у очень богатых дядей с Cisco и Juniper, и менее богатых с D-Link и Ubiquiti. Это я к тому, что нет никакой серебряной пули, решающей описанные вами проблемы. Группа ТД с любой фичей, описание которой содержит слово "роуминг", всё равно останется группой ТД.

2.
Есть решения от тех же D-Link или Ubiquiti, которое позволит решить данную проблему.

PMKID caching - то, что вендоры раньше называли бесшовным роумингом (более честно - zero handoff у Ubiquiti), решает другую проблему - долгую аутентификацию "с нуля" при переключении клиента на другую ТД, в случае, если используется не PSK (там такой проблемы нет), а EAP метод аутентификации. С помощью кэширования части ключа и доступа к кэшу со всех ТД. При этом, в таком решении может не быть 802.11k/802.11r.

3. 802.11k/802.11r возможно уже есть в OpenWRT (точнее, hostapd), но это нам не сильно поможет. Во-первых, нет внятного описания того, какое железо для этого нужно, нет инструкций как это настраивается, непонятно даже - нужно ли это настраивать. Во-вторых, всё равно на рынке очень мало беспроводных клиентов, поддерживающих 802.11k/802.11r. В-третьих, не факт что если всё это взлетит - будет много толку.

4. Дело в том, что за исключением специальных редких дорогих vendor-locked беспроводных клиентов, добровольно решение о смене ТД всегда принимает клиент, а не ТД или некий контроллер. ТД может только в рекомендательном порядке рассказать клиенту о своих соседях в рамках 802.11k.

5. Насколько я понял, 802.11r - это продвинутая стандартизованная версия PMKID caching, которая ускоряет процесс аутентификации при переходе на другую ТД. Никакой связи с функцией поиска ТД с лучшим сигналом.

6. Специально написанные для ТД скрипты (иногда облаченные в красивые макретинговые словеса) могут разово деассоциировать (кикать) из своей сети клиента (плюс иногда еще блокировать подключение на период времени) при преодолении порога качества сигнала. Всё это - в надежде, что клиент одумается и подключится к соседу с лучшим сигналом. ТД не знает что творится "в голове" клиента, поэтому нет никаких гарантий, что клиент, к примеру, сначала поищет лучшую ТД во всех диапазонах, а не подключится к еще более дальней ТД в том же канале. В стандартах это не описано, ни о какой предсказуемости и бесшовности тут речи не идет, но наверное в некоторых случаях игры с такими скриптами могут помочь убить время.

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

В итоге, возможно когда-то чем-то сможет помочь 802.11k, а решение описанной проблемы скорее найдется в банальных действиях:
  • переводе всего, что переводится на кабель
  • переводе части того, что переводится на 5GHz
  • изменение конфигурации ТД в пространстве
  • изменение частотной конфигурации ТД
  • изменение мощности ТД (скорее в сторону понижения, чем повышения)
  • изменение количества ТД (не факт, что в сторону увеличения)
  • и т.д.


P.S.: Про контроллеры. Насколько я в этом разобрался, все эти вендорские беспроводные контроллеры не нужно воспринимать как нечто уникальное, добавляющее сверх-фичи недоступные простым смертным. Обычно это просто набор программных сервисов, вынесенных из точек доступа для солидности, избыточности и удобства (единая точка управления, PoE и т.д.). Грубо говоря, это коробка, где помимо очевидных вещей могут быть: проприетарный протокол массового распространения настроек, кэш PMKID или аналога, RADIUS или аналог, совсем банальные DHCP, BOOTP, TFTP и т.д., скрытые под толстым слоем красивых названий.

Еще по теме:
Сначала указанную ветку комментариев, потом статью., чтобы была верная поправка на ветер "вендорства".
В основном про аутентификацию и её ускорение.
Пример внятной подачи информации от производителя клиентских устройств.
Ответ написан
Комментировать
RicoX
@RicoX
Ушел на http://ru.stackoverflow.com/
На данный момент НЕТ. Для бесшовного роуминга нужен контроллер, который говорит точкам когда конкретного клиента одна точка должна отпустить, а другая взять, вез контроллера можно только поставить единый SSID и одинаковые параметры для доступа, перескакивать пользователи с точки на точку будут, но не так гладко.
Ответ написан
Neuroware
@Neuroware
Программист в свободное от работы время
Вообще вопрос организационный, тут можно поступить 2мя путями:
1. Забить на таких клиентов, которые не могут поднять мышку чтобы вручную перебросить себя на сеть с более высоким уровнем сигнала. Хочется кушать кактус пусть кушают.
2. Можно реализовать все это на уровне клиента, то есть приложение на ноутбуке будет постоянно (раз в несколько секунд) проверять окружающие сети и смотреть уровень сигнала на текущей сети и если качество сигнала на текущей хуже чем на 1 из окружения переключит сеть автоматически.
"безшовности" на 100% не будет, и если играть в Quake по Wifi ездя на велосипеде с ноутбуком между офисами это не поможет, но в любой адекватной ситуации этого будет более чем достаточно.
Есть такой софт или нет точно не скажу, но не думаю что его сложно написать, если возникнет необходимость.
Ответ написан
microphone
@microphone
Сломалось - читай логи!
У самсунга есть готовое решение на тему апи телефонии по вай фай "SAMSUNG OfficeServ", один глобальный недостаток, сразу завязываетесь на только на изделия самсунга.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы