Протоколы беспроводных сетей семейства 802.11

Сергей Пахомов

Физический уровень семейства протоколов 802.11

   Стандарт IEEE 802.11

   Стандарт IEEE 802.11b

   Стандарт IEEE 802.11g

   Стандарт IEEE 802.11а

Механизмы коллективного доступа в сетях 802.11

   Функция распределенной координации DCF

   Алгоритм RTS/CTS

   Функция централизованной координации PCF

 

Технология уширения спектра DSSS

CCK-последовательности

Двоичное пакетное сверточное кодирование PBCC

Частотное ортогональное разделение каналов с мультиплексированием (OFDM)

 

Повсеместное распространение беспроводных сетей, развитие инфраструктуры хот-спотов, появление мобильных технологий со встроенным беспроводным решением (Intel Centrino) привело к тому, что конечные пользователи (не говоря уже о корпоративных клиентах) стали обращать все большее внимание на беспроводные решения. Такие решения рассматриваются прежде всего как средство развертывания мобильных и стационарных беспроводных локальных сетей и как средство оперативного доступа в Интернет.

Однако конечный пользователь, не являющийся сетевым администратором, как правило, не слишком разбирается в сетевых технологиях, поэтому ему трудно сделать правильный выбор при покупке беспроводного решения, особенно с учетом многообразия предлагаемых сегодня продуктов. Бурное развитие технологии беспроводной связи привело к тому, что пользователи, не успев привыкнуть к одному стандарту, вынуждены переходить на другой, с еще более высокими скоростями передачи. Речь, конечно, идет о семействе протоколов беспроводной связи, известном как IEEE 802.11, куда входят протоколы 802.11, 802.11b, 802.11b+, 802.11a, 802.11g, 802.11g+, причем на горизонте уже замаячил новый стандарт — 802.11n. А если к этому многочисленному семейству добавить еще и такие протоколы безопасности и QoS, как 802.11e, 802.11i, 802.11h и т.д., то станет понятно, что разобраться в этом совсем непросто.

Чтобы облегчить жизнь тем, кто хочет приобщиться к миру беспроводной связи, но не знает, с чего начать, мы решили составить краткое руководство, ознакомившись с которым читатель сможет понять основные различия между протоколами беспроводной связи семейства 802.11 и разобраться с основными принципами функционирования беспроводных сетей.

Физический уровень семейства протоколов 802.11

Основная разница между стандартами семейства 802.11 заключается в способах кодирования информации и в вытекающих из этого различиях в скоростях приема/передачи. В основе всех беспроводных протоколов лежит технология уширения спектра (Spread Spectrum, SS), которая подразумевает, что первоначально узкополосный (по ширине спектра) полезный информационный сигнал при передаче преобразуется таким образом, что его спектр оказывается значительно шире спектра первоначального сигнала, то есть спектр сигнала как бы размазывается по частотному диапазону. Одновременно с уширением спектра сигнала происходит и перераспределение спектральной энергетической плотности сигнала — энергия сигнала также «размазывается» по спектру. В результате максимальная мощность преобразованного сигнала оказывается значительно ниже мощности исходного сигнала. При этом уровень полезного информационного сигнала может в буквальном смысле сравниваться с уровнем естественного шума, вследствие чего сигнал становится в каком-то смысле «невидимым» — он просто теряется на уровне естественного шума.

Для безлицензионного использования в Европе и США (именно в этом спектральном диапазоне работают протоколы семейства 802.11) отводится радиодиапазон от 2400 до 2483,4 МГц, предназначенный для применения в промышленности, науке и медицине (Industry, Science and Medicine, ISM) и называемый ISM-диапазоном), а также от 5725 до 5875 МГц, но при этом строго регламентируется мощность передатчиков, которая ограничивается величиной 100 мВт в Европе (ограничения ETSI) и 1 Вт в США (ограничения FCC). Для организации совместного использования радиодиапазона в таких жестких условиях используется технология уширения спектра. В протоколах 802.11b/g применяется технология уширения спектра методом прямой последовательности (Direct Sequence Spread Spectrum, DSSS).

Стандарт IEEE 802.11

Самым первым стандартом беспроводных сетей, послужившим основой для целого семейства протоколов беспроводной связи, был IEEE 802.11. Сегодня уже не существует решений, базирующихся исключительно на этом протоколе, однако он заслуживает отдельного разговора хотя бы потому, что входит как подмножество в протоколы 802.11b и 802.11g.

В стандарте 802.11 предусмотрено использование частотного диапазона от 2400 до 24 835 МГц и скоростей передачи 1 и 2 Мбит/с. Для кодирования данных используется метод DSSS с 11-чиповыми кодами Баркера. При информационной скорости 1 Мбит/с скорость следования отдельных чипов последовательности Баркера составляет 11Ѕ106 чип/с, а ширина спектра такого сигнала — 22 МГц.

Для модуляции синусоидального несущего сигнала (процесс, необходимый для информационного наполнения несущего сигнала) используется относительная двоичная фазовая модуляция (Differential Binary Phase Shift Key, DBPSK).

Информационная скорость 1 Мбит/с является обязательной в стандарте IEEE 802.11 (Basic Access Rate), но опционально возможна и скорость в 2 Мбит/с (Enhanced Access Rate). Для передачи данных на такой скорости используется технология DSSS с 11-чиповыми кодами Баркера, но для модуляции несущего колебания применяется относительная квадратурная фазовая модуляция (Differential Quadrature Phase Shift Key).

При информационной скорости 2 Мбит/с скорость следования отдельных чипов последовательности Баркера остается прежней, то есть 11Ѕ106 чип/с, а следовательно, не меняется и ширина спектра передаваемого сигнала.

Стандарт IEEE 802.11b

Протокол IEEE 802.11b, принятый в июле 1999 года, является своего рода расширением базового протокола 802.11 и, кроме скоростей 1 и 2 Мбит/с, предусматривает скорости 5,5 и 11 Мбит/с. Для работы на скоростях 5,5 и 11 Мбит/с вместо шумоподобных последовательностей Баркера для уширения спектра используются так называемые восьмичиповые CCK последовательности (Complementary Code Keying, CCK).

Использование CCK-кодов позволяет кодировать 8 бит на один символ при скорости 11 Мбит/с и 4 бит на символ при скорости 5,5 Мбит/с. При этом в обоих случаях символьная скорость передачи составляет 1,385Ѕ106 символов в секунду (11/8 = 5,5/4 = 1,385).

Значения фаз, определяющих элементы CCK-последовательности, зависят от последовательности входных информационных битов. При скорости передачи 11 Мбит/с для однозначного определения ССК-последовательности требуется знание 8 бит (4 дибит) входных данных. Первый дибит входных данных определяет сдвиг по фазе всего символа относительно предыдущего, а остальные 6 бит используются для задания самой CCK-последовательности. Поскольку 6 бит данных могут иметь 64 различные комбинации, то в протоколе IEEE 802.11b при кодировании каждого символа используется одна из 64 возможных восьмиразрядных CKK-последовательностей, и это позволяет кодировать 6 бит в одном передаваемом символе. Поскольку каждый символ дополнительно сдвигается по фазе относительно предыдущего символа в зависимости от значения первого дибита и сдвиг фазы может принимать четыре значения, получаем, что в каждом символе кодируется 8 информационных битов.

     

CCK-последовательности

CCK-последовательности характеризуются тем, что сумма их автокорреляционных функций для любого циклического сдвига, отличного от нуля, всегда равна нулю.

В стандарте IEEE 802.11b речь идет о комплексных комплементарных последовательностях, содержащих элементы с различными фазами. Каждый элемент такой последовательности представляет собой комплексное число из набора следующих восьми значений: 1, –1, j, –j, 1+j, 1–j, –1+j, –1–j. Комплексное представление сигнала — это лишь удобный математический аппарат для представления модулированного по фазе сигнала. Так, значение последовательности равное 1 соответствует синфазному к сигналу генератора сигналу (то есть сдвиг фазы отсутствует), а равное –1 — противофазному (сдвиг фазы равен p) сигналу и т.д.

Основное отличие CCK-последовательностей от рассмотренных ранее кодов Баркера заключается в том, что здесь существует не строго заданная последовательность, посредством которой можно было кодировать либо логический нуль, либо единицу, а целый набор последовательностей. А поскольку каждый элемент последовательности может принимать одно из восьми значений в зависимости от значения фаз, то можно скомбинировать достаточно большое число разных CCK-последовательностей. Это позволяет кодировать в одном передаваемом символе несколько информационных битов, повышая тем самым информационную скорость передачи.

 

При скорости передачи 5,5 Мбит/с в одном символе кодируется уже 4 бит, что и определяет в два раза меньшую информационную скорость. При такой скорости передачи используются уже рассмотренные CCK-последовательности, образуемые по тем же самым правилам, — единственное различие заключается в количестве используемых CCK-последовательностей и правиле их выбора.

