Роумінг у Wi-Fi мережах без використання контролера

Днями попалася мені в розсилці новин така новина від компанії D-Link. Власне короткий виклад новин такий. Компанія D-Link для деяких своїх Wi-Fi маршрутизаторів випустила прошивку з функціоналом, який невибагливо назвали «Інтелектуальний розподіл Wi-Fi клієнтів». Суть у цьому, що у мережі з кількох маршрутизаторів, з'єднаних і настроєних певним чином, Wi-Fi клієнта змушують підключатися до маршрутизатору з найкращим рівнем сигналу.

1. ТД знижує швидкість передачі, щоб підлаштуватися під найслабшого клієнта. 2. ТД не знижує швидкість передачі, клієнт і ТД продовжують мовити, частина пакетів втрачається, йде повторна передача, виникає величезна кількість службового трафіку, який забиває ефір.

У кожному разі, знижується швидкість передачі всім клієнтів цієї ТД. Якщо інші клієнти намагаються тим часом побалакати по скайпу, то їм це навряд чи вдасться.

Єдиний вихід - відключити цього слабкого клієнта, або перевести його на іншу ТД з більш сильним сигналом. Але проблема в тому, що рішення про підключення до ТД приймає лише клієнт, а не точка доступу. Тому необхідний механізм примусового відключення цього клієнта і перемикання його в іншу ТД (якщо є). І виходячи з тексту новини, саме цей механізм D-Link нам і пропонує. Точка доступу, яка тримає клієнта, опитує точки у своїй мережі щодо більш високого рівня сигналу від «слабкого» клієнта. І якщо такі точки є, скидає з'єднання зі «слабким» клієнтом, змушуючи того переключитися.

За неймовірним збігом у мене є два пристрої зі списку підтримуваних: DIR-300 (який валявся в шафі з підозрою на неробочий стан) і DIR-615A майже новий, небитий,незабарвлений. Обидва у гугл-дизайні (циліндричної форми, один чорний, інший білий).

Потрібно оновити прошивку до останньої. Де взяти останню версію прошивки? Можна піти на ftp.dlink.ru та спробувати там знайти вашу модель. Чесно кажучи, не найзручніший варіант, оскільки є купа папок з однаковими назвами. Тому я пішов на сайт dlink.ru, у розділі "продукти та рішення" знайшов свою модель. У вкладці «Завантаження» є список та опис прошивок. Вибрав останню і скачав. Залежно від поточної прошивки інтерфейс може змінюватися, тому процес перепрошивки показувати не буду, в інтернеті повно інструкцій.

Тепер потрібно вибрати, який із пристроїв буде працювати як маршрутизатор (отримувати та роздавати інтернет, виконувати роль DHCP сервера), а який як точка доступу (тільки забезпечуватиме підключення клієнта до Wi-Fi). З'єднуємо пристрої проводами згідно зі схемою.

wi-fi

wi-fi

Налаштовуємо WAN з'єднання на маршрутизаторі згідно з налаштуваннями вашого провайдера. На точках доступу видаляємо всі з'єднання WAN. У розділі налаштування LAN, сервер DHCP виставляємо в режим «Заборонити».

роумінг

Все, тепер маємо один маршрутизатор з налаштованим інтернетом і DHCP сервером, а також пристрій, що працює в режимі точки доступу.

На обох пристроях потрібно зробити однаковий SSID. Я назвав свою тестову мережу Roaming.

роумінг

Тепер у web-інтерфейсі в лівій частині шукаємо пункт «Wi-Fi», тиснемо на нього і списку, що випав, вибираємо пункт «Роумінг». Тиснемо його і в правій частині екрана пересуваємо повзунок вправо.

wi-fi

Мінімальний рівень сигналу. Рівень сигналуклієнта. При цьому значенні сигналу наша точка почне опитувати сусідів щодо того, хто краще бачить цього клієнта.

wi-fi

"Мертва" зона (від -50% до 50%). Рівень сигналу клієнта в іншій точці щодо рівня сигналу на поточній.

приклад. Мінімальний рівень сигналу 70%. Мертва зона 10%. Якщо рівень сигналу сягне 70%, активна точка розпочне опитування сусідів «Хто бачить цього клієнта? Який у нього рівень сигналу? Сусіди озиваються: «Я бачу. Рівень 75%. Це попадання у мертву зону.

Перемикання не відбудеться. Другий скаже: «Я бачу. Рівень 90%. Це поза мертвої зони. Активна точка скине з'єднання із клієнтом. Друга його підхопить. Ці налаштування придумані, мабуть, щоб клієнт не стрибав постійно між точками. Цими параметрами потрібно пограти у конкретній мережі.

З параметрами розібралися, повторюємо налаштування на другому пристрої. Тепер все зроблено згідно з рекомендаціями D-Link. Треба протестувати.

І тут до мене дійшло, що для тесту мені необхідно рознести точки на відстань, коли клієнт бачитиме обидві точки, але при цьому падіння рівня сигналу буде значним для спрацьовування функції. Метрів, так, 40-50. На жаль, я не олігарх і я не маю свого замку. На щастя, у шухляді столу знайшлася фольга. Купівля замку була відкладена до найкращих часів. З фольги спорудив шапочку, якою накривав точку доступу. З шапочкою справи пішли краще, потужність сигналу знижувалася практично до межі видимості. Відповідно і клієнта ця точка бачила дуже погано.

Сформувався наступний план випробувань:

1. Розтягнути обидві точки максимально далеко. Вийшло близько 5 метрів зі стіною між ними. 2. Встати поряд з однією з них, приєднатися до тестової мережі. Клієнт підключиться до найближчої точки, оскільки у неї сигнал краще. 3. Потім рушити до другої точки. Для гарантії, активнунакрити шапочкою із фольги. 4. Перемикання клієнта відстежувати через веб-інтерфейс точок.

Загалом все пройшло за планом. Мабуть тому, що це була 5 версія плану. Клієнт чіплявся до точки з кращим сигналом. "Убита" точка відкидала клієнта, як і належить.

На цьому можна було б закінчити, заявлений функціонал працює, клієнт слухняно стрибає від точки до точки. Перехід відбувається швидко.

Результати такі. Переривання зв'язку був, від слова взагалі. Був момент виникнення артефакту на картинці та клацання в звуку, припускаю, що в момент перемикання. Телефон, як і очікувалося, перейшов на другу точку.

Звичайно, є в моїй програмі тестування ряд недоліків. Наприклад, у тестовій мережі було лише 2 клієнти. Я не влаштовував стрес-тестування для визначення максимальної швидкості пересування клієнта без урвища зв'язку, просто ходив пішки. Я не знаю, як працюватимуть інші потокові сервіси. Цікаво було б протестувати роботу функції в різних підмережах (за запевненнями виробника працюватиме), але ліньки.

Як резюме.

1. Вважаю, що функція цілком придатна, принаймні за скромного бюджету та невеликих масштабів. 2. Список пристроїв, що підтримуються, гідний, є в ньому і AC пристрої, компанія обіцяє цей список розширювати. 3. Людині в D-Link, яка писала інструкцію з налаштування, я б щось обірвав.

А у нас тут можна отримати грант на тестовий період Яндекс.Хмари. Варто лише у полі «секретний пароль» запровадити «Хабр»