Особенности алгоритма доступа к среде и его эффективность

Исходная спецификация IEEE 802.3 предусматривала шинную топологию сети и применение алгоритма МДКН/ОК для управления доступом к среде передачи. Напомним схему функционирования станции при таком методе доступа.

Станция, имеющая кадр для передачи, «слушает» среду (контроль «несущей») и если обнаруживает, что она свободна, с некоторой случайной задержкой начинает передачу кадра, продолжая контролировать ее состояние. Отсутствие коллизии в течение интервала свидетельствует об успешном захвате среды передачи, и станция завершает передачу кадра. Если в указанном интервале времени фиксируется коллизия, станция прекращает передачу и выполняет алгоритм «отката», вычисляющий на основе случайного выбора из определенного интервала момент следующей попытки передачи. Если (n-1)-я попытка передачи кадра оказалась неудачной, то значение интервала задержки (измеряемое числом тайм-слотов, длительностью ) до следующей, n-й, попытки захвата среды вычисляется как случайное число из диапазона целых чисел . Удвоение верхней границы этого диапазона при каждой следующей попытке передачи кадра увеличивает вероятность успеха, поскольку случайное значение времени задержки начала передачи станция выбирает из более широкого диапазона, но это одновременно, увеличивает и задержку передачи кадра. Максимальное количество попыток равно 16, после чего кадр уничтожается.

Тайм-слот времени в алгоритме доступа к среде принимается равным . Этот параметр является критически важным для систем, использующих алгоритм МДКН/ОК. Рекомендация IEEE 802.3 определила скорость передачи в канале равную 10 Мбит/с и максимальный диаметр сети 2500 м. Построение сети такого диаметра с учетом потерь в толстом коаксиальном кабеле требовало включения 4 повторителей. В этих условиях, максимальное удвоенное время распространения сигнала между двумя станциями (с учетом задержек в повторителях) могло составлять 51,2 мкс. Этот интервал времени при скорости передачи 10 Мбит/с соответствует 512 битовым интервалам (длительность битового интервала чуть меньше 0.1 мкс). Отсюда было получено ограничение на минимальную длину кадра - 64 байта. При меньшем размере кадра существовала бы опасность пропуска коллизии. Действительно, отправитель должен «владеть» каналом в момент получения потенциально возможного сигнала коллизии, иначе у него не будет достаточно веских оснований считать этот сигнал результатом столкновения своего кадра, а не кадра какой-то другой станции, захватившей канал после завершения им передачи. Максимальное значение величины кадра было определено равным 1518 байт.

При нагрузке канала близкой к предельной (т.е., в любой момент есть кадр, ожидающий передачи), распределение во времени состояний канала представлено на рис.4.19. Здесь учтено, что среднее время захвата канала, как было установлено в 4.2.2.2, составляет 2etp

 

 

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

(4.15)

При работе с кадрами минимального размера параметр , что обеспечивает величину . Для кадров максимального размера (1518 байт) а = 0,02 и метод МДКН/ОК обеспечивает весьма высокую эффективность использования пропускной способности среды, .

С ростом нагрузки увеличивается среднее время задержки доставки кадров. В монографии Шварца «Сети связи», т.2 проведен анализ этой характеристики Ethernet-канала. По причине громоздкости мы не будем повторять его и ограничимся представлением результата для случая, когда все кадры имеют одинаковую длину L, интервалы времени между поступлениями кадров случайны с экспоненциальным законом распределения, а моменты прибытия кадров взаимно независимы.

. (4.16)

Графики, соответствующие зависимости (4.16), для нескольких значений параметра а, представлены на рис.4.20. Хорошо видно, что средняя задержка передачи при приближении нагрузки канала к растет очень быстро.

 
 

 

 


 

 

.

 

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

Структура кадра

Структура МАС-кадра, определенная спецификацией IEEE 802.3, приведена на рис.4.21. Кадр начинается 7-ми байтовой преамбулой, каждый байт которой имеет вид 10101010. Эта последовательность генерирует сигнал, позволяющий синхронизировать тактовые генераторы сетевых станций. Далее следует стартовый байт: 10101011.

 
 

 


Адресное поле имеет длину 6 байт. Значение младших двух битов старшего байта этого поля определяет тип адреса (рис.6.18). Для индивидуальных адресов первых 3 байта определяют производителя сетевой карты (00-00-0С – Cisco, 02-60-8С – 3COM, 00-20-ED – Allied Telesyn); оставшиеся биты определяют уникальный МАС-адрес. Таким образом, всего можно определить MAC – адресов.

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

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

