Протоколы Internet

         

IEEE (Token Ring)


4.1.2 IEEE 802.5 (Token Ring)

Семенов Ю.А. (ГНЦ ИТЭФ)

Сети Token Ring были разработаны фирмой IBM в 1970-х годах и рассчитана на скорость обмена 4.16 Мбит/c при числе сегментов до 250. По своей популярности она уступает лишь Ethernet/IEEE 802.3. Спецификация IEEE 802.5 практически идентична ей и полностью совместима (см. [13], или, например, bbs.uniinc.msk.ru/product/bay/routers/interf/toking.htm или www.oil.unh.edu/training/vganylan/teach/vgconcept/frame/802.-5). Сеть Token Ring имеет топологию звезды, все оконечные станции которой подключаются к общему устройству (MSAU - MultiStation Access Unit). В IEEE 802.5 топология не оговаривается, не регламентирована здесь и сетевая среда. В Token Ring сеть базируется на скрученных парах. Обе эти разновидности сети используют схему передачи маркера (небольшой пакет - token).

В отличие от сетей с csma/cd доступом (например, Ethernet) в IEEE 802.5 гарантируется стабильность пропускной способности (нет столкновений). Сети Token Ring имеют встроенные средства диагностики, они более приспособлены для решения задач реального времени, но в то же время более дороги.

Маркер содержит лишь поля стартового разделителя(sdel), управления доступом (AC) и оконечного разделителя (EDEL, всего 3 байта). Если узел получил маркер, он может начать передачу информации, в противном случае он просто передает маркер следующему узлу. Каждая станция может захватить маркер на определенное время. Станция, намеревающаяся что-то передать, захватывает маркер, меняет в нем один бит, который преобразует маркер во флаг начала кадра, вносит в кадр информацию, подлежащую пересылке, и посылает его следующей станции. Передающая станция ответственна за изъятие из кольца переданных ею кадров (станция не ретранслирует собственные кадры). Введенный в сеть кадр будет двигаться по сети, пока не попадет в узел, которому он адресован и который скопирует необходимую информацию. При этом устанавливается флаг копирования (FCI), что свидетельствует об успешной доставке кадра адресату. Кадр продолжает движение, пока не попадет в узел отправитель, где он будет уничтожен. При этом проверяется, подключена ли к сети станция-адресат. Это делается путем контроля API (индикатора распознавания кадра адресатом). Сеть Token Ring идеальна для приложений, где задержка получения информации должна быть предсказуемой, и требуется высокая надежность.


Сетевые станции подключаются к MSAU, которые объединяются друг с другом, образуя кольцо. Если станция отключилась, MSAU шунтирует ее, обеспечивая проход пакетов. Стандарт Token Ring использует довольно сложную систему приоритетов, которая позволяет некоторым станциям пользоваться сетью чаще остальных. Кадры Token Ring имеют два поля, которые управляют доступом приоритет и резервирование. Только станции с приоритетом равным или выше, чем приоритет маркера, могут им завладеть. Если маркер уже захвачен и преобразован в информационный кадр, только станции с приоритетом выше, чем у станцииё отправителя, могут зарезервировать маркер на следующий цикл. Станции, которые подняли приоритет маркера, должны его восстановить после завершения передачи.

Сети Taken Ring имеют несколько механизмов для обнаружения и предотвращения влияния сетевых сбоев и ошибок. Например, пусть одна из станций выбрана в качестве активного монитора. Эта станция работает как центральный источник синхронизации для других станций сети и выполняет ряд других функций. Одной из таких функция является удаление из кольца бесконечно циркулирующих кадров (маркеров). Если отправитель ошибся, установив, например ошибочный адрес места назначения, это может привести к зацикливанию кадра. Ведь кадр может быть поврежден в пути и отправитель его уже не узнает. А это в свою очередь блокирует работу остальных станций. Активный монитор должен обнаруживать такие кадры, удалять их и генерировать новый маркер. Функции активного монитора часто выполняют MSAU. Попутно msau может контролировать, какая из станций является источником таких дефектных кадров, и вывести ее из кольца. Если станция обнаружила серьезную неполадку в сети (например, обрыв кабеля), она посылает сигнальный кадр (beacon). Такой кадр несет в себе идентификатор отправителя и имя соседа-предшественника (NAUN - nearest active upstream neighbour). Такой кадр инициализирует процедуру автореконфигурации, при которой узлы в районе аварии пытаются реконфигурировать сеть так, чтобы ликвидировать влияние поломки. Топологическая схема сети ieee 802.5 представлена на рис. 4.1.2.1.





Рис. 4.1.2.1 Топология сети Token Ring

Периферийные ЭВМ подключаются к блокам msau по схеме звезда, а сами MSAU соединены друг с другом по кольцевой схеме. Возможна реализация схемы звезда и иным способом, показанным на рис. 4.1.2.2. Здесь объединяющую функцию выполняет блок концентратора.



Рис. 4.1.2.2. Реализация Token Ring по схеме звезда

Концентратор может шунтировать каналы, ведущие к ЭВМ, с помощью специальных реле при ее отключении от питания. Аналогичную операцию может выполнить и блок msau. Управление сетью возлагаются на пять функциональных станций, определенных протоколом. Некоторые контрольные функции выполняются аппаратно, другие реализуются с помощью загружаемого программного обеспечения. Каждая из функциональных станций имеет свои логические (функциональные) адреса. Функциональные станции должны реагировать как на эти функциональные, так и на свои собственные аппаратные адреса. Ниже в таблице представлен список функциональных станций и их функциональных адресов (таблица 4.1.2.1).

Таблица 4.1.2.1 Типы и адреса функциональных станций





Функциональная станция



Адрес

1. Активный монитор c0 00 00 00 00 01 2. Резервный монитор адрес не определен 3. Сервер конфигурации (необязательное устройство) c0 00 00 00 00 02 4. Монитор ошибок (необязательное устройство) c0 00 00 00 00 08 5. Сервер параметров кольца (необязательное устройство) c0 00 00 00 00 10 В сети используются кадры управления доступом к среде (УДС, код типа кадра = 00) и информационные кадры (код типа кадра =01). Имеется 25 разновидностей УДС-кадров (см. приложение 10.6 Управление доступом). Сюда входят кадры инициализации, управления средой, сообщения об ошибках и кадры управления рабочими станциями. Общий формат заголовка кадра Token Ring представлен на рис. 4.1.2.3. Размер поля данных, следующего за адресом отправителя, может иметь произвольную длину, в том числе и нулевую. В это поле может быть вложен пакет другого протокола, например, LLC.



Рис. 4.1.2.3. Формат информационного кадра для IEEE 802.5



В начале поля данных может размещаться LLC-заголовок, который содержит в себе 3-8 байт. Собственно этот заголовок, да поле управления кадром и отличают информационный кадр от кадра управления доступом (см. рис. 4.1.2.4).



Рис. 4.1.2.4. Формат кадра управления доступом для IEEE 802.5 (цифрами обозначены размеры полей в байтах)

Вслед за адресом отправителя следует информация управления доступом к среде. Кадры управления доступом служат исключительно для целей управления сетью и не передаются через бриджи и маршрутизаторы. Управляющая информация включает в себя основной вектор и несколько субвекторов. Основной вектор задает тип УДС-кадра (или команду) и типы (или классы) станций отправителя и получателя, всего 4 байта. Субвекторы содержат информацию об адресе соседа-предшественника, номер физического отвода кабеля и пр. (3 и более байт). На рис. 4.1.2.5. представлен формат основного вектора.



Рис. 4.1.2.5. Формат основного вектора

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

Таблица 4.1.2.2 Таблица кодов класса

Код класса

Функциональный тип станции

0x0 Рабочая станция кольца
0x1 Администратор канального уровня
0x4 Администратор сети или сервер конфигурации
0x5 Сервер параметров кольца
0x6 Сервер ошибок
Субполе команда содержит код, передаваемой УДС-кадром команды (см. таблицу 10.6 в приложении Управление доступом). Кадр управления доступом может содержать любое, в том числе нулевое число субвекторов. Некоторые субвектора являются обязательными. Таблица обязательных субвекторов приведена в приложении 10.7 Типы субвекторов. В результате декодирования субвекторов можно локализовать нестабильную ошибку. Ниже на рис. 4.1.2.6 приведен формат субвектора.





Рис. 4.1.2.6. Формат субвектора

Поля длина определяет длину субвектора (ведь она переменная). Поля тип содержит код типа субвектора. Поле значение хранит данные, например, код 0x0b характеризует номер отвода и т.д..

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



Рис. 4.1.2.7. Формат начального разделителя SDEL

“e” и “Н” - представляет собой единицу и нуль, закодированные манчестерским кодом. Оконечный разделитель (EDEL) имеет формат, показанный на рис. 4.1.2.8.



Рис. 4.1.2.8. Формат оконечного разделителя EDEL

Бит - индикатор промежуточного кадра (IF) равен нулю, если кадр является последним или единственным кадром в последовательности. Единица в этом бите указывает на то, что этот кадр не является последним. Бит индикатор обнаруженной ошибки (ED) устанавливается равным единице первой станцией, которая выявила ошибку в контрольной последовательности кадра (CRC). Таким образом, crc контролируется всеми станциями, через которые проходит пакет. crc - гарантирует корректность пересылке части кадра, начиная от поля управление кадром кончая полем данные. Последним полем кадра является октет состояния (рис. 4.1.2.9). Первые и последние четыре бита этого поля должны повторять друг друга, что повышает достоверность записанной там информации.



Рис. 4.1.2.9. Формат поля состояния кадра

Бит распознавания адреса

(ARI) служит в качестве флага распознавания получателем своего адреса. Если распознавание произошло, получатель перед ретрансляцией кадра далее устанавливает этот бит в единичное состояние.

Бит- индикатор копирования кадра (FCI) служит для индикации успешного копирования информации из полученного кадра. Если получатель распознал свой адрес, имеет достаточно место в буфере и благополучно скопировал туда информацию из полученного пакета, он устанавливает этот бит в единичное состояние. Биты ARI и FCI активно используются управляющими станциями кольца. Для отправителя они носят второстепенный характер, ибо решение о повторной пересылке при утере кадра принимается обычно на транспортном (более высоком) уровне. При недостатке буферного пространства в памяти станция не всегда может скопировать кадр, повторная же передача сокращает пропускную способность сети. Если же перегружающаяся станция является частью инфраструктуры сети (сервер), это может ухудшить свойства сети в целом. Улучшению ситуации может способствовать увеличение числа буферов на плате сетевого адаптера, увеличение быстродействия канала и расширения объема буферной памяти в самой ЭВМ.



Флаг начала потока (SSD - start of stream delimiter) позволяет сетевому уровню, независящему от физической среды (PMI - physical media independent) детектировать начало потока кодов. Получение неверного SSD не прерывает прием данных, а передает сигнал ошибки субуровням MAC или RMAC.

SSD высокого приоритета: 0101 111100 000011
SSD обычного приоритета: 0101 100000 111110
Флаг окончания потока (ESD - end of stream delimiter) позволяет сетевому уровню PMI завершить прием пакета и переслать полученные данные субуровню mac. Детектирование неверного IPM (invalid packet marker) разделителя приводит к ошибке на уровне MAC или RMAC.

Правильный флаг окончания потока (ESD):

esd высокого приоритета: 111111 000011 000001
esd обычного приоритета: 000000 111100 111110
Маркер неправильного пакета: 110000 011111 110000
Сигнатура преамбулы позволяет PMI определить место, с которого следует начинать прием данных. Код преамбулы имеет вид:

010101 010101 010101 010101 010101 010101 010101 010101



Рис. 4.1.2.10. Формат поля управления доступом

Поле управления доступом служит для определения приоритета кадра, это единственное поле, которое присутствует в маркере (помимо SDEL и EDEL). Субполе приоритета (PPP) указывает на приоритет маркера в 802.5. Предусмотрено восемь уровней приоритета, начиная с 000 (низший) до 111 (высший). В 802.12 здесь записывается всегда 000. Субполе бит маркера позволяет отличить обычный кадр от маркера. Для маркера поле несет в себе 0, а для кадра 1 (802.5). Так как в 100VG-anylan передаются только маркерные кадры, этот бит всегда равен 1. Бит мониторинга препятствует бесконечной циркуляции кадра по кольцу. В исходный момент все кадры и маркеры имеют этот бит равный 0. Приемник игнорирует этот бит. Биты rrr разрешают приоритетным пакетам запрашивать маркер того же уровня приоритета. Стандарт 802.12 не использует непосредственно октет управления доступом, а для обеспечения совместимости с 802.5 по умолчания записывает туда 0001000.





Рис. 4.1.2.11. Формат поля управления кадра

Значения кодов субполя тип кадра представлено в таблице 4.1.2.3, они определяют формат данных информационного поля кадра. Для обычной передачи поле равно 01000yyy.

Таблица 4.1.2.3 Коды типа кадра



Код поля типа



Функция

00 MAC-кадр (УДС)
01 LLC-кадр (данные)
1x Резерв на будущее
Поле физического управления (pcf) имеет смысл только для УДС-кадров и служит для оповещения станций о типе кадра управления средой. Это поле служит также для указания приоритета передачи кадра из буфера адаптера в ЭВМ. В таблице 4.1.2.4.

Таблица 4.1.2.4 Коды поля pcf

Описание Код поля pcf
Нормальный буфер 0
Экспресс буфер 1
Очистка кольца 2
Требование маркера 3
Аварийная сигнализация 4
Наличие активного монитора 5
Наличие резервного монитора 6
Для llc-кадров поле резервированные биты и далее имеет формат rrryyy, где биты rrr зарезервированы для будущего использования (000), а yyy - код приоритета пакетов пользователя. (MAC-кадры не используются в IEEE 802.12). Формат поля адреса получателя отображен на рис. 4.1.2.12.



