Э. Таненбаум, Д. Уэзеролл - Компьютерные сети (1114668), страница 96
Текст из файла (страница 96)
Во-первых, раннее началопериодов молчания помогает избегать коллизий. Это важное преимущество, так какколлизии обходятся дорого, ведь даже если столкновение происходит, кадр все равноотправляется целиком. Во-вторых, для того чтобы станции могли «догадываться» околлизиях, которые распознать невозможно, применяется схема с подтверждениями.Такой режим работы называется DCF (Distributed Coordination Function, распределенная координация). Все станции действуют независимо, централизованныйконтроль не осуществляется.
Стандарт также включает необязательный режим PCF(Point Coordination Function, сосредоточенная координация), в котором всей деятельностью в ячейке управляет точка доступа — как базовая станция сотовой сети.4.4. Беспроводные локальные сети 331Однако PCF на практике не применяется, потому что невозможно запретить станциямиз соседней сети передавать конкурирующий трафик.Рис. 4.22. Отправка кадра с протоколом CSMA/CAВторая проблема заключается в том, что области передачи разных станций не обязательно совпадают.
В кабельной сети система спроектирована таким образом, чтобы всестанции могли слышать друг друга. Сложности передачи радиосигналов не позволяютобеспечить такое постоянство для беспроводных станций. Следовательно, возможновозникновение ситуаций, таких как проблема скрытой станции — мы уже упоминалио ней ранее, а сейчас приводим еще и иллюстрацию на рис. 4.23, а. Поскольку не всестанции могут слышать друг друга, передача, идущая в одной части ячейки, можетбыть просто не воспринята станцией, находящейся в другой ее части. В приведенномна рисунке примере станция С передает данные станции В. Если станция А прослушает канал, она не обнаружит ничего подозрительного и сделает ложный вывод о том,что она имеет право начать передачу станции В.
Это решение приводит к коллизии.Кроме того, есть и обратная проблема, показанная на рис. 4.23, б. Здесь В хочетотправить данные для станции С и прослушивает канал. Услышав, что в нем уже осуществляется какая-то передача, станция В делает опять-таки ложный вывод о том,что передача для С сейчас невозможна.
Между тем, станция А — источник сигнала,который смутил станцию В, — может, на самом деле, осуществлять передачу длястанции D (на рисунке не показана). Таким образом, теряется возможность передатьинформацию.Для того чтобы разрешить непонимание относительно того, какая станция будетотправлять данные, в стандарте 802.11 прослушивание канала определяется на физическом и виртуальном уровнях. При физическом прослушивании среда простопроверяется на наличие сигнала. Виртуальное прослушивание заключается в том, чтокаждая станция ведет логический журнал использования канала, отслеживая NAV(Network Allocation Vector, вектор распределения сети).
Каждый кадр содержитполе NAV, которое сообщает, как долго последовательность, включающая данныйкадр, будет передаваться. Станции, услышавшие этот кадр, понимают, что канал будет332 Глава 4. Подуровень управления доступом к средезанят в течение периода, указанного в NAV, даже если физический сигнал в каналеотсутствует. Например, NAV для кадров данных включает также время, необходимоедля отправки подтверждения.
Все станции, услышавшие этот кадр данных, воздерживаются от пересылки данных в течение периода отправки подтверждения, независимоот того, слышали ли они его в канале.Рис. 4.23. Проблема: а — скрытой станции; б — засвеченной станцииНеобязательный механизм RTS/CTS с помощью NAV запрещает станциям тправлять кадры одновременно со скрытыми станциями. Пример показан на рис. 4.24.оВ этом примере станция A хочет передать данные станции B. Станция C находится в зоне действия (то есть слышит) А, а также, возможно, в зоне действия В, но этоне имеет значения.
Станция D входит в зону действия B, но не входит в зону действия А.Протокол начинает работать тогда, когда А решает, что ей необходимо послатьданные В. А посылает станции В кадр RTS, запрашивая разрешение на передачу. ЕслиВ может принять данные, она отсылает обратно подтверждение о том, что канал чист —кадр CTS. После приема CTS А отправляет кадр и запускает таймер ACK.
В случаекорректного приема В генерирует кадр ACK, завершающий передачу. Если интервалвремени таймера на станции A истекает прежде, чем получен ACK, то считается, чтопроизошла коллизия, и весь алгоритм работы протокола повторяется с самого началапосле периода молчания.Теперь рассмотрим этот же процесс с точки зрения станций C и D. C находитсяв зоне действия А, поэтому она также принимает кадр RTS и понимает, что скоро поканалу будут передаваться какие-то данные. Исходя из информации, содержащейсяв RTS, станция С может предположить, сколько времени займет передача последовательности, включая конечный ACK.
Поэтому, чтобы не мешать другим, она воздерживается от передачи данных, пока обмен не будет завершен. Для этого она обновляетсвою запись NAV, указывая, что канал занят, как показано на рис. 4.24. Станция D неслышит RTS, зато слышит CTS и также выставляет NAV. Обратите внимание: сигналыNAV не передаются, а являются лишь внутренними напоминаниями станций о том,что нужно хранить молчание в течение определенного промежутка времени.4.4. Беспроводные локальные сети 333Рис. 4.24. Использование прослушивания виртуального канала в протоколе CSMA/CAОднако, несмотря на теоретическую привлекательность модели RTS/CTS, этоодин из тех методов, практическая реализация которых провалилась.
Есть несколькопричин, почему она используется так редко. Она не рассчитана на короткие кадры(которые отправляются вместо RTS) и на присутствие точек доступа (которые, поопределению, должны быть слышны всем). В других ситуациях она также замедляетработу. RTS/CTS в стандарте 802.11 немного отличается от протокола MACA, с которым мы познакомились в разделе 4.2, потому что каждый, кто получает RTS или CTS,сохраняет молчание в течение какого-то промежутка, для того чтобы подтверждениеACK сумело пройти по каналу без коллизий. По причине этого проблема засвеченнойстанции не решается, как при использовании протокола MACA, устраняется толькопроблема скрытых станций.
Чаще всего скрытых станций совсем немного, и CSMA/CA и так помогает им. Эта технология замедляет станции, которым по какой-либопричине не удается успешно передать данные, для того чтобы повысить вероятностьудачной пересылки.CSMA/CA с физическим и виртуальным прослушиванием составляет суть протокола 802.11. Однако есть несколько других механизмов, разработанных для тогоже стандарта. Каждый из этих механизмов вызван определенными потребностями,связанными с фактическими условиями.Первая потребность — это надежность. В противоположность проводным каналам, беспроводные шумны и ненадежны, в какой-то степени из-за влияния другихустройств, таких как СВЧ-печи, работающих в том же диапазоне ISM. Использованиеподтверждений и повторных передач мало помогает, если вероятность передачи кадрамала.Основная стратегия, используемая для увеличения числа успешных передач, состоит в том, чтобы понизить скорость передачи.
Более медленные скорости используютболее сильные методы модуляции сигнала, который с большей вероятностью будетправильно получен для данного отношения сигнал/шум. Если потеряно слишком много кадров, станция может понизить скорость. Если кадры доставляются с небольшойпотерей, станция может иногда пробовать более высокую скорость, чтобы увидеть,может ли она использоваться.Другая стратегия улучшить шанс кадра дойти неповрежденным состоит в том,чтобы посылать более короткие кадры.
Если вероятность ошибки в одном бите334 Глава 4. Подуровень управления доступом к среде авна p, то вероятность того, что n-битный кадр будет принят корректно, равнар(1 – p)n. Например, для p = 10–4 вероятность корректной передачи полного Ethernetкадра длиной 12 144 бит составляет менее 30 %. Большая часть кадров будет потеряна.Но если длина кадров будет составлять только одну треть (4048 бит), то две трети ихбудут получены правильно. Теперь большинство кадров пройдет, и будет необходимоменьше повторных передач.Использование более коротких кадров может быть реализовано сокращениеммаксимального размера сообщения, которое принимается от сетевого уровня.
С другой стороны, 802.11 позволяет разделять кадры на мелкие кусочки, названные фрагментами (fragments), каждый со своей контрольной суммой. Размер фрагмента нефиксирован, а является параметром, который может быть скорректирован точкойдоступа. Фрагменты нумеруются и подтверждаются индивидуально с использованиемпротокола с ожиданием (то есть отправитель не может передать фрагмент с номеромk + 1, пока не получит подтверждения о доставке фрагмента с номером k).