Связь сокращает расстояния!


Теоретическая оценка пропускной способности Wi-Fi (802.11b)
Тема: Технологии Дата:  31.10.06

 Tе, кто уже пробовал работать с Wi-Fi, знают, что в стандарте 802.11b, обещанные 11 Мбит/с недостижимы. Интересно почему?
Причина не в том, что рядом стоит микроволновка и не втом, что вас обманули...я бы скорее сказал - вас ввели в заблуждение.
Стандарты 802.11b предусматривает пропускную способность до 11Мбит/с, однако разработчиками стандарта подразумевается не пропускная способность канала Wi-Fi, а скорость передачи данных в таких сетях. К сожалению для конечного пользователя, между "пропускной способностью канала" и "скоростью передачи данных" есть очень значительная разница. Так как Wi-Fi это всё-таки пакетная передача данных заданная скорость не может работать полную секунду, поэтому пропускная способность такой сети, с точки зрения пользователя, окажется ниже обещанной. Аналогичная ситуация будет при работе стандартов 802.11a/g.В 1990 году комитет Института инженеров электротехники и радио-электроники США IEEE 802 сформировал рабочую группу по стандартам для беспроводных локальных сетей 802.11. Эта группа занялась разработкой всеобщего стандарта для радиооборудования и сетей, работающих на частоте 2,4 ГГц, со скоростями доступа 1 и 2 Мбит/с. Работы по созданию стандарта были завершены через 7 лет, и в июле 1997 года была ратифицирована первая спецификация 802.11. Однако к тому времени заложенная первоначально скорость передачи данных в беспроводной сети уже не удовлетворяла потребностям пользователей. Для того, чтобы сделать технологию WLAN популярной, дешёвой и удовлетворяющей современным жёстким требованиям бизнес-приложений. Разработчики были вынуждены заняться разработкой новых стандартов.
IEEE 802.11 – «Спецификация физического уровня и уровня контроля доступа к каналу передачи беспроводных локальных сетей»


Прошу обратить внимание - 802.11 и 802.11b разные стандарты. Читаем ниже
(кому не интересно, пропускаем и читаем "Ближе к теме")
Стандарт IEEE 802.11 являлся первым стандартом для продуктов WLAN от независимой международной организации, разрабатывающей большинство стандартов для проводных сетей. Он определял архитектуру сети и вытекающие из этого требования к функциям устройств, принципы доступа устройств к каналам связи, формат пакетов передачи, способы аутентификации и защиты данных. Хотя стандарт изначально задумывался как инвариантный по отношению к какому-либо частотному диапазону, на физическом уровне он определял три способа работы: два радиочастотные и один оптический. В инфракрасном диапазоне предусматривалась импульсно позиционная модуляция, в диапазоне 2,400-2,4835 ГГц – режимы модуляции сигнала с псевдослучайной перестройкой частоты (Frequency Hopping Spead Spectrum – FHSS) и технология расширения спектра методом прямой последовательности. (Direct Sequence Spread Spectrum - DSSS). Скорости устанавливались на уровне 1 и 2 Мбит/с.
На сегодняшний день, лично я считаю стандарт 802.11 мёртворождённым. Он, вроде как, был, но, в то же время, для большинства, его, как бы, небыло.
Тем не менее, официально стандарт был, я хочу это подчеркнуть, потому что именно поэтому и возникли падения скорости. В дальнейшем все новые стандарты обязательно были и будут совместимы с этим стандартом.

802.11b
В сентябре 1999 года IEEE ратифицировал расширение предыдущего стандарта. Названное IEEE 802.11b (также известное, как 802.11 High rate), оно определяет стандарт для продуктов беспроводных сетей, которые работают на скоростях до 11 Мбит/с, что позволяет успешно применять эти устройства в крупных организациях. Совместимость продуктов различных производителей гарантируется независимой организацией, которая называется Wireless Ethernet Compatibility Alliance (WECA). Эта организация была создана лидерами индустрии беспроводной связи в 1999 году. В настоящее время членами WECA являются более 100 компаний, в том числе такие известные производители, как Cisco, Lucent, 3Com, IBM, Intel, Apple, Compaq, Dell, Fujitsu, Siemens, Sony, AMD и пр.(полный список).

Ближе к теме
Для тех, кто не понимает, оговорюсь, что при работе радиопередатчиков нет "провода А" и "провода Б", нет "воздуха один" и "воздуха два", есть только одна общая среда передачи в которой работают все сетевые устройства. И никогда два рядом стоящие устройства не смогут передавать данные на одной частоте одновременно. (то есть принцип работы таких устройств как у Ethernet на коаксиальном кабеле - общая шина)
Для передачи данных пользователя, информация предварительно разбивается на блоки и формируется в пакеты, в которых, кроме данных пользователя присутствует также служебная информация, которая составляет незначительную часть от общего объёма пакета. Однако беспроводные сети стандартов 802.11b предусматривают ряд правил для передачи одного пакета, которые приводят к дополнительным потерям пропускной способности. Эти правила передачи служебной информации появились не с чистого листа, а из соображений совместимости с предидущим стандартом 802.11

