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


Рис. 12. 4 Примеры каналов коллективного доступа
Тем не менее практически любой из этих протоколов мы можем отнести к одной из трех категорий: протоколы разделения канала, протоколы произвольного доступа и протоколы последовательного доступа. Мы обсудим эти категории протоколов коллективного доступа в следующих трех подразделах.
В идеальном случае протокол коллективного доступа для широковещательного канала со скоростью передачи данных R бит/с должен обладать следующими характеристиками.
□ Когда данные для передачи есть только у одного узла, этот узел обладает пропускной способностью в R бит/с.
□ Когда данные для передачи есть у М узлов, каждый из этих узлов обладает пропускной способностью в R/M бит/с. Это не означает, что каждый из М узлов в каждый момент времени может передавать данные со скоростью R/M бит/с, — это средняя скорость передачи данных каждого из узлов.
□ Протокол является децентрализованным, то есть не существует управляющих узлов, выход из строя которых может остановить работу всей сети.
□ Протокол прост и дешев в реализации.
4. Протоколы разделения канала
Рассмотрим два метода разделения пропускной способностишироковещательного канала между узлами: мультиплексирования с временным разделением (Time-Division Multiplexing, TDM) и мультиплексирования с частотным разделением (Frequent-Division Multiplexing, FDM). Предположим для примера, что канал поддерживает N узлов и скорость передачи данных в канале равна R бит/с. При временном разделении канала время делится на интервалы, называемые кадрами, каждый из которых делится на N элементарных интервалов времени, называемых слотами. Затем каждому из N узлов назначается один временной слот. Когда у узла есть кадр для отправки, он передает биты этого кадра в течение назначенного ему элементарного интервала времени. Как правило, длина слота выбирается таким образом, чтобы за этот интервал можно было передать один кадр.

Рис. 12. 5 Примеры мультиплексирования с временным и частным разделением для канала с четырьмя узлами
На рис. 12.5 показан простой пример мультиплексирования с временным разделением для канала с четырьмя узлами. Если вернуться к нашей аналогии с вечеринкой, то при такой схеме каждый участник вечеринки сможет говорить в течение некоторого фиксированного интервала времени, после чего такое же право получает другой участник, и т. д. После того как возможность поговорить получат все участники вечеринки, эта возможность снова переходит первому участнику, и все повторяется.
Привлекательность временного разделения канала заключается в том, что такая схема полностью устраняет коллизии и обладает идеальной справедливостью: каждый узел получает выделенную скорость передачи данных, равную R/N бит/с в течение каждого временного кадра.
Однако у данной схемы есть два существенных недостатка. Во-первых, каждый узел ограничен средней скоростью передачи данных в R/N бит/с даже в том случае, когда этот узел единственный, кому нужно передавать данные в этот момент. Во-вторых, при передаче узел всегда должен ждать своей очереди, даже когда кроме него никто не передает данные.
Таким образом, очевидно, что временное разделение канала плохо подходит для протокола коллективного доступа.
Протокол CDMA
Еще один метод коллективного использования общего канала, который мы рассмотрим, предлагает протокол CDMA (Code Division Multiple Access — множественный доступ с кодовым разделением). В отличие от схем мультиплексирования с частотным и временным разделением канала, предоставляющих узлам частотные диапазоны или временные интервалы, протокол CDMA назначает каждому узлу собственный код. Затем каждый узел использует этот уникальный код для кодирования передаваемых им данных. Как мы увидим, протокол CDMA позволяет нескольким узлам передавать данные одновременно, при этом получатели могут корректно принимать эти данные (при условии, что получателю известен код передатчика). Протокол CDMA в течение некоторого времени использовался в военных системах связи (благодаря своей устойчивости к попыткам подавления сигнала), а в настоящее время получает все более широкое распространение в гражданских беспроводных средствах связи коллективного доступа.
В протоколе CDMA при передаче каждый бит кодируется, для чего он умножается на некий сигнал (код), изменяющийся с частотой, в несколько раз превосходящей исходную скорость передачи данных. Рисунок 12.6 иллюстрирует простой идеализированный сценарий кодирования/декодирования данных протоколом CDMA. Предположим, что частота, с которой исходные биты попадают в кодирующее устройство CDMA, определяет длительность временного интервала, то есть для передачи каждого бита данных требуется один однобитовый временной слот. Пусть dt — значение бита данных для f-го битового слота. Нам будет удобнее представлять нулевой бит данных как -1. Каждый битовый слот разделяется на М мини-слотов. На рисунке М = 8, хотя на практике применяют гораздо большие значения.
Используемый передатчиком CDMA-код состоит из последовательности М значений ст, т= 1,М, каждое из которых может равняться +1 или -1. В данном примере этот код равен (1, 1, 1, -1, 1, -1, -1, -1).

