Введение в сети передачи данных. Методы доступа к сети

В сетях Ethernet используется метод доступа к среде передачи данных, называемый методом коллективного доступа с опознаванием несущей и обнаружением коллизий – CSMA/CD.

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

Рис. 3.1. Метод случайного доступа CSMA/CD

Этапы доступа к среде

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

Чтобы получить возможность передавать кадр, станция должна убедиться, что разделяемая среда свободна. Это достигается прослушиванием основной гармоники сигнала, которая также называется несущей частотой (CS). Признаком незанятости среды является отсутствие на ней несущей частоты, которая при манчестерском способе кодирования равна 5 - 10 МГц, в зависимости от последовательности единиц и нулей, передаваемых в данный момент.

Если среда свободна, то узел имеет право начать передачу кадра. Этот кадр изображен на рис. 3.1 первым. Узел 1 обнаружил, что среда свободна, и начал передавать свой кадр. В классической сети Ethernet на коаксиальном кабеле сигналы передатчика узла 3 распространяются в обе стороны, так что все узлы сети их получают. Кадр данных всегда сопровождается преамбулой, которая состоит из 7 байт, состоящих из значений 10101010, и 8-го байта, равного 10101011. Преамбула нужна для вхождения приемника в побитовый и побайтовый синхронизм с передатчиком.

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

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

Возникновение коллизии

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

Коллизия - это нормальная ситуация в работе сетей Ethernet. В примере, изображенном на рис. 3.2, коллизию породила одновременная передача данных узлами 3 и 1 . Для возникновения коллизии не обязательно, чтобы несколько станций начали передачу абсолютно одновременно, такая ситуация маловероятна. Гораздо вероятней, что коллизия возникает из-за того, что один узел начинает передачу раньше другого, но до второго узла сигналы первого просто не успевают дойти к тому времени, когда второй узел решает начать передачу своего кадра. Коллизии - это следствие распределенного характера сети.

Рис. 3.2. Схема возникновения и распространения коллизии

Чтобы корректно обработать коллизию, все станции одновременно наблюдают за возникающими на кабеле сигналами. Если передаваемые и наблюдаемые сигналы отличаются, то фиксируется обнаружение коллизии (CD). Для увеличения вероятности скорейшего обнаружения коллизии всеми станциями сети станция, которая обнаружила коллизию, прерывает передачу своего кадра (в произвольном месте, возможно, и не на границе байта) и усиливает ситуацию коллизии посылкой в сеть специальной последовательности из 32 бит, называемой jam-последовательностью.

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

Пауза = L ∙ (интервал отсрочки),

где интервал отсрочки равен 512 битовым интервалам. L представляет собой целое число, выбранное с равной вероятностью из диапазона , где N - номер повторной попытки передачи данного кадра: 1, 2, ... 10.

В технологии Ethernet принято все интервалы измерять в битовых интервалах. Битовый интервал соответствует времени между появлением двух последовательных бит данных на кабеле. Для скорости 10 Мбит/с величина битового интервала равна 0,1 мкс или 100 нс.

После 10-й попытки интервал, из которого выбирается пауза, не увеличивается. Таким образом, случайная пауза может принимать значения от 0 до 52,4 мс.

Если 16 последовательных попыток передачи кадра вызывают коллизию, то передатчик должен прекратить попытки и отбросить этот кадр.

Из описания метода доступа видно, что он носит вероятностный характер, и вероятность успешного получения в свое распоряжение общей среды зависит от загруженности сети, то есть от интенсивности возникновения в станциях потребности в передаче кадров. При разработке этого метода предполагалось, что скорость передачи данных в 10 Мбит/с очень высока по сравнению с потребностями компьютеров во взаимном обмене данными, поэтому загрузка сети будет всегда небольшой. Однако уже появились приложения, работающие в реальном масштабе времени с мультимедийной информацией, которые очень загружают сегменты Ethernet. При этом коллизии возникают гораздо чаще. При значительной интенсивности коллизий полезная пропускная способность сети Ethernet резко падает, так как сеть почти постоянно занята повторными попытками передачи кадров. Для уменьшения интенсивности возникновения коллизий нужно либо уменьшить трафик, сократив, например, количество узлов в сегменте или заменив приложения, либо повысить скорость протокола, например перейти на Fast Ethernet.

