Wayback Machine
MAR May Jun
Previous capture 10 Next capture
2005 2008 2009
6 captures
1 May 05 - 10 May 08
sparklines
Close Help
полная версия

Замок Дракона

Б   Е   З       Б   А   Ш   Н   И

На главную
/ Архивы Замка Дракона / Лекции ВМиК / Сети / FDDI

1. История создания стандарта FDDI

Технология Fiber Distributed Data Interface - первая технология локальных сетей, которая использовала в качестве среды передачи данных оптоволоконный кабель.

Попытки применения света в качестве среды, несущей информацию, предпринимались давно - еще в 1880 году Александр Белл запатентовал устройство, которое передавало речь на расстояние до 200 метров с помощью зеркала, вибрировавшего синхронно со звуковыми волнами и модулировавшего отраженный свет.

Работы по использованию света для передачи информации активизировались в 1960-е годы в связи с изобретением лазера, который мог обеспечить модуляцию света на очень высоких частотах, то есть создать широкополосный канал для передачи большого количества информации с высокой скоростью. Примерно в то же время появились оптические волокна, которые могли передавать свет в кабельных системах, подобно тому, как медные провода передают электрические сигналы в традиционных кабелях. Однако потери света в этих волокнах были слишком велики, чтобы они могли быть использованы как альтернатива медным жилам. Недорогие оптические волокна, обеспечивающие низкие потери мощности светового сигнала и широкую полосу пропускания (до нескольких ГГц) появились только в 1970-е годы. В начале 1980-х годов началось промышленная установка и эксплуатация оптоволоконных каналов связи для территориальных телекоммуникационных систем.

В 1980-е годы начались также работы по созданию стандартных технологий и устройств для использования оптоволокнных каналов в локальных сетях. Работы по обобщению опыта и разработке первого оптоволоконного стандарта для локальных сетей были сосредоточены в Американском Национальном Институте по Стандартизации - ANSI, в рамках созданного для этой цели комитета X3T9.5.

Начальные версии различных составляющих частей стандарта FDDI были разработаны комитетом Х3Т9.5 в 1986 - 1988 годах, и тогда же появилось первое оборудование - сетевые адаптеры, концентраторы, мосты и маршрутизаторы, поддерживающие этот стандарт.

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

2. Основы технологии FDDI

Технология FDDI во многом основывается на технологии Token Ring, развивая и совершенствуя ее основные идеи. Разработчики технологии FDDI ставили перед собой в качестве наиболее приоритетных следующие цели:

Сеть FDDI строится на основе двух оптоволоконных колец, которые образуют основной и резервный пути передачи данных между узлами сети. Использование двух колец - это основной способ повышения отказоустойчивости в сети FDDI, и узлы, которые хотят им воспользоваться, должны быть подключены к обоим кольцам. В нормальном режиме работы сети данные проходят через все узлы и все участки кабеля первичного (Primary) кольца, поэтому этот режим назван режимом Thru - "сквозным" или "транзитным". Вторичное кольцо (Secondary) в этом режиме не используется.

В случае какого-либо вида отказа, когда часть первичного кольца не может передавать данные (например, обрыв кабеля или отказ узла), первичное кольцо объединяется со вторичным (рис. 1), образуя вновь единое кольцо. Этот режим работы сети называется Wrap, то есть "свертывание" или "сворачивание" колец. Операция свертывания производится силами концентраторов и/или сетевых адаптеров FDDI. Для упрощения этой процедуры данные по первичному кольцу всегда передаются против часовой стрелки, а по вторичному - по часовой. Поэтому при образовании общего кольца из двух колец передатчики станций по-прежнему остаются подключенными к приемникам соседних станций, что позволяет правильно передавать и принимать информацию соседними станциями.

В стандартах FDDI отводится много внимания различным процедурам, которые позволяют определить наличие отказа в сети, а затем произвести необходимую реконфигурацию. Сеть FDDI может полностью восстанавливать свою работоспособность в случае единичных отказов ее элементов. При множественных отказах сеть распадается на несколько не связанных сетей.


Рис. 1. Реконфигурация колец FDDI при отказе

Кольца в сетях FDDI рассматриваются как общая разделяемая среда передачи данных, поэтому для нее определен специальный метод доступа. Этот метод очень близок к методу доступа сетей Token Ring и также называется методом маркерного (или токенного) кольца - token ring (рис. 2, а).