Рис. 12. 6 Простой пример работы протокола CDMA
Чтобы проиллюстрировать, как работает протокол CDMA, рассмотрим i-й бит данных d(i). Для т-го мини-слота передачи бита d(i) выход кодирующего устройства Z(i, m) будет равен произведению величины d(i) на т-й бит кода CDMA с(m):
(12.1)
В простом случае отсутствия передатчиков, кадры которых накладываются друг на друга, получатель получит кодированные биты Z(i, m), по которым сможет определить значение исходного бита данных по формуле
(12.2)
Возможно, читателю захочется подробнее изучить пример на рис. 12.6, чтобы убедиться, что исходные биты данных корректно восстанавливаются приемником с помощью формулы 12.2.
Однако на практике все бывает далеко не так идеально, и протоколу CDMA приходится работать в ситуации нескольких одновременно работающих передатчиков, использующих разные коды. Но как удается CDMA-приемнику корректно распознать оригинальные биты данных, если на них накладываются биты, переданные другими передатчиками? Протокол CDMA работает в предположении об аддитивности интерферирующих битовых сигналов. Это означает, что, если, например, за один и тот же мини-слот три передатчика передают значение 1 а затем четвертый передатчик передает -1, тогда все приемники получат значение 2 (1 + 1 + 1-1 = 2). В присутствии нескольких передатчиков передатчик 5 вычисляет свои передаваемые данные Zm тем же способом (см. формулу 12.1). Однако теперь значение, полученное приемником за т-и мини-слот, представляет собой сумму битов, переданных всеми N передатчиками за этот интервал времени:

Замечательно, что при соответствующем выборе кодов каждый получатель сможет извлечь передаваемые ему данные из суммарного сигнала способом, который используется в формуле 12.2:
(12.3)
Пример работы протокола CDMA с двумя передатчиками показан на рис. 12.7. Верхний передатчик использует код (1, 1, 1,-1, 1,-1,-1,-1), а нижний передатчик — код (1,-1, 1, 1, 1,-1, 1, 1). В данном примере получатель восстанавливает оригинальную последовательность битов, посланных верхним передатчиком. Обратите внимание, что получатель может извлечь из сигнала данные, передаваемые передатчиком 1, хотя на сигнал передатчика 1 налагается сигнал передатчика 2.
Если вернуться к нашей аналогии с вечеринкой, то протокол CDMA напоминает ситуацию, в которой участники вечеринки разговаривают на нескольких языках. В этом случае людям несложно фиксировать внимание на понятном им языке и отфильтровывать остальную речь. Таким образом, протокол CDMA разделяет кодовое пространство (в отличие от протоколов мультиплексирования с временным или частотным разделением) и предоставляет каждому узлу определенную долю кодового пространства.
К сожалению, мы не можем здесь подробнее обсудить протокол CDMA. Отметим лишь, что при его практическом применении возникает множество сложных проблем. Во-первых, чтобы приемник мог извлечь сигнал конкретного передатчика, следует тщательно выбирать CDMA-коды. Во-вторых, при нашем обсуждении протокола CDMA предполагалось, что мощности принимаемых приемником сигналов от разных передатчиков одинаковы, чего крайне трудно добиться на практике.

Рис. 12. 7 Пример работы протокола CDMA с двумя передатчиками
5. Протоколы произвольного доступа
Второй широкий класс протоколов коллективного доступа составляют так называемые протоколы произвольного доступа. В протоколе произвольного доступа передающий узел всегда передает данные в канал с максимальной скоростью, то есть R бит/с. Когда возникает коллизия, каждый вовлеченный в нее узел передает свой кадр повторно до тех пор, пока ему не удастся пройти по каналу без коллизий.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |


