Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
С. Ф. Храпский ВССиТ.doc
Скачиваний:
175
Добавлен:
21.05.2015
Размер:
4.76 Mб
Скачать

8.4. Управление доступом к среде передачи данных

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

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

Время распространения кадра данных по сети определяется ее геометри­ческими размерами и скоростью распространения сигнала. Важнейшим параметром является так называемый диаметр сети: наибольшее рас­стояние между двумя приемопередатчиками (пространственное для бес­проводных сетей или по кабелю для сетей кабельных). Для сетей с выде­ленной центральной станцией важнейшим параметром оказывается ра­диус сети: расстояние от центральной станции до самой удаленной рабо­чей станции. Размер сети часто измеряют не линейными единицами, а временем прохождения сигнала. Это особенно важно для кабельных се­тей, в которых скорость прохождения сигнала отличается от световой, а также возможна ситуация, когда скорость прохождения сигнала различна в разных сегментах сети (например, при сочетании медных и волоконно-оптических кабелей или кабелей и радиосегментов).

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

Один из способов решения проблемы доступа к среде в простейшем случае двухточечного канала является прокладка двух однонаправлен­ных каналов навстречу друг другу. Второй способ состоит в том, что приемник вычитает из сигнала, распространяющегося в кабеле, сигнал собственного передатчика. Этот способ используется сущест­венно реже, потому что требует значительного усложнения приемника.

В сетях с чисто кольцевой топологией управление доступом к среде осуществляется посредством использования так называемого маркера, который предваряет сообщение. Такой маркер обычно представляет со­бой короткий кадр, состоящий из стандартной преамбулы и поля, указы­вающего, что за маркером не следует данных. Маркер также может со­держать поле приоритета. При маркерном управлении доступом в коль­цевой сети в ситуации, когда какой-либо станции нечего передавать, она безусловно транслирует проходящий через нее маркер. Если всем станциям нечего передавать, пустой маркер циркулирует по кольцу. На­конец, если у какой-то из станций появляются данные для передачи, то эта станция, получив маркер, захватывает его и передает кадр. Получа­тель кадра может принять его (если имеет свободные буферы) или может отказаться от приема, отметив в трейлере кадра этот факт. Безотноси­тельно к этому, он транслирует полученный кадр дальше по кольцу. Задача удаления кадра из кольца возлагается на отправителя. Таким образом отправитель может узнать судьбу своих данных: нашли ли они адре­сата, и если нашли, то были ли приняты. Смысл удаления кадра отправителем заключается в обеспечении «справедливого» управления доступом: удаление кадра из кольца сопровождается генерацией свободного марке­ра. Если бы оно производилось получателем, то какая-либо из пар «отправитель–получатель» могла бы завладеть маркером на неограниченное время. Маркерные кольца имеют ряд преимуществ, главным из которых яв­ляется хорошая реакция на перегрузку: не получив маркер, сетевой ин­терфейс ничего не может передать, что обеспечивает эффективное распределение доступа к среде и возможность передачи данных реально­го времени, в том числе и в сочетании с пакетными данными. Недостат­ком маркерных колец является необходимость ожидания маркера, что при низкой загрузке сети может привести к неоправданно большим за­держкам. Наличие нескольких маркеров в кольце сглаживает этот недостаток.

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

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

Для широковещательных сред передачи без централизованного ар­битра распространенным решением проблемы доступа к среде является применение соревновательного механизма доступа.

Простейший протокол соревновательного доступа к среде был реали­зован в начале 1970-х годов в экспериментальной радиосети ALOHANet (название ALOHA не является аббревиатурой). Использо­ванный в этой сети протокол достаточно прост и состоит в том, что станции передают пакеты данных, когда сочтут нужным. Если в результате произойдет коллизия, считается, что этому пакету «не повезло». Не по­лучив в течение определенного времени подтверждения на отправлен­ный пакет, станция делает вывод, что он был потерян, и повторяет пере­дачу. Главный смысл механизма доступа протокола ALOHA, воспроизведенного позднее в ряде других протоколов доступа к среде, заключается в том, что повторять передачу сразу после истечения таймера нельзя: если пакет был потерян в результате коллизии, то вторая станция также сделает по­вторную попытку передачи. Если интервал между попытками определя­ется только тайм-аутом ожидания подтверждения, все последующие по­пытки также будут приводить к коллизиям и, следовательно, к блокиров­ке. Чтобы избежать блокировок в сетях ALOHA время ожидания перед повторной передачей определяется генераторами случайных чисел. Оче­видно, что пропускная способность среды с таким алгоритмом управле­ния доступом будет невелика: коллизии редки только при малом числе посылаемых пакетов. Преимуществами стратегии ALOHA являются простота и нечувствительность к диаметру сети – эта стратегия работо­способна практически при любых условиях. Характерным преимущест­венным свойством ALOHA и других подобных алгоритмов разрешения коллизий является малая задержка при низких уровнях загрузки сети. В этих ус­ловиях средняя величина задержки в сетях с соревновательным досту­пом значительно меньше, чем в маркерных – несмотря на то, что макси­мальная величина задержки в такой сети вообще ничем не ограничена. Напротив, в маркерных сетях существует гарантированное максимальное время задержки (за это приходится расплачиваться увеличением значений мини­мальной и средней задержек).

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

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

Ряд протоколов соревновательного доступа используют экспоненциальный откат – при каждой последующей коллизии время ожидания увеличивается в определенное число раз (чаще всего в два раза). Это по­зволяет сохранить низкие задержки при малых загрузках и сгладить ко­роткие всплески сетевой активности. Экспоненциальный откат в некото­рых случаях приводит к «несправедливому» распределению пропускной способности. А именно, при множественной коллизии, в которой участ­вовало несколько станций, та станция, которой удалось успешно пере­дать пакет, начинает следующую попытку с нулевым счетчиком колли­зий и будет использовать при следующей коллизии меньший интервал ожидания. Чтобы компенсировать это явление, многие протоколы, применяющие экспоненциальный откат, ограничивают количество попы­ток повторных передач после коллизии.

Существенного улучшения характеристик сети можно добиться, синхронизировав передатчики (то есть заставив их всех начинать переда­чу в дискретные промежутки времени). На практике это вдвое снижает интервал перекрытия пакетов, а максимальная пропускная способность сети оказывается вдвое выше и достигается при вдвое большей интен­сивности посылки пакетов. Такую реализацию доступа к среде называют дискретной (или синхронной) ALOHA. Однако из-за конечной скорости распространения сигналов возникает следующая ситуация: тот момент времени, который с точки зрения одного приемника является началом дискретного интервала, с точки зрения другого приемника не попадает на начало интервала. В результате этого синхронная ALOHA применима лишь в сетях с выделенной базовой станцией. Кроме того, синхронная ALOHA требует согласования часов передатчиков. На практике это час­то достигается рассылкой синхросигналов с базовой станции. При значи­тельных диаметрах сети интервалы часто приходится разделять защит­ными паузами.

Практически важным усовершенствованием протокола ALOHA яв­ляется протокол CSMA (Carrier Sence Multiple Access –множественный доступ с контролем несущей), который состоит в том, что станция перед началом передачи прослушивает среду и только убеждаясь, что никто больше не передает, начинает свою передачу. Из-за конечного времени распространения сигнала это не исключает возможности коллизий, но оказывается эффективным. В отличие от ALOHA, этот протокол устанавливает ограничение на диаметр сети: если время распространения сигнала по сети превосходит время передачи самого короткого из воз­можных пакетов, он сводится к базовому ALOHA. He удается также отказаться и от подтверждений на отправленные пакеты. Значительное улучшение характеристик CSMA может быть достигнуто за счет отказа от «настойчивости»: если станция при попытке передачи обнаруживает, что среда занята, она не начинает свою передачу сразу по освобождении среды, а выжидает случайный промежуток времени, как и при коллизии. «Ненастойчивый» CSMA устойчив в том смысле, что график пропускной способности в зависимости от активности не имеет максимума и асим­птотически (хотя и относительно медленно) приближается к 1. За это приходится платить увеличением задержек и некоторым снижением эф­фективности при низких загрузках. В целом CSMA представляет лишь некоторое улучшение по сравнению с базовыми вариантами ALOHA. Тем не менее CSMA, ALOHA и их варианты часто используются, но обычно их роль оказывается вспомогательной.

Важное улучшение алгоритма CSMA может быть достигнуто, если передатчик прослушивает среду не только до начала передачи, но и во время передачи. Таким образом, коллизия может быть обнаружена не только по отсутствию подтверждения от приемника, но и непосредст­венно во время ее возникновения. Это позволяет отказаться от подтвер­ждений, но ограничение на размер сети становится критически важным. Такой алгоритм (и соответствующий протокол) имеет название CSMA/CD (Carrier Sence Multiple Access/Collision Detection – множественный доступ с контролем несущей и обнаружением коллизий). Размер пакета в CSMA/CD должен быть ограничен как сверху, так и снизу. Ограничение сверху обусловлено, во-первых, желанием обеспе­чить «справедливость» – имея возможность передавать пакеты неограни­ченной длины, станция может занять среду на практически неограничен­ное время (по этой же причине запрещено передавать кадры вплотную один за другим); во-вторых, как и во всех других пакетных протоколах, станции должны иметь буфер, достаточный для приема пакета (иначе они попросту не смогут его принять); в третьих, использование длинных пакетов сведет на нет главное преимущество соревновательных сред – малые задержки. Ограничение снизу обусловлено требованием, чтобы самый короткий из пакетов успевал распространиться по всей среде и все станции, которые могли бы начать за это время передачу, обнаружили бы столкновение. Для этого время передачи минимального пакета должно превосходить удвоенное время прохождения сигнала по среде.

CSMA/CD можно рассматривать как протокол, переходный от чисто соревновательных протоколов к обширному семейству протоколов с ре­зервированием пропускной способности: передав начало пакета (размер которого определяется диаметром сети), абонент резервирует среду пе­редачи на весь остальной пакет. Для резервирования используется алго­ритм CSMA. Реальная производительность CSMA/CD определяется не только интенсивностью передачи, но и средней длиной пакета. Увеличе­ние длины пакета приводит к повышению эффективности.

Алгоритм CSMA/CD удобен в кабельных сетях, где затухание сигна­ла на пути от передатчика к приемнику невелико. В беспроводных сетях мощность собственного сигнала на антенне нередко превосходит мощ­ность принимаемых сигналов на несколько порядков. В этих условиях обнаружение коллизий практически не реализуемо, но большой успех имеет родственный протокол, называемый CSMA/CA (Carrier Sence Multiple Access/Collision Avoidance – множественный доступ с контролем несущей и избежанием коллизий). Другое название этого протокола – МАСА (Multiple Access with Collision Avoidance – множественный доступ с из­бежанием коллизий). CSMA/CD использует для резервирования алго­ритм CSMA, a CSMA/CA – алгоритм ALOHA.

Станция, желающая передать пакет данных, сначала посылает в сеть запрос RTS (Request To Send – запрос на отправку) с указанием адресата будущего пакета. Если адресат нормально принимает этот пакет, то он посылает CTS (Clear To Send – разрешение отправки) с указанием адреса от­правителя. Получив CTS, отправитель передает пакет данных и ждет под­тверждения АСК (ACKnowledge – подтверждение). Все остальные станции, услышав обмен пакетами RTS/CTS, воспринимают это как резервирование полосы пропускания и воздерживаются от каких-либо передач или до прохода пакета АСК, или (если в течение заданного интервала времени АСК не последует) выжидают, как при коллизии, случайный интервал времени.

Резюме

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

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

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

Классическими примерами про­токолов канального уровня являются бит-ориентированный про­токол управления каналом HDLC и протокол двухточечного соединения РРР.

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

В сетях с кольцевой топологией управление доступом к среде осуществляется посредством использования так называемого маркера, который предваряет сообщение. Для широковещательных сред передачи без централизованного ар­битра распространенным решением проблемы доступа к среде является применение соревновательного механизма доступа. Простейшим протоколом соревновательного доступа к среде является протокол ALOHA. Эффективных приемом повышения производительности соревновательных сетей является разделение домена коллизий.

Практически важным усовершенствованием протокола ALOHA яв­ляется протокол множественного доступа с контролем несущей частоты и обнаружением коллизий CSMA/CD. В беспроводных сетях находит применение протокол множественного доступа с контролем несущей частоты и избежанием коллизий CSMA/CA.