Станция может начать передачу своих собственных кадров данных только в том случае, если она получила от предыдущей станции специальный кадр - токен доступа (рис. 2, б). После этого она может передавать свои кадры, если они у нее имеются, в течение времени, называемого временем удержания токена - Token Holding Time (THT). После истечения времени THT станция обязана завершить передачу своего очередного кадра и передать токен доступа следующей станции. Если же в момент принятия токена у станции нет кадров для передачи по сети, то она немедленно транслирует токен следующей станции. В сети FDDI у каждой станции есть предшествующий сосед (upstream neighbor) и последующий сосед (downstream neighbor), определяемые ее физическими связями и направлением передачи информации.

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

Если же адрес кадра совпадает с адресом станции, то она копирует кадр в свой внутренний буфер, проверяет его корректность (в основном, по контрольной сумме), передает его поле данных для последующей обработки протоколу, лежащего выше FDDI уровня (например, IP), а затем передает исходный кадр по сети последующей станции (рис. 2, г). В передаваемом в сеть кадре станция назначения отмечает три признака: распознавания адреса, копирования кадра и отсутствия или наличия в нем ошибок.

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


Рис. 2. Обработка кадров станциями кольца FDDI

На рисунке 3 приведена структура протоколов технологии FDDI в сравнении с семиуровневой моделью OSI. FDDI определяет протокол физического уровня и протокол подуровня доступа к среде (MAC) канального уровня. Как и многие другие технологии локальных сетей, технология FDDI использует протокол 802.2 подуровня управления каналом данных (LLC), определенный в стандартах IEEE 802.2 и ISO 8802.2. FDDI использует первый тип процедур LLC, при котором узлы работают в дейтаграммном режиме - без установления соединений и без восстановления потерянных или поврежденных кадров.


Рис. 3. Структура протоколов технологии FDDI

Физический уровень разделен на два подуровня: независимый от среды подуровень PHY (Physical), и зависящий от среды подуровень PMD (Physical Media Dependent). Работу всех уровней контролирует протокол управления станцией SMT (Station Management).

Уровень PMD обеспечивает необходимые средства для передачи данных от одной станции к другой по оптоволокну. В его спецификации определяются:

Уровень PHY выполняет кодирование и декодирование данных, циркулирующих между MAC-уровнем и уровнем PMD, а также обеспечивает тактирование информационных сигналов. В его спецификации определяются:

Уровень MAC ответственен за управление доступом к сети, а также за прием и обработку кадров данных. В нем определены следующие параметры:

Уровень SMT выполняет все функции по управлению и мониторингу всех остальных уровней стека протоколов FDDI. В управлении кольцом принимает участие каждый узел сети FDDI. Поэтому все узлы обмениваются специальными кадрами SMT для управления сетью. В спецификации SMT определено следующее:

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

В следующей таблице представлены результаты сравнения технологии FDDI с технологиями Ethernet и Token Ring.

Характеристика

FDDI

Ethernet

Token Ring

Битовая скорость

100 Мб/с

10 Мб/с

16 Мб/c

Топология

Двойное кольцо деревьев

Шина/звезда

Звезда/кольцо

Метод доступа

Доля от времени оборота токена

CSMA/CD

Приоритетная система резервирования

Среда передачи данных

Многомодовое оптоволокно, неэкранированная витая пара

Толстый коаксиал, тонкий коаксиал, витая пара, оптоволокно

Экранированная и неэкранированная витая пара, оптоволокно

Максимальная длина сети (без мостов)

200 км (100 км на кольцо)

2500 м

1000 м

Максимальное расстояние между узлами

2 км (-11 dB потерь между узлами)

2500 м

100 м

Максимальное количество узлов

500 (1000 соединений)

1024

260 для экранированной витой пары, 72 для неэкранированной витой пары

Тактирование и восстановление после отказов

Распределенная реализация тактирования и восстановления после отказов

Не определены

Активный монитор

 

3. Типы узлов и правила их соединения в сеть

Все станции в сети FDDI делятся на несколько типов по следующим признакам:

Одиночное и двойное присоединение к сети

Если станция присоединена только к первичному кольцу, то такой вариант называется одиночным присоединением - Single Attachment, SA (рис. 4, а). Если же станция присоединена и к первичному, и ко вторичному кольцам, то такой вариант называется двойным присоединением - Dual Attachment, DA (рис. 4, б).


Рис. 4. Одиночное (SA) и двойное (DA) подключение станций

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

Количество MAC-узлов у станции

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

Станции, которые имеют один MAC-узел, называются SM (Single MAC) станциями, а станции, которые имеют два MAC-узла, называются DM (Dual MAC) станциями.

Возможны следующие комбинации типов присоединения и количества MAC-узлов:

SM/SA Станция имеет один MAC-узел и присоединяется только к первичному кольцу. Станция не может принимать участие в образовании общего кольца из двух.

SM/DA Станция имеет один MAC-узел и присоединяется сразу к первичному и вторичному кольцам. В нормальном режиме она может принимать данные только по первичному кольцу, используя второе для отказоустойчивой работы.

DM/DA Станция имеет два MAC-узла и присоединена к двум кольцам. Может (потенциально) принимать данные одновременно по двум кольцам (полнодуплексный режим), а при отказах участвовать в реконфигурации колец.

DM/SA Станция имеет два MAC-узла, но присоединена только к первичному кольцу. Запрещенная комбинация для конечной станции, специальный случай работы концентратора.

4. Функции МАС-уровня и форматы кадров

Функции МАС-уровня

В соответствии со стандартами IEEE 802 канальный уровень в локальных сетях состоит из двух подуровней - LLC и МАС. Стандарт FDDI не вводит свое определение подуровня LLC, а использует его сервисы, описанные в документе IEEE 802.2 LLC.

Подуровень МАС выполняет в технологии FDDI следующие функции:

В каждом блоке МАС параллельно работают два процесса: процесс передачи символов - MAC Transmit и процесс приема символов - MAC Receive. За счет этого МАС может одновременно передавать символы одного кадра и принимать символы другого кадра.

Форматы кадра и токена

По сети FDDI информация передается в форме двух блоков данных: кадра и токена. Формат кадра FDDI представлен на рисунке 5.


Рис. 5. Формат кадра FDDI

Рассмотрим назначение полей кадра:

На рисунке 6 показан формат токена.


Рис. 6. Формат токена

Токен состоит по существу из одного значащего поля - поля управления, которое содержит в этом случае 1 в поле С и 0000 в поле ZZZZ.

Операции МАС-уровня

С помощью операций МАС-уровня станции получают доступ к кольцу и передают свои кадры данных. Цикл передачи кадра от одной станции к другой состоит из нескольких этапов: захвата токена станцией, которой необходимо передать кадр, передачей одного или нескольких кадров данных, освобождением токена передающей станцией, ретрансляцией кадра промежуточными станциями, распознаванием и копированием кадра станцией-получателем и удалением кадра из сети станцией-отправителем.

Рассмотрим эти операции.

Захват токена. Если станция имеет право захватить токен, то она после ретрансляции на выходной порт символов PA и SD токена, удаляет из кольца символ FC, по которому она распознала токен, а также конечный ограничитель ED. Затем она передает вслед за уже переданным символом SD символы своего кадра, таким образом, формируя его из начальных символов токена (рис. 7).

Передача кадра. После удаления полей FC и ED токена станция начинает передавать символы кадров, которые ей предоставил для передачи уровень LLC. Станция может передавать кадры до тех пор, пока не истечет время удержания токена.

Для сетей FDDI предусмотрена передача кадров двух типов трафика - синхронного и асинхронного.

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


Рис. 7. Захват токена

Асинхронный трафик - это обычный трафик локальных сетей, не предъявляющий высоких требований к задержкам обслуживания. Станция может передавать асинхронные кадры только в том случае, если при последнем обороте токена по кольцу для этого осталась какая-либо часть неизрасходованной пропускной способности. Интервал времени, в течение которого станция может передавать асинхронные кадры, называется временем удержания токена (Token Holding Time, THT). Каждая станция самостоятельно вычисляет текущее значение этого параметра по алгоритму, рассмотренному ниже.

Рисунок 8 иллюстрирует процесс передачи кадра.


Рис. 8. Передача кадра

В ходе передачи символов собственного кадра станция удаляет из кольца все поступающие от предыдущей станции символы. Такой процесс называется МАС-заменой (MAC Overwriting). Первоначальный источник удаляемого из сети кадра не имеет значения - это может быть и данный МАС-узел, который ранее поместил этот кадр в кольцо, либо другой МАС-узел. Процесс удаления кадров во время передачи никогда не приводит к удалению еще необработанных кадров: если сеть работает корректно, то удаляются только усеченные кадры, которые образуются либо при захвате токена (этот вариант уже рассмотрен), либо при удалении своего кадра станцией-источником (этот вариант будет рассмотрен ниже). В любом случае, усеченный кадр (remnant frame) - это кадр, у которого есть начальный ограничитель, но отсутствует конечный ограничитель, а вместо него и, может быть, еще некоторых полей вставлены символы простоя Idle.