Для задания всех членов CCK-последовательности используются 4 входных информационных бита, то есть 2 дибита. Первый дибит, как и прежде, задает значение сдвига по фазе целого символа, а второй дибит используется для выбора одной из четырех возможных CCK-последовательностей. Если учесть, что каждый символ к тому же дополнительно сдвигается по фазе относительно предыдущего на одно из четырех возможных значений, то это позволяет кодировать в одном символе 4 информационных бита.

Рассматривая возможные скорости передачи 5,5 и 11 Мбит/с в протоколе 802.11b, мы до сих пор оставляли без внимания вопрос, зачем нужна скорость 5,5 Мбит/с, если использование CCK-последовательностей позволяет передавать данные на скорости 11 Мбит/с. Теоретически это действительно так, но только если не учитывать при этом помеховой обстановки. В реальных условиях зашумленность каналов передачи и соответственно соотношение уровней шума и сигнала могут оказаться такими, что передача на высокой информационной скорости (то есть когда в одном символе кодируется множество информационных битов) станет невозможной по причине их ошибочного распознавания. Не вдаваясь в математические детали, отметим лишь, что чем выше зашумленность каналов связи, тем меньше информационная скорость передачи. При этом важно, чтобы приемник и передатчик правильно анализировали помеховую обстановку и выбирали приемлемую скорость передачи.

Кроме CCК-последовательностей, в протоколе 802.11b опционально на скоростях передачи 5,5 и 11 Мбит/с предусмотрен альтернативный метод кодирования — пакетное сверточное кодирование PBCC. И именно данный режим кодирования лег в основу протокола 802.11b+ — расширения протокола 802.11b. Собственно, протокола 802.11b+ как такового официально не существует, однако данное расширение было в свое время поддержано многими производителями беспроводных устройств. В протоколе 802.11b+ предусматривается еще одна скорость передачи данных — 22 Мбит/с с использованием технологии PBCC.

     

Двоичное пакетное сверточное кодирование PBCC

Идея сверточного кодирования (Packet Binary Convolutional Coding, PBCC) состоит в следующем. Входящая последовательность информационных битов преобразуется в сверточном кодере таким образом, чтобы каждому входному биту соответствовало более одного выходного, то есть сверточный кодер добавляет определенную избыточную информацию к исходной последовательности. Если, к примеру, каждому входному биту соответствуют два выходных, то говорят о сверточном кодировании со скоростью r = 1/2.

Главным достоинством сверточных кодеров является помехоустойчивость формируемой ими последовательности. Дело в том, что при избыточности кодирования, даже в случае возникновения ошибок приема, исходная последовательность битов может быть безошибочно восстановлена.

Дибит, формируемый в сверточном кодере, используется в дальнейшем в качестве передаваемого символа, но предварительно этот дибит подвергается фазовой модуляции, причем в зависимости от скорости передачи возможна двоичная, квадратурная и даже восьмипозиционная фазовая модуляция.

Как видите, технология PBCC достаточна проста. В отличие от технологий DSSS (коды Баркера, ССК-последовательности), здесь не используется технология уширения спектра за счет применения шумоподобных последовательностей, однако уширение спектра до стандартных 22 МГц предусмотрено и в данном случае. С этой целью применяют вариации возможных сигнальных созвездий QPSK и BPSK.

В методе PBCC для уширения спектра выходного сигнала используются по два сигнальных созвездия QPSK и BPSK.

 

При скорости передачи 5,5 Мбит/с для модуляции дибита, формируемого сверточным кодером со скоростью сверточного кодирования 1/2, используется двоичная фазовая модуляция BPSK, а при скорости 11 Мбит/с — квадратурная фазовая модуляция QPSK. При этом для скорости 11 Мбит/с в каждом символе кодируется по одному входному биту и скорость передачи битов соответствует скорости передачи символов, а при скорости 5,5 Мбит/с скорость передачи битов равна половине скорости передачи символов (поскольку каждому входному биту в данном случае соответствуют два выходных символа). Поэтому и для скорости 5,5 Мбит/с, и для скорости 11 Мбит/с символьная скорость составляет 11Ѕ106 символов в секунду.

Для скорости 22 Мбит/с по сравнению с уже рассмотренной нами схемой PBCC передача данных имеет два отличия. Во-первых, используется фазовая 8-позиционная фазовая модуляция (8-PSK), то есть фаза сигнала может принимать восемь различных значений, что позволяет в одном символе кодировать уже 3 бит. Во-вторых, в схему, кроме сверточного кодера, добавлен пунктурный кодер (Puncture) по следующей причине: избыточность сверточного кодера равная 2 (на каждый входной бит приходится два выходных) достаточно высока и при определенных условиях помеховой обстановки является излишней, поэтому можно уменьшить избыточность, чтобы, к примеру, каждым двум входным битам соответствовало три выходных. С этой целью можно, конечно, разработать соответствующий сверточный кодер со скоростью сверточного кодирования 2/3, но лучше добавить в схему специальный пунктурный кодер, который будет просто уничтожать лишние биты.

Разобравшись с принципом работы пунктурного кодера, вернемся к рассмотрению кодирования PBCC на скорости 22 Мбит/с в протоколе 802.11b+.

В сверточный кодер (r = 1/2) данные поступают со скоростью 22 Мбит/с. После добавления избыточности в сверточном кодере биты со скоростью потока 44 Мбит/с поступают в пунктурный кодер, в котором избыточность уменьшается так, чтобы на каждые четыре входных бита приходилось три выходных. Следовательно, после пунктурного кодера скорость потока составит уже 33 Мбит/с (не информационная, а общая скорость с учетом добавленных избыточных битов). Полученная в результате последовательность направляется в фазовый модулятор 8-PSK, где каждые три бита упаковываются в один символ. При этом скорость передачи составит 11Ѕ106 символов в секунду, а информационная скорость — 22 Мбит/с.

Соотношение между скоростями передачи и типом кодирования в стандарте 802.11b/b+ приведено в табл. 1.

 

Таблица 1. Соотношение между скоростями передачи и типом кодирования в стандарте 802.11b/b+

Таблица 1. Соотношение между скоростями передачи и типом кодирования в стандарте 802.11b/b+

* Скорость 22 Мбит/с относится только к протоколу 802.11b+.

Стандарт IEEE 802.11g

Стандарт 802.11g является логическим развитием стандарта 802.11b и предполагает передачу данных в том же частотном диапазоне, но с более высокими скоростями. Кроме того, стандарт 802.11g полностью совместим с 802.11b, то есть любое устройство 802.11g должно поддерживать работу с устройствами 802.11b. Максимальная скорость передачи в стандарте 802.11g составляет 54 Мбит/с.

При разработке 802.11g рассматривались две конкурирующие технологии: метод ортогонального частотного разделения OFDM и метод двоичного пакетного сверточного кодирования PBCC, опционально реализованный в стандарте 802.11b. В результате стандарт 802.11g основан на компромиссном решении: в качестве базовых применяются технологии OFDM и CCK, а опционально предусмотрено использование технологии PBCC.

В протоколе 802.11g технология кодирования PBCC опционально (но не обязательно) может использоваться на скоростях 5,5; 11; 22 и 33 Мбит/с. Вообще же, в самом стандарте обязательными являются скорости передачи 1; 2; 5,5; 6; 11; 12 и 24 Мбит/с, а более высокие скорости передачи 33, 36, 48 и 54 Мбит/с — опциональными. Кроме того, одна и та же скорость передачи может реализовываться при различной технике модуляции. Например, скорость передачи 24 Мбит/с может быть достигнута как при многочастотном кодировании OFDM, так и при гибридной технике кодирования CCK-OFDM.

Единственное, о чем мы пока не упоминали, — это техника гибридного кодирования. Чтобы понять сущность этого термина, вспомним, что любой передаваемый пакет данных содержит заголовок/преамбулу со служебный информацией и поле данных. Когда речь идет о пакете в формате CCK, то имеется в виду, что заголовок и данные кадра передаются в формате CCK. Аналогично и при использовании технологии OFDM заголовок кадра и данные передаются посредством OFDM-кодирования. При применении технологии CCK-OFDM заголовок кадра кодируется с помощью CCK-кодов, но сами данные кадра передаются посредством многочастотного OFDM-кодирования. Таким образом, технология CCK-OFDM является своеобразным гибридом CCK и OFDM. Однако технология CCK-OFDM — не единственная гибридная технология: при использовании пакетного кодирования PBCC заголовок кадра передается с помощью CCK-кодов, а данные кадра кодируются посредством PBCC.

Стандарт IEEE 802.11а

Рассмотренные выше стандарты 802.11b и 802.11g относятся к частотному диапазону 2,4 ГГц (от 2,4 до 2,4835 ГГц), а стандарт 802.11a предполагает использование уже более высокочастотного диапазона (от 5,15 до 5,350 ГГц и от 5,725 до 5,825 ГГц). В США данный диапазон именуют диапазоном нелицензионной национальной информационной инфраструктуры (Unlicensed National Information Infrastructure, UNII).

В соответствии с правилами FCC частотный диапазон UNII разбит на три 100-мегагерцевых поддиапазона, различающихся ограничениями по максимальной мощности излучения. Низший диапазон (от 5,15 до 5,25 ГГц) предусматривает мощность всего 50 мВт, средний диапазон (от 5,25 до 5,35 ГГц) — 250 мВт, а верхний (от 5,725 до 5,825 ГГц) — до 1 Вт. Использование трех частотных поддиапазонов с общей шириной 300 МГц делает стандарт 802.11а самым широкополосным в семействе стандартов 802.11 и позволяет разбить весь частотный диапазон на 12 каналов шириной 20 МГц, восемь из которых лежат в 200-мегагерцевом диапазоне от 5,15 до 5,35 ГГц, а остальные четыре — в 100-мегагерцевом диапазоне от 5,725 до 5,825 ГГц. При этом четыре верхних частотных канала, предусматривающие наибольшую мощность передачи, используются преимущественно для передачи сигналов вне помещений.

Протокол 802.11a основан на технике частотного ортогонального разделения каналов с мультиплексированием (OFDM). Для разделения каналов используется обратное преобразование Фурье с окном в 64 частотных подканала. Поскольку ширина каждого из 12 каналов, определяемых в стандарте 802.11а, имеет значение 20 МГц, получается, что каждый ортогональный частотный подканал имеет ширину 312,5 кГц. Однако из 64 ортогональных подканалов задействуется только 52, причем 48 из них применяется для передачи данных (Data Tones), а остальные — для передачи служебной информации (Pilot Тones).

     

Частотное ортогональное разделение каналов с мультиплексированием (OFDM)

Техника частотного ортогонального разделения каналов с мультиплексированием (Orthogonal Frequency Division Multiplexing, OFDM) заключается в распределении информационных потоков данных по отдельным, ортогональным друг другу частотным каналам. Дело в том, что при высоких скоростях передачи (а это неизбежно при использовании только одного частотного канала) приходится сталкиваться с таким паразитным явлением, как многолучевая интерференция сигналов. Суть этого явления состоит в том, что при распространении сигналов в открытой среде в результате многократных отражений сигала от естественных преград один и тот же сигнал может попадать в приемник различными путями. Однако подобные пути распространения имеют и разные длины, а потому для различных путей распространения ослабление сигнала будет неодинаковым. Следовательно, в точке приема результирующий сигнал представляет собой суперпозицию (интерференцию) многих сигналов, имеющих различные амплитуды и смещенных относительно друг друга по времени, что эквивалентно сложению сигналов с разными фазами.

Следствием многолучевой интерференции является искажение принимаемого сигнала. Многолучевая интерференция присуща любому типу сигналов, но особенно негативно она сказывается на широкополосных сигналах, поскольку в результате интерференции некоторые частоты складываются синфазно, что приводит к увеличению сигнала, а другие, наоборот, — противофазно, вызывая ослабление сигнала на данной частоте. В отношении многолучевой интерференции различают два крайних случая. В первом случае максимальная задержка между различными сигналами не превосходит времени длительности одного символа и интерференция возникает в пределах одного передаваемого символа. Во втором случае максимальная задержка между различными сигналами больше длительности одного символа, а в результате интерференции складываются сигналы, представляющие разные символы, и возникает так называемая межсимвольная интерференция (Inter Symbol Interference, ISI).

В технологии OFDM в каждом из частотных подканалов скорость передачи данных можно сделать не слишком высокой, что создает предпосылки для эффективного подавления межсимвольной интерференции.

При частотном разделении каналов необходимо, чтобы ширина отдельного канала была, с одной стороны, достаточно узкой для минимизации искажения сигнала в пределах отдельного канала, а с другой — достаточно широкой для обеспечения требуемой скорости передачи. Кроме того, для экономного использования всей полосы канала, разделяемого на подканалы, желательно как можно более плотно расположить частотные подканалы, но при этом избежать межканальной интерференции, чтобы обеспечить полную независимость каналов друг от друга. Частотные каналы, удовлетворяющие перечисленным требованиям, называются ортогональными. Несущие сигналы всех частотных подканалов (а точнее, функции, описывающие эти сигналы) ортогональны друг другу. И хотя сами частотные подканалы могут частично перекрывать друг друга, однако ортогональность несущих сигналов гарантирует частотную независимость каналов друг от друга, а следовательно, и отсутствие межканальной интерференции.

