Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

КС (сети) / lec / net2015-lec-03

.pdf
Скачиваний:
40
Добавлен:
03.03.2016
Размер:
619.01 Кб
Скачать

Кафедра КИ, ДонНТУ

Курс «Компьютерные сети»

Лекция 3 – Метод доступа CSMA/CD. Кодирование информации в ЛС

1

 

 

 

 

Лекция №3 Метод доступа CSMA/CD

Кодирование информации в локальных сетях

1.Метод доступа CSMA/CD

Всетях Ethernet используется метод доступа к среде передачи данных, называемый методом коллективного доступа с опознаванием несущей и обнаружением коллизий (carrier-sense-multiply-access with collision detection, CSMA/CD).

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

ного доступа (multiply-access, MA).

Последовательность:

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

2.Затем кадр передается по кабелю.

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

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

При описанном подходе возможна ситуация, когда две станции одновременно пытаются передать кадр данных по общему кабелю. Для уменьшения вероятности этой ситуации непосредственно перед отправкой кадра передающая станция слушает кабель (то есть принимает и анализирует возникающие на нем электрические сигналы), чтобы обнаружить, не передается ли уже по кабелю кадр данных от другой станции. Если опознается несущая (carrier-sense, CS), то станция откладывает передачу своего кадра до окончания чужой передачи, и только потом пытается вновь его передать. Но даже при таком алгоритме две станции одновременно могут решить, что по шине в данный момент времени нет передачи, и начать одновременно передавать свои кадры. Говорят, что при этом происходит коллизия, так как содержимое обоих кадров сталкивается на общем кабеле, что приводит к искажению информации.

Чтобы корректно обработать коллизию, все станции одновременно наблюдают за возникающими на кабеле сигналами. Если передаваемые и наблюдаемые сигналы

Кафедра КИ, ДонНТУ

Курс «Компьютерные сети»

Лекция 3 – Метод доступа CSMA/CD. Кодирование информации в ЛС

2

 

 

 

 

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

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

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

Метод CSMA/CD определяет основные временные и логические соотношения, гарантирующие корректную работу всех станций в сети:

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

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

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

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

Кафедра КИ, ДонНТУ

Курс «Компьютерные сети»

Лекция 3 – Метод доступа CSMA/CD. Кодирование информации в ЛС

3

 

 

 

 

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

 

1) Кадр подготавливается

 

 

 

для передачи

 

 

 

2) Число попыток

 

 

 

устанавливается в 0

 

 

 

Прослушиваетс

 

 

 

я среда. Идет

 

 

Да

ли передача

 

 

другим узлом?

 

 

 

 

 

 

Нет

 

 

 

Ожидается время IFG и

 

 

 

начинается передача

 

 

 

Обнаружена

Да

 

 

 

 

 

коллизия?

 

 

 

Нет

 

Передача jam-сигнала

 

 

 

Число попыток увеличивается

 

Завершение передачи

 

на 1

 

Установка статуса передачи

 

 

 

«передача завершена»

 

 

 

 

Да

Проверка:

 

 

 

 

 

 

число

 

Установка статуса передачи

 

попыток >16

 

«передача не прошла.

 

Нет

 

превышено число попыток»

 

 

 

 

 

 

 

Вычисление

 

 

 

экспоненциальной задержки и

 

 

 

ожидание

Рисунок 1 – Блок-схема алгоритма CSMA/CD (уровень MAC): при передаче кадра станцией

Передача кадра (рис. 1):

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

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

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

Кафедра КИ, ДонНТУ

Курс «Компьютерные сети»

Лекция 3 – Метод доступа CSMA/CD. Кодирование информации в ЛС

4

 

 

 

 

4.После передачи jam-сигнала станция замолкает, ждет некоторое произвольное время в соответствии с правилом бинарной экспоненциальной задержки и затем возвращается к шагу 1.

Межкадровый интервал IFG (interframe gap) составляет в 9,6 мкм (12 байт). С одной стороны он необходим для того, чтобы принимающая станция могла корректно завершить прием кадра. С другой – если бы станция передавала кадры непрерывно, она бы полностью захватила канал и лишила другие станции возможности передачи.

L [0, 2N] выбирается случайным образом (называется усеченной бинарной экспоненциальной задержкой). N [1,10]. Таким образом, случайная пауза – от 51,2мкс до

52,4 мс.

Прием кадра (рис. 2).

 

Нет

Обнаружен ли

 

 

приемный

 

 

сигнал?

 

 