В случае, если удаляемые символы принадлежат кадру, ранее сгенерированному данным МАС-узлом, то одновременно с удалением кадра из кольца проверяются признаки статуса кадра из поля FS - распознавания адреса, копирования и ошибки. Если признак ошибки установлен, то МАС-уровень не занимается повторной передачей кадра, оставляя это уровню LLC или другим верхним уровням коммуникационного стека протоколов.

Станция прекращает передачу кадров в двух случаях: либо при истечении времени удержания токена THT, либо при передаче всех имеющихся у нее кадров до истечения этого срока. После передачи последнего своего кадра станция формирует токен и передает его следующей станции.

Повторение кадра. Если кадр не адресуется данному МАС-узлу, то последний должен просто повторить каждый символ кадра на выходном порту. Каждый МАС-узел должен подсчитывать количество полученных им полных кадров (усеченные не включаются в подсчет). Каждая станция проверяет повторяемый кадр на наличие ошибок с помощью контрольной последовательности. Если ошибка обнаружена, а признак ошибки в поле FS не установлен, то МАС-узел устанавливает этот признак в кадре, а также наращивает счетчик ошибочных кадров, распознанных данным МАС-узлом.

Обработка кадра станцией назначения. Станция назначения, распознав свой адрес в поле DA, начинает копировать символы кадра во внутренний буфер одновременно с повторением их на выходном порту. При этом станция назначения устанавливает признак распознавания адреса. Если же кадр скопирован во внутренний буфер, то устанавливается и признак копирования (невыполнение копирования может произойти, например, из-за переполнения внутреннего буфера). Устанавливается также и признак ошибки, если ее обнаружила проверка по контрольной последовательности.

Удаление кадра из кольца. Каждый МАС-узел ответственен за удаление из кольца кадров, которые он ранее в него поместил. Этот процесс известен под названием Frame Stripping. Если МАС-узел при получении своего кадра занят передачей следующих кадров, то он удаляет все символы вернувшегося по кольцу кадра. Если же он уже освободил токен, то он повторяет на выходе несколько полей этого кадра прежде, чем распознает свой адрес в поле SA. В этом случае в кольце возникает усеченный кадр, у которого после поля SA следуют символы Idle и отсутствует конечный ограничитель. Этот усеченный кадр будет удален из кольца какой-нибудь станцией, принявшей его в состоянии собственной передачи.

8.5. Инициализация кольца

Процедура инициализации кольца, известная под названием Claim Token (это название в свободном переводе можно может интерпретироваться как "соревнование претендентов на генерацию токена"), выполняется для того, чтобы все станции кольца убедились в его потенциальной работоспособности, а также пришли к соглашению о значении параметра T_Opr - максимально допустимому времени оборота токена по кольцу, на основании которого все станции вычисляют время удержания токена THT.

Процедура Claim Token выполняется в нескольких ситуациях:

Для выполнения процедуры инициализации каждая станция сети должна знать о своих требованиях к максимальному времени оборота токена по кольцу. Эти требования содержатся в параметре, называемом "требуемое время оборота токена" - TTRT (Target Token Rotation Time). Параметр TTRT отражает степень потребности станции в пропускной способности кольца - чем меньше время TTRT, тем чаще станция желает получать токен для передачи своих кадров. Процедура инициализации позволяет станциям узнать о требованиях ко времени оборота токена других станций и выбрать минимальное время в качестве общего параметра T_Opr, на основании которого в дальнейшем будет распределяться пропускная способность кольца. Параметр TTRT должен находиться в пределах от 4 мс до 165 мс и может изменяться администратором сети.

Для проведения процедуры инициализации станции обмениваются служебными кадрами МАС-уровня - кадрами Claim. Эти кадры имеют в поле управления значение 1L00 0011, поле адреса назначения содержит адрес источника (DA = SA), а в поле информации содержится 4-х байтовое значение запрашиваемого времени оборота токена T_Req.

Если какая-либо станция решает начать процесс инициализации кольца по своей инициативе, то она формирует кадр Claim Token со своим значением требуемого времени оборота токена TTRT, то есть присваивает полю T_Req свое значение TTRT. Захвата токена для отправки кадра Claim не требуется. Любая другая станция, получив кадр Claim Token, начинает выполнять процесс Claim Token. При этом станции устанавливают признак нахождения кольца в работоспособном состоянии Ring_Operational в состояние False, что означает отмену нормальных операций по передаче токена и кадров данных. В этом состоянии станции обмениваются только служебными кадрами Claim.