Следует отметить, что метод доступа CSMA/CD вообще не гарантирует станции, что она когда-либо сможет получить доступ к среде. Конечно, при небольшой загрузке сети вероятность такого события невелика, но при коэффициенте использования сети, приближающемся к 1, такое событие становится очень вероятным. Этот недостаток метода случайного доступа - плата за его чрезвычайную простоту, которая сделала технологию Ethernet самой недорогой. Другие методы доступа - маркерный доступ сетей Token Ring и FDDI, метод Demand Priority сетей 100VG-AnyLAN - свободны от этого недостатка.

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

Множественный доступ с прослушиванием несущей и разрешением коллизий (Carrier Sense Multiple Access with Collision Detection – CSMA/CD);

Множественный доступ с передачей полномочия (Token Passing Multiple Access – TPMA) или метод с передачей маркера;

Множественный доступ с разделением во времени (Time Division Multiple Access – TDMA);

Множественный доступ с разделением частоты (Frequency Division Multiple Access – FDMA) или множественный доступ с разделением длины волны (Wavelength Division Multiple Access – WDMA).

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

Алгоритм множественного доступа с прослушиванием несущей и разрешением коллизий приведен на рис. 3.5.

Все сетевые интерфейсные платы запрограммированы на разные псевдослучайные промежутки времени. Если конфликт возникнет во время повторной передачи сообщения, этот промежуток времени будет увеличен.

Рис. 3.5. Алгоритм CSMA/CD

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

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

Маркер (token), или полномочие, – уникальная комбинация битов, позволяющая начать передачу данных.

Алгоритм множественного доступа с передачей полномочия, или маркера, приведен на рис. 3.6.

Рис. 3.6. Алгоритм TPMA

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

Пакет распространяется по ЛВС от адаптера к адаптеру, пока не найдет своего адресата, который установит в нем определенные биты для подтверждения того, что данные достигли адресата, и ретранслирует его вновь в ЛВС. После чего пакет возвращается в узел из которого был отправлен. Здесь после проверки безошибочной передачи пакета, узел освобождает ЛВС, выпуская новый маркер.

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

Данный метод характеризуется следующими достоинствами:

Гарантирует определенное время доставки блоков данных в сети;

Дает возможность предоставления различных приоритетов передачи данных.

Вместе с тем он имеет существенные недостатки:

В сети возможны потеря маркера, а также появление нескольких маркеров, при этом сеть прекращает работу;

Включение новой рабочей станции и отключение связаны с изменением адресов всей системы.

Множественный доступ с разделением во времени основан на распределении времени работы канала между системами (рис. 3.7).

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

Рис. 3.7. Структура множественного доступа с разделением во времени

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

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

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

Доступ FDMA основан на разделении полосы пропускания канала на группу полос частот (рис. 3.8), образующих логические каналы.

Широкая полоса пропускания канала делится на ряд узких полос, разделенных защитными полосами. Размеры узких полос могут быть различными.

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

Рис. 3.8. Схема выделения логических каналов

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

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

В 1980 году в Международном институте инженеров по электротехнике и радиоэлектронике (Institute of Electronics Engineers–IEEE) был организован комитет 802 по стандартизации локальных сетей. Комитет 802 разработал семейство стандартов IЕЕЕ802. x, которые содержат рекомендации по проектированию нижних уровней локальных сетей. Стандарты семейства IЕЕЕ802.x охватывают только два нижних уровня семиуровневой модели OSI – физический и канальный, так как именно эти уровни в наибольшей степени отражают специфику локальных сетей. Старшие же уровни, начиная с сетевого, в значительной степени имеют общие черты, как для локальных, так и глобальных сетей. К наиболее распространенным методам доступа относятся: Ethernet, ArcNet и Token Ring, которые реализованы соответственно в стандартах IЕЕЕ802.3, IЕЕЕ802.4 и IЕЕЕ802.5. Кроме того, для сетей, работающих на оптическом волокне, американским институтом по стандартизации ASNI был разработан стандарт FDDI, обеспечивающий скорость передачи данных 100 Мбит/с. В этих стандартах канальный уровень разделяется на два подуровня, которые называются уровнями:

 управление логическим каналом (LCC - Logical Link Control)

 управление доступом к среде (MAC - Media Access Control) Уровень управления доступом к среде передачи данных (MAC) появился, так как в локальных сетях используется разделяемая среда передачи данных. В современных локальных сетях получили распространение несколько протоколов уровня MAC, реализующих разные алгоритмы доступа к разделяемой среде. Эти протоколы полностью определяют специфику таких технологий, как Ethernet, Fast Ethernet, Gigabit Ethernet, Token Ring, FDDI. После того, как доступ к среде получен, ею может воспользоваться более высокий канальный уровень – уровень LCC, организующий передачу логических единиц данных, кадров информации, с различным уровнем качества транспортных услуг.

Методы доступа к среде передачи данных (методы доступа к каналам связи)

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

 обнаружение столкновений

 передача маркера

Обнаружение столкновений. Когда в сети работает метод обнаружения столкновений, компьютер сначала слушает, а потом передает. Если компьютер слышит, что передачу ведет кто-то другой, он должен подождать окончания передачи данных и затем предпринять повторную попытку. В этой ситуации (два компьютера, передающие в одно и то же время) система обнаружения столкновений требует, чтобы передающий компьютер продолжал прослушивать канал и, обнаружив на нем чужие данные, прекращал передачу, пытаясь возобновить ее через небольшой (случайный) промежуток времени. Прослушивание канала до передачи называется “прослушивание несущей” (carrier sense), а прослушивание во время передачи - обнаружение столкновений (collision detection). Компьютер, поступающий таким образом, использует метод, называющийся “обнаружение столкновений с прослушиванием несущей”, сокращенно CSCD.

Передача маркера.

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

Метод доступа – набор правил, определяющих использование сети.

Реализуется на физическом уровне.

Задачей метода доступа является решение вопроса об испльзовании кабеля, соединяющего пользователей в сети.

1. Метод Ethernet

Множественный доступ с прослушиванием несущей и разрешением конфликтов.

Любой ПК в сети «слышит» каждую передачу, однако не любой ПК ее принимает.

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

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

2. Метод Archnet

Метод доступа с эстафетной передачей для сети со звездообразной топологией.

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

Преимущество данного метода – предсказуемость, т.к. известен путь маркера, т.е. можно посчитать, сколько нужно времени для передачи.

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

3.МетодToken Ring

Передача маркера по кольцу (кольцевая топология)

При получении пустого маркера ПК может передать сообщение в течении определенного времени. Такое сообщение называется кадр (frame). Приемник копирует сообщение в свою память, но не выводит его из кольца. Это делает передающий компьютер, когда получает свое сообщение обратно.

Существует механизм приоритетов.

Преимущество – надежность и простота.

Можно отключать неисправные ПК

Способы коммутации и передачи данных

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

Рассмотрим сеть передачи данных (диаграмма а):

Информационная связь между абонентами может устанавливаться 3-мя способами: коммутацией каналов, сообщений, пакетов.

1. Коммутация каналов (диаграмма б)

Обеспечивает выделение физического канала для прямой передачи данных между абонентами.

Абонент a i инициирует установление связи с a j . Узел связи А, реагируя на адрес a j ,устанавливает соединение, в результате чего линия абонента a i коммутируется с линией, соединяющей узелAи В. Затем процедура установления связи повторяется для узловB, C, D. В конечном счете коммутируется канал между абонентамиa i иa j . По окончании коммутацииa j посылает сигнал обратной связи, после получения которого абонентa i начинает передавать данные. Время передачи данных зависит от длины сообщения и скорости передачи данных.

Метод доступа определяет алгоритм , согласно которому узлы сети получают доступ к среде передачи данных и осуществляют мультиплексирование / демультиплексирование данных.

В 1970-х годах Норман Абрахамсон вместе с сотрудниками Гавайского университета предложил оригинальный способ решения проблемы доступа к сети, который был назван позднее ALOHA . Этот алгоритм использовался для доступа к радиоканалу большого числа независимых пользователей. ALOHA разрешает всем пользователям передачу тогда, когда им это оказалось нужно. При этом неизбежны столкновения и искажения передаваемых данных. Алгоритм , благодаря обратной связи, позволяет отправителям узнать, были ли данные в процессе передачи искажены. Если зарегистрировано такое столкновение, все вовлеченные участники выжидают некоторое время и предпринимают повторную попытку. Время выдержки выбирается случайным образом, что делает повторные столкновения менее вероятными.

Принципиальное отличие алгоритма ALOHA от CSMA/CD (используемого в Ethernet) с точки зрения столкновений заключается в том, что в первом случае столкновения детектируются на входе получателя, а во втором – на выходе отправителя .

Мультиплексирование можно осуществлять по частоте ( по длине волны - FDM ), предоставляя разным клиентам разные частотные диапазоны, или по времени (TDM ), разрешая доступ клиентов к сетевой среде по очереди и резервируя каждому из них для работы фиксированные последовательные временные интервалы. При этом необходима синхронизация работы всех участников процесса. В последнее время стало использоваться также мультиплексирование по кодам CDMA (Code Division Multiple Access ), где каждому участнику выделяется уникальный чип-код и допускается использование всеми клиентами всего частотного диапазона в любой момент времени.

Большая часть современных локальных сетей базируется на алгоритме доступа CSMA/CD ( Carrier Sensitive Multiple Access with Collision Detection ), где все узлы имеют равные возможности доступа к сетевой среде, а при одновременной попытке фиксируется столкновение и сеанс передачи повторяется позднее. Ряд разновидностей такого протокола рассмотрели Кляйнрок и Тобаги еще в 1975 году. После передачи очередного пакета (кадра) обычно делается некоторая пауза. После этого любой узел, подключенный к сетевому сегменту, может попытать счастья. Модификацией CSMA-алгоритма является схема, в которой после передачи кадра выделяется определенный временной домен (соревнования), когда претенденты могут выяснять отношения между собой. При столкновении начало передачи возможно только во время очередного домена соревнования. В этой модификации должен быть предусмотрен некоторый механизм синхронизации и исключения бесконечной череды столкновений.

Алгоритм CSMA предпочтительнее ALOHA , так как здесь ни один из пользователей не начинает передачу, если канал занят. Этот способ доступа покрывается патентами США 4063220 и 4099024 (Ксерокс), но IEEE имеет соглашение с этой компанией, которое разрешает использовать данный алгоритм без каких-либо ограничений. Здесь нет возможности приоритетного доступа, и по этой причине такие сети плохо приспособлены для задач управления в реальном масштабе времени. Некоторое видоизменение алгоритма CSMA/CD (как это сделано в сетях CAN или в IBM DSDB) позволяют преодолеть эти ограничения. Доступ по схеме CSMA/CD (из-за столкновений) предполагает ограничение на минимальную длину пакета. По существу метод доступа CSMA/CD (в полудуплексном случае) предполагает широковещательную передачу пакетов (не путать с широковещательной адресацией). Все рабочие станции логического сетевого сегмента воспринимают эти пакеты хотя бы частично, чтобы прочесть адресную часть. При широковещательной адресации пакеты не только считываются целиком в буфер , но и производится прерывание процессора для обработки факта прихода такого пакета.

Логика поведения субъектов в сети с доступом CSMA/CD может варьироваться. Здесь существенную роль играет то, синхронизовано ли время доступа у этих субъектов. В случае Ethernet такой синхронизации нет. В общем случае при наличии синхронизации возможны следующие алгоритмы:

  1. Если канал свободен, терминал передает пакет с вероятностью 1.
  2. Если канал занят, терминал ждет его освобождения, после чего производится передача.
  1. Если канал свободен, терминал передает пакет.
  2. Если канал занят, терминал определяет время следующей попытки передачи. Это время может задаваться некоторым статистическим распределением.
  1. Если канал свободен, терминал с вероятностью р передает пакет, а с вероятностью 1р он откладывает передачу на t секунд (например, на следующий временной домен).
  2. При повторении попытки в случае свободного канала алгоритм не изменяется.
  3. Если канал занят, терминал ждет, пока канал не освободится, после чего действует снова согласно алгоритму пункта 1.

Алгоритм А на первый взгляд представляется привлекательным, но в нем заложена возможность столкновений с вероятностью 100%. Алгоритмы Б и В более устойчивы в отношении этой проблемы.

Эффективность алгоритма CSMA зависит от того, как быстро передающая сторона узнает о факте столкновения и прерывает передачу, ведь продолжение бессмысленно - данные уже повреждены. Это время зависит от длины сетевого сегмента и задержек в оборудовании сегмента. Удвоенное значение задержки определяет минимальную длину пакета, передаваемого в такой сети. Если пакет короче, он может быть передан так, что передающая сторона не узнает о его повреждении в результате столкновения. Для современных локальных сетей Ethernet, построенных на переключателях и полнодуплексных соединениях, эта проблема неактуальна .

С целью пояснения этого утверждения рассмотрим случай, когда одна из станций (1) передает пакет самой удаленной ЭВМ (2) в данном сетевом сегменте. Время распространения сигнала до этой машины пусть равно Т. Предположим также, что машина (2) попытается начать передачу как раз в момент прихода пакета от станции (1). В этом случае станция (1) узнает о столкновении лишь спустя время 2Т после начала передачи (время распространения сигнала от (1) до (2) плюс время распространения сигнала столкновения от (2) к (1)). Следует учитывать, что регистрация столкновения - это аналоговый процесс и передающая станция должна "прослушивать" сигнал в кабеле в процессе передачи, сравнивая результат чтения с тем, что она передает. Важно, чтобы схема кодирования сигнала допускала детектирование столкновения. Например, сумма двух сигналов с уровнем 0 этого сделать не позволит. Можно подумать, что передача короткого пакета с искажением из-за столкновения - не такая уж большая беда, проблему может решить контроль доставки и повторная передача.

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