Да

 

 

Установка статуса «идет

 

 

приемный сигнал»,

 

 

синхронизация и ожидание

 

 

прихода SDF. Получение кадра

 

 

Верно ли поле

Нет

 

 

 

FCS кадра?

 

 

Да

 

 

Совпадает ли адрес

 

 

назначения с

Нет

 

широковещательным

 

 

собственным

 

 

адресом?

 

 

Да

 

 

Передача кадра на обработку

 

 

протоколам более высокого

Сброс кадра

 

уровня

 

Рисунок 2 – Структурная схема алгоритма CSMA/CD (уровень MAC): при приеме кадра станцией

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

На уровне MAC оставшиеся биты преамбулы сбрасываются, а станция читает адрес назначения и сравнивает его со своим собственным. Если адреса совпадают,

Кафедра КИ, ДонНТУ

Курс «Компьютерные сети»

Лекция 3 – Метод доступа CSMA/CD. Кодирование информации в ЛС

5

 

 

 

 

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

На рис. 3 проиллюстрирован процесс обнаружения коллизии применительно к топологии шина на основе тонкого или толстого коаксиального кабеля (стандарты 10BASE5 и 10BASE2 соответственно).

В момент времени t0 узел A (DTE A) начинает передачу, естественно прослушивая свой же передаваемый сигнал. В момент времени t1, когда кадр почти дошел до узла B (DTE B), этот узел, не зная о том, что уже идет передача, сам начинает передавать. В момент времени t2=t1+∆, узел B обнаруживает коллизию (увеличивается постоянная составляющая электрического сигнала в прослушиваемой линии). После этого узел B передает jam-сигнал и прекращает передачу. В момент времени t3 сигнал коллизии доходит до узла A, после чего A также передает jam-сигнал и прекращает передачу.

Рисунок 3 – Обнаружение коллизии в при использовании схемы CSMA/CD

Jam-сигнал (jamming – дословно глушение). Передача jam-сигнала гарантирует, что не один кадр не будет потерян, так как все узлы, которые передавали кадры до возникновения коллизии, приняв jam-сигнал, прервут свои передачи и замолкнут в преддверии новой попытки передать кадры. Jam-сигнал должен быть достаточной длины, чтобы он дошел до самых удаленных станций коллизионного домена, с учетом дополнительной задержки SF (safety margin) на возможных повторителях. Со-

Кафедра КИ, ДонНТУ

Курс «Компьютерные сети»

Лекция 3 – Метод доступа CSMA/CD. Кодирование информации в ЛС

6

 

 

 

 

держание jam-сигнала не принципиально за исключением того, что оно не должно соответствовать значению поля CRC частично переданного кадра (802.3), и первые 62 бита должны представлять чередование ‘1’ и ‘0’ со стартовым битом ‘1’.

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

Время канала ST (slot time) – это минимальное время, в течении которого узел обязан вести передачу, занимать канал. Это время соответствует передаче кадра минимального допустимого размера, принятого стандартом. Время канала связано с максимальным допустимым расстоянием между узлами сети – диаметром коллизионного домена.

Допустим, что в приведенном выше примере реализуется наихудший сценарий, когда станции A и B удалены друг от друга на максимальное расстояние. Время, распространения сигнала от A до B обозначим через tp. Узел A начинает передавать в нулевой момент времени. Узел B начинает передавать в момент времени t1=tp-∆ и обнаруживает коллизию спустя интервал после начала своей передачи. Узел A обнаруживает коллизию в момент времени t3=2tp-∆. Для того, чтобы кадр, переданный A, не был потерян, необходимо, чтобы узел A не прекращал вести передачу к этому моменту, так как тогда, обнаружив коллизию, узел A будет знать, что его кадр не дошел, и попытается передавать его повторно. В противном случае кадр будет потерян.

Максимальное время, спустя которое с момента начала передачи узел A еще может обнаружить коллизию, равно 2tp – это время называется задержкой на двойном пробеге RTD (round-trip delay). В более общем случае RTD определяет суммарную задержку, связанную как с задержкой из-за конечной длины сегментов, так и с задержкой, возникающей при обработке кадров на физическом уровне промежуточных повторителей и оконечных узлов сети. Для дальнейшего удобно использовать также другую единицу измерения времени: битовое время BT (bit time). Время в 1 BT соответствует времени, необходимому для передачи одного бита, т.е. 0,1 мкс при скорости 10 Мбит/с.

