Книга «Компьютерные сети. 6-е изд.»

image Привет, Хаброжители!

Мы отправили в типографию новое издание одной из ведущих книг классики Computer Science, а именно шестое издание «Компьютерных сетей».

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

Шестое издание полностью переработано с учетом изменений, произошедших в сфере сетевых технологий за последние годы, и, в частности, освещает такие технологии, как DOCSIS, 4G и 5G, беспроводные сети стандарта 802.11ax, 100-гигабитные сети Ethernet, интернет вещей, современные транспортные протоколы CUBIC TCP, QUIC и BBR, программно-конфигурируемые сети и многое другое.

Беспроводные локальные сети


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

Больше двух десятилетий основным стандартом беспроводных LAN был 802.11. Общие сведения о нем уже были даны в разделе 1.4.3. Пришло время рассмотреть этот стандарт более детально. В последующих разделах речь пойдет о стеке протоколов, методах радиопередачи (на физическом уровне), протоколе подуровня MAC, структуре фрейма и службах. Более подробные сведения о стандарте 802.11 можно найти в работах Бинга (Bing, 2017) и Дэвиса (Davis, 2018). Чтобы получить информацию из первых рук, обратитесь к официальному техническому описанию стандартов IEEE.

4.4.1. Стандарт 802.11: архитектура и стек протоколов


Сети 802.11 можно использовать в двух режимах. Наиболее популярный — инфраструктурный режим (infrastructure mode). Это подключение клиентов (например, ноутбуков и смартфонов) к другой сети, например внутренней сети компании или интернету. Данная схема представлена на илл. 4.23 (а). Каждый клиент связывается с точкой доступа (Access Point, AP), которая, в свою очередь, подключена к сети. Клиент отправляет и получает пакеты через AP. Несколько AP можно объединять, например, в проводную сеть под названием «распределительная сеть» (distribution system). Так формируется расширенная сеть 802.11. В этом случае клиенты могут отправлять фреймы другим клиентам через их точки доступа.

image


Второй режим, показанный на илл. 4.23 (б), называется децентрализованной сетью (ad hoc network). Это набор компьютеров, которые связаны таким образом, чтобы напрямую отправлять фреймы друг другу. Точка доступа не используется. Поскольку доступ в интернет — революционная технология в беспроводных соединениях, децентрализованные сети не слишком популярны.

Теперь рассмотрим протоколы. Все протоколы, используемые семейством стандартов 802.х, включая 802.11 и Ethernet, схожи по структуре. Часть стека протоколов, соответствующая основным вариантам стандарта 802.11, изображена на илл. 4.24. И для клиентов, и для точек доступа применяется один стек. Физический уровень почти такой же, как и в модели OSI, а вот канальный уровень во всех протоколах 802.х разбит на два или более подуровня. Что касается 802.11, то MAC (подуровень управления доступом к среде) отвечает за распределение канала, то есть за то, какая станция будет передавать следующей. Выше находится LLC (подуровень управления логической связью), цель которого в том, чтобы скрыть различия стандартов 802.х от сетевого уровня. Это ответственная задача, но, помимо этого, LLC сегодня является связующим уровнем, отвечающим за идентификацию протокола (например, IP), информация о котором передается во фрейме 802.11.

С момента появления в 1997 году физический уровень обзавелся несколькими методами передачи. Два первоначальных метода, инфракрасная передача (как в пульте дистанционного управления телевизором) и режим скачкообразного изменения частоты в диапазоне 2,4 ГГц, сегодня не используются. Третий из исходных методов, широкополосный сигнал с прямой последовательностью на скорости 1 или 2 Мбит/с в диапазоне 2,4 ГГц, был расширен и завоевал популярность со скоростями до 11 Мбит/с. Этот стандарт известен под названием 802.11b.

image


