TokenRing

TokenRing — это альтернатива "классическому" протоколу Ethernet на Канальном уровне.

Наибольшее отличие между TokenRing и Ethernet заключается в механизме управления доступом к среде передачи данных. Чтобы передать свои данные, рабочая станция TokenRing должна захватить маркер (token) — специальный пакет, циркулирующий последовательно от узла к узлу. Только система, обладающая маркером, может осуществить передачу данных, после чего она должна переслать маркер следующей системе. Это само по себе устраняет возможность возникновения коллизий в правильно функционирующей сети, так же, как и потребность в использовании механизма выявления коллизий.

Узлы в сети TokenRing соединены в соответствии с топологией "кольцо" (ring). По существу, это — шина, концы которой соединены друг с другом. Таким образом, системы могут передавать данные следующему узлу сети до тех пор, пока они не вернутся к источнику. Это в точности описывает, каким образом работает протокол. Система, отправившая пакет, также отвечает за удаление его из сети после того, как он пройдет по кольцу.

Тем не менее, указанное кольцо является логическим, а не физическим. Это означает, что сеть во всех своих внешних проявлениях имеет форму топологии "звезда" с рабочими станциями, подключенными к центральному концентратору, называемому MAU (иногда MSAU (MultistationAccessUnit, модуль множественного доступа)). Логическое кольцо — в действительности функция MAU, который принимает пакеты, переданные одной системой, и поочередно направляет их через каждый последующий порт, дожидаясь при этом, пока пакеты не вернутся обратно по тому же кабелю, прежде, чем передать их через следующий порт. Таким образом, согласно этойсхеме передающее и принимающее устройства каждой рабочей станции фактически являются отдельными портами, которые просто используют один и тот же кабель, так как система всегда передает данные следующей в основном направлении системе и принимает данные от системы, следующей в направлении, противоположном основному.

МониторыTokenRing

Каждая сеть TokenRing включает систему, которая функционирует как активный монитор (activemonitor), то есть отвечает за обеспечение надлежащей производительности сети. Активный монитор не имеет какого-либо специального программного или аппаратного обеспечения, он просто назначается на эту роль процессом, называемым «выборами монитора» (monitorcontention). Все остальные системы в сети функционируют как резервные мониторы (standbymonitorj), "ожидая" сбоя системы, несущей нагрузку активного монитора. Активный монитор выполняет несколько функций.

· Передача кадров присутствия активного монитора. Каждые семь секунд активный монитор (AM) передает кадр присутствия активного монитора (ActiveMonitorPresent MAC frame), который инициализирует процесс опроса кольца.

· Контроль опроса кольца. AM должен в течение семи секунд с начала процедуры опроса кольца получить кадр присутствия активного монитора, либо кадр присутствия резервного монитора от узла, расположенного непосредственно в направлении, противоположном от него. Если необходимый кадр не получен, AM регистрирует ошибку опроса кольца,

· Управление синхронизацией. AM генерирует главный синхронизирующий сигнал, который остальные рабочие станции используют для синхронизации своих генераторов тактовых импульсов. Синхронизация гарантирует, что все системы в сети "знают", когда начинается и заканчивается каждый передаваемый бит. Это также ограничивает эффект "дрожи" (jitter) — незначительного фазового сдвига, приводящего к появлению в сети повторных передач данных.

· Поддержка буфера времени ожидания. В случае небольшого по размерам кольца возможно, что рабочая станция начнет передачу и получит первые биты обратно на свой принимающий порт прежде, чем передача будет закончена. AM предотвращает это, внося задержку распространения, по меньшей мере, в 24 бита (называемую буфером времени ожидания (latencybuffer)), которая позволяет маркеру правильно циркулировать по сети.