Одним из ключевых преимуществ метода OFDM является сочетание высокой скорости передачи с эффективным противостоянием многолучевому распространению. Если говорить более точно, то технология OFDM как таковая не устраняет многолучевого распространения, но создает предпосылки для устранения эффекта межсимвольной интерференции. Дело в том, что неотъемлемой частью технологии OFDM является охранный интервал (Guard Interval, GI) — циклическое повторение окончания символа, пристраиваемое в начале символа. Охранный интервал является избыточной информацией и в этом смысле снижает полезную (информационную) скорость передачи, но именно он служит защитой от возникновения межсимвольной интерференции. Данная избыточная информация добавляется к передаваемому символу в передатчике и отбрасывается при приеме символа в приемнике.

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

 

По технике модуляции протокол 802.11a мало чем отличается от 802.11g. На низких скоростях передачи используется двоичная и квадратурная фазовые модуляции BPSK и QPSK, а на высоких — квадратурная амплитудная модуляция 16-QAM и 64-QAM. Кроме того, в протоколе 802.11а для повышения помехоустойчивости предусмотрено применение сверточного кодирования. Поскольку скорость сверточного кодирования может быть разной, то при использовании одного и того же типа модуляции скорость передачи оказывается различной.

В методе OFDM время длительности одного символа вместе с охранным интервалом составляет 4 мкс, а следовательно, частота следования импульсов будет 250 кГц. Учитывая, что в каждом подканале кодируется по одному биту, а всего таких подканалов 48, получим, что общая скорость передачи составит 250 кГцЅ48 каналов = 12 МГц. Если скорость сверточного кодера составляет 1/2, то скорость передачи информационных битов окажется равной 6 Мбит/с. Если же скорость сверточного кодирования будет 3/4, то скорость передачи информационных битов составит 9 Мбит/с. Всего в протоколе 802.11a предусмотрено использование восьми различных режимов передачи, отличающихся друг от друга скоростью, типом модуляции и используемой скоростью сверточного кодирования (табл. 2). При этом подчеркнем, что в самом протоколе 802.11а обязательными являются только скорости 6, 12 и 24 Мбит/с, а все остальные — опциональными.

 

Таблица 2. Соотношение между скоростями передачи и типом модуляции в стандарте 802.11a

Таблица 2. Соотношение между скоростями передачи и типом модуляции в стандарте 802.11a

В начало В начало

Механизмы коллективного доступа в сетях 802.11

До сих пор, рассматривая различные протоколы беспроводной связи семейства 802.11, мы концентрировались именно на физическом (PHY) уровне, определяющем методы кодирования/декодирования и модуляции/демодуляции сигнала при его передаче и приеме. Однако такие вопросы, как регулирование совместного использования среды передачи данных, определяются на более высоком уровне — на уровне доступа к среде передачи данных, который называют МАС-уровнем (Media Access Control). Именно на MAC-уровне устанавливаются правила совместного использования среды передачи данных одновременно несколькими узлами беспроводной сети.

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

На MAC-уровне протокола 802.11 определяются два типа коллективного доступа к среде передачи данных: функция распределенной координации (Distributed Coordination Function, DCF) и функция централизованной координации (Point Coordination function, PCF).

Функция распределенной координации DCF

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

Одним из вариантов организации такого равноправного доступа к среде передачи данных является функция распределенной координации (DCF), основанная на методе коллективного доступа с обнаружением несущей и механизмом избежания коллизий (Carrier Sense Multiple Access/Collision Avoidance, CSMA/CA). При такой организации каждый узел, прежде чем начать передачу, прослушивает среду, стараясь обнаружить несущий сигнал, и только при условии, что среда свободна, может начать передачу данных.

