Управление доступом к среде передачи данных
В случае использования несколькими передатчиками одного канала передачи данных (при условии, что все подключенные к этому каналу приемники должны иметь возможность принимать сигналы всех передатчиков) практически всегда требуется эффективное решение задачи управления доступом к среде передачи. В рассмотренных ранее системных и периферийных шинах управление доступом к шине нескольких передатчиков и приемников осуществляется посредством механизма арбитража шин. В сетевых телекоммуникациях применение такого решения оказывается неприемлемым из-за значительной протяженности среды передачи данных и обусловленных этим существенных задержек арбитражных запросов и ответов. Использование внеполосных сигналов для арбитража невозможно, так как обычно все синхронизирующие и другие служебные сигналы распространяются в той же среде, что и данные.
Прием сигналов двух и большего количества одновременно работающих передатчиков как правило приводит к невосстановимой потере данных. Ситуация, когда приемник слышит сигнал двух или более передатчиков, носит название коллизии (от лат. 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.
Контрольные вопросы и задания
1. Какой основной вид сервиса предоставляет канальный уровень модели сетевого взаимодействия сетевому уровню?
2. Опишите структура кадра протокола канального уровня.
3. В чем заключается предоставляемый канальным уровнем сервис без подтверждений приема кадров и без установления соединения.
4. Какой из сервисов, предоставляемых канальным уровнем, является наиболее сложным?
5. Охарактеризуйте наиболее популярные методы маркировки границ кадров.
6. В чем различие между байт-ориентированными и бит-ориентированными типами синхронных протоколов.
7. Представьте формат кадра бит-ориентированных протоколов.
8. Укажите различия информационных, супервизорных и ненумерованных кадров.
9. В каких практических ситуациях чаще всего используется двухточечное соединение типа «точка–точка»?
10. Какими важнейшими свойствами обладает протокол РРР?
11. Опишите формат кадра байт-ориентированного протокола РРР.
12. Представьте способы установления и разрыва соединения.
13. В каких случаях требуется решение задачи управления доступом к среде передачи данных?
14. Дайте определение понятию «коллизия».
15.Что понимается под параметрами «диаметр сети» и «радиус сети».
16. Охарактеризуйте маркерный способ управления доступом к среде передачи данных в кольцевой сети.
17. Представьте два основных способа генерации маркера.
18. Опишите особенности практической реализации соревновательных механизмов доступа к среде передачи данных.
19. Какой прием повышения производительности сетей соревновательного типа является одним из наиболее эффективных?
20. Охарактеризуйте механизм экспоненциального отката, используемого рядом протоколов соревновательного доступа к среде передачи данных.
21. Дайте описание протокола множественного доступа с контролем несущей и обнаружением коллизий CSMA/CD.
22. В чем заключается принципиальное отличие протокола CSMA/CA от протокола CSMA/CD?
Дата добавления: 2015-12-17; просмотров: 2273;