Для выполнения процедуры инициализации каждая станция поддерживает таймер текущего времени оборота токена TRT (Token Rotation Timer), который используется также и в дальнейшем при работе кольца в нормальном режиме. Для упрощения изложения будем считать, что этот таймер, как и другие таймеры станции, инициализируется нулевым значением и затем наращивает свое значение до определенной величины, называемой порогом истечения таймера. (В реальном кольце FDDI все таймеры работают в двоичном дополнительном коде).

Таймер TRT запускается каждой станцией при обнаружении момента начала процедуры Claim Token. В качестве предельного значения таймера выбирается максимально допустимое время оборота токена, то есть 165 мс. Истечение таймера TRT до завершения процедуры означает ее неудачное окончание - кольцо не удалось инициализировать. В случае неудачи процесса Claim Token запускается процессы Beacon и Trace, с помощью которых станции кольца пытаются выявить некорректно работающую часть кольца и отключить ее от сети.

Во время выполнения процесса Claim Token каждая станция сначала может отправить по кольцу кадр Claim со значением T_Req, равным значению ее параметра TTRT. При этом она устанавливает значение T_Opr, равное значению TTRT. Рассмотрим пример инициализируемого кольца, приведенный на рисунке 9.

В некоторый момент времени все станции передали по кольцу свои предложения о значении максимального времени оборота токена: 72 мс, 37 мс, 51 мс и 65 мс. Станция, приняв кадр Claim от предыдущей станции, обязана сравнить значение T_Req, указанное в кадре со значением TTRT своего предложения. Если другая станция просит установить время оборота токена меньше, чем данная (то есть T_Req < TTRT), то данная станция перестает генерировать собственные кадры Claim и начинает повторять чужие кадры Claim, так как видит, что в кольце есть более требовательные станции. Одновременно станция фиксирует в своей переменной T_Opr минимальное значение T_Req, которое ей встретилось в чужих кадрах Claim. Если же пришедший кадр имеет значение T_Req больше, чем собственное значение TTRT, то он удаляется из кольца.


Рис. 9. Процесс инициализации кольца

Процесс Claim завершается для станции в том случае, если она получает кадр Claim со своим адресом назначения. Это означает, что данная станция является победителем состязательного процесса и ее значение TTRT оказалось минимальным. В рассматриваемом примере это станция B со значением TTRT, равным 37 мс. Другие станции кольца не смогут получить свой кадр Claim, так как он не сможет пройти через станцию B. При равных значениях параметра TTRT преимущество отдается станции с большим значением МАС-адреса.

После того, как станция обнаруживает, что она оказалась победителем процесса Claim Token, она должна сформировать токен и отправить его по кольцу. Первый оборот токена - служебный, так как за время этого оборота станции кольца узнают, что процесс Claim Token успешно завершился. При этом они устанавливают признак Ring_Operational в состояние True, означающее начало нормальной работы кольца. При следующем проходе токена его можно будет использовать для захвата и передачи кадров данных.

Если же у какой-либо станции во время выполнения процедур инициализации таймер TRT истек, а токен так и не появился на входе станции, то станция начинает процесс Beacon.

После нормального завершения процесса инициализации у всех станций кольца устанавливается одинаковое значение переменной T_Opr.

8.6. Управление доступом к кольцу

Управление доступом к кольцу FDDI распределено между его станциями. Каждая станция при прохождении через нее токена самостоятельно решает, может она его захватить или нет, а если да, то на какое время.

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

Если же у станции имеются для передачи асинхронные кадры, то условия захвата определяются следующим образом.

Станция ведет уже упомянутый таймер текущего времени оборота токена TRT, а также счетчик количества опозданий токена Late_Ct. Время истечения таймера TRT равно значению максимального времени оборота токена T_Opr, выбранному станциями при инициализации кольца.

Счетчик Late_Ct всегда сбрасывается в нуль, когда токен проходит через станцию. Если же токен опаздывает, то таймер достигает значения T_Opr раньше очередного прибытия токена. При этом таймер обнуляется и начинает отсчет времени заново, а счетчик Late_Ct наращивается на единицу, фиксируя факт опоздания токена. При прибытии опоздавшего токена (при этом Late_Ct = 1) таймер TRT не сбрасывается в нуль, а продолжает считать, накапливая время опоздания токена. Если же токен прибыл раньше, чем истек интервал T_Opr у таймера TRT, то таймер сбрасывается в момент прибытия токена.