Однако, как мы уже отмечали, в этом случае велика вероятность возникновения коллизий, и для того, чтобы снизить вероятность возникновения подобных ситуаций, используется механизм избежания коллизий (Collision Avoidance, CA). Суть данного механизма заключается в следующем. Каждый узел сети, убедившись, что среда свободна, прежде чем начать передачу, выжидает в течение определенного промежутка времени. Этот промежуток является случайным и складывается из двух составляющих: обязательного промежутка DIFS (DCF Interframe Space) и выбираемого случайным образом промежутка обратного отсчета (Backoff Time). В результате каждый узел сети перед началом передачи выжидает в течение случайного промежутка времени, что, естественно, значительно снижает вероятность возникновения коллизий, поскольку вероятность того, что два узла сети будут выжидать в течение одного и того же промежутка времени, чрезвычайно мала.

Чтобы гарантировать всем узлам сети равноправный доступ к среде передачи данных, необходимо соответствующим образом определить алгоритм выбора длительности промежутка обратного отсчета. Этот промежуток хотя и является случайным, но выбирается из множества некоторых дискретных промежутков времени, то есть равен целому числу элементарных временных промежутков, называемых тайм-слотами (SlotTime). Для выбора промежутка обратного отсчета каждый узел сети формирует так называемое окно конкурентного доступа (Contention Window, CW), использующееся для определения количества тайм-слотов, в течение которых станция выжидала перед передачей. Минимальной размер окна определяется в 31 тайм-слот, а максимальный — в 1023 тайм-слота.

Когда узел сети пытается получить доступ к среде передачи данных, то после обязательного промежутка ожидания DIFS запускается процедура обратного отсчета, то есть включается обратный отсчет счетчика тайм-слотов начиная от выбранного значения окна. Если в течение всего промежутка ожидания среда оставалась свободной, то узел начинает передачу.

После успешной передачи окно формируется вновь. Если же за время ожидания передачу начал другой узел сети, то значение счетчика обратного отсчета останавливается и передача данных откладывается. После того как среда станет свободной, данный узел снова начинает процедуру обратного отсчета, но уже с меньшим размером окна, определяемым предыдущим значением счетчика обратного отсчета, и соответственно с меньшим значением времени ожидания. При этом очевидно, что чем большее число раз узел откладывает передачу по причине занятости среды, тем выше вероятность того, что в следующий раз он получит доступ к среде передачи данных.

Рассмотренный алгоритм реализации коллективного доступа к среде передачи данных гарантирует равноправный доступ всех узлов сети к среде. Однако при таком подходе вероятность возникновения коллизий все-таки существует. Понятно, что снизить вероятность возникновения коллизий можно путем увеличения максимального размера формируемого окна, однако это увеличит времена задержек при передаче, уменьшив тем самым производительность сети. Поэтому в методе DCF для минимизации коллизий используется следующий алгоритм. После каждого успешного приема кадра принимающая сторона через короткий промежуток SIFS (Short Interframe Space) подтверждает успешный прием, посылая ответную квитанцию — кадр ACK (ACKnowledgement). Если в процессе передачи данных возникла коллизия, то передающая сторона не получает кадр ACK об успешном приеме и тогда размер окна для передающего узла увеличивается почти вдвое. Так, если для первой передачи размер окна равен 31 слоту, то для второй попытки передачи он уже составляет 63, для третьей — 127, для четвертой — 255, для пятой — 511, а для всех последующих — 1023 слота. Следовательно, увеличение размера окна происходит динамически, по мере роста числа коллизий, что позволяет, с одной стороны, уменьшить временные задержки, а с другой — снизить вероятность возникновения коллизий.

Рассмотренный механизм регламентирования коллективного доступа к среде передачи данных имеет одно узкое место. Это так называемая проблема скрытых узлов. Из-за наличия естественных препятствий возможна ситуация, когда два узла сети не могут слышать друг друга напрямую; такие узлы называют скрытыми. Чтобы решить проблему скрытых узлов, функция DCF опционально предусматривает возможность использования алгоритма RTS/CTS.

Алгоритм RTS/CTS

В соответствии c алгоритмом RTS/CTS каждый узел сети, перед тем как послать данные, сначала отправляет специальное короткое сообщение, которое называется RTS (Ready-To-Send) и означает готовность данного узла к отправке данных. Такое RTS-сообщение содержит информацию о продолжительности предстоящей передачи и об адресате и доступно всем узлам в сети (если, конечно, они не скрыты от отправителя). Это позволяет другим узлам задержать передачу на время, равное объявленной длительности сообщения. Приемная станция, получив сигнал RTS, отвечает посылкой сигнала CTS (Clear-To-Send), свидетельствующего о готовности станции к приему информации. После этого передающая станция посылает пакет данных, а приемная станция должна передать кадр ACK, подтверждающий безошибочный прием.

