На днях попалась мне в новостной рассылке такая новость от компании D-Link. Собственно краткое изложение новости таково. Компания D-Link для некоторых своих Wi-Fi маршрутизаторов выпустила прошивку с функционалом который непритязательно назвали «Интеллектуальное распределение Wi-Fi клиентов». Суть в том, что в сети из нескольких маршрутизаторов, соединенных и настроенных определенным образом, Wi-Fi клиента вынуждают подключаться к маршрутизатору с наилучшим уровнем сигнала.

Ничего не понятно, скажете вы.

Представим ситуацию, когда вы решили сделать у себя в квартире небольшую беспроводную сеть. Купили несколько дешевых маршрутизаторов (будем называть их далее для краткости ТД — точка доступа), назначили им одинаковый 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)


  1. xomiakba
    30.12.2016 12:38
    +1

    На скринах интерфейс 615 длинка или 300?
    Не узнаю интерфейс, это они так изменились за последнее время?


    1. ksopt
      30.12.2016 12:52

      Оба. Видимо новый унифицированный интерфейс. В прошивке 3.0.0 web-интерфейс обоих устройств идентичен.


      1. xomiakba
        30.12.2016 15:19

        Есть еще корыстный вопрос — на 300-м скорость по кабелю/вафле мерели?

        У меня был такой, но ушел на полку из-за того что по кабелю давал максимум 20 Мбит/с, что очень печалило на тарифе в 100 Мбит/с.

        А тут появилось желание сдуть с него пыль и прошить, больно интересные скрины у вас.


        1. D_T
          30.12.2016 15:48

          300-х выпускалось несколько подвидов. Внешне одинаковы но с разным железом внутри. Случайно наступил на эти грабли, когда купил такой домой. На работе был внешне такой же, сравнение показало что старый отлично держит скорость vpn с провайдером, а новый тупит. Только потом вычитал в инете что надо еще смотреть модель.
          Порешалось тем что перешел в режим со статическим IP, благо провайдер позволял.


          1. lehha
            30.12.2016 18:05

            да, openwrt вам поможет. dir-300 5 летней давности просто ожил на vpn'е, плюс всякие фишки (openvpn, etc)


            1. AndreyUA
              05.01.2017 11:45

              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


              1. AndreyUA
                06.01.2017 00:05

                Кстати, что-то подобное есть у WIVE-ТМ и железки у нага по нормальной цене.


        1. xRay
          30.12.2016 16:05

          Аналогичную проблему (деградация скорости по кабелю) наблюдал на D-link 825. Перешел на OpenWrt и проблема исчезла.


        1. ksopt
          30.12.2016 18:47

          Меряли, но не показательно. В округе 12 сетей, причем 3 с пересекающимися каналами. По кабелю 100 даёт. Нужно в праздники/на даче посмотреть.


  1. dmitry_ch
    30.12.2016 14:13

    Если бы это еще был не D-Link!

    А то функция отличная по идее своей, но она нужна там, где есть и площади, и много пользователей. В таком месте еще сильнее хочется надеяться, что AP будет работать надежно и всегда. А с D-Link-ом на это надеяться, увы, трудно.


    1. ksopt
      30.12.2016 18:49

      Согласен. Но мне кажется что функционал больше для квартиры/дачи подходит. В офисе я бы очень сильно подумал, особенно для сегмента топ-менеджеров.


  1. Ambroyz
    30.12.2016 14:19
    +1

    Анонсируется фича — принудительное переключение клиента, вместо добровольного. Не увидел в тестах доказательств, что переключала именно точка, а не сам клиент прыгал на новую точку. Было бы интересно увидеть снифы беспроводного трафика в момент переключения. Как именно точка заставляет клиента быстро переключиться? Отключает через дизассоциацию и не даёт вновь проассоциироваться? Как реально работает то, что вы описываете?
    В текущем состоянии статья больше похожа на маркетинговый анонс, чем на техническую статью.


    1. ksopt
      30.12.2016 14:29

      Честно говоря, я не особенно понимаю как оно работает)))) Предполагаю, что клиента дизассоциируют, и не дают вновь подключиться. Клиент, естественно сам прыгает, просто активная точка не позволяет клиенту подключиться обратно. В настройках есть задержка, которая (мои фантазии), наверно, отвечает за задержку переподключения к этой же точке.
      Была задача заставить работать функционал и поглядеть как оно настраивается. Задача выполнена. Вообще, смысл функции именно заставить автоматически переключиться на ближайшую точку. Полнофункциональный роуминг, похоже, вообще случайный эффект.
      Снифы есть в плане, но уже после праздников.


    1. overcrook
      30.12.2016 18:49

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

      Тут просто вот в чем суть: уже существует множество реализаций автоматического перехода между точками, которые используются беспроводными клиентами. Когда роуминг происходит по инициативе клиента, все гут — драйвер вайфая у клиента реализует этот переход максимально гладко, чтобы время реконнекта было минимальным — к примеру, он заранее сканирует сети, пока еще подключен к точке. Когда же его жестко кикают — у него нет выхода, кроме как проводить полный скан перед коннектом, что может занимать долгое время.

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


      1. ksopt
        30.12.2016 19:00

        Да, полностью согласен. Это не роуминг. Полноценный роуминг, кторый у меня получился — это недокументированный эффект (свободные каналы, мало клиентов, точки близко, может быть особенности нашего сервиса ВКС). Роуминг — не ключевое слово. Это не реализация 802.11r. Это функционал передачи клиента между точкам для обеспечения ровного покрытия. Но в моем случае оно сработало как полноценный роуминг))).
        Давайте свои варианты тестов — я попробую и отпишусь.


      1. ksopt
        30.12.2016 19:06

        Не внимательно прочитал. Это не функция клиента. Это функция точки. Клиенты у меня IOS 10 (заводской), Windows 10, Android kitkat. Насколько я знаю, apple не умеет сам бросать точку.


        1. arcman
          01.01.2017 20:20

          Нет, iPhone сам переключается когда сигнал падает ниже -70 дб. Это документировано.


          1. ksopt
            01.01.2017 20:26

            Конечно сам. Но вот только если он подцеплен к точке с сигналом -65 дб, он будет на ней до упора сидеть. Даже если в зоне видимости будет точка -40 дб. Плюс не забывайте, что мощность сигнала точки — это одно, а мощность передатчика клиента — совсем другое. Клиент может видеть точку хорошо, а точка клиента — не очень. Описанный механизм работает именно с уровнем сигнала клиента, что позволяет нивелировать разницу между мощностью передачи ноутбука и, например телефона.


      1. Ambroyz
        30.12.2016 21:20

        То что Вы описали со стороны клиента верно, понятно и работает очень давно как классическая схема выбора точки доступа.
        Тут речь про влияние точки доступа на стандартные реализации клиентских wifi стеков, чтобы перераспределить клиентов. В статье озвучивалась проблема точки доступа: как скинуть с себя медленного клиента, чтобы он не тормозил других. Если просто сделать дизассоциацию и позволить обратно подключаться, то клиент может опять подключиться к той же точке, т.к. сигнал к ней будет наиболее сильным, хотя рядом есть другая точка у которой сигнал чуть меньше, но нет ни одного клиента.
        Поэтому я подозреваю наличие какого-то интересного алгоритма на группе точек доступа, который позволяет обмануть алгоритм выбора точки на клиенте так, как это хочет группа точек.


  1. utya
    30.12.2016 14:44

    Знаете после первого абзаца, я уже решился купить dir-300)) но вспомнил это же dlink. Подождём, может другие производители сделают чё-то похожее


    1. beho1der
      30.12.2016 16:19

      В Mikrotik данный функционал вроде около года есть.


      1. G3kas
        30.12.2016 17:08

        CAPsMAN


        1. avelor
          30.12.2016 19:00

          это как раз с контроллером:)
          без контроллера — только если mesh городить.


          1. vviz
            05.01.2017 11:48

            Mikrotik
            Wireless->Access List
            Никак не связано с CAPsMAN. Существует уже доволно давно.


      1. utya
        30.12.2016 20:11

        Mikrtotik да знаю, но там же думать надо. А хочется как обыватель включил, галочку поставил и всё, оно там само чёто делает, фигачит. Вообщем среди всяких zyxel, trendnet и т.д.


        1. ksopt
          30.12.2016 20:22
          +1

          Во, у меня так же))) Смешанные чувства, вроде настроил за 5 минут, работает, но блин набегут с комментами, всю идею испортят)))


        1. DaemonGloom
          30.12.2016 21:19

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


          1. Ghool
            01.01.2017 19:39

            Вроде для роуминга тоже контроллер нужен


    1. ksopt
      30.12.2016 19:03

      У меня дома Huawei. Тоже жду.


    1. yoshitoshi
      04.01.2017 03:25

      Ubiquiti UniFi
      + «Во-первых, это красиво» :-)
      + Контроллер нужен только для настройки
      + Стрессоустойчивость
      + Масса полезных плюшек

      Единственное, малость дороговат для дома. Но, с другой стороны, если вы хотите решение из серии «настроил и забыл» для качественного покрытия сложной площади, это — лучшее решение!


  1. ev1ua1
    30.12.2016 19:00

    Очень жаль что в списке поддерживаемых устройств вообще нет ни одной АР. А ведь прошло уже больше полгода как эта технология заработала (например 20160318_1825_DIR_615AA1A_2.5.14_sdk-master).
    И мне кажется нет шансов, что эта технология заработает с АР TL-WA701/801/901ND, которые мы накупили, потомучто они дешевле делинковских…


    1. ksopt
      30.12.2016 19:02

      Это не реализация ратифицированного стандарта. В чисто виде проприетарщина. Шансов что заработает с TL нет. Только если они свою реализацию напишут.


  1. ksopt
    30.12.2016 19:20

    Друзья, напишите, что бы вы хотели увидеть в тестах, либо предоставьте результаты своих тестов. Я первый раз пишу тьют, возможно не совсем оправдал ваши ожидания. Свои-то я оправдал — настроил, протестировал на интересные мне функции, получил результат, поделился с вами. Но видимо, не совсем то, что ожидаете вы. И, очевидно, что я не все подводные камни увидел, будет интересно ваше мнение.
    На текущий момент — нужны снифы эфира, замеры скорости в идеальных условиях. Что-то ещё? Пока есть собранная сеть и время (числа до 15 января), могу реализовать ваши самые бурные фантазии.
    За сим откланиваюсь, всех с наступающим. Я пошел пить.


    1. ckpom
      01.01.2017 20:15

      Статья, по моему скромному мнению, странная, тупо описывающая новую фичу прошивки длинка, автор пишет у него настроенная сеть — 2 ТД и 1 клиент… хмм, напишите про бесшовное покрытие на опенврт — будет и нужнее и интереснее.


      1. ksopt
        01.01.2017 20:20

        Сеть тестовая. Клиентов 2, можно больше, но у меня техники ограниченное количество, поэтому жду коллег после праздников. Что касается наполнения статьи, мне кажется вы её не полностью прочитали. Тупое описание фичи — это до первой картинки. Потом как раз про настройку.


  1. Ivanii
    30.12.2016 19:24

    У Ubiquiti были похожие девайсы им контроллер требовался только для настройки, современным похоже контроллер нужен постоянно но он уже и на винде работает.


    1. ksopt
      30.12.2016 19:56

      С контроллером совсем другая картина должна быть. Сам хочу попробовать, у д-линка вроде в тест можно железо взять, но это будет совсем другая история. И вообще, я вроде праздновать ушел, чего и вам желаю)))


    1. PrSoldi
      01.01.2017 20:28

      Не нужен им постоянно контроллер, настроил и убрал его. У самого работает система так больше года, в том числе после потерь энергоснабжения.


      1. eka1939
        01.01.2017 23:48

        На Cisco в режиме H-REAP/FlexConnect роуминг при отключенном контроллере работает. И трафик в нужный VLAN продолжает идти.

        Могу ошибаться (мало пробовал, всего две точки было под рукой, да и те Long Range), на Unifi немного веселее:

        — бесшовный роуминг будет работать только при включенном контроллере.
        — если бесшовный роуминг выключить — будут разрывы связи на повторную аутенификацию.


    1. yoshitoshi
      04.01.2017 03:28

      Вся линейка UniFi AP может работать без контроллера, он нужен только для настройки.
      Хотя, с ним, безусловно, веселее. Контроллер можно поставить на Windows, Mac OS X, Linux.
      Или прикупить железный контроллер Cloud Key — очень удобная штука, я в офисе поставил.


  1. ValdikSS
    01.01.2017 02:09

    Ну наконец-то это кто-то реализовал в интерфейсах So-Ho-маршрутизаторов. В Hostapt это уже чуть ли не пять лет можно настроить.


    1. eka1939
      01.01.2017 23:56

      Только уровень настройщика должен быть соответствующий.


      1. ValdikSS
        01.01.2017 23:57

        Увы, это правда. Пойти сделать патч для веб-интерфейса OpenWRT, что ли.


        1. eka1939
          02.01.2017 14:24

          Идея хороша, а FAST Roaming будет в патче? И мы все побежим покупать TP-LINK...


  1. 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/


    1. ksopt
      01.01.2017 20:33

      Ээээ. Aironet за 15-20 долларов? Пара нулей нигде не потерялось? Нет, если конечно есть Cisco за такие деньги, остается только порадоваться и строить на них. Потому что за 1500-1700 долларов (насколько я в курсе их цен) — это 10-12 enterprise точек D-link c контроллером с рое.


      1. eka1939
        01.01.2017 23:11

        Нигде ничего не потерялось. Откройте EBAY и посмотрите. Я брал достаточно современные точки 3500 серии, самые интересные по соотношению цена/характеристики. Серия 2600 интереснее (450Мбит), но значительно дороже и меньше предложений. Серия 3700 и 3600 тоже интересны, но дорогие, и для поддержки АС в 3600 нужен дополнительный модуль.

        Для сомневающихся, вот мои покупки:

        Квитанции







        1. 80211
          05.01.2017 11:55

          И как? Сколько они у вас уже работают? С контроллером или автономные? Неисправностей не было?


      1. eka1939
        01.01.2017 23:20

        И не просто Aironet, технология CleanAir в этих точках уже присутствует.