· Контроль процесса передачи маркера. Активный монитор должен получать правильный маркер каждые 10 мс, что дает гарантию функционирования механизма передачи маркера должным образом. Если рабочая станция повышает приоритет маркера и оказывается не в состоянии понизить его или не полностью удаляет свой пакет из кольца, AM выявляет проблему и разрешает ее, очищая кольцо и генерируя новый маркер. Каждый узел, получая от AM кадр очистки кольца (RingPurge MAC frame), останавливает свои действия, сбрасывает свои таймеры и переходит в режим повторения в ходе подготовки к приему нового пакета.

КадрыTokenRing

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

Кадр данных

Кадры данных TokenRing переносят информацию, создаваемую протоколами вышележащих уровней, в стандартных протокольных блоках данных (PDU, ProtocolDataUnit) подуровня управления логической связью (LLC, LogicalLinkControl), как определено в документе IEEE 802.2.

Начальный разделитель (SD, StartDelimiter), 1 байт. Начальный разделитель сигнализирует о начале кадра сознательным нарушением правил разностной манчестерской схемы кодирования. Используется комбинация бит JK0JK000, где биты J — это нарушение кодирования значения 0, а биты К — нарушение кодирования 1.

· Управление доступом (AC, AccessControl), 1 байт. Байт управления доступом описывается комбинацией символов PPPTMRRR, где значение РРР — это три бита приоритета, а группа символов R — три резервных бита приоритета, предназначенные для определения важности данных, передаваемых в сетях TokenRing. Рабочие станции в сети TokenRing могут иметь уровень приоритета от 0 до 7, где 7 — наивысший приоритет. Система может захватить свободный маркер и передать данные только в том случае, если маркер имеет приоритет ниже, чем приоритет этой рабочей станции. Если узел обладает более высоким приоритетом, чем тот, что указан в свободном маркере, он может повысить приоритет маркера, надлежащим образом изменив биты приоритета для того, чтобы более быстро передать стоящие на очереди пакеты. Когда маркер возвращается к системе, поднявшей его приоритет, она может отправить другой пакет с тем же приоритетом или возвратить маркеру его предыдущий приоритет и изменить его статус на "свободно". Станция, которой было отказано в захвате маркера по причине слишком низкого приоритета, может скорректировать биты резервирования, чтобы потребовать маркер с более низким уровнем приоритета. Остаются еще два бита поля управления доступом. Символ Т обозначает бит маркера, определяющий, является ли кадр кадром данных/команд (1) или кадром маркера (0). На позиции символа М расположен бит монитора, который замещается с 0 на 1 системой, выбранной в качестве активного монитора. Поскольку активный монитор является единственной системой, способной изменять значение этого бита, то когда активный монитор получает пакет с 1 в этом бите, это свидетельствует о том, что пакет по какой-то причине не был удален из сети передавшим его узлом и неправильно преодолел кольцо еще раз.

· Управление кадром (FC, FrameControl), 1 байт. Байт управления кадром использует комбинацию TT00AAAA, где биты Т указывают, что содержится в пакете: кадр данных или команд. Третий и четвертый биты не задействованы и всегда имеют значение 0. Биты А представляют собой биты сигнального кода (attentioncode), идентифицирующего тип командного МАС-кадра. Определенные типы таких кадров должны быть немедленно записаны в экстренный буфер (expressbuffer) принимающей системы.

· Адресназначения (DA, Destination Address), 6 байтов. Поле адреса назначения указывает получателя пакета, используя либо его аппаратный адрес, зашитый в плату сетевого адаптера, либо широковещательный или групповой адрес.

· Исходный адрес (SA, SourceAddress), 6 байтов. Поле определяет аппаратный адрес отправителя пакета, зашитый в плату сетевого адаптера.

· Данные переменной длины (Information, variable). В кадре данных информационное поле содержит протокольный блок данных, передаваемый вниз по сетевому стеку от протокола Сетевого уровня. Он включает стандартный заголовок LLC, состоящий из DSAP, SSAP и полей управления. Размер информационного поля может достигать 4500 байт и ограничивается временем удержания маркера кольца (ringtokenholdingtim), то есть максимальным интервалом времени, в течение которого рабочая станция может удерживать маркер.