Сопоставление эффективности использования канала для различных протоколов произвольного доступа произведено на рис. 10.5 .


Рис. 10.5.

Протокол доступа CSMA может предполагать, что когда канал оказывается свободным, а рабочая станция готова начать передачу, реальная пересылка кадра в рамках заданного временного домена происходит с определенной вероятностью p . С вероятностью 1-р передача будет отложена до следующего временного домена. В следующем домене, если канал свободен, с вероятностью р осуществится передача или будет отложена до следующего домена и так далее. Процесс продолжается до тех пор, пока кадр не будет передан. На рисунке эта вероятность р отмечена цифрами после аббревиатуры "CSMA". В случае Ethernet эта вероятность равна единице (CSMA-1) , то есть рабочая станция безусловно начнет передачу, если она к этому готова, а канал свободен. Из рисунка видно, что чем меньше эта вероятность , тем выше эффективность (среднее время доступа к сетевой среде также увеличивается). Очевидно, что все разновидности протокола доступа CSMA эффективнее протокола ALOHA в обеих его разновидностях. Связано это с тем, что ни одна станция не начинает передачу, если обнаружит, что сетевая среда занята. Существует еще одна разновидность протокола CSMA (nonpersistent ), в которой сетевой субъект при готовности анализирует состояние сетевой среды и, если канал занят, возобновляет попытку спустя псевдослучайный интервал времени, то есть ведет себя так, будто произошло столкновение. Такой алгоритм повышает эффективность использования канала при существенном возрастании усредненной задержки доступа.

трудно что-либо придумать. Напротив, когда задержка доступа несущественна, а загрузка канала велика, то следует использовать одну из разновидностей протокола доступа CSMA или один из протоколов, исключающих возможность столкновения кадров. Такие алгоритмы описаны ниже .

Рассмотрим, как можно избежать проблем столкновений пакетов. Пусть к сетевому сегменту подключено N рабочих станций. После передачи любого пакета выделяется N временных интервалов. Каждой подключенной к сетевому сегменту машине ставится в соответствие один из этих интервалов длительностью L . Если машина имеет данные и готова начать передачу, она записывает в этот интервал бит , равный 1. По завершении этих N интервалов рабочие станции по очереди, определяемой номером приписанного интервала, передают свои пакеты (см. рис. 10.6 , N = 8 ).


Рис. 10.6.

В примере на рис. 10.6 сначала право передачи получают станции 0, 2 и 6, а в следующем цикле - 2 и 5 (пересылаемые пакеты окрашены в серый цвет). Если рабочая станция захочет что-то передать, когда ее интервал ( домен ) уже прошел, ей придется ждать следующего цикла . По существу данный алгоритм является протоколом резервирования. Машина сообщает о своих намерениях до того, как начинает что-либо передавать. Чем больше ЭВМ подключено к сетевому сегменту, тем больше временных интервалов должно быть зарезервировано и тем ниже эффективность сети. Понятно, что эффективность растет с ростом L .

Вариация данного алгоритма доступа реализована в сетях сбора данных реального времени CAN ( Controller Area Network - http://www.kvaser.se/can/protocol/index.htm - алгоритм доступа CSMA/CA - collision avoidance - с исключением столкновений). Там в указанные выше интервалы записывается код приоритета рабочей станции. Причем станции должны быть синхронизованы и начинать запись своего уникального кода одновременно, если все или часть из них готовы начать передачу. Эти сигналы на шине суммируются с помощью операции "проволочное ИЛИ" (если хотя бы один из участников выставляет логическую единицу, на шине будет низкий уровень). В процессе побитового арбитража каждый передатчик сравнивает уровень передаваемого сигнала с реальным уровнем на шине. Если эти уровни идентичны, он может продолжить, в противном случае передача прерывается и шина остается в распоряжении более приоритетного кадра. Для пояснения работы алгоритма предположим, что N = 5 и одновременно производится попытка начать передачу станции с кодами приоритета 10000, 10100 , и 00100 . Первыми будут посланы станциями биты 1, 1 и 0. Третья станция сразу выбывает из конкурса (ее