На рисунке 10 приведены различные случаи прибытия токена. Значение максимального времени оборота токена для примера, приведенного на этом рисунке, равно 30 мс.


Рис. 10. Поведение таймера времени текущего оборота токена TRT и счетчика опозданий токена Late_Ct

Приведенный пример иллюстрирует следующие события:

Момент А: Токен прибыл вовремя, так как таймер TRT не достиг порога T_Opr. Таймер TRT перезапускается и начинает считать заново.

Момент В: Токен прибыл вовремя. Таймер перезапускается.

Момент С: Таймер истек раньше, чем токен прибыл на станцию. Таймер TRT перезапускается, а счетчик Late_Ct наращивается на единицу.

Момент D: Токен наконец прибыл, но он опоздал - это отмечает счетчик Late_Ct, равный 1. Счетчик сбрасывается в нуль, но таймер не перезапускается, так как при приходе токена счетчик не был равен нулю.

Момент Е: Токен прибыл на станцию. Так как он прибыл до истечения таймера и при нулевом значении счетчика Late_Ct, то считается, что он прибыл вовремя. Таймер перезапускается.

Теперь рассмотрим, каким образом значения таймера TRT и счетчика Late_Ct используются при выяснении возможности захвата токена и времени его удержания.

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

Время удержания токена управляется таймером удержания токена THT (Token Holding Timer). Если станция имеет в буфере кадры для передачи в момент прибытия токена и токен прибыл вовремя, то станция захватывает его и удерживает в течение периода (T_Opr - TRT), где TRT - значение таймера TRT в момент прихода токена. Для отслеживания разрешенного времени удержания токена в момент захвата токена значение TRT присваивается таймеру THT, а затем таймер TRT обнуляется и перезапускается. Таймер THT считает до границы T_Opr, после чего считается, что время удержания токена исчерпано. Станция перестает передавать кадры данных и передает токен.

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

Пример работы алгоритма выделения времени для передачи асинхронного трафика приведен на рисунке 11. Как и в предыдущем примере, время максимального оборота токена равно 30 мс.


Рис. 11. Выделение времени для асинхронного трафика

Рассмотрим события, иллюстрируемые примером:

Момент А: Токен прибыл вовремя, так как таймер TRT не достиг порога T_Opr. Таймер TRT перезапускается и начинает считать заново. Станция не имеет в это время асинхронных кадров, поэтому просто передает токен соседу.

Момент В: Токен прибыл вовремя. Станция имеет к этому моменту асинхронные кадры для передачи. Таймеру THT присваивается значение таймера TRT (16), и он начинает считать до значения T_Opr (30). Таймер TRT перезапускается. Станция начинает передавать кадры. Она может это делать в течение 14 мс. Если она закончит передачу имеющихся кадров раньше, то она обязана немедленно освободить токен.

Момент С: Таймер THT истек, и станция должна прекратить передачу асинхронных кадров. Станция завершает передачу текущего кадра и передает токен соседней станции. Счетчик TRT при этом продолжает работать.

Момент D: Таймер TRT истекает раньше очередного прибытия токена. Таймер перезапускается, а счетчик Late_Ct наращивается на 1.

Момент Е: Токен прибывает, но он опоздал, так как Late_Ct имеет значение 1. Станция не может захватить токен при значении Late_Ct, отличном от нуля.Токен передается соседней станции. Счетчик Late_Ct обнуляется, а таймер TRT не перезапускается.

Момент F: Токен прибывает на станцию. Так как таймер TRT еще не истек, а значение Late_Ct равно 0, то токен прибыл вовремя. Таймер THT инициализируется значением таймера TRT (22) и начинает считать до границы T_Opr. TRT перезапускается.Станция может передавать кадры в течение 8 мс.

Момент G: Таймер THT истекает, и передача асинхронных кадров прекращается. Станция передает токен соседней станции.

В стандарте FDDI определено также еще два механизма управления доступом к кольцу. Во-первых, в токене можно задавать уровень приоритета токена, а для каждого уровня приоритета задается свое время порога, до которого считает таймер удержания токена THT. Во-вторых, определена особая форма токена - сдерживающий токен (restricted token), с помощью которого две станции могут монопольно некоторое время обмениваться данными по кольцу.

Если таймер TRT истечет при значении Late_Ct, равном 1, то такое событие считается потерей токена и порождает выполнение процесса реинициализации кольца Claim Token.


[Наверх: в начало разделаНазад: некудаВперед: некудаЗдесь: FDDI]