· Контрольная последовательность кадра (FCS, FrameCheckSequence), 4 байта. Поле контрольной последовательности кадра содержит 4- байтовый результат вычисления CRC, выполняемого над полями управления кадром, адреса назначения, исходного адреса и информационными полями для проверки целостности переданного пакета. Значение CRC вычисляется передающим узлом и сохраняется в поле контрольной последовательности кадра. По прибытии в место назначения точно такие же вычисления выполняются снова, и их результат сравнивается со значением поля. Совпадение говорит об успешной передаче.

· Конечный разделитель (ED, EndDelimiter), 1 байт. Поле конечного разделителя служит для выделения конца пакета из битового потока. В нем снова нарушаются правила разностной манчестерской схемы кодирования для образования уникальной последовательности бит. Здесь применяется схема обозначения JK1JK1IE, где биты J и К выполняют нарушение кодирования 1 и 0 соответственно (как в поле начального разделителя). I соответствует биту промежуточного кадра (intermediateframebit), имеющему значение 1 в случае, если в текущей последовательности еще остаются пакеты, ожидающие передачи. Бит Е — это бит обнаружения ошибки (errordetectionbit), который принимающая система устанавливает в 1, если обнаруживает в передаче ошибку CRC. Это предотвращает сообщения о той же ошибке от систем ниже по течению.

· Статускадра (FS, Frame Status), 1 байт. Полестатусакадраиспользуетсхемуобозначения AF00AF00, вкоторойА — этоиндикаторраспознанногоадреса (ARI, Address Recognized Indicator), a F — индикаторскопированногокадра (FR1) Frame Copied Indicator). Значения этих бит дублируются, так как поле состояния кадра не включено в проверку CRC контрольной последовательности кадра. Биты ARI и FCI сбрасываются передающей рабочей станцией в 0. Если принимающий узел распознает кадр, он реагирует тем, что устанавливает ARI в 1. Когда принимающая система может скопировать кадр в буферную память адаптера, то она устанавливает FCI в 1. Если такого не происходит, это свидетельствует о том, что пакет не прошел проверку CRC или был поврежден каким-то другим образом и нуждается в повторной передаче.

Командный кадр

Командные кадры, также называемые кадрами MAC, отличаются от кадров данных только информационным полем и иногда полем управления кадром. Кадры MAC не используют заголовок LLC, вместо этого они содержат PDU, состоящий из двух байт, которые указывают суммарную длину последующей управляющей информации, включающей длину самого PDU, 2-байтового поля, идентифицирующего управляющую функцию кадра, и переменного количества байтов самой управляющей информации (рис. 3.3).

Кадры MAC выполняют исключительно функции обслуживания и управления кольцом. Они никогда не переносят данных вышележащих уровней и никогда не передаются в другие области коллизий мостами, коммутаторами или маршрутизаторами. Наиболее часто используемые функции указываются при помощи 4-битового кода в поле управления кадром.

Некоторые кадры MAC с определенными функциями обрабатываются сетевыми адаптерами в специальной области памяти, называемой экстренным буфером (expressbuffer). Буферизация позволяет узлу работать с кадрами MAC, содержащими важные управляющие команды, в любое время, даже если он занят получением большого количества кадров данных.

Кадр маркера

Кадр маркера предельно прост. Он состоит только из трех 1-байтовых полей: начального разделителя (SD), поля управления доступом (FC) и конечного разделителя (ED) (рис. 3.4). Бит маркера в поле управления доступом всегда установлен в значение единицы, а поля разделителей имеют тот же формат, что и в кадрах данных и команд.

Рис. 3.4. Кадр маркера, генерируемый для управления доступом к сетевой среде передачи данных

Кадр прерывания передачи

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

Рис. 3.5. Кадр прерывания передачи, предназначенный для очистки кольца перед созданием активным монитором нового маркера


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: