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

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

  • маркер;
  • кадр данных;
  • прерывающая последовательность.

Маркер

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

  • Поле начального ограничителя появляется в начале маркера, а также в начале любого кадра, проходящего по сети. Поле состоит из уникальной серии электрических импульсов, которые отличаются от тех импульсов, которыми кодируются единицы и нули в байтах данных. Поэтому начальный ограничитель нельзя спутать ни с какой битовой последовательностью.
  • Поле контроля доступа. Разделяется на четыре элемента данных:
    PPP T M RRR,
    где PPP - биты приоритета, T - бит маркера, M - бит монитора, RRR - резервные биты.

Каждый кадр или маркер имеет приоритет, устанавливаемый битами приоритета (значение от 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) начинается с "последовательности начала кадра", которая содержит три поля:

  • Начальный ограничитель, такой же, как и для маркера;
  • Управление доступом, также совпадает для кадров и для маркеров;
  • Контроль кадра - это однобайтовое поле, содержащее два подполя - тип кадра и идентификатор управления MAC: 2 бита типа кадра имеют значения 00 для кадров MAC и 01 для кадров LLC. Биты идентификатора управления MAC определяют тип кадра управления кольцом из приведенного выше списка 6-ти управляющих кадров MAC.

Адрес получателя (либо 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 применяются процедуры без установления связи, но с подтверждением получения кадров.