Рис. 4.1.2.12. Формат адреса места назначения

I/G =0 индивидуальный адрес (I); I/G=1 групповой адрес (g).

U/L=0 универсальный адрес (U); U/L=1 локальный адрес (L).



Индивидуальный адрес

- адрес конечного узла, уникальный для данной локальной сети (в случае локального администрирования) или отличный от любого другого адреса в глобальной сети в случае универсального администрирования. Существует две разновидности индивидуального адреса: уникастный и нулевой. Уникастный адрес - индивидуальный адрес, идентифицирующий один из узлов сети. Нулевой адрес равен нулю и означает, что кадр не адресован ни одному из узлов сети. Такой адрес не может быть присвоен ни одному из оконечных узлов сети. Описываемые далее разновидности адресов используются только в полях адреса места назначения.



Групповой

адрес ассоциируется с (нулем или более) некоторым числом оконечных узлов данной сети, обычно это группа логически связанных узлов. Широковещательные и мультикастинг-адреса относятся к групповым адресам.



Широковещательный адрес подразумевает обращение ко всем узлам данной сети, такой адрес содержит 1 во всех своих разрядах. Мультикастинг-адрес подразумевает обращение к некоторой, выделенной группе адресов данной локальной сети. Существуют также функциональные адреса (FA), которые идентифицируют некоторые известные функциональные объекты с помощью групповых адресов. Формат функционального адреса представлен на рис. 4.1.2.13.



Рис. 4.1.2.13. Структура функционального адреса

Ниже приведена таблица 4.1.2.5 некоторых зарезервированных функциональных адресов.

Таблица 4.1.2.5. Зарезервированные функциональные адреса

6-октетный адрес (fa) Назначение
С0 00 00 00 00 01 Активный монитор
С0 00 00 00 00 02 Кольцевой сервер параметров (rps)
Функциональные адреса являются отличительной особенностью сетей Token Ring. В этих сетях маршрутная информация распределена между устройствами сети. Рабочие станции создают и поддерживают собственные маршрутные таблицы. Формат поле адреса отправителя показан на рис. 4.1.2.14.



Рис. 4.1.2.14. Формат адреса отправителя

Субполе RII является индикатором маршрутной информации, функция субполя U/L идентична с вариантом формата адреса получателя. Если RII=1, в поле данных содержится маршрутная информация.

Формат поля маршрутной информации отображен на рис. 4.1.2.15.



Рис. 4.1.2.15. Формат поля маршрутной информации (RI)

Разновидности сетей, не использующие маршрутную информацию, берут код из субполя LTH (длина), чтобы обойти поле RI. Субполе RT (код типа маршрутизации) имеет 3 бита и говорит о том, должен ли данный кадр быть переадресован. Ниже приведена таблица (4.1.2.6) возможных значений кода rt.

Таблица 4.1.2.6. Значения кола rt



Код rt



Описание

0xx Передача по определенному маршруту
10x Широковещательная передача по всем маршрутам
11x Широковещательная передача по одному маршруту
Субполе LTH (длина) имеет 5 бит и хранит в себе длину поля RI в октетах. LTH должно быть четным и лежать в пределах 2-30, включительно. Обычно маршрутная информация занимает от 2 до 16 байт (cпецификация IBM требует, чтобы кадр проходил не более 7 мостов). Если субполе бит направления (d) равно нулю, обход кольца маркером осуществляется в порядке записи дескрипторов маршрута, при d=1 - в обратном порядке (RDN, RDn-1, ... RD1). Субполе максимальная длина кадра (LF) имеет 3 бита и указывает наибольший размер информационного поля MAC. Значение поля устанавливается мостами при определении маршрута и указывает максимальную длину кадра, передаваемого мостом. Допустимы следующие значения:



Таблица 4.1.2.7. Возможные значения поля LF

Код поля lf Длина кадра в байтах
000 516
001 1500
010 2052
011 4472
100 8144
101 11407
110 17800
Субполя дескрипторов маршрута состоят из 12 бит идентификатора сети (номер кольца, назначается сетевым администратором) за которым следует 4 бита номера моста. Эти дескрипторы определяют порядок обхода сети кадром. В сетях 100VG-anylan это поле не используется, так как порядок обхода задается аппаратно повторителями.

