Стандарт IEEE 802.4 описывает свойства сетей, известных под названием маркерная шина. С точки зрения правил предоставления доступа этот стандарт схож с token ring. В качестве физической среды используется 75-омный кабель. При необходимости построения сети типа дерева, а также для увеличения длины сети используются повторители. Сеть способна обеспечить пропускную способность до 10 Мбит/с при полосе пропускания кабеля 12 МГц.
Для доступа к сетевой среде станция должна получить пакет-маркер. Получив маркер, сетевое устройство может начать передачу данных, а завершив эту процедуру, устройство должно переслать маркер следующей сетевой станции. Передача маркера происходит до тех пор, пока он не достигнет младшей станции, после чего он возвращается первой станции. Формат кадра, пересылаемого по маркерной шине, имеет вид, представленный на рис.15:
Рис. 15 Формат кадров 802.4.
SD - (Start Delimiter) - стартовый байт-разделитель =**0**000, где * - символ, кодируемый неманчестерским кодом; FC - (Frame Control) поле управления кадром = FFxxxxxx, где FF - субполе формата кадра, а xxxxxx - биты типа кадра, SA и DA адреса отправителя и получателя, соответственно. FSC - (Frame Control Sequence) контрольная сумма (4 байта). ED - (End Delimiter) оконечный разграничитель =**1**11E (правый бит является 8-ым). MMM=000 - запрос, не требующий подтверждения; MMM=001 - запрос, требующий подтверждения, MMM=010 - отклик на запрос. PPP - биты приоритета (111 - высший приоритет, а 000 - низший). Значения кодов поля FC приведены в таблицах 6 и 7 (цифрами обозначен порядок передачи разрядов).
Таблица 6. Коды поля FC
FF |
xxxxxx |
Назначение |
00 |
CCCCCC |
Кадр управления доступом к сетевой среде |
01 |
MMMPPP |
Кадр управления логическим каналом |
01 |
YYYYYY |
Кадр управления станцией |
11 |
ZZZZZZ |
Зарезервировано на будущее |
Станции получают доступ к шине в результате соревновательной процедуры, называемой окно откликов. Окно откликов представляет собой временной интервал, равный по длительности одному системному такту, который в свою очередь равен времени распространения сигнала по шине. Это время отсчитывается от момента окончания передачи кадра управления. В течение этого времени станция-инициатор ожидает отклика от других станций. Любая станция сети, будучи владельцем маркера, может запустить этот процесс с помощью посылки кадра поиск следующей станции. Запросы на подключение осуществляются путем отправки пакета установка следующей станции, в поле данных которого записывается адрес станции, запрашивающей доступ к шине. Адрес следующей соседней станции меньше адреса станции-отправителя (маркер движется в направлении убывания адресов). Обычно посылается кадр с одним окном откликов. При этом запросы могут посылать станции с адресами не меньше, чем адрес ближайшего соседа. Если процесс инициализирован станцией с наименьшим номером, то посылается пакет с двумя окнами откликов, одно для станции с номером меньше, чем у предшественника, другое с адресом больше чем у предшественника. После этого станция ждет ответа в течение одного такта. Если ответа нет, маркер передается следующей станции. Если же получен один ответ, инициализируется подключение станции с помощью пакета установка следующей станции. При получении более одного отклика возникает конфликт, для разрешения которого посылается пакет разрешение конфликта с четырьмя окнами. Станции заносят свои запросы в окна в соответствии с первыми двумя битами своего адреса. Если попытка разрешить конфликт при этом не удалась, пакет осылается повторно. В новой попытке участвуют только станции, участвовавшие в первом раунде, а для сравнения используются уже следующие два бита адреса. Процедура может завершиться подключением одной из станций или исчерпыванием числа попыток.
Станция может отключиться от сети в любое время, но это вызовет инициализацию системы и временное нарушение работы сети. Поэтому для отключения от сети станция должна дождаться получения маркера, после чего она шлет пакет типа установка следующей станции, в поле данных которого находится адрес ее преемника. Если держатель маркера получит пакет, показывающий наличие в сети еще одного владельца маркера, он уничтожает свой маркер и переходит в режим ожидания. Получив маркер, станция должна начать передачу данных или передать его следующей станции. После передачи маркера станция в течение одного цикла прослушивает сеть, чтобы убедиться в активности своего преемника. Если преемник не посылает ничего в течении секунды, станция повторяет передачу маркера. Если и это не помогает, то посылается пакет кто следующий? с адресом преемника в поле данных и тремя окнами откликов. Если станция обнаруживает в поле данных адрес своего предшественника, она посылает кадр типа установка следующей станции по адресу отправителя. В отсутствии кадра установка следующей станции станция посылает такой пакет самой себе с двумя окнами для выявления активных сетевых устройств.
При обнаружении потери маркера запускается процедура инициализации сети, при этом посылается пакет требование маркера. Станция, пославшая запрос, прослушивает шину и при обнаружении сетевой активности выбывает из соревнования (имеется станция с большим, чем у нее адресом). В сети определено 4 класса обслуживания (6, 4, 2, 0). Станция может передавать данные класса 6 в течение допустимого времени удержания маркера THT (для класса 6). При M станций в сети максимальное время ожидания будет равно THT*M. По завершении передачи данных класса 6 (или если они не передавались вовсе) можно передавать данные класса 4. Аналогично определено время обращения маркера для классов 4, 2 и 0.
Таблица 7. Коды поля FC и типы кадров
Код поля FC |
Тип кадра |
Поле данных |
0x0 |
Запрос маркера |
Код арбитража |
0x1 |
Поиск следующей станции (1 окно откликов) |
Отсутствует |
0x2 |
Поиск следующей станции (два окна откликов) |
Адрес следующей станции |
0x3 |
Кто следующий? (три окна откликов) |
Отсутствует |
0x4 |
Разрешение конфликта (4 окна откликов) |
Отсутствует |
0x8 |
Маркер |
Отсутствует |
0xD |
Установка следующей станции |
Адрес следующей станции |