Стандартом Ethernet регламентированы следующие правила обнаружения коллизии конечным узлом сети:

1.Узел A должен обнаружить коллизию до того, как передаст свой 512-й бит, включая биты преамбулы;

2.Узел A должен прекратить передачу раньше, чем будет передан кадр минимальной длины – передано 576 бит (512 бит, начиная отсчет после ограничителя начала кадра SFD);

3.Перекрытие между передачами узлов A и B – битовый интервал начиная с момента передачи первого бита преамбулы узлом A и заканчивая приемом

Кафедра КИ, ДонНТУ

Курс «Компьютерные сети»

Лекция 3 – Метод доступа CSMA/CD. Кодирование информации в ЛС

7

 

 

 

 

узлом A последнего бита испущенного узлом B – должно быть меньше чем

575 BT.

Последнее условие для сети Ethernet является наиболее важным, поскольку его выполнение автоматически влечет выполнение и первых двух. Это третье условие задает ограничение на диаметр сети. Применительно к задержке на двойном пробеге RTD третье условие можно сформулировать в виде: RTD < 575.

При передаче больших кадров, например 1500 байт, коллизия, если она вообще возникнет, обнаруживается практически в самом начале передачи, не позднее первых 64 переданных байт (если коллизия не возникла в это время, то позже она уже не возникнет, поскольку все станции прослушивают линию и, «слыша» передачу, будут молчать). Так как jam-сигнал значительно короче полного размера кадра, то при использовании алгоритма CSMA/CD количество в холостую израсходованной емкости канала сокращается до времени, требуемого на обнаружение коллизии.

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

На основании упрощенной теоретической модели поведения загруженной сети (в предположении большого числа одновременно передающих станций и фиксированной минимальной длины передаваемых кадров у всех станций) можно выразить производительность сети U через отношение RTD/ST:

,

где е = 2,718282 – основание натурального логарифма. На производительность сети влияет размер транслируемых кадров и диаметр сети. Производительность в наихудшем случае (когда RDT=ST) составляет около 37%, а в наилучшем случае (когда RTD много меньше, чем ST) стремится к 1. Хотя формула и выведена в пределе большого числа станций, пытающихся передавать одновременно, она не учитывает особенностей алгоритма усеченной бинарной экспоненциальной задержки, рассмотренного ниже, и не справедлива для сильно перегруженной коллизиями сети, например, когда станций, желающих передавать становится больше 15.

Усеченная бинарная экспоненциальная задержка (truncated binary exponential backoff)

При возникновении коллизии в алгоритме CSMA/CD стация подсчитывает, сколько раз подряд при отправке пакета возникает коллизия. Поскольку повторяющиеся коллизии свидетельствуют о высокой загруженности среды, MAC-узел пытается увеличивать задержку между повторными попытками передачи кадра. Соответствующая процедура увеличения интервалов времени подчиняется правилу усечен-

ной бинарной экспоненциальной задержки и работает следующим образом.

Кафедра КИ, ДонНТУ

Курс «Компьютерные сети»

Лекция 3 – Метод доступа CSMA/CD. Кодирование информации в ЛС

8

 

 

 

 

Количество слотовых промежутков времени (интервалов по 51,2 мкс), которое станция ждет перед тем, как совершить N-ую попытку передачи (N-1 попыток потерпели фиаско из-за возникновения коллизий во время передачи) представляет случайное целое число R с однородной функцией распределения в интервале 0≤R<2K, где K = min(N,BL), и BL (backoff limit) – установленная стандартом предельная задержка, равная 10. Если количество последовательных безуспешных попыток отправить кадр доходит до 16, то есть коллизия возникает 16 раз подряд, то кадр сбрасывается.

Алгоритм CSMA/CD с использованием усеченной бинарной экспоненциальной задержки признан лучшим среди множества алгоритмов случайного доступа и обеспечивает эффективную работу сети как при малых, так и при средних загрузках. При больших загрузках следует отметить два недостатка. Во-первых, при большом числе коллизий станция 1, которая впервые собирается отправить кадр (до этого не пыталась передавать кадры), имеет преимущество перед станцией 2, которая уже несколько раз безуспешно пыталась передать кадр, натыкаясь на коллизии, поскольку станция 2 ожидает значительное время перед последующими попытками в соответствии с правилом бинарной экспоненциальной задержки. Таким образом, может наблюдаться нерегулярность передачи кадров, что нежелательно для зависящих от времени приложений. Во-вторых, при большой загруженности снижается эффективность работы сети в целом. Оценки показывают, что при одновременной передаче 25 станций общая полоса пропускания снижается примерно в 2 раза. Но число станций в коллизионном домене может быть больше, поскольку далеко не все они одновременно будут обращаться к среде.