Чтобы предоставить поклонникам беспроводных сетей желанное увеличение скорости, в 1999 и 2003 годах были разработаны новые методы передачи на основе мультиплексирования с ортогональным частотным разделением (Orthogonal Frequency Division Multiplexing, OFDM), описанного в разделе 2.5.3. Первый метод, 802.11a, работает в другом диапазоне частот — 5 ГГц. Второй, 802.11g, остался в диапазоне 2,4

В октябре 2009 года окончательно сформировался стандарт 802.11n. Он содержит методы передачи данных, дающие значительный прирост скорости за счет одновременного использования нескольких антенн на приемнике и передатчике.

Дойдя до конца алфавита, в декабре 2013 года институт IEEE опубликовал стандарт под названием 802.11ac. Следует заметить, что члены комитета 802.11 используют пропущенные буквы для внесения небольших технических улучшений, часто служащих для уточнения или исправления ошибок (например, в случае стандарта 802.11r). Стандарт 802.11ac предназначен для диапазона 5 ГГц, поэтому он несовместим со старым оборудованием, работающим только в полосе 2,4 ГГц. Сегодня наиболее продвинутые мобильные устройства используют 802.11ac. Недавно принятый 802.11ax обеспечивает еще более высокую скорость.

Далее мы вкратце рассмотрим все эти методы передачи и подробно изучим самые актуальные из них, отбросив устаревшие стандарты 802.11. Формально они относятся к физическому уровню, которому была посвящена глава 2.

Но из-за того, что они тесно связаны с беспроводными LAN вообще и с LAN стандарта 802.11 в частности, мы познакомимся с ними здесь.

4.4.2. Стандарт 802.11: физический уровень


Все представленные ниже методы позволяют передать фрейм подуровня MAC с одной станции на другую по радиоканалу. Отличаются они используемыми технологиями и скоростями, достижимыми на практике. Детальное рассмотрение этих методов выходит за рамки нашей книги, мы лишь дадим краткое описание, которое, возможно, заинтересует читателей и снабдит их необходимыми терминами для поиска более подробной дополнительной информации (см. также главу 2).

Все методы стандарта 802.11 используют радиосигналы ближнего радиуса действия в диапазонах 2,4 ГГц или 5 ГГц. Преимущество этих полос в том, что они не требуют лицензирования, то есть доступны для любого передатчика, отвечающего небольшому числу ограничений, например излучаемой мощности до 1 Вт (хотя для большинства передатчиков в беспроводных LAN характерна мощность 50 мВт). К сожалению, этот факт также известен производителям автоматических гаражных дверей, беспроводных телефонов, микроволновых печей и множества других устройств, конкурирующих за спектр частот с ноутбуками и смартфонами, использующими Wi-Fi. Полоса 2,4 ГГц более заполнена, поэтому в некоторых случаях 5 ГГц предпочтительнее (несмотря на меньший радиус действия из-за более высокой частоты). К сожалению, радиоволны 5 ГГц короче, чем волны 2,4 ГГц, и не так хорошо проходят сквозь стены, поэтому этот диапазон не является безоговорочным победителем.

Все методы позволяют передавать сигнал на разной скорости в зависимости от текущих условий. Если беспроводной сигнал слабый, выбирается низкая скорость, если сильный — ее можно повысить. Такая корректировка называется адаптацией скорости (rate adaptation). Скорости могут различаться в десятки раз, поэтому хорошая адаптация важнее производительности соединения. Поскольку для совместимости это значения не имеет, в стандартах не говорится, как именно корректировать скорость.

