Форматы кадров Token Ring

В Token Ring существует три различных формата кадров:

Маркер

Кадр маркера состоит из трех полей, каждое длиной в один байт.

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

Схема использования приоритетного метода захвата маркера показана на рисунке 13. Сначала монитор помещает в поле текущего приоритета P максимальное значение приоритета, а поле резервного приоритета R обнуляется (маркер 7110). Маркер проходит по кольцу, в котором станции имеют текущие приоритеты 3, 6 и 4. Так как эти значения меньше, чем 7, то захватить маркер станции не могут, но они записывают свое значение приоритета в поле резервного приоритета, если их приоритет выше его текущего значения. В результате маркер возвращается к монитору со значением резервного приоритета R = 6. Монитор переписывает это значение в поле P, а значение резервного приоритета обнуляет, и снова отправляет маркер по кольцу. При этом обороте его захватывает станция с приоритетом 6 - наивысшим приоритетом в кольце в данный момент времени.
Бит маркера имеет значение 0 для маркера и 1 для кадра.

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

Рис. 13. Приоритеты в кольце Token Ring
Рис. 13. Приоритеты в кольце Token Ring
Кадр данных
Кадр данных состоит из нескольких групп полей:

Кадр данных может переносить данные либо для управления кольцом (данные MAC-уровня), либо пользовательские данные (LLC-уровня). Стандарт Token Ring определяет 6 типов управляющих кадров MAC-уровня. Поле "последовательность начала кадра" определяет тип кадра (MAC или LLC) и, если он определен как MAC, то поле также указывает, какой из шести типов кадров представлен данным кадром.


Назначение этих шести типов кадров следующее.

Каждый кадр (MAC или LLC) начинается с "последовательности начала кадра", которая содержит три поля:

Адрес получателя (либо 2, либо 6 байтов). Первый бит определяет групповой или индивидуальный адрес как для 2-х байтовых, так и для 6-ти байтовых адресов. Второй бит в 6-ти байтовых адресах говорит, назначен адрес локально или глобально.


Адрес отправителя имеет тот же размер и формат, что и адрес получателя.

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


Последовательность конца кадра состоит из двух полей: конечный ограничитель и статус кадра.

Конечный ограничитель в кадре данных имеет дополнительное значение по сравнению с маркером. Кроме уникальной последовательности электрических импульсов он содержит два однобитовых поля: бит промежуточного кадра и бит обнаружения ошибки. Бит промежуточного кадра устанавливается в 1, если этот кадр является частью многокадровой передачи, или в 0 для последнего или единственного кадра. Бит обнаружения ошибки первоначально установлен в 0; каждая станция, через которую передается кадр, проверяет его на ошибки (по коду CRC) и устанавливает бит обнаружения ошибки в 1, если она выявлена. Очередная станция, которая видит уже установленный бит обнаружения ошибки, должна просто передать кадр. Исходная станция заметит, что возникла ошибка, и повторит передачу кадра.

Статус кадра имеет длину 1 байт и содержит 4 резервных бита и два подполя: бит распознавания адреса и бит копирования кадра. Так как это поле не сопровождается вычисляемой суммой CRC, то используемые биты дублируются в байте. Когда кадр создается, передающая станция устанавливает бит распознавания адреса в 0; получающая станция устанавливает бит в 1, чтобы сообщить, что она опознала адрес получателя. Бит копирования кадра также вначале установлен в 0, но устанавливается в 1 получающей станцией (станцией назначения), когда она копирует содержимое кадра в собственную память (другими словами, когда она реально получает данные). Данные копируются (и бит устанавливается), если только кадр получен без ошибок. Если кадр возвращается с обоими установленными битами, исходная станция знает, что произошло успешное получение. Если бит распознавания адреса не установлен во время получения кадра, это означает, что станция назначения больше не присутствует в сети (возможно, вследствие неполадок). Возможна другая ситуация, когда адрес получателя опознается, но бит копирования кадра не установлен. Это говорит исходной станции, что кадр был искажен во время передачи (бит обнаружения ошибки в конечном ограничителе также будет установлен). Если оба бита опознавания адреса и копирования кадра установлены, и бит обнаружения ошибки также установлен, то исходная станция знает, что ошибка случилась после того, как этот кадр был корректно получен.

Прерывающая последовательность

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