Сейчас многие покупают точки доступа 802.11n, но хороших скоростей достичь удается не всем. В этом посте поговорим о не очень очевидных мелких нюансах, которые могут ощутимо улучшить (или ухудшить) работу Wi-Fi. Всё описанное ниже применимо как к домашним Wi-Fi-роутерам со стандартными и продвинутыми (DD-WRT & Co.) прошивками, так и к корпоративным железкам и сетям. Поэтому, в качестве примера возьмем «домашнюю» тему, как более родную и близкую к телу. Ибо даже самые администые из админов и инженеристые из инженеров живут в многоквартирных домах (или поселках с достаточной плотностью соседей), и всем хочется быстрого и надежного Wi-Fi.
[Внимание!]: после замечаний касательно публикации статья выложена в полном виде здесь. Эта статья оставлена для примера того, как публиковать не надо. Извините за беспорядок :)
[1.1] Казалось бы – чего уж там? Выкрутил точку на полную мощность, получил максимально возможное покрытие – и радуйся. А теперь давайте подумаем: не только сигнал точки доступа должен достичь клиента, но и сигнал клиента должен достичь точки. Мощность передатчика ТД обычно до 100 мВт (20 dBm). А теперь загляните в datasheet к своему ноутбуку/телефону/планшету и найдите там мощность его Wi-Fi передатчика. Нашли? Вам очень повезло! Часто её вообще не указывают (можно поискать по FCC ID). Тем не менее, можно уверенно заявлять, что мощность типичных мобильных клиентов находится в диапазоне 30-50 мВт. Таким образом, если ТД вещает на 100мВт, а клиент – только на 50мВт, в зоне покрытия найдутся места, где клиент будет слышать точку хорошо, а ТД клиента — плохо (или вообще слышать не будет) – асимметрия. Сигнал есть – а связи нет. Или downlink быстрый, а uplink медленный. Это актуально, если вы используете Wi-Fi для онлайн-игр или скайпа, для обычного интернет-доступа это не так и важно (только, если вы не на краю покрытия). И будем жаловаться на убогого провайдера, глючную точку, кривые драйвера, но не на неграмотное планирование сети.
![](https://habrastorage.org/r/w1560/storage2/abd/8b0/b24/abd8b0b24381be3172e5f33e64b8a421.png)
Вывод: может оказаться, что для получения более стабильной связи мощность точки придется снизить. Что, согласитесь, не совсем очевидно :)
Обоснование (для тех, кому интересны подробности):
Наша задача обеспечить как можно более симметричный канал связи между клиентом (STA) и точкой (AP), дабы уравнять скорости uplink и downlink. Для этого будем опираться на SNR (соотношение сигнал-шум).
SNR(STA) = Rx(AP) — RxSens(STA); SNR (AP) — Rx(STA) — RxSens(AP)
где Rx(AP/STA) — мощность принятого сигнала с точки/клиента, RxSens(AP/STA) — чувствительность приема точки/клиента. Для упрощения примем, что порог фонового шума ниже порога чувствительности приемника AP/STA. Подобное упрощение вполне приемлемо, т.к. если уровень фонового шума для AP и STA одинаков — он никак не влияет на симметрию канала.
Далее,
Rx(AP) = Tx(AP) [мощность передатчика точки на порту антенны] + TxGain(AP) [усиление передачи антенны точки с учетом всех потерь, усилений и направленности] — PathLoss [потери сигнала на пути от точки до клиента] + RxGain(STA) [усиление приема антенны клиента с учетом всех потерь, усилений и направленности].
Аналогично, Rx(STA) = Tx(STA) + TxGain(STA) — PathLoss + RxGain(AP).
При этом стоит заметить следующее:
Итого получаем:
SNR(AP) = Tx*(STA) [с учетом антенны] — PathLoss + Gain(AP) — RxSens(AP)
SNR(STA)=Tx(AP) + Gain(AP) — PathLoss -RxSens*(STA) [с учетом антенны]
Разница между SNR на обоих концах и будет асимметрией канала, применяем арифметику: D = SNR(STA)-SNR(AP) = Tx*(STA) — Tx(AP) — (RxSens*(STA) — (RxSens(AP)).
Таким образом, асимметрия канала не зависит от типа антенны на точке и на клиенте (опять же, зависит, если вы используете MIMO, MRC и проч, но тут рассчитать что-либо будет довольно сложно), а зависит от разности мощностей и чувствительностей приемников. При D<0 точка будет слышать клиента лучше, чем клиент точку. В зависимости от расстояния это будет значить либо, что поток данных от клиента к точке будет медленнее, чем от точки к клиенту, либо клиент до точки достучаться не сможет вовсе.
Для взятых нами мощностей точки (100mW=20dBm) и клиента (30-50mW ~= 15-17dBm) разность мощностей составит 3-5dB. До тех пор, пока приемник точки чувствительнее приемника клиента на эти самые 3-5dB — проблем возникать не будет. К сожалению, это не всегда так. Проведем рассчеты для ноутбука HP 8440p и точки D-Link точки DIR-615 для 802.11g@54Mbps:
[1.2] Также далеко не самым известным фактом, добавляющим к асимметрии, является то, что у большинства клиентских устройств мощность передатчика снижена на «крайних» каналах (1 и 11/13 для 2.4 ГГц). Вот пример для iPhone из документации FCC (мощность на порту антенны).
![](https://habrastorage.org/r/w1560/storage2/457/883/365/4578833652094df1a1ed8b3e5416d197.png)
Как видите, на крайних каналах мощность передатчика в ~2.3 раза ниже, чем на средних. Причина в том, что Wi-Fi – связь широкополосная, удержать сигнал чётко в пределах рамки канала не удастся. Вот и приходится снижать мощность в «пограничных» случаях, чтобы не задевать соседние с ISM диапазоны. Вывод: если ваш планшет плохо работает в туалете – попробуйте переехать на канал 6.
Раз уж речь зашла о каналах — в следующий раз поговорим о них поподробнее.
UPD: мне уже высказали, что заметка слишком короткая. Я уже все понял. Но если я добавлю остаток текста сюда — многие его уже не увидят. Следующим постом выложу все целиком (первую часть уберу под кат). Дополнительные комментарии приветствуются, если они расширяют тему «грамотного» постинга на Хабре. Для эмоций есть вот этот хаб. Спасибо за понимание.
[Внимание!]: после замечаний касательно публикации статья выложена в полном виде здесь. Эта статья оставлена для примера того, как публиковать не надо. Извините за беспорядок :)
1. Как жить хорошо самому и не мешать соседям.
[1.1] Казалось бы – чего уж там? Выкрутил точку на полную мощность, получил максимально возможное покрытие – и радуйся. А теперь давайте подумаем: не только сигнал точки доступа должен достичь клиента, но и сигнал клиента должен достичь точки. Мощность передатчика ТД обычно до 100 мВт (20 dBm). А теперь загляните в datasheet к своему ноутбуку/телефону/планшету и найдите там мощность его Wi-Fi передатчика. Нашли? Вам очень повезло! Часто её вообще не указывают (можно поискать по FCC ID). Тем не менее, можно уверенно заявлять, что мощность типичных мобильных клиентов находится в диапазоне 30-50 мВт. Таким образом, если ТД вещает на 100мВт, а клиент – только на 50мВт, в зоне покрытия найдутся места, где клиент будет слышать точку хорошо, а ТД клиента — плохо (или вообще слышать не будет) – асимметрия. Сигнал есть – а связи нет. Или downlink быстрый, а uplink медленный. Это актуально, если вы используете Wi-Fi для онлайн-игр или скайпа, для обычного интернет-доступа это не так и важно (только, если вы не на краю покрытия). И будем жаловаться на убогого провайдера, глючную точку, кривые драйвера, но не на неграмотное планирование сети.
![](https://habrastorage.org/storage2/abd/8b0/b24/abd8b0b24381be3172e5f33e64b8a421.png)
Вывод: может оказаться, что для получения более стабильной связи мощность точки придется снизить. Что, согласитесь, не совсем очевидно :)
Обоснование (для тех, кому интересны подробности):
Наша задача обеспечить как можно более симметричный канал связи между клиентом (STA) и точкой (AP), дабы уравнять скорости uplink и downlink. Для этого будем опираться на SNR (соотношение сигнал-шум).
SNR(STA) = Rx(AP) — RxSens(STA); SNR (AP) — Rx(STA) — RxSens(AP)
где Rx(AP/STA) — мощность принятого сигнала с точки/клиента, RxSens(AP/STA) — чувствительность приема точки/клиента. Для упрощения примем, что порог фонового шума ниже порога чувствительности приемника AP/STA. Подобное упрощение вполне приемлемо, т.к. если уровень фонового шума для AP и STA одинаков — он никак не влияет на симметрию канала.
Далее,
Rx(AP) = Tx(AP) [мощность передатчика точки на порту антенны] + TxGain(AP) [усиление передачи антенны точки с учетом всех потерь, усилений и направленности] — PathLoss [потери сигнала на пути от точки до клиента] + RxGain(STA) [усиление приема антенны клиента с учетом всех потерь, усилений и направленности].
Аналогично, Rx(STA) = Tx(STA) + TxGain(STA) — PathLoss + RxGain(AP).
При этом стоит заметить следующее:
- PathLoss одинаков в обеих направлениях
- TxGain и RxGain антенн в случае обычных антенн одинаков (верно и для AP и для STA). Здесь не рассматриваются случаи с MIMO, MRC, TxBF и прочими ухищрениями. Так что можно принять: TxGain(AP) === RxGain(AP) = Gain(AP), аналогично для STA.
- Rx/Tx Gain антенны клиента мало когда известен. Клиентские устройства, обычно, комплектуются несменными антеннами, что позволяет указывать мощность передатчика и чувствительность приемника сразу с учетом антенны. Отметим это в наших выкладках ниже.
Итого получаем:
SNR(AP) = Tx*(STA) [с учетом антенны] — PathLoss + Gain(AP) — RxSens(AP)
SNR(STA)=Tx(AP) + Gain(AP) — PathLoss -RxSens*(STA) [с учетом антенны]
Разница между SNR на обоих концах и будет асимметрией канала, применяем арифметику: D = SNR(STA)-SNR(AP) = Tx*(STA) — Tx(AP) — (RxSens*(STA) — (RxSens(AP)).
Таким образом, асимметрия канала не зависит от типа антенны на точке и на клиенте (опять же, зависит, если вы используете MIMO, MRC и проч, но тут рассчитать что-либо будет довольно сложно), а зависит от разности мощностей и чувствительностей приемников. При D<0 точка будет слышать клиента лучше, чем клиент точку. В зависимости от расстояния это будет значить либо, что поток данных от клиента к точке будет медленнее, чем от точки к клиенту, либо клиент до точки достучаться не сможет вовсе.
Для взятых нами мощностей точки (100mW=20dBm) и клиента (30-50mW ~= 15-17dBm) разность мощностей составит 3-5dB. До тех пор, пока приемник точки чувствительнее приемника клиента на эти самые 3-5dB — проблем возникать не будет. К сожалению, это не всегда так. Проведем рассчеты для ноутбука HP 8440p и точки D-Link точки DIR-615 для 802.11g@54Mbps:
- 8440p: Tx*(STA) = 17dBm, RxSens*(STA) = -76dBm@54Mbps
- DIR-615: Tx(AP) = 20dBm, RxSens(AP) = -65dBm@54Mbps.
- D = (17 — 20) — (-76 +65) = 3 — 11 = -7dB.
[1.2] Также далеко не самым известным фактом, добавляющим к асимметрии, является то, что у большинства клиентских устройств мощность передатчика снижена на «крайних» каналах (1 и 11/13 для 2.4 ГГц). Вот пример для iPhone из документации FCC (мощность на порту антенны).
![](https://habrastorage.org/storage2/457/883/365/4578833652094df1a1ed8b3e5416d197.png)
Как видите, на крайних каналах мощность передатчика в ~2.3 раза ниже, чем на средних. Причина в том, что Wi-Fi – связь широкополосная, удержать сигнал чётко в пределах рамки канала не удастся. Вот и приходится снижать мощность в «пограничных» случаях, чтобы не задевать соседние с ISM диапазоны. Вывод: если ваш планшет плохо работает в туалете – попробуйте переехать на канал 6.
Раз уж речь зашла о каналах — в следующий раз поговорим о них поподробнее.
UPD: мне уже высказали, что заметка слишком короткая. Я уже все понял. Но если я добавлю остаток текста сюда — многие его уже не увидят. Следующим постом выложу все целиком (первую часть уберу под кат). Дополнительные комментарии приветствуются, если они расширяют тему «грамотного» постинга на Хабре. Для эмоций есть вот этот хаб. Спасибо за понимание.