В кадре Ethernet DIX, в отличие от кадра IEEE 802.3, поле «Длина» заменено полем «Тип», которое определяет точку доступа к сервису, т.е. модуль протокола вышестоящего уровня, которому необходимо передать данные из этого кадра (IP, IPX…). Идентификаторы этих протоколов имеют значения х0600 и больше (в шестнадцатеричном формате). Вместе с тем, в кадре IEEE 802.3 в этом поле помещается указатель размера поля «Информация», которая не может превосходить значение х05DC (1500). Таким образом, по значению, содержащемуся в этом поле, можно определить тип кадра (Ethernet или IEEE 802.3) и, тем самым, смысл этого поля. Спецификация IEEE 802.3, не определяя в заголовке МАС-кадра тип протокола вышестоящего уровня, предполагает использование подуровня LLC, который и обеспечивает идентификацию протоколов верхнего (сетевого) уровня посредством полей SAP в LLC-заголовке.

Кадр Ethernet фирмы Novell (Raw 802.3) имеет в своем заголовке поля «Длина», поля, идентифицирующего протокол верхнего уровня, технология не предусматривала (разработчики, вероятно, считали, что кроме IPX сетевых протоколов в ЛС быть не может). Отличительным элементом этого кадра является наличие в первых двух байтах следующего поля признака заголовка протокола IPX, который всегда начинается с FFFF.

Обратим внимание на то, что размер поля SAP в LLC-заголовке имеет длину 1 байт, в то время, как поле «Тип» в заголовке Ethernet DIX, выполняющее аналогичную функцию, – 2 байта. Соответственно, коды одних и тех же протоколов сетевого уровня в этих двух спецификациях отличаются. Более того, 8 бит – это всего 256 значений, которых может не хватить для идентификации всех возможных типов точек доступа к сервису. Для преодоления этого ограничения и для совместимости программного обеспечения сетевого уровня, написанного применительно к стандарту Ethernet DIX, с форматом кадра IEEE 802.3, предусмотрен еще один заголовок, который формирует SubNetwork Access Protocol (SNAP), протокол, лежащий в стеке выше LLC. Он дополняет блок данных сетевого протокола своим заголовком, содержащим двухбайтовое поле «Тип», значения которого совпадают с кодами протоколов, используемыми Ethernet DIX. Так, для протоколов IPX/SPX в этом поле должен быть записан код x8138, для IP - x0800, для ARP - x0806, для RARP - x8035, а для Apple Talk - x809b. Еще одно трехбайтовое поле этого заголовка – «Код организации» (OUI) используется для указания той организации по стандартизации, которая отвечает за числовые значения поля «Тип». Пока числовые значения поля «Тип» в заголовке SNAP определяет только комитет IEEE 802.3, код которого равен x000000. Таким образом, при использовании дополнительного заголовка SNAP достигается совместимость кадров 802.3 с кадрами Ethernet DIX по способу кодирования протоколов верхнего уровня, пакеты которых переносятся в поле данных. В поля DSAP и SSAP заголовка LLС помещаются значения xAA, которые говорят о том, что в поле данных кадра LLC вложен еще и заголовок SNAP.

На рис.4.22 приведена информационная схема алгоритма, который может использоваться канальным протоколом для определения типа MAC-кадра. Ясно, что решение задач совместимости спецификаций и расширение сервиса, обеспечиваемого канальным уровнем ЛВС, было достигнуто за счет уменьшения поля «Данные», т.е., за счет определенного уменьшения производительности протокола.

 

 

 


4.5.2.2. Сеть IEEE 802.5 – маркерное кольцо

В числе привлекательных свойств сетей кольцевой топологии выше отмечались ее справедливость в организации доступа к носителю, предсказуемость времени доступа к среде, достаточно высокая нагрузочная способность, отсутствие необходимости индикации коллизий (т.е. исключение аналоговой операции). Учитывая эти и ряд других обстоятельств, корпорацией IBM кольцевая топология была выбрана в качестве топологической схемы своей сети Token Ring. В 1985 году была принята спецификация IEEE 802.5, закрепившая за этой технологией роль международной рекомендации.

В сети Token Ring управление кольцом осуществляет одна из станций. Она определяется на этапе инициализации кольца посредством специальной процедуры «голосования» - одна из станций выпускает специальный кадр «CLAIM TOKEN». Далее в кольце станция, получив этот кадр сравнивает адрес отправителя со своим и, если ее адрес больше, то в кадре «CLAIM TOKEN» она подменяет адрес отправителя на свой и отправляет его дальше по кольцу. После трехкратного получения кадра «CLAIM TOKEN» со своим адресом станция становится «распорядителем» кольца. Она в продолжении всего периода работы периодически посылает управляющий кадр ACTIVE MONITOR PRESENT, подтверждая свою управляющую работоспособность. В функции наблюдающей станции входит генерация маркера, восстановление его при потере, или повреждении, удаление из кольца испорченных и потерянных кадров, восстановление разрывов кольца. Кроме этого, наблюдающая станция следит за «длиной» кольца, которая не может быть меньше 24 битовых интервалов, т.е. маркер должен всегда помещаться в кольце полностью. Если реальная кольцевая задержка оказывается меньше 24 битовых интервалов, то управляющая станция организует в своем интерфейсе необходимую дополнительную задержку битов.

Одной из основных задач MAC-протокола в этой сети является управление состоянием маркера. 3-байтовый маркер в состоянии «Свободен» циркулирует в кольце до тех пор, пока станция, имеющая кадр для передачи, не получит его. Процедура захвата маркера сводится к изменению состояния одного из битов второго байта маркера. Эта операция превращает маркер в начальные два байта заголовка кадра, который далее передается станцией в кольцо. Все последующие станции кольца, принимая первые два байта кадра, фиксируют маркер в состоянии «занято» и не предпринимают попыток передачи своих кадров.

Станция может удерживать маркер в течение 10 мс (если только при конфигурации сети не задано другое значение). Передача данных продолжается до тех пор, пока не будут переданы все имеющиеся кадры, или время, оставшееся после передачи очередного кадра, окажется недостаточным для передачи следующего. Период владения маркером завершается передачей в кольцо 3 байтной последовательности, соответствующей маркеру в состоянии «свободен». Форматы маркера и информационного кадра представлены на рис. 4.23.

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

Поле AC (Access Сontrol) включает, наряду с битом маркера, служебные биты Priority (3 бита), Reservation (3 бита) и Monitor. Первые два используются для организации приоритета кадров в кольце, а бит Monitor позволяет находить «потерявшиеся» кадры (т.е. кадры, станция-назначения которых отсутствует) и удалять их из кольца. Этот бит устанавливается управляющей станцией при первом «проходе» каждого кадра через ее интерфейс.

Поле FC (Frame Control) определяет тип управляющего кадра и, тем самым, позволяет отличать их от информационных кадров. Всего спецификацией IEEE 802.5 определены 25 управляющих кадров.

 
 

 

 


Поле FS (Frame Status) содержит два существенных бита (пусть это биты A и B), которые позволяют решить задачу подтверждения доставки и запроса повторной передачи кадра. Когда кадр прибывает на интерфейс станции назначения бит А устанавливается в 1 и кадр отправляется дальше. Вообще говоря, возможна ситуация, когда получив кадр станция не будет в состоянии его скопировать в свой приемный буфер, например, по причине его занятости. Если станция копирует этот кадр, то устанавливается в 1 и бит B. Когда отправитель вновь получает свой кадр, то возможны три ситуации:

A=0 и B=0 – станция назначения в сети отсутствует (выключена);

A=1 и B=0 – станция назначения не смогла принять кадр, и его надо отправить еще раз;

A=1 и B=1 – кадр принят и может быть удален из кольца.

Байт FS не входит в ту часть кадра, которая защищается битами контрольной суммы (CRC); поэтому биты A и B записываются в этом байте дважды (для надежности).

Физический уровень ЛС

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

Кодирование

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

Временные зависимости сигналов, некоторых из используемых в ЛВС кодов, представлены на рис.4.24. В манчестерском кодировании, используемом в ЛВС стандартов IEEE 802.3, Ethernet и Token Ring, информационная «1» кодируется отрицательным перепадом (от А/2 к –А/2) в середине битового интервала, а информационный «0» - положительным перепадом. Очевидно, что такое кодирование решает проблему длинных последовательностей одинаковых бит, но одновременно порождает сигнал с относительно широким спектром.

 


Отметим, что манчестерское кодирование, можно рассматривать как передачу двух импульсов на каждый информационный бит. Информационная «1» при этом кодируется парой битов 10 и, соответственно, информационный «0» передается парой 01. Таким образом, этот код является примером mB-nВ-кода ( ). Кодовые последовательности, благодаря появляющейся избыточности, выбираются так, чтобы обеспечить достаточное для синхронизации тактового генератора приемника число изменений состояния сигнала.

Дифференциальное манчестерское кодирование, которое используется в ЛВС кольцевой топологии с маркерным доступом, изменяет состояния сигнала в середине каждого битового периода при кодировании «0» и оставляет его неизменным при кодировании «1».