Ничего не понятно, скажете вы.
Представим ситуацию, когда вы решили сделать у себя в квартире небольшую беспроводную сеть. Купили несколько дешевых маршрутизаторов (будем называть их далее для краткости ТД — точка доступа), назначили им одинаковый SSID (имя сети) и установили для них одинаковый пароль. Теперь вы подключаетесь к любой ТД с одним паролем. При подключении, клиент выбирает ТД с наиболее сильным сигналом и цепляется к ней. Рано или поздно, у вас к одной ТД подключатся несколько клиентов (например телевизор, компьютер, планшет, пара телефонов). Один из них однажды окажется на границе охвата этой ТД и уровень его сигнала составит, например 10% (например вы ушли в «офис» в тишине полистать хабр). В этом случае есть два варианта развития событий:
1. ТД снижает скорость передачи, чтобы подстроиться под самого слабого клиента.
2. ТД не снижает скорость передачи, клиент и ТД продолжают вещать, часть пакетов теряется, идет повторная передача, возникает огромное количество служебного трафика, который забивает эфир.
В любом случае, снижается скорость передачи для всех клиентов этой ТД. Если другие клиенты пытаются в это время поболтать по скайпу, то им это вряд-ли удастся.
Единственный выход — отключить этого слабого клиента, либо перевести его на другую ТД, с более сильным сигналом. Но проблема в том, что решение о подключении к ТД принимает только клиент, а никак не точка доступа. Поэтому нужен механизм принудительного отключения этого клиента и переключения его на другую ТД (если таковая имеется). И, исходя из текста новости, именно этот механизм D-Link нам и предлагает. Точка доступа, которая держит клиента, опрашивает точки в своей сети на предмет более высокого уровня сигнала от «слабого» клиента. И в случае, если таковые точки имеются, сбрасывает соединение со «слабым» клиентом, вынуждая того переключиться.
По невероятному совпадению у меня в наличии оказалось два устройства из списка поддерживаемых: DIR-300 (который валялся в шкафу с подозрением на нерабочее состояние) и DIR-615A почти новый, небитый, некрашеный. Оба в гугл-дизайне (цилиндрической формы, один черный, другой белый).
Нужно обновить прошивку до последней. Где взять последнюю версию прошивки? Можно пойти на ftp.dlink.ru и попробовать там найти вашу модель. Честно говоря, не самый удобный вариант, поскольку присутствует куча папок с одинаковыми названиями. Поэтому я пошел на сайт dlink.ru, в разделе «продукты и решения» нашел свою модель. Во вкладке «Загрузки» есть список и описание прошивок. Выбрал самую последнюю и скачал. В зависимости от текущей прошивки, интерфейс может меняться, поэтому процесс перепрошивки показывать не буду, в интернете полно инструкций.
Теперь нужно выбрать, какое из устройств будет работать как маршрутизатор (получать и раздавать интернет, выполнять роль DHCP сервера), а какое как точка доступа (только обеспечивать подключение клиента к Wi-Fi). Соединяем устройства проводами согласно схеме.
Если у вас больше 2-х устройств, то все точки доступа соединяются с LAN-портами маршрутизатора. Назначаем всем LAN-интерфейсам статические IP-адреса, по этим адресам мы будем получать доступ к web-интерфейсу для настройки точек.
Настраиваем WAN соединение на маршрутизаторе согласно настройкам вашего провайдера.
На точках доступа удаляем все WAN соединения. В разделе настройки LAN, DHCP сервер выставляем в режим «Запретить».
Всё, теперь мы имеем один маршрутизатор с настроенным интернетом и DHCP сервером, а также устройство, работающее в режиме точки доступа.
На обоих устройствах необходимо сделать одинаковый SSID. Я назвал свою тестовую сеть «Roaming».
Теперь в web-интерфейсе в левой части ищем пункт «Wi-Fi», жмем на него и выпавшем списке выбираем пункт «Роуминг». Жмем его и в правой части экрана передвигаем ползунок вправо.
Важные настройки.
Минимальный уровень сигнала. Уровень сигнала клиента. При этом значении сигнала наша точка будет начнет опрашивать соседей на предмет того, кто лучше видит этого клиента.
«Мертвая» зона (от -50% до 50%). Уровень сигнала клиента на другой точке относительно уровня сигнала на текущей.
Пример. Минимальный уровень сигнала 70%. Мертвая зона 10%. Если уровень сигнала достигнет 70%, активная точка начнет опрос соседей «Кто видит этого клиента? Какой у него уровень сигнала?». Соседи отзываются: «Я вижу. Уровень 75%». Это попадание в мертвую зону.
Переключения не произойдет. Второй скажет «Я вижу. Уровень 90%». Это за пределами мертвой зоны. Активная точка сбросит соединение с клиентом. Вторая его подхватит. Эти настройки придуманы, видимо для того, чтобы клиент не прыгал постоянно между точками. Этими параметрами нужно поиграть в вашей конкретной сети.
С параметрами разобрались, повторяем настройку на втором устройстве. Теперь всё сделано согласно рекомендациям D-Link. Надо бы протестировать.
И тут до меня дошло, что для теста мне необходимо разнести точки на расстояние, когда клиент будет видеть обе точки, но при этом падение уровня сигнала будет значительным для срабатывания функции. Метров, эдак, 40-50. К сожалению, я не олигарх и у меня нет своего замка. К счастью, в ящике стола нашлась фольга. Покупка замка была отложена до лучших времён. Из фольги соорудил шапочку, которой накрывал точку доступа. С шапочкой дела пошли получше, мощность сигнала снижалась практически до границы видимости. Соответственно, и клиента эта точка видела очень плохо.
Сформировался следующий план испытаний:
1. Растащить обе точки максимально далеко. Получилось порядка 5 метров со стеной между ними.
2. Встать рядом с одной из них, присоединиться к тестовой сети. Клиент подключится к ближайшей точке, поскольку у неё сигнал лучше.
3. Потом двинуться ко второй точке. Для гарантии, активную накрыть шапочкой из фольги.
4. Переключение клиента отслеживать через web-интерфейс точек.
В общем, всё прошло по плану. Видимо потому, что это была 5 версия плана. Клиент цеплялся к точке с наилучшим сигналом. «Убитая» точка отбрасывала клиента, как и положено.
На этом можно было бы и закончить, заявленный функционал работает, клиент послушно прыгает от точки к точке. Переход происходит быстро.
Но насколько быстро? И хватит ли этого «быстро» для обеспечения непрерывного сервиса при передвижении в зоне действия всей сети? Поскольку цифры скорости переключения для меня, как для пользователя мало информативны, я решил протестировать, как будет вести себя сессия например, видеоконференции, при переключении между точками. План созрел такой:
1. Беру свой рабочий сервис ВКС. 2 аккаунта, один на ноутбуке, второй – на телефоне. Для чистоты эксперимента, ноутбук цепляю к рабочей сети, чтобы видео-поток шел не внутри одной Wi-Fi сети, а через провайдерские линии. Телефон цепляю к тестовой сети.
2. Звоню с телефона на ноутбук.
3. С телефоном ухожу ко второй точке, накрывая первую шапочкой из фольги. И слежу за качеством и наличием связи.
4. Потом контролирую через web-интерфейс факт переключения телефона между точками.
Результаты таковы. Прерывания связи не было, от слова вообще. Был момент возникновения артефакта на картинке и щелчок в звуке, предполагаю, что в момент переключения. Телефон, как и ожидалось, переключился на вторую точку.
Естественно, есть в моей программе тестирования ряд недостатков. Например, в тестовой сети было всего 2 клиента. Я не устраивал стресс-тестирование для определения максимальной скорости передвижения клиента без обрыва связи, просто ходил пешком. Я не знаю, как будут работать другие потоковые сервисы. Интересно было бы протестировать работу функции в разных подсетях (по заверениям производителя работать будет), но лень.
В качестве резюме.
1. Считаю, что функция вполне годная, по крайней мере при скромном бюджете и небольших масштабах.
2. Список поддерживаемых устройств достойный, есть в нем и AC устройства, компания обещает этот список расширять.
3. Человеку в D-Link, который писал инструкцию по настройке, я бы что-нибудь оборвал.
Комментарии (49)
dmitry_ch
30.12.2016 14:13Если бы это еще был не D-Link!
А то функция отличная по идее своей, но она нужна там, где есть и площади, и много пользователей. В таком месте еще сильнее хочется надеяться, что AP будет работать надежно и всегда. А с D-Link-ом на это надеяться, увы, трудно.ksopt
30.12.2016 18:49Согласен. Но мне кажется что функционал больше для квартиры/дачи подходит. В офисе я бы очень сильно подумал, особенно для сегмента топ-менеджеров.
Ambroyz
30.12.2016 14:19+1Анонсируется фича — принудительное переключение клиента, вместо добровольного. Не увидел в тестах доказательств, что переключала именно точка, а не сам клиент прыгал на новую точку. Было бы интересно увидеть снифы беспроводного трафика в момент переключения. Как именно точка заставляет клиента быстро переключиться? Отключает через дизассоциацию и не даёт вновь проассоциироваться? Как реально работает то, что вы описываете?
В текущем состоянии статья больше похожа на маркетинговый анонс, чем на техническую статью.ksopt
30.12.2016 14:29Честно говоря, я не особенно понимаю как оно работает)))) Предполагаю, что клиента дизассоциируют, и не дают вновь подключиться. Клиент, естественно сам прыгает, просто активная точка не позволяет клиенту подключиться обратно. В настройках есть задержка, которая (мои фантазии), наверно, отвечает за задержку переподключения к этой же точке.
Была задача заставить работать функционал и поглядеть как оно настраивается. Задача выполнена. Вообще, смысл функции именно заставить автоматически переключиться на ближайшую точку. Полнофункциональный роуминг, похоже, вообще случайный эффект.
Снифы есть в плане, но уже после праздников.
overcrook
30.12.2016 18:49Скажем так, если дело дошло до того, что клиент сам не догадался переключиться на другую ТД, тогда алгоритм сработает и перекинет его принудительно. Вполне возможно, что в данном случае это было по инициативе клиента, но в этом ничего плохого нет.
Алгоритм примерно так и работает — он дисассоциирует клиента, но в него не заложена блокировка подключения клиента к старой точке, т.к. это нерационально (клиент выбирает лучшую точку исходя из своего собственного скана сети).
Тут просто вот в чем суть: уже существует множество реализаций автоматического перехода между точками, которые используются беспроводными клиентами. Когда роуминг происходит по инициативе клиента, все гут — драйвер вайфая у клиента реализует этот переход максимально гладко, чтобы время реконнекта было минимальным — к примеру, он заранее сканирует сети, пока еще подключен к точке. Когда же его жестко кикают — у него нет выхода, кроме как проводить полный скан перед коннектом, что может занимать долгое время.
Считайте, что эта фича больше не для самого роуминга, а для обеспечения хорошего покрытия в сети.ksopt
30.12.2016 19:00Да, полностью согласен. Это не роуминг. Полноценный роуминг, кторый у меня получился — это недокументированный эффект (свободные каналы, мало клиентов, точки близко, может быть особенности нашего сервиса ВКС). Роуминг — не ключевое слово. Это не реализация 802.11r. Это функционал передачи клиента между точкам для обеспечения ровного покрытия. Но в моем случае оно сработало как полноценный роуминг))).
Давайте свои варианты тестов — я попробую и отпишусь.
ksopt
30.12.2016 19:06Не внимательно прочитал. Это не функция клиента. Это функция точки. Клиенты у меня IOS 10 (заводской), Windows 10, Android kitkat. Насколько я знаю, apple не умеет сам бросать точку.
arcman
01.01.2017 20:20Нет, iPhone сам переключается когда сигнал падает ниже -70 дб. Это документировано.
ksopt
01.01.2017 20:26Конечно сам. Но вот только если он подцеплен к точке с сигналом -65 дб, он будет на ней до упора сидеть. Даже если в зоне видимости будет точка -40 дб. Плюс не забывайте, что мощность сигнала точки — это одно, а мощность передатчика клиента — совсем другое. Клиент может видеть точку хорошо, а точка клиента — не очень. Описанный механизм работает именно с уровнем сигнала клиента, что позволяет нивелировать разницу между мощностью передачи ноутбука и, например телефона.
Ambroyz
30.12.2016 21:20То что Вы описали со стороны клиента верно, понятно и работает очень давно как классическая схема выбора точки доступа.
Тут речь про влияние точки доступа на стандартные реализации клиентских wifi стеков, чтобы перераспределить клиентов. В статье озвучивалась проблема точки доступа: как скинуть с себя медленного клиента, чтобы он не тормозил других. Если просто сделать дизассоциацию и позволить обратно подключаться, то клиент может опять подключиться к той же точке, т.к. сигнал к ней будет наиболее сильным, хотя рядом есть другая точка у которой сигнал чуть меньше, но нет ни одного клиента.
Поэтому я подозреваю наличие какого-то интересного алгоритма на группе точек доступа, который позволяет обмануть алгоритм выбора точки на клиенте так, как это хочет группа точек.
utya
30.12.2016 14:44Знаете после первого абзаца, я уже решился купить dir-300)) но вспомнил это же dlink. Подождём, может другие производители сделают чё-то похожее
beho1der
30.12.2016 16:19В Mikrotik данный функционал вроде около года есть.
utya
30.12.2016 20:11Mikrtotik да знаю, но там же думать надо. А хочется как обыватель включил, галочку поставил и всё, оно там само чёто делает, фигачит. Вообщем среди всяких zyxel, trendnet и т.д.
ksopt
30.12.2016 20:22+1Во, у меня так же))) Смешанные чувства, вроде настроил за 5 минут, работает, но блин набегут с комментами, всю идею испортят)))
DaemonGloom
30.12.2016 21:19А это вам к UniFi. Там контроллер устанавливаете на компьютер, настраиваете точки (настройки простые и удобные) и радуетесь роумингу. Компьютер можно выключить, всё будет работать и без него. Контроллер вам понадобится только когда захотите что-то перенастроить, либо посмотреть статистику.
yoshitoshi
04.01.2017 03:25Ubiquiti UniFi
+ «Во-первых, это красиво» :-)
+ Контроллер нужен только для настройки
+ Стрессоустойчивость
+ Масса полезных плюшек
Единственное, малость дороговат для дома. Но, с другой стороны, если вы хотите решение из серии «настроил и забыл» для качественного покрытия сложной площади, это — лучшее решение!
ev1ua1
30.12.2016 19:00Очень жаль что в списке поддерживаемых устройств вообще нет ни одной АР. А ведь прошло уже больше полгода как эта технология заработала (например 20160318_1825_DIR_615AA1A_2.5.14_sdk-master).
И мне кажется нет шансов, что эта технология заработает с АР TL-WA701/801/901ND, которые мы накупили, потомучто они дешевле делинковских…ksopt
30.12.2016 19:02Это не реализация ратифицированного стандарта. В чисто виде проприетарщина. Шансов что заработает с TL нет. Только если они свою реализацию напишут.
ksopt
30.12.2016 19:20Друзья, напишите, что бы вы хотели увидеть в тестах, либо предоставьте результаты своих тестов. Я первый раз пишу тьют, возможно не совсем оправдал ваши ожидания. Свои-то я оправдал — настроил, протестировал на интересные мне функции, получил результат, поделился с вами. Но видимо, не совсем то, что ожидаете вы. И, очевидно, что я не все подводные камни увидел, будет интересно ваше мнение.
На текущий момент — нужны снифы эфира, замеры скорости в идеальных условиях. Что-то ещё? Пока есть собранная сеть и время (числа до 15 января), могу реализовать ваши самые бурные фантазии.
За сим откланиваюсь, всех с наступающим. Я пошел пить.ckpom
01.01.2017 20:15Статья, по моему скромному мнению, странная, тупо описывающая новую фичу прошивки длинка, автор пишет у него настроенная сеть — 2 ТД и 1 клиент… хмм, напишите про бесшовное покрытие на опенврт — будет и нужнее и интереснее.
ksopt
01.01.2017 20:20Сеть тестовая. Клиентов 2, можно больше, но у меня техники ограниченное количество, поэтому жду коллег после праздников. Что касается наполнения статьи, мне кажется вы её не полностью прочитали. Тупое описание фичи — это до первой картинки. Потом как раз про настройку.
Ivanii
30.12.2016 19:24У Ubiquiti были похожие девайсы им контроллер требовался только для настройки, современным похоже контроллер нужен постоянно но он уже и на винде работает.
ksopt
30.12.2016 19:56С контроллером совсем другая картина должна быть. Сам хочу попробовать, у д-линка вроде в тест можно железо взять, но это будет совсем другая история. И вообще, я вроде праздновать ушел, чего и вам желаю)))
PrSoldi
01.01.2017 20:28Не нужен им постоянно контроллер, настроил и убрал его. У самого работает система так больше года, в том числе после потерь энергоснабжения.
eka1939
01.01.2017 23:48На Cisco в режиме H-REAP/FlexConnect роуминг при отключенном контроллере работает. И трафик в нужный VLAN продолжает идти.
Могу ошибаться (мало пробовал, всего две точки было под рукой, да и те Long Range), на Unifi немного веселее:
— бесшовный роуминг будет работать только при включенном контроллере.
— если бесшовный роуминг выключить — будут разрывы связи на повторную аутенификацию.
yoshitoshi
04.01.2017 03:28Вся линейка UniFi AP может работать без контроллера, он нужен только для настройки.
Хотя, с ним, безусловно, веселее. Контроллер можно поставить на Windows, Mac OS X, Linux.
Или прикупить железный контроллер Cloud Key — очень удобная штука, я в офисе поставил.
ValdikSS
01.01.2017 02:09Ну наконец-то это кто-то реализовал в интерфейсах So-Ho-маршрутизаторов. В Hostapt это уже чуть ли не пять лет можно настроить.
eka1939
01.01.2017 20:29Берем в нужном количестве Cisco air-cap3502i-a-k9 (15-20 долларов без доставки). Ставим триальную версию WLC, настраиваем. После настройки контроллер можно погасить. Точки работают, роуминг работает. Настройка описана Антоном Винокуровым подробнее некуда. Плюсы данного решения — два диапазона, оборудование не DLINK, шесть антенн в точке (есть вариант с внешними). Минусы — нужен switch или роутер с POE (48 вольт) или блоки питания на каждую точку. Решение опробовано, тремя точками закрыт весь автосервис + площадка для машин ( 100*100 метров).
Одна из статей про настройку — https://habrahabr.ru/post/169511/ksopt
01.01.2017 20:33Ээээ. Aironet за 15-20 долларов? Пара нулей нигде не потерялось? Нет, если конечно есть Cisco за такие деньги, остается только порадоваться и строить на них. Потому что за 1500-1700 долларов (насколько я в курсе их цен) — это 10-12 enterprise точек D-link c контроллером с рое.
eka1939
01.01.2017 23:11Нигде ничего не потерялось. Откройте EBAY и посмотрите. Я брал достаточно современные точки 3500 серии, самые интересные по соотношению цена/характеристики. Серия 2600 интереснее (450Мбит), но значительно дороже и меньше предложений. Серия 3700 и 3600 тоже интересны, но дорогие, и для поддержки АС в 3600 нужен дополнительный модуль.
Для сомневающихся, вот мои покупки:
Квитанции
80211
05.01.2017 11:55И как? Сколько они у вас уже работают? С контроллером или автономные? Неисправностей не было?
xomiakba
На скринах интерфейс 615 длинка или 300?
Не узнаю интерфейс, это они так изменились за последнее время?
ksopt
Оба. Видимо новый унифицированный интерфейс. В прошивке 3.0.0 web-интерфейс обоих устройств идентичен.
xomiakba
Есть еще корыстный вопрос — на 300-м скорость по кабелю/вафле мерели?
У меня был такой, но ушел на полку из-за того что по кабелю давал максимум 20 Мбит/с, что очень печалило на тарифе в 100 Мбит/с.
А тут появилось желание сдуть с него пыль и прошить, больно интересные скрины у вас.
D_T
300-х выпускалось несколько подвидов. Внешне одинаковы но с разным железом внутри. Случайно наступил на эти грабли, когда купил такой домой. На работе был внешне такой же, сравнение показало что старый отлично держит скорость vpn с провайдером, а новый тупит. Только потом вычитал в инете что надо еще смотреть модель.
Порешалось тем что перешел в режим со статическим IP, благо провайдер позволял.
lehha
да, openwrt вам поможет. dir-300 5 летней давности просто ожил на vpn'е, плюс всякие фишки (openvpn, etc)
AndreyUA
Openwrt и ddwrt не панацея. В них нет поддержки hardware nat. Это справедливо для RT/MT чипов, то есть ревизий B. Сейчас они, вроде бы, на базе realtek. Но, в любом случае, без аппаратных плюшек, которые wrt вряд ли поддерживает, ничего выдающегося из подобных железок не получить. У длинка никогда не было нормальных прошивок, они не заморачиваются и берут SDK почти без изменений. Прошивки, которые действительно позволяют нормально пользоваться железкой:
Прошивка Padavan https://bitbucket.org/padavan/rt-n56u для Ralink RT3883, Mediatek MT7620\MT7621\MT7628
Прошивки NDMS для роутеров zyxel keenetic https://github.com/ndmsystems https://forum.keenetic.net/
wive-ng(mt) http://wive-ng.sourceforge.net/ для роутеров на базе ralink(mediatek) чипов
Ну и прошивка от «энтузиастов» для роутеров asus на базе broadcom https://github.com/wl500g/wl500g
AndreyUA
Кстати, что-то подобное есть у WIVE-ТМ и железки у нага по нормальной цене.
xRay
Аналогичную проблему (деградация скорости по кабелю) наблюдал на D-link 825. Перешел на OpenWrt и проблема исчезла.
ksopt
Меряли, но не показательно. В округе 12 сетей, причем 3 с пересекающимися каналами. По кабелю 100 даёт. Нужно в праздники/на даче посмотреть.