Как уже написано выше, стандарт 802.11 предусматривал работу на скоростях 1, 2 Мбит/с. Соответственно и вся служебная информация передавалась на этих скоростях. И именно на этих скоростях передающие станции сообщали другим станциям, что с момента времени X до момента времени Y станция занимает радиоэфир и будет передавать свои данные. Другие станции в это время молчат, чтобы не создавать помехи станции, занявшей эфир.

Прежде чем начать подробно рассказывать, оговорюсь, что стандарт 802.11b предусматривал совместную работу со стандартом 802.11 и учитывал, что для того, чтобы рядом работающее устройство стандарта 802.11 поняло его намерение передавать данные с момента времени X до момента времени Y, 802.11b устройство должно дать в эфир служебные данные, которые были бы понятны устройству 802.11 - это значило, что устройство 802.11b вынуждено передавать служебные данные со скоростью 1 или 2 Мбит/с. В противном случае, рядом работающее устройство 802.11 стало бы считать, что рядом нет никакого 802.11b и приняло бы решение о передаче своих данных.

Пример процедуры отправки одного кадра в стандарте 802.11b отображён на рисунке:
Теоретическая оценка пропускной способности Wi-Fi (802.11b)

Пояснение к рисунку:
На рисунке наглядно отображена передача ряда предварительных служебных пакетов, а также пакетов подтверждения получения информационного пакета.
Базовый алгоритм соединения для передачи данных содержит два действия: передачу кадра данных от источника и передачу подтверждения приёма (ACKnowledge, ACK) от получателя источнику сообщения. Для повышения надёжности передачи данных имеется алгоритм с обменом четырьмя кадрами. Здесь AC-источник передаёт кадр запроса передачи (Request to Send, RTS) и тем самым оповещает все АС в зоне радио-видимости о том, что происходит обмен информацией. Все станции, принявшие кадр RTS, воздерживаются от передачи для исключения конфликтов. AC-получатель отвечает AC-источнику кадром готовности к приёму (Clear to Send, CTS). После приёма кадра CTS AC-источник передаёт кадр данных, а AC-получатель после приёма кадра данных передаёт кадр подтверждения приёма (ACK)
[конец пояснения к рисунку :)]
Для того, чтобы отобразить реальную пропускную способность сети стандарта 802.11b подробно рассмотрим временную диаграмму доступа к среде с использованием режима передачи DCF (Distributed coordination function).
Теоретическая оценка пропускной способности Wi-Fi (802.11b)

Что мы видим на этом рисунке:
После того, как среда освободилась, станция STA1 ждёт интервал DIFS (DCF inter-frame space) и включает таймер отката. Таймер отсчитывает случайное число, выбранное в пределах окна состязания CW (contention windows) и начинает передачу. Если станция STA2 или STA3 сгенерирует случайное число равное числу STA1 – станции попытаются одновременно начать передачу и создадут коллизию, в результате которой данные всех станций переданы не будут. После того, как значение таймера стало равным нулю, станция STA1 посылает фрейм RTS. Станция STA2, получив пакет от STA1, ждёт интервал SIFS (short interframe space) и посылает фрейм готовности CTS. Приняв CTS, станция STA1 также ждёт интервал SIFS и начинает передачу информации. В итоге STA2 подтверждает приём пакета данных пакетом ACK.
То есть, объяснение попроще:
На картинке, на первой линии, вы видите, что происходит в среде передачи - отображены все данные, которые попали в радиоэфир.
На второй линии видно, то, что передала первая станция STA1
На третьей и четвёртой линии станции STA2 и STA3 соответственно.
В данном случае, станция STA1 пытается передать данные станции STA2. Для этого, она дожидается когда эфир освободится и выждав интервал DIFS (по стандарту все станции обязаны выждать этот интервал) начинает бороться за право передачи (ведь не только STA1 желает передать данные, а передача возможна только по очереди). Получив право передачи STA1 начинает процедуру, отображённую на предидущем рисунке с AC получателем и AC источником: Сперва посылает пакет RTS и сообщает, что готова передать данные. STA2 получатель, получает пакет RTS и отправляет пакет CTS - сообщает о том, что готова принять данные. STA1 передаёт данные и в ответ получает пакет подтверждения от STA2, который говорит, о том, что данные были успешно переданы.
Между всеми кадрами присутствует интервал SIFS - маленькая пауза, для того чтобы один пакет не наложился на другой.

Теперь, когда сложилось представление о передаче данных в сети Wi-Fi, приступаем к чистому математическому расчёту:

Посчитаем, какой объём данных передаётся во время такой процедуры и сколько времени она занимает:
- Пакет готовности передачи RTS. Его длина составляет 20 байт. При битовой скорости 1 Мбит/с длительность пакета готовности передачи, с учётом уровня PHY, равна TRTS=(20*8+192)/1000000=352мкс.
- Пакет готовности приёма CTS. Его длина составляет 14 байт. При битовой скорости 1 Мбит/с длительность пакета готовности приёма, с учётом уровня PHY, равна TCTS=(14*8+192)/1000000=304мкс.
- Пакет подтверждения ACK. Его длина составляет 14 байт. При битовой скорости 1 Мбит/с длительность пакета подтверждения, с учётом уровня PHY, равна TACK=(14*8+192)/1000000=304мкс.
- Пакет данных станции, принимающей видео. Его длительность составляет 1536 байт. При битовой скорости 11 Мбит/с длительность пакета данных станции с учётом уровня PHY TVID=192/1000000+1536*8/11000000=1309мкс.
- Пакет данных станции, принимающей данные. Его длина составляет 1024 байт. При битовой скорости 11Мбит/с длительность пакета данных станции с учётом уровня PHY TDATA=192/1000000+1024*8/11000000=937мкс.
Между всеми пакетам существует промежуток SIFS, длительность которого в стандарте 802.11b TSIFS=10мкс.
При расчёте пропускной способности, будем считать, что данные физического уровня передавались со скоростью 2 Мбит/с, кроме режима работы 1 Мбит/с. Результаты расчёта приведены в табл:
(кликните по картинке, а то ослепните - 130 кило)
Теоретическая оценка пропускной способности Wi-Fi (802.11b)

Ну вобщем, разделим время на байты получи пропускную способность сети Wi-Fi. Как видим из непредвзятого математического расчёта, пропускная способность сети Wi-Fi не добирается до скорости 7 Мбит/с при этом, нас никто не обманул - данные в самом деле передаются со скоростью 11 Мбит/с, ни больше и не меньше, независимо от того, работает рядом микроволновка или нет.

напоследок
В сети Wi-Fi передачу может вести одновременно только одна станция. Поэтому, когда в сети ведут передачу сразу несколько станций, пропускная способность сети делится на количество этих передающих станций:
Если в вашей сети два компьютера передают данные третьему, то скорость передачи на каждом компьютере будет лишь 1/2 от пропускной способности.
Если станция 1 будет передавать данные станции 2, а станция 2 будет передавать данные станции 3, то скорость на каждом компьютере будет 1/2 от пропускной способности сети. Это происходит потому, что у сети Wi-Fi единая среда передачи - фактически воздух. Я это всё к тому, что....некоторые почему-то считают, что повторитель (Repeater), который может использоватся в сети Wi-Fi - это не станция, а что-то особенное. Некоторые не хотят признать, что при ретрансляции скорость упадёт в двое - потому что во один момент времени повторитель будет принимать данные, а в другой момент времени передавать их дальше
Были когда-то в продаже устройства, созданные на чипе PRISM 2, при соединении в режиме Ad-Hoc, они могли работать без передачи кадра ACK - что позволяло работать с большей скоростью =) Правда, такие сетевухи плохо дружили с иными сетевухами, вернее не дружили совсем.

P.S.
Большое Спасибо Рыжкову Александру Евгеньевичу - преподавателю СПбГУТ им. проф. М.А. Бонч-Бруевича, который не просто рассказал это, а помог осознать, что от Wi-Fi даже в идеальных условиях не стоит ждать пропускной способности, которую я ждал =)

P.S.S.
Я иногда слышу: "Wi-Fi хорошо, но провода лучше", дык вот, хочу сказать, это тоже самое, что: "Камаз хорошо, но вертолёт лучше". Я сторонник использования проводов, там где их можно использовать, но я пользуюсь Wi-Fi. Я сделал сетку на 500 метров по Wi-Fi. И, когда с сеткой что-то не так, я не бегу 500 метров, осматривая кабель, я знаю, что причина может быть либо в точке А, либо в точке Б. Я не кидал 500 метров кабеля, а то и все 600 метров с учётом особенностей трассы. Моя сетка, вполне нормально работает - пинги в моей сетке на 500 метров:
C:>ping 192.168.0.10

Pinging 192.168.0.10 with 32 bytes of data:

Reply from 192.168.0.10: bytes=32 time=1ms TTL=64
Reply from 192.168.0.10: bytes=32 time=2ms TTL=64
Reply from 192.168.0.10: bytes=32 time=2ms TTL=64
Reply from 192.168.0.10: bytes=32 time=1ms TTL=64

Ping statistics for 192.168.0.10:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 2ms, Average = 1ms
Так что, если кто не знает, не надо травить байки про Wi-Fi.




Эта статья взята с сайта Связист - Все о связи!.48
http://sviazist.nnov.ru

URL этой статьи:
http://sviazist.nnov.ru/article.php?storyid=816