Теперь рассмотрим ситуацию, когда сеть состоит из четырех узлов: A, B, C и D (рис. 1). Предположим, что узел C находится в зоне досягаемости только узла A, узел A находится в зоне досягаемости узлов C и B, узел B находится в зоне досягаемости узлов A и D, а узел D находится в зоне досягаемости только узла B, то есть в сети имеются скрытые узлы: узел C скрыт от узлов B и D, а узел A скрыт от узла D.

 

Рис. 1. Решение проблемы скрытых узлов в алгоритме RTS/CTS

Рис. 1. Решение проблемы скрытых узлов в алгоритме RTS/CTS

В подобной сети алгоритм RTS/CTS позволяет справиться с проблемой возникновения коллизий, которая не решается посредством рассмотренного базового способа организации коллективного доступа в DCF. Пусть узел A пытается передать данные узлу B; для этого он посылает сигнал RTS, который, помимо узла B, получает также узел C, но не получает узел D. Узел C, получив данный сигнал, блокируется, то есть приостанавливает попытки передавать сигнал до момента окончания передачи между узлами A и B. Узел B, в ответ на полученный сигнал RTS, посылает кадр CTS, который получают узлы A и D. Узел D, получив данный сигнал, также блокируется на время передачи между узлами A и B.

У алгоритма RTS/CTS имеются, однако, свои подводные камни, которые в определенных ситуациях ведут к снижению эффективности использования среды передачи данных. К примеру, иногда возможно такое явление, как распространение эффекта ложных блокировок узлов, что в конечном счете может привести к ступору в сети.

Рассмотрим, к примеру, сеть, показанную на рис. 2. Пусть узел B пытается передать данные узлу A, посылая ему кадр RTS. Поскольку этот кадр получает также и узел C, то последний блокируется на время передачи между узлами A и B. Узел D, пытаясь передать данные узлу C, посылает кадр RTS, но поскольку узел C заблокирован, то он не получает ответа и начинает процедуру обратного отсчета с увеличенным размером окна. В то же время кадр RTS, посланный узлом D, получает и узел E, который, неверно предполагая, что за этим последует сеанс передачи данных от узла D к узлу С, блокируется. Однако это ложная блокировка, поскольку реально между узлами D и C передачи нет, и такое явление ложной блокировки узлов может приводить к кратковременному ступору всей сети.

 

Рис. 2. Возникновение ложных блокировок узлов сети

Рис. 2. Возникновение ложных блокировок узлов сети

Функция централизованной координации PCF

Вышеописанный механизм распределенной координации DCF является базовым для протоколов 802.11 и может использоваться и в беспроводных сетях, функционирующих в режиме Ad-Hoc, и в сетях, работающих в режиме Infrastructure, то есть в таких сетях, инфраструктура которых включает точку доступа (Access Point, AP).

Однако для сетей в режиме Infrastructure более естественным является несколько иной механизм регламентирования коллективного доступа, известный как функция централизованной координации (Point Coordination Function, PCF). Отметим, что механизм PCF является опциональным и применяется только в сетях с точкой доступа. В случае использования механизма PCF точка доступа является центром координации взаимодействия (Point Coordinator, PC). На центр координации возлагается управление коллективным доступом всех остальных узлов сети к среде передачи данных на основе определенного алгоритма опроса или исходя из приоритетов узлов сети. Центр координации опрашивает все узлы сети, внесенные в его список, и на основании этого опроса организует передачу данных между всеми узлами сети. Следует отметить, что такой подход полностью исключает конкурирующий доступ к среде, как в случае механизма DCF, и делает невозможным возникновение коллизий.

Функция централизованной координации не отменяет функцию распределенной координации, а скорее дополняет ее, накладываясь поверх. В течение определенного промежутка времени реализуется механизм PCF, затем — DCF, а потом все повторяется заново.

Для возможности чередования режимов PCF и DCF необходимо, чтобы точка доступа, выполняющая функции центра координации и реализующая режим PCF, имела приоритетный доступ к среде передачи данных. Это можно сделать, если использовать конкурентный доступ к среде передачи данных (как и в методе DCF), но для центра координации разрешить использовать промежуток ожидания, меньший DIFS. В этом случае если центр координации пытается получить доступ к среде, то он ожидает окончания текущей передачи, а поскольку для него определяется минимальный режим ожидания после обнаружения «тишины» в эфире, то он первым получает доступ к среде.

КомпьютерПресс 5'2005