Первый метод передачи, который мы рассмотрим, — 802.11b. Это технология расширенного спектра, поддерживающая скорости 1, 2, 5,5 и 11 Мбит/с (на практике рабочая скорость почти всегда близка к максимальной). Данный метод похож на систему CDMA (см. раздел 2.4.4), однако в нем есть только один код расширения спектра, применяемый всеми пользователями. Расширение необходимо для выполнения требования FCC: мощность должна распределяться по диапазону ISM. Для стандарта 802.11b используется последовательность Баркера (Barker sequence). Ее отличительная особенность — в низкой автокорреляции (за исключением случаев, когда последовательности выровнены). Благодаря этому получатель может захватить начало передачи. Для достижения скорости 1 Мбит/с последовательность Баркера комбинируется с модуляцией BPSK, и с каждым набором из 11 элементарных сигналов (чипов) передается 1 бит. Сигналы пересылаются со скоростью 11 мегачипов/с. Чтобы достичь скорости 2 Мбит/с, последовательность комбинируется с модуляцией QPSK, и на каждые 11 чипов приходится 2 бита. На более высоких скоростях дело обстоит по-другому. Вместо последовательности Баркера для конструирования кодов применяется дополнительная кодовая манипуляция (Complementary Code Keying, CCK). На скорости 5,5 Мбит/с в каждом коде из 8 элементарных сигналов отправляется 4 бита, а на скорости 11 Мбит/с — 8 бит.

Перейдем к 802.11a. Он поддерживает скорости до 54 Мбит/с в 5-гигагерцевом диапазоне ISM. Можно подумать, что 802.11a появился раньше 802.11b, но это не так. Хотя группа 802.11a была основана раньше, стандарт 802.11b первым получил одобрение, а продукты на его основе вышли на рынок раньше продуктов 802.11a (в том числе из-за сложностей работы в более высоком диапазоне 5 ГГц).

Метод 802.11a основан на мультиплексировании с ортогональным частотным разделением каналов OFDM (Orthogonal Frequency Division Multiplexing), так как оно эффективно использует спектр и устойчиво к искажению беспроводного сигнала, например, из-за многолучевого распространения. Биты параллельно отправляются по 52 поднесущим, из которых 48 содержат данные и 4 служат для синхронизации. Каждый символ передается в течение 4 мкс и состоит из 1, 2, 4 или 6 бит. Биты кодируются для исправления ошибок с применением сверточного кода. Поэтому только ½, 2/3 или ¾ битов не являются избыточными. В разных комбинациях 802.11a может обеспечивать восемь разных показателей скорости, от 6 до 54 Мбит/с. Это значительно выше, чем у 802.11b, к тому же в диапазоне 5 ГГц гораздо меньше помех. Однако радиус действия 802.11b примерно в семь раз больше, чем у 802.11a, что во многих ситуациях крайне важно.

Несмотря на неплохую дальность действия, разработчики 802.11b не собирались давать этому неожиданному фавориту шанс на победу в соревновании скоростей. К счастью, в мае 2002 года FCC отменила давнее правило, требующее, чтобы все беспроводное коммуникационное оборудование, работающее в США в диапазонах ISM, применяло расширение спектра. Это позволило начать разработку стандарта 802.11g, который был одобрен комитетом IEEE в 2003 году. Он копирует методы модуляции OFDM стандарта 802.11a, но, как и 802.11b, используется в ограниченном диапазоне ISM 2,4 ГГц. 802.11g предлагает те же скорости, что и 802.11a (6–54 Мбит/с) и, разумеется, совместимость с любыми устройствами 802.11b, которые могут оказаться поблизости. Все эти различия зачастую сбивают с толку обычных пользователей, поэтому продукты обычно поддерживают 802.11a/b/g в одной сетевой карте.

Не останавливаясь на достигнутом, комитет IEEE начал работу над физическим уровнем 802.11n с очень высокой производительностью. Он был одобрен в 2009 году. Цель 802.11n — обеспечить пропускную способность не менее 100 Мбит/с, устранив все накладные расходы беспроводной связи. Для этого требуется увеличить базовую скорость как минимум в четыре раза. Комитет удвоил ширину каналов с 20 до 40 МГц и снизил накладные расходы на передачу, разрешив совместную отправку целой группы фреймов. Что еще важнее, в стандарте 802.11n предусмотрено использование до четырех антенн для пересылки до четырех потоков информации одновременно. Сигналы потоков смешиваются на стороне получателя, но их можно разделить с помощью коммуникационных методов MIMO (Multiple Input Multiple Output — «несколько входов, несколько выходов»). Наличие нескольких антенн либо повышает скорость, либо увеличивает радиус действия и надежность. MIMO, как и OFDM, — одна из тех удачных идей в сфере коммуникаций, которые в корне меняют дизайн беспроводных сетей и наверняка нередко станут применяться и в будущем. Краткое описание метода использования нескольких антенн в стандарте 802.11 вы найдете в работе Халперина и др. (Halperin et al., 2010).

В 2013 году институт IEEE опубликовал стандарт 802.11ac. Он использует более широкие каналы (80 и 160 МГц), модуляцию 256-QAM и многопользовательскую систему MIMO (Multiuser MIMO, MU-MIMO), включающую до восьми потоков, а также другие приемы в попытках обеспечить теоретически максимальный битрейт — 7 Гбит/с. Однако на практике не удается даже приблизиться к этому пределу. Стандарт 802.11ac сегодня используется большинством массово выпускаемых мобильных устройств.

Еще одной недавно появившейся версией стандарта 802.11 является 802.11ad. Этот стандарт работает в полосе 60 ГГц (57–71 ГГц), то есть использует очень короткие радиоволны, длина которых составляет лишь 5 мм. Поскольку они не могут проходить сквозь стены или другие преграды, 802.11ad может применяться только внутри одного помещения. Это одновременно и минус, и плюс. Пользователь в соседнем офисе или квартире не создаст никаких помех для вашей работы. Сочетание высокой пропускной способности с низкой проницаемостью идеально подходит для потоковой передачи несжатых фильмов в формате 4K или 8K от базовой станции к мобильным устройствам, находящимся в том же помещении. Стандарт 802.11ay пошел еще дальше, увеличив пропускную способность в четыре раза.

Наконец, мы подошли к 802.11ax, который иногда называют высокоэффективным беспроводным стандартом (high-efficiency wireless).

Данный стандарт получил понятное для потребителя название Wi-Fi 6. (Если вы думаете, что не заметили наименований от «Wi-Fi 1» до «Wi-Fi 5» по невнимательности, то это не так. Предыдущие названия давались в соответствии с нумерацией стандартов IEEE. Однако эту версию группа Wi-Fi Alliance решила назвать «Wi-Fi 6» с учетом того, что это шестая версия Wi-Fi.) 802.11ax позволяет использовать более эффективный метод QAM-модуляции в сочетании с новой схемой OFDMA. Она (теоретически) может работать в нелицензируемых частях спектра вплоть до 7 ГГц, обеспечивая скорость передачи данных до 11 Гбит/с. Вы можете попытаться достигнуть этой скорости у себя дома, однако, не располагая идеально обустроенной тестовой лабораторией, вряд ли добьетесь успеха. В то же время вы вполне можете получить скорость 1 Гбит/с.

В схеме модуляции OFDMA стандарта 802.11ax центральный планировщик выделяет каждой из передающих станций единицы ресурса фиксированной длины, тем самым снижая степень конкуренции в зашумленном эфире. Также 802.11ax позволяет повторно использовать пространственный спектр за счет метода «окрашивания» (coloring): отправитель помечает начало своей передачи так, чтобы остальные могли определить, возможно ли совместное использование спектра. В некоторых случаях отправитель может осуществлять одновременную передачу, уменьшив свою мощность соответствующим образом.

Кроме того, в отличие от 802.11ac, где используется модуляция 256-QAM, позволяющая передавать 8 бит на символ, стандарт 802.11ax использует модуляцию 1024-QAM (10 бит на символ). Данный стандарт также обеспечивает более интеллектуальное планирование за счет использования функции целевого времени пробуждения (TWT, target wake time). С ее помощью маршрутизатор минимизирует количество коллизий путем составления графика передачи для устройств пользователя. Эта функция, вероятно, будет наиболее полезной в «умном доме», где все больше подключенных приборов периодически отправляют контрольные сигналы на домашний маршрутизатор.

4.4.3. Стандарт 802.11: протокол подуровня управления доступом к среде


Однако вернемся из области электротехники к компьютерным наукам. Протокол подуровня MAC в стандарте 802.11 довольно сильно отличается от аналогичного протокола Ethernet вследствие двух фундаментальных факторов, характерных для беспроводного обмена данными.

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

Вместо этого 802.11 пытается избегать коллизий за счет протокола CSMA с предотвращением коллизий (CSMA with Collision Avoidance, CSMA/CA). Концептуально он аналогичен CSMA/CD для Ethernet, где канал прослушивается перед началом отправки, а период молчания после коллизии вычисляется экспоненциально. Однако если у станции есть фрейм для пересылки, то она начинает цикл с периода молчания случайной длины (за исключением случаев, когда она давно не использовала канал и он простаивает). Станция не ожидает коллизий. Число слотов, в течение которых она молчит, выбирается в диапазоне от 0 до, скажем, 15 в случае физического уровня OFDM. Станция дожидается бездействия канала в течение короткого периода времени (называемого DIFS; подробнее о нем ниже) и отсчитывает свободные слоты, приостанавливая отсчет на время отправки фреймов. Свой фрейм она отправляет, когда счетчик достигает нуля. При успешной передаче адресат немедленно отправляет обратно короткое подтверждение. Если подтверждения нет, делается вывод, что произошла ошибка — будь то коллизия или любая другая. В таком случае отправитель удваивает период молчания и повторяет попытку, продолжая экспоненциально наращивать длину паузы (как в случае Ethernet), пока фрейм не будет успешно передан или пока не будет достигнуто максимальное число повторов.

Пример некоторой временной шкалы приводится на илл. 4.25. Станция A отправляет фрейм первой. Пока она передает, станции B и C переходят в режим готовности к отправке. Они видят, что канал занят, и дожидаются его освобождения. Вскоре после получения подтверждения станцией A канал переходит в режим бездействия. Но вместо того чтобы сразу отправлять фреймы (что привело бы к коллизии), станции B и C начинают свои периоды молчания. C выбирает короткий период молчания, поэтому ей удается отправить данные первой. B приостанавливает обратный отсчет, когда видит, что канал занят станцией C, и возобновляет только после получения станцией C подтверждения. Вскоре период молчания B завершается, и она также отправляет фрейм.

image


По сравнению с Ethernet здесь два основных отличия. Во-первых, раннее начало периодов молчания помогает избегать конфликтов. Это важное преимущество, так как коллизии обходятся дорого, ведь даже если происходит столкновение, фрейм все равно отправляется целиком. Во-вторых, чтобы станции могли «догадываться» о коллизиях, которые распознать невозможно, применяется схема с подтверждениями.

Такой режим называется распределенной координацией (Distributed Coordination Function, DCF). Все станции действуют независимо, нет централизованного контроля. Стандарт также включает необязательный режим сосредоточенной координации (Point Coordination Function, PCF), при котором все процессы в ячейке контролирует точка доступа — как базовая станция сотовой сети. Однако на практике PCF не применяется, так как невозможно запретить станциям из соседней сети передавать конкурирующий трафик.