При построении больших сетей token ring приходится использовать большое число колец. Отдельные кольца связываются друг с другом, как и в других сетях, с помощью мостов (рис. 4.1.2.16). Мосты бывают “прозрачными” (IEEE 802.1d) и с маршрутизацией от источника. Последние позволяют связать в единую сеть несколько колец, использующих общий сетевой IPX- или IP-адрес.



Рис. 4.1.2.16 Соединение колец с помощью прозрачного моста

Использование мостов позволяет преодолеть и ограничение на число станций в сети (260 для спецификации ibm и 255 для IEEE). Мосты могут связывать между собой фрагменты сетей, использующих разные протоколы, например, 802.5, 802.4 и 802.3. Пакеты из кольца 1 адресованные объекту этого же кольца никогда не попадут в кольцо 2 и наоборот. Через мост пройдут лишь пакеты, адресованные объектам соседнего кольца. Фильтрация пакетов осуществляется по физическому адресу и номеру порта. На основе этих данных формируется собственная база данных, содержащая информацию об объектах колец, подключенных к мосту. Схема деления сети с помощью мостов может способствовать снижению эффективной загрузки сети.

Мосты с маршрутизацией от источника могут объединять только сети token ring, а маршрутизация пакетов возлагается на все устройства, посылающие информацию в сеть (отсюда и название этого вида мостов). Это означает, что в каждом из сетевых устройств должно быть загружено программное обеспечение, позволяющее маршрутизировать пакеты от отправителя к получателю (в случае netware это route.com). Эти мосты не создают собственных баз данных о расположении сетевых объектов и посылают пакет в соседнее кольцо на основе маршрутного указания, поступившего от отправителя самого пакета. Таким образом, база данных о расположении сетевых объектов оказывается распределенной между станциями, хранящими собственные маршрутные таблицы. Программы маршрутизации используют сетевой драйвер адаптера. Мосты с маршрутизацией от источника просматривают все поступающие кадры и отбирают те, которые имеют индикатор информации о маршруте RII=1. Такие кадры копируются, и по информации о маршруте определяется, следует ли их посылать дальше. Мосты с маршрутизацией от источника могут быть настроены на широковещательную передачу по всем маршрутам, либо на широковещательную передачу по одному маршруту. Формат информации о маршруте показан на рис. 4.1.2.15.



В сетях со сложной топологией маршруты формируются согласно иерархическому протоколу STP (spanning tree protocol). Этот протокол организует маршруты динамически с выбором оптимального маршрута, если адресат достижим несколькими путями. При этом минимизируется транзитный трафик. Для решения задачи мосты обмениваются маршрутной информацией. Формат этих пакетов показан на рис. 4.1.2.17.



Рис. 4.1.2.17. Формат кадра маршрутных данных, рассылаемых мостом

Поле идентификатор протокола характеризует используемый мостом протокол (для STP это код равен 0x000). Поле версия протокола хранит текущую версию протокола. Поле тип протокольного блока данных моста может принимать следующие значения:

0x00 протокольный блок данных моста конфигурации;
0x80 протокольный блок данных моста объявления об изменении топологии.
В настоящее время протоколом STP используются только два флага:

0x01 флаг изменения топологии;
0x80 флаг подтверждения изменения топологии.
Поле идентификатор корня содержит идентификатор корневого моста. В поле метрика маршрута до корня хранится оценка маршрута до корневого моста. В поле идентификатор моста записывается 8-байтовый код-идентификатор моста, передающего протокольный блок данных. Содержимое двух старших байт задается администратором сети, остальные 6 байт хранят универсальный или локальный адрес порта моста. Идентификатор порта представляет собой двух-байтовый код, присвоенный порту моста. Поле возраст сообщения содержит время в секундах, прошедшее с момента формирования конфигурационного сообщения. При ретрансляции протокольного блока конфигурации каждый мост увеличивает код в этом поле на величину, заданную протоколом управления. Величину кода в поле максимальный возраст задает корневой мост так, чтобы все остальные мосты имели согласованные значения возраста информации о конфигурации. Поле период актуализации определяет длительность периода посылки протокольных блоков конфигурации в секундах. Поле задержки передачи указывает на заданную корневым мостом величину времени в секундах, в течение которого порт не должен начинать передачу кадров после окончания реконфигурации сети.

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

x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1

Алгоритм вычисления аналогичен тому, что используется в сетях Ethernet, контрольное суммирование охватывает поля адрес места назначения, адрес отправителя, управление кадром, маршрутная информация и данные.

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

На физическом сетевом уровне используется дифференциальный манчестерский код с уровнями сигналов положительной и отрицательной полярности в диапазоне 3,0-4,5 В (сравните с +0,85 и -0,85 В для IEEE 802.3).


Содержание раздела