Конспект лекций
.pdf
в стандарте 802.5. При этом в два старших бита поля адреса источника SA помещается комбинация 102 - групповой адрес, комбинация, не имеющая смысла для адреса источника, а обозначающая присутствие маршрутной информации в поле данных.
Контрольная последовательность (Frame Check Sequence, FCS) - содержит 32-х битную последовательность, вычисленную по стандартному методу CRC-32, принятому и для других протоколов IEEE 802. Контрольная последовательность охватывает поля FC, DA, SA, INFO и FCS.
Конечный ограничитель (Ending Delimiter, ED) - содержит единственный символ Terminate (T), обозначающий границу кадра. Однако за ним располагаются еще признаки статуса кадра.
Статус кадра (Frame Status, FS). Первые три признака в поле статуса должны быть индикаторами ошибки (Error, E), распознавания адреса
(Address recognized, A) и копирования кадра (Frame Copied, C). Каждый из этих индикаторов кодируется одним символом, причем нулевое состояние индикатора обозначается символом Reset (R), а единичное - Set (S). Стандарт позволяет производителям оборудования добавлять свои индикаторы после трех обязательных.
На рис. 5 показан формат токена.
Рис. 5. Формат токена.
Токен состоит по существу из одного значащего поля - поля управления, которое содержит в этом случае 1 в поле С и 0000 в поле ZZZZ [1].
Операции МАС-уровня
Спомощью операций МАС-уровня станции получают доступ к кольцу
ипередают свои кадры данных. Цикл передачи кадра от одной станции к другой состоит из нескольких этапов: захвата токена станцией, которой необходимо передать кадр, передачей одного или нескольких кадров данных, освобождением токена передающей станцией, ретрансляцией кадра промежуточными станциями, распознаванием и копированием кадра станцией-получателем и удалением кадра из сети станцией-отправителем.
Рассмотрим эти операции.
Захват токена. Если станция имеет право захватить токен, то она после ретрансляции на выходной порт символов PA и SD токена, удаляет из кольца символ FC, по которому она распознала токен, а также конечный ограничитель ED. Затем она передает вслед за уже переданным символом SD символы своего кадра, таким образом, формируя его из начальных символов токена (рис. 6).
Рис. 6. Захват токена
Передача кадра. После удаления полей FC и ED токена станция начинает передавать символы кадров, которые ей предоставил для передачи уровень LLC. Станция может передавать кадры до тех пор, пока не истечет время удержания токена.
Для сетей FDDI предусмотрена передача кадров двух типов трафика - синхронного и асинхронного.
Синхронный трафик предназначен для приложений, которые требуют предоставления им гарантированной пропускной способности для передачи голоса, видеоизображений, управления процессами и других случаев работы в реальном времени. Для такого трафика каждой станции предоставляется фиксированная часть пропускной способности кольца FDDI, поэтому
станция имеет право передавать кадры синхронного трафика всегда, когда она получает токен от предыдущей станции.
Асинхронный трафик - это обычный трафик локальных сетей, не предъявляющий высоких требований к задержкам обслуживания. Станция может передавать асинхронные кадры только в том случае, если при последнем обороте токена по кольцу для этого осталась какая-либо часть неизрасходованной пропускной способности. Интервал времени, в течение которого станция может передавать асинхронные кадры, называется временем удержания токена (Token Holding Time, THT). Каждая станция самостоятельно вычисляет текущее значение этого параметра по алгоритму, рассмотренному ниже.
Рис. 7 иллюстрирует процесс передачи кадра.
Рис. 7. Передача кадра В ходе передачи символов собственного кадра станция удаляет из
кольца все поступающие от предыдущей станции символы. Такой процесс называется МАС-заменой (MAC Overwriting). Первоначальный источник удаляемого из сети кадра не имеет значения - это может быть и данный МАС-узел, который ранее поместил этот кадр в кольцо, либо другой МАСузел. Процесс удаления кадров во время передачи никогда не приводит к удалению еще необработанных кадров: если сеть работает корректно, то удаляются только усеченные кадры, которые образуются либо при захвате токена (этот вариант уже рассмотрен), либо при удалении своего кадра станцией-источником (этот вариант будет рассмотрен ниже). В любом случае, усеченный кадр (remnant frame) - это кадр, у которого есть начальный
ограничитель, но отсутствует конечный ограничитель, а вместо него и, может быть, еще некоторых полей вставлены символы простоя Idle.
В случае, если удаляемые символы принадлежат кадру, ранее сгенерированному данным МАС-узлом, то одновременно с удалением кадра из кольца проверяются признаки статуса кадра из поля FS - распознавания адреса, копирования и ошибки. Если признак ошибки установлен, то МАСуровень не занимается повторной передачей кадра, оставляя это уровню LLC или другим верхним уровням коммуникационного стека протоколов.
Станция прекращает передачу кадров в двух случаях: либо при истечении времени удержания токена THT, либо при передаче всех имеющихся у нее кадров до истечения этого срока. После передачи последнего своего кадра станция формирует токен и передает его следующей станции.
Повторение кадра. Если кадр не адресуется данному МАС-узлу, то последний должен просто повторить каждый символ кадра на выходном порту. Каждый МАС-узел должен подсчитывать количество полученных им полных кадров (усеченные не включаются в подсчет). Каждая станция проверяет повторяемый кадр на наличие ошибок с помощью контрольной последовательности. Если ошибка обнаружена, а признак ошибки в поле FS не установлен, то МАС-узел устанавливает этот признак в кадре, а также наращивает счетчик ошибочных кадров, распознанных данным МАС-узлом.
Обработка кадра станцией назначения. Станция назначения,
распознав свой адрес в поле DA, начинает копировать символы кадра во внутренний буфер одновременно с повторением их на выходном порту. При этом станция назначения устанавливает признак распознавания адреса. Если же кадр скопирован во внутренний буфер, то устанавливается и признак копирования (невыполнение копирования может произойти, например, из-за переполнения внутреннего буфера). Устанавливается также и признак ошибки, если ее обнаружила проверка по контрольной последовательности.
Удаление кадра из кольца. Каждый МАС-узел ответственен за удаление из кольца кадров, которые он ранее в него поместил. Этот процесс известен под названием Frame Stripping. Если МАС-узел при получении своего кадра занят передачей следующих кадров, то он удаляет все символы вернувшегося по кольцу кадра. Если же он уже освободил токен, то он повторяет на выходе несколько полей этого кадра прежде, чем распознает свой адрес в поле SA. В этом случае в кольце возникает усеченный кадр, у которого после поля SA следуют символы Idle и отсутствует конечный ограничитель. Этот усеченный кадр будет удален из кольца какой-нибудь станцией, принявшей его в состоянии собственной передачи [6].
Инициализация кольца
Процедура инициализации кольца, известная под названием Claim Token (это название в свободном переводе можно может интерпретироваться как "соревнование претендентов на генерацию токена"), выполняется для того, чтобы все станции кольца убедились в его потенциальной работоспособности, а также пришли к соглашению о значении параметра T_Opr - максимально допустимому времени оборота токена по кольцу, на основании которого все станции вычисляют время удержания токена THT.
Процедура Claim Token выполняется в нескольких ситуациях:
При включении новой станции в кольцо и при выходе станции из кольца.
При обнаружении какой-либо станцией факта утери токена. Токен считается утерянным, если станция не наблюдает его в течение двух периодов времени максимального оборота токена T_Opr.
При обнаружении длительного отсутствия активности в кольце, когда станция в течение определенного времени не наблюдает проходящих через нее кадров данных.
По команде от блока управления станцией SMT.
Для выполнения процедуры инициализации каждая станция сети должна знать о своих требованиях к максимальному времени оборота токена по кольцу. Эти требования содержатся в параметре, называемом "требуемое время оборота токена" - 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. Рассмотрим пример инициализируемого кольца, приведенный на рис. 8.
Рис. 8. Процесс инициализации кольца
В некоторый момент времени все станции передали по кольцу свои предложения о значении максимального времени оборота токена: 72 мс, 37 мс, 51 мс и 65 мс. Станция, приняв кадр Claim от предыдущей станции, обязана сравнить значение T_Req, указанное в кадре со значением TTRT своего предложения. Если другая станция просит установить время оборота токена меньше, чем данная (то есть T_Req < TTRT), то данная станция перестает генерировать собственные кадры Claim и начинает повторять чужие кадры Claim, так как видит, что в кольце есть более требовательные станции. Одновременно станция фиксирует в своей переменной T_Opr минимальное значение T_Req, которое ей встретилось в чужих кадрах Claim. Если же пришедший кадр имеет значение T_Req больше, чем собственное значение TTRT, то он удаляется из кольца.
Процесс Claim завершается для станции в том случае, если она получает кадр Claim со своим адресом назначения. Это означает, что данная станция является победителем состязательного процесса и ее значение TTRT оказалось минимальным. В рассматриваемом примере это станция B со значением TTRT, равным 37 мс. Другие станции кольца не смогут получить свой кадр Claim, так как он не сможет пройти через станцию B. При равных значениях параметра TTRT преимущество отдается станции с большим значением МАС-адреса.
После того, как станция обнаруживает, что она оказалась победителем процесса Claim Token, она должна сформировать токен и отправить его по
кольцу. Первый оборот токена - служебный, так как за время этого оборота станции кольца узнают, что процесс Claim Token успешно завершился. При этом они устанавливают признак Ring_Ope-
rational в состояние True, означающее начало нормальной работы кольца. При следующем проходе токена его можно будет использовать для захвата и передачи кадров данных.
Если же у какой-либо станции во время выполнения процедур инициализации таймер TRT истек, а токен так и не появился на входе станции, то станция начинает процесс Beacon.
После нормального завершения процесса инициализации у всех станций кольца устанавливается одинаковое значение переменной T_Opr [6].
Интеграция с другими технологиями
Транслирующие мосты и коммутаторы
Транслирующие мосты и коммутаторы выполняют преобразование из одного протокола канального уровня в другой, например, Ethernet в FDDI, Fast Ethernet в Token Ring и т.п. Преобразование заключается в изменении формата кадра, в вычислении нового значения контрольной суммы. При этом они работают в соответствии со спецификациями RFC 1042 и 802.1H, определяющими правила преобразования полей кадров разных протоколов. Трансляцию протоколов канального уровня локальных сетей облегчает то обстоятельство, что наиболее сложную работу, которую часто выполняют маршрутизаторы и шлюзы при объединении гетерогенных сетей, а именно работу по трансляции адресной информации, в данном случае выполнять не нужно. Все конечные узлы локальных сетей имеют уникальные адреса одного и того же формата, независимо от поддерживаемого протокола. Поэтому адрес сетевого адаптера Ethernet понятен сетевому адаптеру FDDI, и они могут использовать эти адреса в полях своих кадров не задумываясь о том, что узел, с которым они взаимодействуют, принадлежит сети, работающей по другой технологии.
Поэтому при согласовании протоколов локальных сетей коммутаторы не строят таблиц соответствия адресов узлов, а переносят адреса назначения и источника из кадра одного протокола в кадр другого протокола. Единственным преобразованием, которое, возможно, придется при этом выполнить, является преобразование порядка бит в байте, если согласуется сеть Ethernet с сетью Token Ring или FDDI. Это связано с тем, что в сетях Ethernet принята так называемая каноническая форма передачи адреса по сети, когда сначала передается самый младший бит самого старшего байта адреса. В сетях FDDI и Token Ring всегда передается сначала самый старший бит самого старшего байта адреса.
Так как технология 100VG-AnyLAN поддерживает кадры стандартного формата Ethernet или Token Ring, то в одних случаях трансляция может вовсе не потребоваться (при связи сегментами Ethernet или Token Ring), а в других - она может свестись к одной из известных процедур преобразования Token Ring -FDDI, EthernetFDDI.
Кроме изменения порядка бит при передаче байт адреса, трансляция протокола Ethernet (и Fast Ethernet, который использует формат кадров Ethernet) в протоколы FDDI и Token Ring включает выполнение следующих (возможно не всех) операций:
Вычисление длины поля данных кадра и помещение этого значения в поле Length при передаче кадра из сети FDDI или Token Ring в сеть
Ethernet 802.3 (в кадрах FDDI и Token Ring поле длины отсутствует).
Заполнение полей статуса кадра при передаче кадров из сети FDDI или
Token Ring в сеть Ethernet. Кадры FDDI и Token Ring имеют два бита,
которые должны быть установлены станцией, которой предназначался
кадр - бит распознавания адреса A и бит копирования кадра С. При получении кадра станция должна установить эти два бита для того, чтобы кадр, вернувшийся по кольцу к станции, его сгенерировавшей, принес данные обратной связи. При передаче коммутатором кадра в другую сеть нет стандартных правил для установки бит А и С в кадре, который возвращается по кольцу к станции-источнику. Поэтому производители коммутаторов решают эту проблему по своему усмотрению.
Отбрасывание кадров, передаваемых из сетей FDDI или Token Ring в сеть Ethernet с размером поля данных большим, чем 1500 байт, так как это максимально возможное значение поля данных для сетей Ethernet. В дальнейшем возможно усечение максимального размера поля данных сетей FDDI или Token Ring средствами протоколов верхнего уровня, например, TCP. Другим вариантом решения этой проблемы является поддержка коммутатором IP фрагментации, но это требует, во-первых, реализации в коммутаторе протокола сетевого уровня, а во-вторых, поддержки протокола IP взаимодействующими узлами транслируемых сетей.
Заполнение поля Type (тип протокола в поле данных) кадра Ethernet II при приходе кадров из сетей, поддерживающих кадры FDDI или Token Ring, в которых это поле отсутствует. Для сохранения информации поля Type в стандарте RFC 1042 предлагается использовать поле Type заголовка кадра LLC/SNAP, вкладываемого в поле данных МАС-кадра протоколов FDDI или Token Ring. При обратном преобразовании значение из поля Type заголовка LLC/SNAP переносится в поле Type
кадра Ethernet II.
Пересчет контрольной суммы кадра в соответствии со сформированными значениями служебных полей кадра [4].
Особенности метода доступа
Метод доступа, используемый в сетях FDDI, имеет следующие отличия от
Token Ring:
В Token Ring (первой версии) токен передаётся следующей станции только после возвращения кадра в узел, который передал этот кадр в сеть. В методе FDDI токен будет передан непосредственно после передачи кадров данных в сеть.
В FDDI не используется поле приоритета P.
Управление доступом к кольцу FDDI распределено между его станциями. Каждая станция при прохождении через нее токена самостоятельно решает, может она его захватить или нет, а если да, то на какое время.