Значения основных параметров процедуры передачи кадра стандарта 802.3 приведено в таблице 1.

Таблица 1 – Основные функциональные параметры стандарта IEEE 802.3

Битовая скорость (bit rate), Мбит/с

10Мб/c (манчестерское кодиро-

вание)

 

Время слота (slot time), мкс (BT) Интервал отсрочки

51,2 (512) битовых интервалов

Межкадровый интервал (interframe gap), мкс (BT)

9,6 мкс (96)би

Максимальное число попыток передачи (attempt limit)

16

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

10

(backoff limit)

 

Длина jam-последовательности (jam size), биты

32

Максимальная длина кадра (без преамбулы) (maximum

1518 байтов

frame size), байты

 

Минимальная длина кадра (без преамбулы) (minimum

64 байта (512 бит)

frame size), байты

 

Учитывая приведенные параметры, нетрудно рассчитать максимальную производительность сегмента Ethernet в таких единицах, как число переданных пакетов минимальной длины в секунду (packets-per-second, pps). Количество обрабатываемых пакетов Ethernet в секунду часто используется при указании внутренней производительности мостов и маршрутизаторов, вносящих дополнительные задержки при

Кафедра КИ, ДонНТУ

Курс «Компьютерные сети»

Лекция 3 – Метод доступа CSMA/CD. Кодирование информации в ЛС

9

 

 

 

 

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

Так как размер пакета минимальной длины вместе с преамбулой составляет 64+8 = 72 байта или 576 битов, то на его передачу затрачивается 57.6 мкс. Прибавив межкадровый интервал в 9.6 мкс, получаем, что период следования минимальных пакетов равен 67.2 мкс. Это соответствует максимально возможной пропускной способности сегмента Ethernet в 14880 п/с.

2. Кодирование информации в локальных сетях

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

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

Некоторые коды, используемые в локальных сетях, показаны на рис. 4. Далее будут рассмотрены их преимущества и недостатки.

Рисунок 4 – Наиболее распространенные коды передачи информации

Код NRZ

Код NRZ (Non Return to Zero – без возврата к нулю) – это простейший код, представляющий собой обычный цифровой сигнал. Логическому нулю соответствует высокий уровень напряжения в кабеле, логической единице – низкий уровень

Кафедра КИ, ДонНТУ

Курс «Компьютерные сети»

Лекция 3 – Метод доступа CSMA/CD. Кодирование информации в ЛС 10

 

 

 

напряжения (или наоборот, что не принципиально). Уровни могут быть разной полярности (положительной и отрицательной) или же одной полярности (положительной или отрицательной). В течение битового интервала (bit time, BT), то есть времени передачи одного бита никаких изменений уровня сигнала в кабеле не происходит.

К несомненным достоинствам кода NRZ относятся его довольно простая реализация (исходный сигнал не надо ни специально кодировать на передающем конце, ни декодировать на приемном конце), а также минимальная среди других кодов пропускная способность линии связи, требуемая при данной скорости передачи, ведь наиболее частое изменение сигнала в сети будет при непрерывном чередовании единиц и нулей, то есть при последовательности 1010101010..., поэтому при скорости передачи, равной 10 Мбит/с (длительность одного бита равна 100 нс) частота изменения сигнала и соответственно требуемая пропускная способность линии составит 1/200 нс = 5 МГц (рис. 5).

Рисунок 5 – Скорость передачи и требуемая пропускная способность при коде NRZ

Самый большой недостаток кода NRZ – это возможность потери синхронизации приемником во время приема слишком длинных блоков (пакетов) информации. Приемник может привязывать момент начала приема только к первому (стартовому) биту пакета, а в течение приема пакета он вынужден пользоваться только внутренним тактовым генератором (внутренними часами). Например, если передается последовательность нулей или последовательность единиц, то приемник может определить, где проходят границы битовых интервалов, только по внутренним часам. И если часы приемника расходятся с часами передатчика, то временной сдвиг к концу приема пакета может превысить длительность одного или даже нескольких бит. В результате произойдет потеря переданных данных. Так, при длине пакета в 10000 бит допустимое расхождение часов составит не более 0,01% даже при идеальной передаче формы сигнала по кабелю.

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

Соседние файлы в папке lec