Вторая проблема заключается в том, что области передачи разных станций могут не совпадать. В проводной сети система спроектирована таким образом, чтобы все станции могли слышать друг друга. Особенности передачи радиосигналов не позволяют обеспечить такое постоянство для беспроводных станций. Следовательно, может возникнуть упомянутая ранее проблема скрытой станции (илл. 4.26 (а). Поскольку не все станции слышат друг друга, передача в одной части ячейки может быть не воспринята станцией, находящейся в другой ее части. В приведенном на рисунке примере станция С передает данные станции В. Если станция А прослушает канал, она не обнаружит ничего подозрительного и сделает ложный вывод о том, что она имеет право начать передачу станции В. Это решение приведет к коллизии.

image


Кроме того, есть и обратная проблема, показанная на илл. 4.26 (б). Станция В хочет отправить данные для станции С и прослушивает канал. Услышав, что в нем уже осуществляется какая-то передача, В делает ложный вывод, что отправка для С сейчас невозможна. Между тем станция А — источник сигнала, который смутил станцию В, — на самом деле отправляет данные станции D (на рисунке ее нет). Таким образом, теряется возможность передать информацию.

Чтобы решить проблему очередности передачи данных станциями, в стандарте 802.11 прослушивание канала происходит и на физическом, и на виртуальном уровне. При физическом прослушивании среда просто проверяется на наличие сигнала. Виртуальное прослушивание заключается в том, что станции ведут логический журнал использования канала, отслеживая вектор распределения сети (Network Allocation Vector, NAV). Каждый фрейм содержит поле NAV, которое сообщает, как долго будет передаваться последовательность, в которую он входит. Станции, услышавшие этот фрейм, понимают, что канал будет занят в течение указанного в NAV периода, даже если физический сигнал в канале отсутствует. Например, NAV для фреймов данных включает также время, необходимое для отправки подтверждения. Все станции, фиксирующие этот фрейм, воздерживаются от передачи в течение периода отправки подтверждения, слышали они его или нет. По сути, поле NAV служит для отсчета времени ожидания, когда отправитель предполагает, что канал занят. В стандарте 802.11 интервал поля NAV отсчитывается в микросекундах. В ситуациях, когда в эфире множество беспроводных устройств, поле NAV, установленное одним отправителем, может сбрасываться другими передающими в том же диапазоне станциями. Это порождает коллизии и снижает производительность. Для устранения такого эффекта в версии 802.11ax используется не одно, а два поля NAV. Первое модифицируется фреймами, которые соответствуют фреймам, привязанным к станции, второе — фреймами, которые могут улавливаться станцией, но исходят из перекрывающихся сетей.

Дополнительный механизм RTS/CTS использует NAV, чтобы запрещать станциям отправлять фреймы одновременно со скрытыми станциями (илл. 4.27). В этом примере станция A хочет передать данные станции B. Станция C находится в зоне действия А (а также, возможно, в зоне действия В, но это не имеет значения). Станция D входит в зону действия B, но не входит в зону действия А.

image


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

Теперь рассмотрим этот же процесс с точки зрения станций C и D. Станция C находится в зоне действия А, поэтому она также принимает фрейм RTS и понимает, что скоро по каналу будут передаваться какие-то данные. Исходя из информации, содержащейся в RTS, С может предположить, сколько времени займет передача последовательности, включая завершающее подтверждение. Поэтому, чтобы не мешать другим, она воздерживается от передачи данных, пока обмен не будет завершен. Для этого она обновляет свою запись NAV, указывая, что канал занят, как показано на илл. 4.27. Станция D не слышит RTS, зато фиксирует CTS и также выставляет NAV. Обратите внимание: сигналы NAV не передаются, а являются лишь внутренними напоминаниями станций о том, что нужно хранить молчание в течение определенного промежутка времени.

Однако, несмотря на теоретическую привлекательность модели RTS/CTS, это один из тех методов, практическая реализация которых провалилась. Есть несколько причин, почему она используется так редко. Она не рассчитана на короткие фреймы (которые отправляются вместо RTS) и на присутствие точек доступа (которые по определению должны быть слышны всем). В других ситуациях она также замедляет работу. RTS/CTS в стандарте 802.11 немного отличается от протокола MACA, с которым мы познакомились в разделе 4.2, поскольку каждый, кто получает RTS или CTS, сохраняет молчание в течение какого-то промежутка, чтобы подтверждение (ACK) сумело пройти по каналу без коллизий. По этой причине проблема засвеченной станции не решается (как в случае MACA), устраняется только проблема скрытых станций. Чаще всего скрытых станций совсем немного, к тому же технология CSMA/CA и так помогает им. Она замедляет станции, которым по какой-либо причине не удается успешно отправить данные, чтобы повысить вероятность удачной передачи.

CSMA/CA с физическим и виртуальным прослушиванием составляет суть протокола 802.11. Однако есть несколько других механизмов, разработанных для того же стандарта. Создание каждого из них обусловлено определенными потребностями при реальной эксплуатации, так что мы кратко их рассмотрим.

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

Еще один способ повысить шанс передачи неповрежденного фрейма состоит в том, чтобы посылать более короткие фреймы. Если вероятность ошибки в одном бите равна p, то вероятность того, что n-битовый фрейм будет принят корректно, равна (1 — p)n. Например, при p = 10–4 шанс корректной передачи полного фрейма Ethernet длиной 12 144 бита составляет менее 30%. Большая часть фреймов будет потеряна. Но если их длина составит только одну треть (4048 бит), то две трети фреймов (то есть большинство) будут получены правильно, а число повторных передач снизится.

Уменьшения длины фреймов можно добиться, сократив максимальный размер сообщения, которое принимается от сетевого уровня. Кроме того, 802.11 позволяет разделять фреймы на фрагменты (fragments), каждый из которых снабжается отдельной контрольной суммой. Размер фрагмента не фиксирован, а является параметром, который может быть скорректирован точкой доступа. Фрагменты нумеруются и подтверждаются индивидуально с использованием протокола с ожиданием (то есть отправитель не может передать фрагмент с номером k + 1, пока не получит подтверждение о доставке фрагмента с номером k). Они идут один за другим с подтверждением (и возможно, с повторной отправкой) между ними, до тех пор пока весь фрейм не будет успешно передан или пока время передачи не достигнет заданного максимума. Представленный выше механизм NAV удерживает станции от передачи только до прихода первого подтверждения о доставке. Но есть и другой механизм (описанный далее), который позволяет получателю принять всю пачку фрагментов, без фреймов от других станций между ними.

Вторая потребность, которую мы обсудим, — экономия энергии. Время работы от аккумулятора для мобильных беспроводных устройств всегда представляет проблему. Стандарт 802.11 решает вопрос управления электропитанием, чтобы клиенты не тратили энергию впустую в отсутствие передачи или приема информации.

Экономия энергии обеспечивается главным образом за счет использования фреймов-маяков (beacon frames). Это периодические широковещательные сообщения, отправляемые точкой доступа (AP), например, каждые 100 мс. Фреймы сообщают клиентам о присутствии AP и содержат системные параметры: идентификатор AP, время, интервал до следующего маяка и настройки безопасности.

Клиенты могут вставить бит управления электропитанием во фреймы, с помощью которых они сообщают точке доступа о переходе в энергосберегающий режим (power-save mode). В этом режиме клиент может «дремать», а AP будет буферизовать предназначенный для него трафик. Чтобы проверить наличие входящего трафика, клиент «просыпается» при каждом приходе маяка и проверяет содержащуюся в нем карту трафика. Эта карта говорит клиенту о наличии буферизованного трафика. Если он есть, клиент посылает сообщение опроса в точку доступа и она передает буферизованный трафик. Затем клиент может вернуться в спящий режим до следующего маяка.

В 2005 году к 802.11 был добавлен другой энергосберегающий механизм, автоматический переход в режим сохранения энергии (Automatic Power Save Delivery, APSD). Точка доступа буферизирует фреймы и посылает их клиенту сразу после того, как он передает ей фреймы. Клиент может перейти в спящий режим, пока у него нет большего количества трафика для отправки (и получения). Этот механизм хорошо работает, например, в IP-телефонии (VoIP), где трафик часто идет в обоих направлениях. Например, беспроводной IP-телефон мог бы использовать APSD, чтобы посылать и получать фреймы каждые 20 мс (это намного чаще, чем интервал маяка в 100 мс), а в промежутках находиться в спящем режиме.

Третья, и последняя, потребность, которую мы исследуем, — это QoS. При конфликте высокоскоростного однорангового трафика и VoIP-трафика из предыдущего примера пострадает последний. Он будет передаваться с задержками, даже при том, что требования к пропускной способности у IP-телефонии невелики. Эти задержки, вероятно, понизят качество голосовых вызовов. Чтобы предотвратить это, нужно предоставить трафику IP-телефонии более высокий приоритет.

В IEEE 802.11 есть умный механизм, обеспечивающий этот вид QoS. Он был введен в 2005 году как набор расширений под названием 802.11e. Он расширяет CSMA/CA с помощью точно определенных интервалов между фреймами. После отправки фрейма, прежде чем любая станция сможет начать передачу, требуется определенное количество времени простоя, чтобы проверить, что канал больше не занят. Эта уловка должна определить различные временные интервалы для разных видов фреймов.

На илл. 4.28 изображено пять интервалов. Интервал между регулярными фреймами данных называется DIFS (DCF InterFrame Spacing — межфреймовый интервал DCF). Любая станция может попытаться захватить канал, чтобы послать новый фрейм после того, как среда была неактивна для DIFS. При этом действуют обычные правила конкуренции, включая двоичную экспоненциальную выдержку в случае коллизии. Самый короткий интервал — это SIFS (Short InterFrame Interval — короткий межфреймовый интервал). Он используется для того, чтобы одна из сторон в диалоге могла получить шанс начать первой.

Например, можно разрешить получателю отправить ACK или другие последовательности фреймов управления, такие как RTS и CTS, или разрешить отправителю передать пакет фрагментов. Отправка следующего фрагмента только после ожидания SIFS препятствует вмешательству другой станции во время обмена данными.

image


Два интервала AIFS (Arbitration InterFrame Space — арбитражный межфреймовый интервал) представляют собой примеры двух различных уровней приоритета. Короткий интервал AIFS1 короче DIFS, но длиннее SIFS. Он может использоваться точкой доступа, чтобы переместить голос или другой приоритетный трафик в начало очереди. AP ждет более короткого интервала, прежде чем отправить голосовой трафик. Таким образом, она передает его раньше регулярного трафика. Длинный интервал AIFS4 больше, чем DIFS. Он используется для фонового трафика, который может быть задержан до окончания передачи регулярного. Прежде чем отправить этот трафик, AP ждет в течение более длинного интервала, позволяя сначала передать регулярный трафик. Полный механизм QoS определяет четыре приоритетных уровня с различными параметрами выдержки и времени ожидания.

Последний временной интервал называется EIFS (Extended InterFrame Spacing — расширенный межфреймовый интервал). Он используется только той станцией, которая только что получила поврежденный или неопознанный фрейм и хочет сообщить о проблеме. Идея в том, что приемник может не сразу понять, что происходит, и ему нужно выждать какое-то время, чтобы не прервать текущий диалог между станциями.

Еще одна составляющая расширений QoS — понятие возможности передачи (TXOP, transmission opportunity). Первоначальный механизм CSMA/CA позволял станциям посылать один фрейм за раз. Это всех устраивало, пока диапазон скоростей не увеличился. В 802.11a/g одна станция могла отправлять фреймы со скоростью 6 Мбит/с, а другая — 54 Мбит/с. Каждая из них передает один фрейм, но первой станции нужно для отправки в 9 раз больше времени (не считая фиксированн

© Habrahabr.ru