LINUX.ORG.RU

История изменений

Исправление nickleiten, (текущая версия) :

Потому что, все эти 802.11r/k/v и т.д. носят исключительно optional (на выбор производителя) характер, а не mandatory (обязательный к исполнению). Плюс ко всему, они описывают поведение клиентов и точек доступа, но главное решение о переключении между точками доступа всегда принимает клиентское устройство. А это значит, что для полноценной работы, нужно в каждом клиентском драйвере для каждого чипа реализовать адекватную логику, с чем производители не заморачиваются, т.к. они считают местом использования вай-фай исключительно в пределах квартиры/дома/кафе, где хватает покрытия одной точкой доступа.

В GSM и более поздних стандартах сотовых сетей, решение о роуминге принимается базовой станцией и там всё работает более менее нормально.

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

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

ЗЫ. И WDS в данном случае - это не технология роуминга, а механизм интерконнекта между точками доступа, с использованием wds добавляется 4-й MAC-адрес во фреймы для точной индикации, с какой точки доступа клиентский фрейм пришёл, ну и в обратном направлении так же. Грубо говоря, wds всего-лишь позволяет построить полноценный прозрачный L2 сегмент для приёмо-передачи данных, т.к. изначально 802.11 в режиме инфраструктура (точка-доступа и станции) не позволял клиенту менять свой MAC-адрес, т.к. он является не только адресом, но и идентификатором в беспроводной сети. То есть точка доступа по MAC-адресу клиента определяет, обрабатывать фрейм или нет, другими словами, есть такой MAC в списке подключённых или нет. Именно поэтому нельзя в бридж запихнуть wlan0 интерфейс в managed mode. То есть можно, но работать не будет, без некого подобия NAT на L2 уровне (раньше в точках доступа и роутерах даже переключалка был nat2.5 для такого использования), такое можно сделать средствами ebtables, или как они его там сейчас называют.

Исходная версия nickleiten, :

Потому что, все эти 802.11r/k/v и т.д. носят исключительно optional (на выбор производителя) характер, а не mandatory (обязательный к исполнению). Плюс ко всему, они описывают поведение клиентов и точек доступа, но главное решение о переключении между точками доступа всегда принимает клиентское устройство. А это значит, что для полноценной работы, нужно в каждом клиентском драйвере для каждого чипа реализовать адекватную логику, с чем производители не заморачиваются, т.к. они считают местом использования вай-фай исключительно в пределах квартиры/дома/кафе, где хватает покрытия одной точкой доступа.

В GSM и более поздни стандартах сотовых сетей, решение о роуминге принимается базовой станцией и там всё работает более менее нормально.

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

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

ЗЫ. И WDS в данном случае - это не технология роуминга, а механизм интерконнекта между точками доступа, с использованием wds добавляется 4-й MAC-адрес во фреймы для точной индикации, с какой точки доступа клиентский фрейм пришёл, ну и в обратном направлении так же. Грубо говоря, wds всего-лишь позволяет построить полноценный прозрачный L2 сегмент для приёмо-передачи данных, т.к. изначально 802.11 в режиме инфраструктура (точка-доступа и станции) не позволял клиенту менять свой MAC-адрес, т.к. он является не только адресом, а и идентификатором в беспроводной сети. То есть точка доступа по MAC-адресу клиента определяет, обрабатывать фрейм или нет, другими словами, есть такой MAC в списке подключённых или нет. Именно поэтому нельзя в бридж запихнуть wlan0 интерфейс в managed mode. То есть можно, но работать не будет, без некого подобия NAT на L2 уровне (раньше в точках доступа и роутерах даже переключалка был nat2.5 для такого использования).