Съжалявам за спама, исках да отговоря директно на Петко

On Wednesday, 24 August 2016, Svilen Ivanov <svilen.iva...@gmail.com> wrote:

> Respec!!!
>
> On Tuesday, 23 August 2016, Petko Bordjukov <bordju...@gmail.com
> <javascript:_e(%7B%7D,'cvml','bordju...@gmail.com');>> wrote:
>
>> Утро,
>>
>> 1. Въведение
>>
>> 1.1. Ключови думи
>>
>> Терминологията, която ще използвам, е следната:
>>
>> * STA (станция) – клиент на дадена безжична мрежа.
>> * BSS (basic service set), базово множество услуги – точка за достъп и
>> всичките
>>   ѝ клиенти.
>> * ESS (extended service set, разширено множество услуги) – няколко BSS-а,
>>   свързани чрез система за дистрибуция.
>> * DS (distribution system, система за дистрибуция) – системата, чрез която
>>   множество BSS-и са свързани в един ESS. Ще подразбирам Ethernet сегмент.
>> * Roaming (роуминг) – преминаване от един към друг BSS в един и същи ESS.
>> * Client steering (насочване на клиенти) – активно действие от страна на
>> точка
>>   за достъп, което кара клиент да се асоциира с определен BSS.
>> * Band steering (насочване към честотна лента) – като client steering,
>> само че
>>   насочва клиента към BSS в по-предпочитана честотна лента.
>>
>> 1.2. Стандартизация
>>
>> IEEE 802.11 стандартите изрично отбягват специфицирането на „настойчиви“
>> действия и логика от страна на точките за достъп, що се отнася за
>> насочване на
>> клиентите. С други думи, когато се говори за избор на BSS, с който да се
>> асоциира, топката е ИЗЦЯЛО в ръцете на STA имплементациите. Отказ от
>> асоциация,
>> на базата на друго, освен липса на правомощия за асоциация, е в разрез със
>> стандартите.
>>
>> Поправки на IEEE 802.11 с отношение към роуминг и насочване на клиенти –
>> IEEE
>> 802.11f (нестандартизиран), IEEE 802.11r, IEEE 802.11k, IEEE 802.11v, IEEE
>> 802.11ad.
>>
>> 2. Съществуващи имплементации на насочване на клиенти
>>
>> 2.1. Решения със затворен код
>>
>> Въпреки 1.2, почти всеки сериозен производител на Wi-Fi хардуер, има
>> собствена
>> имплементация на client и band steering. Няма да навлизам в детайли за
>> Cisco,
>> Aruba, UBNT, защото имплементациите им са затворени и нямам наблюдения
>> над тях,
>> освен за съществуването им.
>>
>> 2.2. hostapd
>>
>> В де-факто стандартната имплементация на точка за достъп за Linux
>> съществуват
>> имплементирани както стандартизирани, така и нестандартизирани методи за
>> насочване на клиенти.
>>
>> 2.2.1. Нестандартизирани подходи за насочване към честотна лента в
>> официалните
>>        версии на hostapd
>>
>> hostapd поддържа два подхода за насочване към честотна лента – отказ от
>> отговор
>> на probe request, ако даден клиент е бил забелязан на интерфейс в 5 ГХц
>> честотна
>> лента, или отказ от асоциация при същото условие[1]. И двата са доста
>> „непохватни“, защото не взимат предвид това дали клиентът не би имал
>> проблем при
>> свързването към BSS-а на другия банд.
>>
>> Важно е да се отбележи, че гореспоменатите два подхода могат да бъдат
>> използвани
>> само в случай, че една и съща инстанция на hostapd управлява всички
>> физически
>> интерфейси. Това е в разрез с текущата имплементация в OpenWrt и LEDE,
>> при която
>> за всеки физически интерфейс се стартира отделна инстанция на hostapd.
>> Въпросът
>> за изоставяне на сегашната имплементация беше отхвърлен от разработчиците
>> на
>> LEDE, защото би изискал сериозни промени в LEDE и ще направи системата
>> по-малко
>> отказоустойчива – при проблем с hostapd на един интерфейс, ще спре и
>> другия.
>>
>> Също така, не е имплементиран начин споменатите в [1] таблици от съседи
>> да бъдат
>> споделяни между отдалечени инстанции на hostapd. Това прави описаните в
>> [1]
>> подходи неприложими или поне непредвидими, при използване на повече от
>> едно
>> устройство в един ESS.
>>
>> 2.2.2. Нестандартизиран подход за насочване към честотна лента във форка
>> на
>>          hostapd на Google
>>
>> В доста информативна лекция по темата[2], служител на Google представи
>> собствената
>> им интелигентна имплементация[3] на band steering.
>>
>> Плюсовете на тази имплементация пред вече съществуващата в hostapd са:
>>
>>   * Взима предвид потенциални проблеми при свързване към BSS-а на 5 ГХц.
>>   * Предвидена е да бъде използвана в сценарий, при който отделна
>> инстанция на
>>     hostapd управлява всяки отделен физически интерфейс.
>>
>> За съжаление обаче е неизползваема в контекста на ESS с повече от една
>> точка за
>> достъп на отделни устройства.
>>
>> Бих бил много щастлив, ако някой се заеме и имплементира дистрибутиран
>> списък с
>> клиенти, с който да работи тази имплементация. Нужна ни е за Open Fest.
>>
>> 2.2.3. Насочване към честотна лента чрез специфицираните в IEEE 802.11ad
>>          инструменти
>>
>> IEEE 802.11ad въвежда промени, чиято цел е да улеснят избора на правилния
>> банд
>> от клиенти. В повече детайли – въвежда се MB (като multi-band)
>> информационен
>> елемент в beacon фреймовете на BSS-ите и метод за бързо прехвърляне на
>> клиентска
>> сесия между отделни BSS-и. В hostapd и wpa_supplicant от относително скоро
>> съществува имплементация и за двете, но е скрита за конфигурационен
>> флаг[4].
>>
>> Положителното на тази имплементация е, че е стандартизирана от IEEE, но
>> носи и
>> редица отрицателни характеристики:
>>
>>   * Изисква поддръжка от клиентска страна.
>>   * Нужно е една инстанция на hostapd да управлява всички физически
>> интерфейси
>>     (като при 2.2.1).
>>   * Нова е, неистествана е и преди всичко – не е активирана по
>> подразбиране.
>>
>> 2.2.4. Насочване на клиентите чрез средствата на IEEE 802.11r, k и v.
>>
>> От Cisco са описали по същество що е то Assisted Roaming чрез
>> използването на
>> горните стандарти[5]. Препоръчвам да прочетете статията за детайли.
>> Обобщено
>> обаче, идеята зад методите за улесняване на решенията за роуминг зад тези
>> поправки, е следната:
>>
>> Точките за достъп събират информация за използването на радио ефира както
>> от
>> станциите в обхвата им, така и на база на собствените си наблюдения. Тези
>> данни
>> се предоставят на всяка станция и се очаква имплементацията на всяка
>> станция да
>> вземе решение към кой BSS да се асоциира.
>>
>> В hostapd и wpa_supplicant изглежда съществуват поне частични
>> имплементации[6]. Предстои да ги проуча и тествам преди Open Fest.
>>
>> Огромният недостатък е, че е нужно клиентите да имплементират дадената
>> логика за
>> избор на BSS.
>>
>> 2.2.5. Насочване на клиентите чрез ограничаване на мощността на излъчване
>> на
>>        мрежовите карти на точките за достъп и избор на кодировки за висока
>>        производителност
>>
>> Най-изпитаният и най-широко съвместим метод за „поощряване“ на клиентите
>> да
>> преминат към друг BSS остава внимателното избиране на подходяща мощност на
>> излъчване от страна на точките за достъп. Това, комбинирано с
>> ограничаването на
>> basic rate-овете до 54Mbps исторически винаги е работило доста добре на
>> Open
>> Fest[9].
>>
>> 3. Особености при роуминг
>>
>> При преминаване от един BSS към друг в контекста на един и същи Ethernet
>> сегмент съществуват няколко особености, за които трябва да бъдат взети
>> мерки.
>>
>> 3.1. Обновяване на кеша на L2 устройствата в Ethernet сегмента
>>
>> Две точки за достъп могат да бъдат свързани чрез два различни порта на
>> суич или
>> дори чрез отделни суичове. Докато мигриралият от един към друг BSS клиент
>> не
>> изпрати фрейм, която да обнови кешовете на L2 устройствата в мрежата,
>> трафикът,
>> адресиран до него, ще продължи да бъде изпращан до предходната му точка за
>> достъп.
>>
>> В hostapd съществува частична имплементация на невлязлата в сила поправка
>> IEEE
>> 802.11f, която се грижи при свързване на нова станция да изпрати от нейно
>> име
>> LLC фрейм до целия Ethernet сегмент[7].
>>
>> С наскоро приет пач, IAPP имплементацията в hostapd вече работи и при
>> двубандови
>> точки за достъп[10][11].
>>
>> 3.2. Ускоряване на свързването с новия BSS
>>
>> IEEE 802.11r дефинира два подхода за ускоряване на свързването с BSS-а,
>> към
>> който даден клиент преминава. Това е нужно, защото началното ръкостискане
>> при
>> WPA и ОСОБЕНО при WPA Enterprise е доста времеемко.
>>
>> Двата подхода са preauthentication по въздуха и preauthentication по
>> системата
>> за дистрибуция. hostapd поддържа поне ft-over-ds[8] за WPA И за WPA
>> Enterprise.
>>
>> 4. Бъдещи имплементации
>>
>> На базата на проучването ми на имплементацията на 802.11r, k и v, може
>> да се укаже, че от нова имплементация на client steering няма нужда, но
>> това ще
>> стане ясно по всяка вероятност чак след OF, ако изобщо.
>>
>> Междувременно, Марияне, ако имаш голяма нужда от дадената функционалност,
>> бих ти
>> препоръчал да надградиш форка на Google с дистрибутирано изграждане на
>> съответните списъци от станции и да добавиш допълнителна информация за
>> качеството на връзката с тях.
>>
>> [1] Секция „Neighbor table“ на
>>     http://w1.fi/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=
>> hostapd/hostapd.conf
>> [2] https://www.youtube.com/watch?v=yZcHbD84j5Y
>> [3] https://gfiber.googlesource.com/vendor/opensource/hostap/+/7
>> 24e9301587faf2d6b13aaa1b09c9914355cc202
>> [4] Секция „Fast Session Transfer (FST) support“ на
>>     http://w1.fi/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=
>> hostapd/hostapd.conf
>> [5] http://www.cisco.com/c/en/us/td/docs/wireless/controller/8-1
>> /Enterprise-Mobility-8-1-Design-Guide/Enterprise_Mobility_8-
>> 1_Deployment_Guide/Chapter-11.html
>> [6] Секция „Radio measurements / location“ на
>>     http://w1.fi/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=
>> hostapd/hostapd.conf
>> [7] Секция „IEEE 802.11f“ на
>>     http://w1.fi/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=
>> hostapd/hostapd.conf
>> [8] Секция „IEEE 802.11r“ на
>>     http://w1.fi/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=
>> hostapd/hostapd.conf
>> [9] https://petko.me/openfest/wifi/2014/11/09/openfest-wifi.html
>> [10] https://patchwork.ozlabs.org/patch/656818/
>> [11] https://github.com/lede-project/source/pull/242
>
>
_______________________________________________
Lug-bg mailing list
Lug-bg@linux-bulgaria.org
http://linux-bulgaria.org/mailman/listinfo/lug-bg

Reply via email to