Протокол Gigabit Ethernet
Хотя переход на новые высокоскоростные технологии, такие как Fast Ethernet и 100VG-AnyLAN, начался не так давно, уже находятся в разработке два новых проекта - технология Gigabit Ethernet и Gigabit VG, предложенные соответственно Gigabit Ethernet Alliance и комитетом IEEE 802.12.
Интерес к технологиям для локальных сетей с гигабитными скоростями повысился в связи с двумя обстоятельствами - во-первых, успехом сравнительно недорогих (по сравнению с FDDI) технологий Fast Ethernet и 100VG-AnyLAN, во-вторых, со слишком большими трудностями, испытываемыми технологией АТМ на пути к конечному пользователю.
Технология АТМ обладает многими привлекательными свойствами - масштабируемой скоростью передачи данных, доходящей до 10 Гб/с, отличной поддержкой мультимедийного трафика и возможностью работы как в локальных, так и в глобальных сетях. Однако, стоимость технологии АТМ и ее сложность не всегда оправданы. Вот для таких применений, в которых нужна в первую очередь высокая скорость обмена, а без других возможностей, предлагаемых АТМ, можно прожить, и предназначены активно разрабатываемые сегодня гигабитные варианты Ethernet и VG.
За комитетом 802.12 стоит, естественно, компания Hewlett-Packard, сотрудница которой и возглавляет сегодня этот комитет. К энтузиастам перевода технологии VG на гигабитные скорости относятся также компании Compaq Computer, Texas Instrument и Motorola.
В Gigabit Ethernet Alliance входят наряду с другими компании Bay Networks, Cisco Systems и 3Com.
Обе группы намерены широко использовать достижения технологии Fibre Channel, уже работающей с гигабитными скоростями. Во всяком случае, Fibre Channel со своим методом кодирования 8B/10B фигурирует как один из вариантов физического уровня для оптоволоконного кабеля.
Разрабатываемые предложения оставляют метод доступа в неизменном виде: CSMA/CD для технологии Gigabit Ethernet и Demand Priority для Gigabit VG.
В связи с ограничениями, накладываемыми методом CSMA/CD на длину кабеля, версия Gigabit Ethernet для разделяемой среды будет допускать длину связей до 25 метров на витой паре. В связи с такими серьезными ограничениями более популярны будут, очевидно, полнодуплексные версии гигабитного Ethernet'a, работающие только с коммутаторами и допускающие расстояние между узлом и коммутатором в 500 метров для многомодового кабеля и до 2 км для одномодового кабеля.
Первый проект стандарта Gigabit Ethernet был принят в 1997 года, а его окончательное принятие ожидается в конце 1998 года.
Gigabit Ethernet Alliance предполагает, что стоимость одного порта концентратора Gigabit Ethernet в 1998 году составит от $920 до $1400, а стоимость одного порта коммутатора Gigabit Ethernet составит от $1850 до $2800.
Для технологии Gigabit VG предлагается реализовать скорость 500 Мб/с для витой пары и 1 Гб/с для оптоволокна. Предельные расстояния между узлами ожидаются следующие: для витой пары - 100 м, для многомодового оптоволокна - 500 м и для одномодового оптоволокна - 2 км.
Физический подуровень PHY
Если в задачи подуровня PMD входит формирование качественных оптических импульсов на выходе и входе каждого физического соединения, то подуровень PHY имеет дело с передачей с помощью импульсов PMD логических единиц и нулей, приходящих с подуровня MAC. Более точно, подуровень PHY занимается следующими задачами:
Определение моментов времени снятия информации по сигналам, поступающим от подуровня PMD (тактирование входных сигналов). Определение границ байт при обмене данными с MAC-подуровнем. Кодирование поступающих от MAC-подуровня символов в соответствующий физический код (NRZI или MLT-3) подуровня PMD. Декодирование поступающих от PMD сигналов (NRZI или MLT-3) в символы MAC-подуровня. Управление эластичным буфером (Elasticity Buffer) для согласования частоты входных и выходных сигналов. Определение статуса входящей физической линии на основе тестовой последовательности управляющих символов. Генерация последовательности управляющих символов для выходящей физической линии по командам от подуровня SMT. Фильтрация приходящих ошибочных символов для исключения их передачи на выходную линии.
Форматы кадра и токена
По сети FDDI информация передается в форме двух блоков данных: кадра и токена. Формат кадра FDDI представлен на рисунке 41.
Рис. 41. Формат кадра FDDI
Рассмотрим назначение полей кадра:
Преамбула (Preamble, PA). Любой кадр должен предваряться преамбулой, состоящей как минимум из 16 символов Idle (I). Эта последовательность предназначена для вхождения в синхронизм генератора RCRCLK, обеспечивающего прием последующих символов кадра. Начальный ограничитель (Starting Delimiter, SD). Состоит из пары символов JK, которые позволяют однозначно определить границы для остальных символов кадра. Поле управления (Frame Control, FC). Идентифицирует тип кадра и детали работы с ним. Имеет 8-ми битовый формат и передается с помощью двух символов. Состоит из подполей, обозначаемых как CLFFZZZZ, которые имеют следующее назначение:
С - говорит о том, какой тип трафика переносит кадр - синхронный (значение 1) или асинхронный (значение 0). L - определяет длину адреса кадра, который может состоять из 2-х байт или из 6-ти байт. FF - тип кадра, может иметь значение 01 для обозначения кадра LLC (пользовательские данные) или 00 для обозначения служебного кадра MAC-уровня. Служебными кадрами МАС-уровня являются кадры трех типов - кадры процедуры инициализации кольца Claim Frame, кадры процедуры сигнализации о логической неисправности Beacon Frame и кадры процедуры управления кольцом SMT Frame. ZZZZ - детализирует тип кадра.
Адрес назначения (Destination Address, DA) - идентифицирует станцию (уникальный адрес) или группу станций (групповой адрес), которой(ым) предназначен кадр. Может состоять из 2-х или 6-ти байт. Адрес источника (Source Address, SA) - идентифицирует станцию, сгенерировавшую данный кадр. Поле должно быть той же длины, что и поле адреса назначения. Информация (INFO) - содержит информацию, относящуюся к операции, указанной в поле управления. Поле может иметь длину от 0 до 4478 байт (от 0 до 8956 символов). Стандарт FDDI допускает размещение в этом поле маршрутной информации алгоритма Source Routing, определенной в стандарте 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). Стандарт позволяет производителям оборудования добавлять свои индикаторы после трех обязательных.
На рисунке 42 показан формат токена.
Рис. 42. Формат токена
Токен состоит по существу из одного значащего поля - поля управления, которое содержит в этом случае 1 в поле С и 0000 в поле ZZZZ.
Функции МАС-уровня
В соответствии со стандартами IEEE 802 канальный уровень в локальных сетях состоит из двух подуровней - LLC и МАС. Стандарт FDDI не вводит свое определение подуровня LLC, а использует его сервисы, описанные в документе IEEE 802.2 LLC.
Подуровень МАС выполняет в технологии FDDI следующие функции:
Поддерживает сервисы для подуровня LLC. Формирует кадр определенного формата. Управляет процедурой передачи токена. Управляет доступом станции к среде. Адресует станции в сети. Копирует кадры, предназначенные для данной станции, в буфер и уведомляет подуровень LLC и блок управления станцией SMT о прибытии кадра. Генерирует контрольную последовательность кадра (CRC) и проверяет ее у всех кадров, циркулирующих по кольцу. Удаляет из кольца все кадры, которые сгенерировала данная станция. Управляет таймерами, которые контролируют логическую работу кольца - таймером удержания токена, таймером оборота токена и т.д. Ведет ряд счетчиков событий, что помогает обнаружить и локализовать неисправности. Определяет механизмы, используемые кольцом для реакции на ошибочные ситуации - повреждение кадра, потерю кадра, потерю токена и т.д.
В данном разделе для иллюстрации работы МАС-уровня будет использоваться станция с двойным подключением и одним блоком МАС, то есть станция DA/SM. Ее внутренняя структура показана на рисунке 40.
Рис. 40. Внутренняя структура станции с двойным подключением и одним блоком МАС
В каждом блоке МАС параллельно работают два процесса: процесс передачи символов - MAC Transmit и процесс приема символов - MAC Receive. За счет этого МАС может одновременно передавать символы одного кадра и принимать символы другого кадра.
Функция определения сигнала уровня PMD
Спецификация на Fiber PMD требует от этого уровня выполнения функции Signal_Detect по определению факта наличия оптических сигналов на входе физического соединения станции. Этот сигнал передается на уровень PHY, где используется функцией определения статуса линии Line State Detect (рис. 50).
Уровень PMD генерирует для PHY признак присутствия оптического сигнала Signal_Detect, если мощность входного сигнала превышает -43.5 dBm, а снимает его при уменьшении этой мощности до -45 dBm и ниже. Таким образом, имеется гистерезис в 1.5 dBm для предотвращения частых изменений статуса линии при колебании входной мощности сигнала около -45 dBm.
Рис. 50. Функция определения сигнала на входе PMD
Инициализация кольца
Процедура инициализации кольца, известная под названием 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. Рассмотрим пример инициализируемого кольца, приведенный на рисунке 45.
В некоторый момент времени все станции передали по кольцу свои предложения о значении максимального времени оборота токена: 72 мс, 37 мс, 51 мс и 65 мс.
Станция, приняв кадр Claim от предыдущей станции, обязана сравнить значение T_Req, указанное в кадре со значением TTRT своего предложения. Если другая станция просит установить время оборота токена меньше, чем данная (то есть T_Req < TTRT), то данная станция перестает генерировать собственные кадры Claim и начинает повторять чужие кадры Claim, так как видит, что в кольце есть более требовательные станции. Одновременно станция фиксирует в своей переменной T_Opr минимальное значение T_Req, которое ей встретилось в чужих кадрах Claim. Если же пришедший кадр имеет значение T_Req больше, чем собственное значение TTRT, то он удаляется из кольца.
Рис. 45. Процесс инициализации кольца
Процесс Claim завершается для станции в том случае, если она получает кадр Claim со своим адресом назначения. Это означает, что данная станция является победителем состязательного процесса и ее значение TTRT оказалось минимальным. В рассматриваемом примере это станция B со значением TTRT, равным 37 мс. Другие станции кольца не смогут получить свой кадр Claim, так как он не сможет пройти через станцию B. При равных значениях параметра TTRT преимущество отдается станции с большим значением МАС-адреса.
После того, как станция обнаруживает, что она оказалась победителем процесса Claim Token, она должна сформировать токен и отправить его по кольцу. Первый оборот токена - служебный, так как за время этого оборота станции кольца узнают, что процесс Claim Token успешно завершился. При этом они устанавливают признак Ring_Operational в состояние True, означающее начало нормальной работы кольца. При следующем проходе токена его можно будет использовать для захвата и передачи кадров данных.
Если же у какой-либо станции во время выполнения процедур инициализации таймер TRT истек, а токен так и не появился на входе станции, то станция начинает процесс Beacon.
После нормального завершения процесса инициализации у всех станций кольца устанавливается одинаковое значение переменной T_Opr.
История создания стандарта FDDI
Технология Fiber Distributed Data Interface - первая технология локальных сетей, которая использовала в качестве среды передачи данных оптоволоконный кабель.
Попытки применения света в качестве среды, несущей информацию, предпринимались давно - еще в 1880 году Александр Белл запатентовал устройство, которое передавало речь на расстояние до 200 метров с помощью зеркала, вибрировавшего синхронно со звуковыми волнами и модулировавшего отраженный свет.
Работы по использованию света для передачи информации активизировались в 1960-е годы в связи с изобретением лазера, который мог обеспечить модуляцию света на очень высоких частотах, то есть создать широкополосный канал для передачи большого количества информации с высокой скоростью. Примерно в то же время появились оптические волокна, которые могли передавать свет в кабельных системах, подобно тому, как медные провода передают электрические сигналы в традиционных кабелях. Однако потери света в этих волокнах были слишком велики, чтобы они могли быть использованы как альтернатива медным жилам. Недорогие оптические волокна, обеспечивающие низкие потери мощности светового сигнала и широкую полосу пропускания (до нескольких ГГц) появились только в 1970-е годы. В начале 1980-х годов началось промышленная установка и эксплуатация оптоволоконных каналов связи для территориальных телекоммуникационных систем.
В 1980-е годы начались также работы по созданию стандартных технологий и устройств для использования оптоволокнных каналов в локальных сетях. Работы по обобщению опыта и разработке первого оптоволоконного стандарта для локальных сетей были сосредоточены в Американском Национальном Институте по Стандартизации - ANSI, в рамках созданного для этой цели комитета X3T9.5.
Начальные версии различных составляющих частей стандарта FDDI были разработаны комитетом Х3Т9.5 в 1986 - 1988 годах, и тогда же появилось первое оборудование - сетевые адаптеры, концентраторы, мосты и маршрутизаторы, поддерживающие этот стандарт.
В настоящее время большинство сетевых технологий поддерживают оптоволоконные кабели в качестве одного из вариантов физического уровня, но FDDI остается наиболее отработанной высокоскоростной технологией, стандарты на которую прошли проверку временем и устоялись, так что оборудование различных производителей показывает хорошую степень совместимости.
Кабели и разъемы
Основной вид кабеля для стандарта Fiber PMD - многомодовый кабель с диаметром сердечника 62.5 мкм и диаметром отражающей оболочки 125 мкм. Спецификация Fiber PMD не определяет требования к затуханию кабеля в dB на км, а только требует соблюдения требования по общему затуханию в -11 dB между станциями, соединенными кабелем и разъемами. Полоса пропускания кабеля должна быть не хуже чем 500 МГц на км.
Кроме основного вида кабеля, спецификация Fiber PMD допускает использование многомодовых кабелей с диаметром сердечника в 50 мкм, 85 мкм и 100 мкм.
В качестве разъемов стандарт Fiber PMD определяет оптические разъемы MIC (Media Interface Connector). Разъем MIC обеспечивает подключение 2-х волокон кабеля, соединенных с вилкой MIC, к 2-м волокнам порта станции, соединенными с розеткой MIC. Стандартизованы только конструктивные параметры розетки MIC, а любые вилки MIC, подходящие к стандартным розеткам MIC, считаются пригодными к использованию.
Спецификация Fiber PMD не определяет уровень потерь в разъеме MIC. Этот уровень - дело производителя, главное, чтобы выдерживался допустимый уровень потерь -11 dB во всем физическом соединении.
Разъемы MIC должны иметь ключ, обозначающий тип порта, что должно предотвратить неверное соединение разъемов. Определено четыре различных типа ключа:
MIC A. MIC B. MIC M. MIC S.
Виды ключа для этих типов разъемов приведены на рисунке 49.
Рис. 49. Ключи разъемов MIC
Кроме разъемов MIC, допускается использовать разъемы ST и SC, выпускаемые промышленностью.
В качестве источника света допускается использование светодиодов (LED) или лазерных диодов с длиной волны 1.3 мкм.
Кроме многомодового кабеля, допускается использование более качественного одномодового кабеля (Single Mode Fiber, SMF) и разъемов SMF-MIC для этого кабеля. В этом случае дальность физического соединения между соседними узлами может увеличиться до 40 км - 60 км, в зависимости от качества кабеля, разъемов и соединений. Требования, определенные в спецификации SMF-PMD, для мощности на выходе передатчика и входе приемника, те же, что и для одномодового кабеля.
Коды 4B/5B и их прием с помощью эластичного буфера
Принципы логического кодирования с использованием кодов 4В/5В, а также физического кодирования с помощью методов NRZI (для оптоволокна) и MLT-3 (для витой пары) уже были рассмотрены, так как технология Fast Ethernet позаимствовала их у технологии FDDI.
Кроме 16 кодов, отведенных для 16 кодовых комбинаций исходных 4-х байтовых символов, физический и МАС-уровни оперируют нескольким служебными символами:
Символы состояния линии:
Quiet, Q (молчание) - 00000; Idle, I (простой) - 11111; Halt,I (останов) - 00100.
Эти символы позволяют соседям по физическому соединению определить его состояние в процессе его инициализации и поддержания.
Символы ограничителей начала и конца кадра:
Start Delimiter 1 (первый символ границы начала кадра) - 11000; Start Delimiter 2 (второй символ границы начала кадра) - 10001; Ending Delimiter (конец кадра) - 01101.
Начало кадра отмечает встретившиеся подряд два символа Start Delimiter 1 и Start Delimiter 2, называемых также символами J и K (по аналогии со стандартом Token Ring).
Символы логического нуля и логической единицы:
Reset (логический нуль) - 00111; Set (логическая единица) - 11001.
Эти символы используются для указания логических значений признаков распознавания адреса, ошибки и копирования кадра, имеющих в кадре FDDI назначение, аналогичное назначению соответствующих признаков кадра Token Ring.
Запрещенные символы - это все символы, которые не являются служебными кодами или 5-битными кодами, использованными для записи 16 возможных комбинаций 4-х разрядных кодов.
В обязанности физического уровня входит фильтрация символов, передаваемых на выходную линию порта. Если среди символов кадра встречаются запрещенные символы, то они заменяются на 4 символа Halt, которые далее сопровождаются символами Idle до передачи следующего кадра. Последующий сосед, получив кадр с 4-мя символами Halt, должен изъять поврежденный кадр из кольца. Функция фильтрации не обязательна, когда кадр проходит через МАС-блок станции, но это происходит не всегда, например, вторичное кольцо может проходить только через блоки физического уровня, не заходя в МАС-блок, если это станция с двойным подключением.
Рассмотрим подробней, каким образом происходит синхронизация приемника с передатчиком в сети FDDI при приеме кодов 4B/5В.
Сеть FDDI использует распределенную схему тактирования информации, при которой каждая станция работает со своим независимым локальным тактовым генератором. Это отличает ее от сетей Token Ring, в которых одна станция поддерживает тактирование информации для всей сети, управляя главным тактовым генератором сети, называемым Master Clock.
В сети FDDI тактовые частоты синхронизируются в каждом физическом соединении соседних станций (рис. 51).
Каждая станция имеет два тактовых генератора - локальный, который управляет тактированием передаваемой информации, и восстанавливающим, который синхронизируется с тактовой частотой данных, приходящих от соседней станции. Локальный тактовый генератор работает на тактовой частоте 125 Мгц ± 0.005%. Восстанавливающий тактовый генератор, называемый RCRCLK (Receive Recovery Clock) подстраивается под тактовую частоту, извлекаемую из NRZI или MLT-3 сигналов при поступлении кодов Idle в промежутке между передачей кадров данных. Коды Idle, имеющие значение 111111, создают последовательность импульсов типа "меандр" с равными длительностями высокого и низкого потенциала, удобных для подстройки тактового генератора RCRCLK, так как сигнал изменяется два раза за период.
Поступающие символы записываются в соответствии с обнаруженной в импульсах кодов Idle частотой в эластичный буфер (Elasticity Buffer). Из эластичного буфера символы извлекаются уже с частотой локального генератора. В результате, рассогласование частот станций в кольце постоянно сглаживается, не превышая 0.01%. Принимающая станция поддерживает заполнение эластичного буфера наполовину, извлекая очередной символ только при превышении этой границы.
Рис. 51. Согласование тактовых генераторов в сети 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-узла, но присоединена только к первичному кольцу. Запрещенная комбинация для конечной станции, специальный случай работы концентратора.
В зависимости от того, является ли станция концентратором или конечной станцией, приняты следующие обозначения в зависимости от типа их подключения:
SAS (Single Attachment Station) - конечная станция с одиночным подключением. DAS (Dual Attachment Station) - конечная станция с двойным подключением. SAC (Single Attachment Concentrator) - концентратор с одиночным подключением. DAC (Dual Attachment Concentrator) - концентратор с двойным подключением.
Конфигурирование внутреннего пути
После установления физического соединения станция должна включить порт во внутренний путь, по которому проходят кадры данных и маркер.
Средством, с помощью которого выполняется это включение, является переключатель CCE. Он может подключить вход и выход порта к любому из трех внутренних путей станции (рис. 54) по командам от элемента CEM блока управления конфигурацией CMT.
Рис. 54. Подключение порта к внутренним путям станции
Внутренние пути станции не следует путать с внешними первичным и вторичным кольцами сети. Внутренние пути могут соединяться с любым из колец в зависимости от состояния порта.
Первичный внутренний путь обязательно должен присутствовать у любой станции. Вторичный внутренний путь является необязательным, но желательным в некоторых конфигурациях станций с двойным подключением, как это будет видно из примеров. Локальный путь используется для тестирования станции на МАС-уровне перед ее логическим включением в кольцо.
Переключатель CCE может находиться в одном из 5 состояний (рис. 55):
ISOLATED - изолированное состояние, когда все пути идут мимо входа и выхода порта. INSERT_P - порт включен в первичный внутренний путь. INSERT_S - порт включен во вторичный внутренний путь. INSERT_X - порт включен в первичный и вторичный внутренние пути. Это состояние используется для сворачивания первичного и вторичного внешних колец на данном порту (состояние WRAP сети). LOCAL - порт включен в локальный внутренний путь.
Рис. 55. Состояния переключателя внутренних путей
С помощью перевода переключателей портов станции в нужное состояние блок управления конфигурацией может обеспечить передачу кадров и маркера по тому внутреннему пути, который соответствует текущему состоянию сети. На рисунке 56 приведены примеры поддержки состояний THRU_A ( а) и WRAP_A (б) для станции с двойным подключением.
Состояние THRU_A соответствует нормальному режиму работы колец сети. В этом режиме первичное кольцо проходит через порты А и В, а также MAC-узел станции, а вторичное кольцо проходит только через блоки PMD и PHY каждого из портов. Состояние WRAP_A соответствует реакции сети на нарушение целостности сети, при котором порт В теряет физическое соединение с соседним по сети портом. При этом на линии устанавливается состояние Quiet Line State, так как отсутствие сигналов на входе порта соответствует получению символов Quiet (00000). Получив информацию о том, что на входе порта В установилось состояние QLS, блок PCM этого порта пытается начать процесс реинициализации физического соединения. При отсутствии физической связи между портами эта попытка называется удачной, поэтому порт переводится в состояние INSERT_X, а порт В - в состояние ISOLATED.
Рис. 56. Работа переключателя пути CCE в станции с двойным подключением
Момент А:
Токен прибыл вовремя, так как таймер TRT не достиг порога T_Opr. Таймер TRT перезапускается и начинает считать заново.
Токен прибыл вовремя, так как таймер TRT не достиг порога T_Opr. Таймер TRT перезапускается и начинает считать заново. Станция не имеет в это время асинхронных кадров, поэтому просто передает токен соседу.
Момент D:
Токен наконец прибыл, но он опоздал - это отмечает счетчик Late_Ct, равный 1. Счетчик сбрасывается в нуль, но таймер не перезапускается, так как при приходе токена счетчик не был равен нулю.
: Таймер TRT истекает раньше очередного прибытия токена. Таймер перезапускается, а счетчик 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, после чего считается, что время удержания токена исчерпано. Станция перестает передавать кадры данных и передает токен.
Описанный алгоритм позволяет адаптивно распределять пропускную способность кольца между станциями, а точнее - ту ее часть, которая осталась после распределения между синхронным трафиком станций.
Пример работы алгоритма выделения времени для передачи асинхронного трафика приведен на рисунке 47. Как и в предыдущем примере, время максимального оборота токена равно 30 мс.
Рис. 47. Выделение времени для асинхронного трафика
Рассмотрим события, иллюстрируемые примером:
Токен прибывает, но он опоздал, так как 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.
Момент С:
Таймер истек раньше, чем токен прибыл на станцию. Таймер TRT перезапускается, а счетчик Late_Ct наращивается на единицу.
Таймер THT истек, и станция должна прекратить передачу асинхронных кадров. Станция завершает передачу текущего кадра и передает токен соседней станции. Счетчик TRT при этом продолжает работать.
Одиночное и двойное присоединение к сети
Если станция присоединена только к первичному кольцу, то такой вариант называется одиночным присоединением - Single Attachment, SA (рис. 34, а). Если же станция присоединена и к первичному, и ко вторичному кольцам, то такой вариант называется двойным присоединением - Dual Attachment, DA (рис. 34, б).
Рис. 34. Одиночное (SA) и двойное (DA) подключение станций
Очевидно, что станция может использовать свойства отказоустойчивости, обеспечиваемые наличием двух колец FDDI, только при ее двойном подключении.
Рис. 35. Реконфигурация станций с двойным подключением при обрыве кабеля
Как видно из рисунка 35, реакция станций на обрыв кабеля заключается в изменении внутренних путей передачи информации между отдельными компонентами станции.
Операции МАС-уровня
С помощью операций МАС-уровня станции получают доступ к кольцу и передают свои кадры данных. Цикл передачи кадра от одной станции к другой состоит из нескольких этапов: захвата токена станцией, которой необходимо передать кадр, передачей одного или нескольких кадров данных, освобождением токена передающей станцией, ретрансляцией кадра промежуточными станциями, распознаванием и копированием кадра станцией-получателем и удалением кадра из сети станцией-отправителем.
Рассмотрим эти операции.
Захват токена. Если станция имеет право захватить токен, то она после ретрансляции на выходной порт символов PA и SD токена, удаляет из кольца символ FC, по которому она распознала токен, а также конечный ограничитель ED. Затем она передает вслед за уже переданным символом SD символы своего кадра, таким образом, формируя его из начальных символов токена (рис. 43).
Передача кадра. После удаления полей FC и ED токена станция начинает передавать символы кадров, которые ей предоставил для передачи уровень LLC. Станция может передавать кадры до тех пор, пока не истечет время удержания токена.
Для сетей FDDI предусмотрена передача кадров двух типов трафика - синхронного и асинхронного.
Синхронный трафик предназначен для приложений, которые требуют предоставления им гарантированной пропускной способности для передачи голоса, видеоизображений, управления процессами и других случаев работы в реальном времени. Для такого трафика каждой станции предоставляется фиксированная часть пропускной способности кольца FDDI, поэтому станция имеет право передавать кадры синхронного трафика всегда, когда она получает токен от предыдущей станции.
Рис. 43. Захват токена
Асинхронный трафик - это обычный трафик локальных сетей, не предъявляющий высоких требований к задержкам обслуживания. Станция может передавать асинхронные кадры только в том случае, если при последнем обороте токена по кольцу для этого осталась какая-либо часть неизрасходованной пропускной способности. Интервал времени, в течение которого станция может передавать асинхронные кадры, называется временем удержания токена (Token Holding Time, THT). Каждая станция самостоятельно вычисляет текущее значение этого параметра по алгоритму, рассмотренному ниже.
Рисунок 44 иллюстрирует процесс передачи кадра.
Рис. 44. Передача кадра
В ходе передачи символов собственного кадра станция удаляет из кольца все поступающие от предыдущей станции символы. Такой процесс называется МАС-заменой (MAC Overwriting). Первоначальный источник удаляемого из сети кадра не имеет значения - это может быть и данный МАС-узел, который ранее поместил этот кадр в кольцо, либо другой МАС-узел. Процесс удаления кадров во время передачи никогда не приводит к удалению еще необработанных кадров: если сеть работает корректно, то удаляются только усеченные кадры, которые образуются либо при захвате токена (этот вариант уже рассмотрен), либо при удалении своего кадра станцией-источником (этот вариант будет рассмотрен ниже). В любом случае, усеченный кадр (remnant frame) - это кадр, у которого есть начальный ограничитель, но отсутствует конечный ограничитель, а вместо него и, может быть, еще некоторых полей вставлены символы простоя Idle.
В случае, если удаляемые символы принадлежат кадру, ранее сгенерированному данным МАС-узлом, то одновременно с удалением кадра из кольца проверяются признаки статуса кадра из поля FS - распознавания адреса, копирования и ошибки. Если признак ошибки установлен, то МАС-уровень не занимается повторной передачей кадра, оставляя это уровню LLC или другим верхним уровням коммуникационного стека протоколов.
Станция прекращает передачу кадров в двух случаях: либо при истечении времени удержания токена THT, либо при передаче всех имеющихся у нее кадров до истечения этого срока. После передачи последнего своего кадра станция формирует токен и передает его следующей станции.
Повторение кадра. Если кадр не адресуется данному МАС-узлу, то последний должен просто повторить каждый символ кадра на выходном порту. Каждый МАС-узел должен подсчитывать количество полученных им полных кадров (усеченные не включаются в подсчет). Каждая станция проверяет повторяемый кадр на наличие ошибок с помощью контрольной последовательности.
Если ошибка обнаружена, а признак ошибки в поле FS не установлен, то МАС-узел устанавливает этот признак в кадре, а также наращивает счетчик ошибочных кадров, распознанных данным МАС-узлом.
Обработка кадра станцией назначения. Станция назначения, распознав свой адрес в поле DA, начинает копировать символы кадра во внутренний буфер одновременно с повторением их на выходном порту. При этом станция назначения устанавливает признак распознавания адреса. Если же кадр скопирован во внутренний буфер, то устанавливается и признак копирования (невыполнение копирования может произойти, например, из-за переполнения внутреннего буфера). Устанавливается также и признак ошибки, если ее обнаружила проверка по контрольной последовательности.
Удаление кадра из кольца. Каждый МАС-узел ответственен за удаление из кольца кадров, которые он ранее в него поместил. Этот процесс известен под названием Frame Stripping. Если МАС-узел при получении своего кадра занят передачей следующих кадров, то он удаляет все символы вернувшегося по кольцу кадра. Если же он уже освободил токен, то он повторяет на выходе несколько полей этого кадра прежде, чем распознает свой адрес в поле SA. В этом случае в кольце возникает усеченный кадр, у которого после поля SA следуют символы Idle и отсутствует конечный ограничитель. Этот усеченный кадр будет удален из кольца какой-нибудь станцией, принявшей его в состоянии собственной передачи.
Основы технологии FDDI
Технология FDDI во многом основывается на технологии Token Ring, развивая и совершенствуя ее основные идеи. Разработчики технологии FDDI ставили перед собой в качестве наиболее приоритетных следующие цели:
Повысить битовую скорость передачи данных до 100 Мб/с. Повысить отказоустойчивость сети за счет стандартных процедур восстановления ее после отказов различного рода - повреждения кабеля, некорректной работы узла, концентратора, возникновения высокого уровня помех на линии и т.п. Максимально эффективно использовать потенциальную пропускную способность сети как для асинхронного, так и для синхронного трафиков.
Сеть FDDI строится на основе двух оптоволоконных колец, которые образуют основной и резервный пути передачи данных между узлами сети. Использование двух колец - это основной способ повышения отказоустойчивости в сети FDDI, и узлы, которые хотят им воспользоваться, должны быть подключены к обоим кольцам. В нормальном режиме работы сети данные проходят через все узлы и все участки кабеля первичного (Primary) кольца, поэтому этот режим назван режимом Thru - "сквозным" или "транзитным". Вторичное кольцо (Secondary) в этом режиме не используется.
В случае какого-либо вида отказа, когда часть первичного кольца не может передавать данные (например, обрыв кабеля или отказ узла), первичное кольцо объединяется со вторичным (рис. 31), образуя вновь единое кольцо. Этот режим работы сети называется Wrap, то есть "свертывание" или "сворачивание" колец. Операция свертывания производится силами концентраторов и/или сетевых адаптеров FDDI. Для упрощения этой процедуры данные по первичному кольцу всегда передаются против часовой стрелки, а по вторичному - по часовой. Поэтому при образовании общего кольца из двух колец передатчики станций по-прежнему остаются подключенными к приемникам соседних станций, что позволяет правильно передавать и принимать информацию соседними станциями.
В стандартах FDDI отводится много внимания различным процедурам, которые позволяют определить наличие отказа в сети, а затем произвести необходимую реконфигурацию.
Сеть FDDI может полностью восстанавливать свою работоспособность в случае единичных отказов ее элементов. При множественных отказах сеть распадается на несколько не связанных сетей.
Рис. 31. Реконфигурация колец FDDI при отказе
Кольца в сетях FDDI рассматриваются как общая разделяемая среда передачи данных, поэтому для нее определен специальный метод доступа. Этот метод очень близок к методу доступа сетей Token Ring и также называется методом маркерного (или токенного) кольца - token ring (рис. 32, а).
Станция может начать передачу своих собственных кадров данных только в том случае, если она получила от предыдущей станции специальный кадр - токен доступа (рис. 32, б). После этого она может передавать свои кадры, если они у нее имеются, в течение времени, называемого временем удержания токена - Token Holding Time (THT). После истечения времени THT станция обязана завершить передачу своего очередного кадра и передать токен доступа следующей станции. Если же в момент принятия токена у станции нет кадров для передачи по сети, то она немедленно транслирует токен следующей станции. В сети FDDI у каждой станции есть предшествующий сосед (upstream neighbor) и последующий сосед (downstream neighbor), определяемые ее физическими связями и направлением передачи информации.
Каждая станция в сети постоянно принимает передаваемые ей предшествующим соседом кадры и анализирует их адрес назначения. Если адрес назначения не совпадает с ее собственным, то она транслирует кадр своему последующему соседу (рис. 32, в). Нужно отметить, что, если станция захватила токен и передает свои собственные кадры, то на протяжении этого периода времени она не транслирует приходящие кадры, а удаляет их из сети.
Если же адрес кадра совпадает с адресом станции, то она копирует кадр в свой внутренний буфер, проверяет его корректность (в основном, по контрольной сумме), передает его поле данных для последующей обработки протоколу, лежащего выше FDDI уровня (например, IP), а затем передает исходный кадр по сети последующей станции (рис. 32, г).
В передаваемом в сеть кадре станция назначения отмечает три признака: распознавания адреса, копирования кадра и отсутствия или наличия в нем ошибок.
После этого кадр продолжает путешествовать по сети, транслируясь каждым узлом. Станция, являющаяся источником кадра для сети, ответственна за то, чтобы удалить кадр из сети, после того, как он, совершив полный оборот, вновь дойдет до нее (рис. 32, д). При этом исходная станция проверяет признаки кадра, дошел ли он до станции назначения и не был ли при этом поврежден. Процесс восстановления информационных кадров не входит в обязанности протокола FDDI, этим должны заниматься протоколы более высоких уровней.
Рис. 32. Обработка кадров станциями кольца FDDI
На рисунке 33 приведена структура протоколов технологии FDDI в сравнении с семиуровневой моделью OSI. FDDI определяет протокол физического уровня и протокол подуровня доступа к среде (MAC) канального уровня. Как и многие другие технологии локальных сетей, технология FDDI использует протокол 802.2 подуровня управления каналом данных (LLC), определенный в стандартах IEEE 802.2 и ISO 8802.2. FDDI использует первый тип процедур LLC, при котором узлы работают в дейтаграммном режиме - без установления соединений и без восстановления потерянных или поврежденных кадров.
Рис. 33. Структура протоколов технологии FDDI
Физический уровень разделен на два подуровня: независимый от среды подуровень PHY (Physical), и зависящий от среды подуровень PMD (Physical Media Dependent). Работу всех уровней контролирует протокол управления станцией SMT (Station Management).
Уровень PMD обеспечивает необходимые средства для передачи данных от одной станции к другой по оптоволокну. В его спецификации определяются:
Требования к мощности оптических сигналов и к многомодовому оптоволоконному кабелю 62.5/125 мкм. Требования к оптическим обходным переключателям (optical bypass switches) и оптическим приемопередатчикам. Параметры оптических разъемов MIC (Media Interface Connector), их маркировка. Длина волны в 1300 нанометров, на которой работают приемопередатчики. Представление сигналов в оптических волокнах в соответствии с методом NRZI.
Спецификация TP- PMD определяет возможность передачи данных между станциями по витой паре в соответствии с методом MLT-3. Спецификации уровней PMD и TP-PMD уже были рассмотрены в разделах, посвященных технологии Fast Ethernet.
Уровень PHY выполняет кодирование и декодирование данных, циркулирующих между MAC-уровнем и уровнем PMD, а также обеспечивает тактирование информационных сигналов. В его спецификации определяются:
кодирование информации в соответствии со схемой 4B/5B; правила тактирования сигналов; требования к стабильности тактовой частоты 125 МГц; правила преобразования информации из параллельной формы в последовательную.
Уровень MAC ответственен за управление доступом к сети, а также за прием и обработку кадров данных. В нем определены следующие параметры:
Протокол передачи токена. Правила захвата и ретрансляции токена. Формирование кадра. Правила генерации и распознавания адресов. Правила вычисления и проверки 32-разрядной контрольной суммы.
Уровень 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 для неэкранированной витой пары |
Тактирование и восстановление после отказов | Распределенная реализация тактирования и восстановления после отказов | Не определены | Активный монитор |
Подключение станций с помощью оптических обходных переключателей (Optical Bypass Switch)
Факт отключения питания станции с одиночным подключением будет сразу же замечен средствами физического уровня, обслуживающими соответствующий М-порт концентратора, и этот порт по команде уровня SMT концентратора будет обойден по внутреннему пути прохождения данных через концентратор. На дальнейшую отказоустойчивость сети этот факт никакого влияния не окажет (рис. 39).
Рис. 39. Оптический обходной переключатель (Optical Bypass Switch)
Если же отключить питание у станции DAS или концентратора DAC, то сеть, хотя и продолжит работу, перейдя в состояние Wrap, но запас отказоустойчивости будет утерян, что нежелательно. Поэтому для устройств с двойным подключением рекомендуется использовать оптические обходные переключатели - Optical Bypass Switch, которые позволяют закоротить входные и выходные оптические волокна и обойти станцию в случае ее выключения. Оптический обходной переключатель питается от станции и состоит в простейшем случае из отражающих зеркал или подвижного оптоволокна. При отключенном питании такой переключатель обходит станцию, а при включении ее питания соединяет входы портов А и В с внутренними схемами PHY станции.
Присоединение станции к "блуждающему" MAC-узлу
Когда новая станция включается в сеть FDDI, то сеть на время приостанавливает свою работу, проходя через процесс инициализации кольца, в течение которого между всеми станциями согласуются основные параметры кольца, самым важным из которых является номинальное время оборота токена по кольцу. Этой процедуры в некоторых случаях можно избежать. Примером такого случая является подключение новой станции SAS к порту М концентратора с так называемым "блуждающим" узлом MAC (Roving MAC), который также называют локальным MAC-узлом.
Пример такого подключения показан на рисунке 38.
Рис. 38. Присоединение станции к "блуждающему" MAC-узлу
Концентратор DM/DAC1 имеет два MAC-узла: один участвует в нормальной работе первичного кольца, а второй, локальный, присоединен к пути, соединяющему порт M со станцией SAS3. Этот путь образует изолированное кольцо и используется для локальной проверки работоспособности и параметров станции SAS3. Если он работоспособен и его параметры не требуют реинициализации основной сети, то станция SAS3 включается в работу первичного кольца "плавно" (smooth-insertion).
Процедура установления физического соединения
Блоки PMD и PHY, реализующие физический уровень технологии FDDI для каждого порта, участвуют в процедуре инициализации физического соединения каждого порта станции с портом предшествующей или последующей станций. Эта процедура проводится при непосредственном участии блока управления станцией - SMT (Station Management). Блок управления станцией выполняет большое количество функций, получая информацию и управляя всеми остальными блоками станции - PMD, PHY и MAC. Рассмотрим группу функций SMT, управляющих физическими соединениями портов и конфигурацией внутреннего пути данных. Эта группа функций получила название Connection Management (CMT).
На рисунке 52 показан состав функций CMT и связь их с блоками PMD, PHY, MAC и некоторыми другими элементами станции.
Рис. 52. Структура блока управления конфигурацией CMT
Станция, имеющая несколько портов, обеспечивает для каждого из них блоки PMD, PHY и элемент управления конфигурацией CCE (Control Configuration Element). ССЕ - это переключатель, который соединяет входы и выходы первичного и вторичного колец, подключенных к порту извне, с внутренними путями данных станции, в результате данные могут передаваться из порта элементу MAC станции, а могут непосредственно переправляться на другой порт. Реконфигурация станции при ее реакции на отказы производится именно переключателем CCE.
Блок управления конфигурацией имеет в своем составе несколько элементов PCM (Physical Connection Management), по одному на каждый порт. Элемент PCM управляет физическим состоянием линии своего порта, анализируя символы, приходящие от PHY, и передавая PHY свои команды. Если элемент PCM обнаруживает изменение состояния линии, то он оповещает об этом элемент CFM (Configuration Management), который отвечает за конфигурацию внутреннего пути данных. Элемент CFM производит конфигурирование внутреннего пути, управляя переключателями портов CCE. Делает он это с помощью элементов CEM (Configuration Element Management), каждый из которых управляет одним переключателем CCE.
Блок ECM ( Entity Coordination Management) координирует работу всех блоков и элементов блока управления конфигурацией CMT.
Установление физического соединения - основная задача блока PCM. Блок PCM каждого порта начинает эту процедуру по команде PC_Start, получаемой от координирующего элемента ECM (рис. 53).
Рис. 53. Управление физическим соединением портов
При получении этой команды блок PCM локального порта начинает обмениваться символами кодов 4B/5B по миникольцу, образуемому двумя соседними портами. Процедура инициализации физического соединения - это распределенная процедура, в ней участвуют два РСM соседних портов.
Во время этой процедуры для обмена информацией соседние порты используют не отдельные символы, а достаточно длинные последовательности символов, что повышает надежность взаимодействия. Эти последовательности называются состоянием линии. Всего используется 4 состояния линии:
Quiet Line State, QLS - состояние молчания, состоит в передаче 16 или 17 символов Quiet подряд. Master Link State, MLS - состояние главного порта, состоит в передаче 8 или 9 пар символов Halt-Quiet. Halt Link State, HLS - состояние останова, состоит в передаче 16 или 17 символов Halt подряд. Idle Link State, ILS - состояние простоя, состоит в передаче 16 или 17 символов Idle подряд.
Первый этап инициализации заключается в передаче портом - инициатором соединения - состояния QLS соседнему порту. Тот должен при этом перейти в состояние BREAK - разрыва связи, независимо от того, в каком состоянии связь находилась до получения символов QLS. Соседний порт, перейдя в состояние BREAK, также посылает символы QLS, обозначая свой переход.
После того, как порт-инициатор убедился, что первый этап инициализации выполнен, он выполняет следующий этап - переход в состояние CONNECT (соединение). Делает он это посылкой символов HLS, на что соседний порт также должен ответить символами HLS.
Если состояние CONNECT установлено, то порт-инициатор начинает наиболее содержательный этап инициализации - NEXT, включающий обмен информацией о типе портов, проведение тестирования качества линии и проведение тестового обмена МАС-кадрами.
Этап NEXT состоит в обмене между соседними портами 10-ю сообщениями, которые передаются по очереди. Порт передает одно свое сообщение, затем получает и анализирует сообщение от соседа и так далее. Каждое сообщение несет один бит информации и кодируется последовательностями MLS - логический ноль, или HLS - логическая единица.
Первые два сообщения несут информацию о типе своего порта. Для кодирования нужны два бита, так как существует четыре типа портов - А, В, М или S. Третье сообщение говорит соседнему порту, приемлемо ли для данного порта соединение с указанным в принятых сообщениях типом порта. Если да, то следующие сообщения оговаривают длительность процедуры тестирования качества линии, а затем передают информацию о результатах тестирования. Тест состоит в передаче в течение определенного времени символов Idle и подсчете искаженных символов. Если качество линии приемлемо, то выполняется тестовый обмен кадрами данных с участием блоков MAC станций.
Если все этапы инициализации прошли успешно, то физическое соединение считается установленным и активным. По нему начинают передаваться символы простоя и кадры данных. Однако, до тех пор, пока станция не выполнит процедуру логического вхождения станции в кольцо, эти кадры могут нести только служебную информацию.
Соединение Dual Homing
Соединения типа A-M и B-M соответствуют случаю, так называемого, Dual Homing подключения, когда устройство с возможностью двойного подключения, то есть с портами A и B, использует их для двух подключений к первичному кольцу через порты M другого устройства.
Такое подключение показано на рисунке 37.
На нем два концентратора, DAC4 и DAC5, подключены к концентраторам DAC1, DAC2 и DAC3 по схеме Dual Homing.
Концентраторы DAC1, DAC2 и DAC3 подключены обычным способом к обеим кольцам, образуя корневую магистраль сети FDDI. Обычно такие концентраторы называют в англоязычной литературе rooted concentrators.
Концентраторы DAC4 и DAC5 подключены по древовидной схеме. Ее можно было бы образовать и с помощью концентраторов SAC4 и SAC5, которые бы в этом случае подключались бы к М-порту корневых концентраторов с помощью порта S.
Подключение DAC-концентраторов по древовидной схеме, но с использованием Dual Homing, позволяет повысить отказоустойчивость сети, и сохранить преимущества древовидной многоуровневой структуры.
Рис. 37. Соединение Dual Homing
Концентратор DAC4 подключен по классической схеме Dual Homing. Эта схема рассчитана на наличие у такого концентратора только одного MAC-узла. При подключении портов A и B концентратора DAC4 к портам М концентратора DAC1 между этими портами устанавливается физическое соединение, которое постоянно контролируется физическим уровнем PHY. Однако, в активное состояние по отношению к потоку кадров по сети переводится только порт B, а порт A остается в резервном логическом состоянии. Предпочтение, отдаваемое по умолчанию порту В, определено в стандарте FDDI.
При некорректной работе физического соединения по порту B концентратор DAC4 переводит его в резервное состояние, а активным становится порт А. После этого порт В постоянно проверяет физическое состояние его линии связи, и, если оно восстановилось, то он снова становится активным.
Концентратор DAC5 также включен в есть по схеме Dual Homing, но с более полными функциональными возможностями по контролю соединения резервного порта А. Концентратор DAC5 имеет два узла MAC, поэтому не только порт В работает в активном режиме в первичном кольце, передавая кадры первичному MAC-узлу от порта М концентратора DAC3, но и порт А также находится в активном состоянии, принимая кадры от того же первичного кольца, но от порта М концентратора DAC2. Это позволяет вторичному MAC-узлу постоянно отслеживать логическое состояние резервной связи.
Необходимо заметить, что устройства, поддерживающие режим Dual Homing, могут быть реализованы несколькими различными способами, поэтому может наблюдаться несовместимость этих режимов у различных производителей.
Структура физического соединения
Рассмотрим физический подуровень PMD (Physical Media Dependent layer), определенный в стандарте FDDI для оптоволокна - Fiber PMD.
Эта спецификация определяет аппаратные компоненты для создания физических соединений между станциями: оптические передатчики, оптические приемники, параметры кабеля, оптические разъемы. Для каждого из этих элементов указываются конструктивные и оптические параметры, позволяющие станциям устойчиво взаимодействовать на определенных расстояниях.
Физическое соединение - основной строительный блок сети FDDI. Типичная структура физического соединения представлена на рисунке 48.
Каждое физическое соединение состоит из двух физических связей - первичной и вторичной. Эти связи являются односторонними - данные передаются от передатчика одного устройства PHY к приемнику другого устройства PHY.
Рис. 48. Физическое соединение сети FDDI
Типы портов станций и концентраторов FDDI и правила их соединения
В стандарте FDDI описаны четыре типа портов, которые отличаются своим назначением и возможностями соединения друг с другом для образования корректных конфигураций сетей.
Тип порта | Подключение | Назначение |
A | PI/SO - (Primary In/Secondary Out) Вход первичного кольца/ Выход вторичного кольца | Соединяет устройства с двойным подключением с магистральными кольцами |
B | PO/SI - (Primary Out/Secondary In) Выход первичного кольца/Вход вторичного кольца | Соединяет устройства с двойным подключением с магистральными кольцами |
M | Master - PI/PO Вход первичного кольца/Выход первичного кольца | Порт концентратора, который соединяет его с устройствами с одиночным подключением; использует только первичное кольцо |
S | Slave - PI/PO Вход первичного кольца/Выход первичного кольца | Соединяет устройство с одиночным подключением к концентратору; использует только первичное кольцо |
На рисунке 36 показано типичное использование портов разных типов для подключения станций SAS и DAS к концентратору DAC.
Рис. 36. Использование портов различных типов
Соединение портов S - S является допустимым, так как создает изолированное первичное кольцо, соединяющее только две станции, но обычно неиспользуемым.
Соединение портов M - M является запрещенным, а соединения A-A, B-B, A-S, S-A, B-S, S-B - нежелательными, так как создают неэффективные комбинации колец.
Типы узлов и правила их соединения в сеть
Все станции в сети FDDI делятся на несколько типов по следующим признакам:
конечные станции или концентраторы; по варианту присоединения к первичному и вторичному кольцам; по количеству MAC-узлов и, соответственно, MAC-адресов у одной станции.
Требования к мощности оптических сигналов
В стандарте Fiber PMD в явном виде не определены предельные расстояния между парой взаимодействующих устройств по одному физическому соединению.
Вместо этого в стандарте определен максимальный уровень потерь мощности оптического сигнала между двумя станциями, взаимодействующими по одной физической связи. Этот уровень равен -11 dB, где
dB = 10 log P2/P1,
причем P1 - это мощность сигнала на станции-передатчике, а P2 - мощность сигнала на входе станции-приемника. Так как мощность по мере передачи сигнала по кабелю уменьшается, то затухание получается отрицательным.
В соответствии с принятыми в стандарте Fiber PMD параметрами затухания кабеля и выпускаемыми промышленностью соединителями, считается, что для обеспечения затухания -11 dB длина оптического кабеля между соседними узлами не должна превышать 2 км.
Более точно можно рассчитать корректность физического соединения между узлами, если принять во внимание точные характеристики затухания, вносимые кабелем, разъемами, спайками кабеля, а также мощность передатчика и чувствительность приемника.
Стандарт Fiber PMD определяет следующие предельные значения параметров элементов физического соединения (называемые FDDI Power Budget):
Категория элемента | Значение |
Максимальная мощность передатчика | - 14 dBm |
Минимальная мощность передатчика | - 20 dBm |
Максимальная принимаемая мощность | - 14 dBm |
Минимальная принимаемая мощность | - 31 dBm |
Максимальные потери между станциями | - 11dB |
Максимальные потери на км кабеля | - 2.5 dB |
Абсолютные значения мощности оптических сигналов (для выхода передатчика и для входа приемника) измеряются в децибелах по отношению к стандартной мощности в 1 милливатт (mW) и обозначаются как dBm:
dBm = 10 log P/1,
где мощность Р также измерена в милливаттах.
Из значений таблицы видно, что максимальные потери между станциями в -11 dB соответствуют наихудшему сочетанию предельных значений мощности передатчика (- 20 dBm) и приемника (- 31 dBm).
Управление доступом к кольцу
Управление доступом к кольцу FDDI распределено между его станциями. Каждая станция при прохождении через нее токена самостоятельно решает, может она его захватить или нет, а если да, то на какое время.
Если у станции имеются для передачи синхронные кадры, то она всегда может захватить токен на фиксированное время, выделенное ей администратором.
Если же у станции имеются для передачи асинхронные кадры, то условия захвата определяются следующим образом.
Станция ведет уже упомянутый таймер текущего времени оборота токена TRT, а также счетчик количества опозданий токена Late_Ct. Время истечения таймера TRT равно значению максимального времени оборота токена T_Opr, выбранному станциями при инициализации кольца.
Счетчик Late_Ct всегда сбрасывается в нуль, когда токен проходит через станцию. Если же токен опаздывает, то таймер достигает значения T_Opr раньше очередного прибытия токена. При этом таймер обнуляется и начинает отсчет времени заново, а счетчик Late_Ct наращивается на единицу, фиксируя факт опоздания токена. При прибытии опоздавшего токена (при этом Late_Ct = 1) таймер TRT не сбрасывается в нуль, а продолжает считать, накапливая время опоздания токена. Если же токен прибыл раньше, чем истек интервал T_Opr у таймера TRT, то таймер сбрасывается в момент прибытия токена.
На рисунке 46 приведены различные случаи прибытия токена. Значение максимального времени оборота токена для примера, приведенного на этом рисунке, равно 30 мс.
Рис. 46. Поведение таймера времени текущего оборота токена TRT и счетчика опозданий токена Late_Ct
Приведенный пример иллюстрирует следующие события:
Функции уровня PMI
Функции, не зависящие от физической среды, представленные на рисунке 60, включают квартетную канальную шифрацию, кодирование 5B/6B, добавление к кадру преамбулы, начального и конечного ограничителей и передачу кадра на уровень PMD.
Рис. 60. Функции уровней PMI и PMD
Процесс квартетного распределения по каналам состоит в последовательном делении байтов МАС-кадра на порции данных по 5 бит (квинтеты), а также в последовательном распределении этих порций между четырьмя каналами, как это показано на рисунке 61.
Рис. 61. Распределение квинтетов по 4-м каналам
Каждый из 4-х каналов представляет собой одну витую пару: канал 0 - пару, образованную контактами 1 и 2, канал 1 - пару 3 - 6, канал 2 - пару 4 - 5, канал 3 - пару 7 - 8. Двухпарные спецификации физического уровня PMD используют затем схему мультиплексирования, преобразующую 4 канала в 2 или 1.
Шифрация данных состоит в случайном "перемешивании" квинтетов данных с целью исключения комбинаций из повторяющихся единиц или нулей. Перемешивание производится с помощью специальных устройств - скремблеров. Случайные наборы цифр уменьшают излучение радиоволн и взаимные наводки в кабеле.
Кодирование по схеме 5B/6B - это процесс отображения "перемешанных" квинтетов в заранее определенные 6-битовые коды. Этот процесс создает сбалансированные коды, содержащие равное количество единиц и нулей, что обеспечивает гарантированную синхронизацию приемника при изменениях входного сигнала.
Кодирование 5B/6B обеспечивает также контроль за ошибками при передаче, так как некорректные квинтеты, содержащие больше трех единиц или больше трех нулей, легко обнаружить.
На рисунке 62 приведен пример квинтетов данных, зашифрованных и преобразованных в символы 5B/6B. Поскольку существует только 16 сбалансированных символов, 32 комбинации, содержащиеся в квинтете, используют для своего представления два 6-ти битных символа, используемых по очереди для соблюдения баланса постоянного тока.
Рис. 62. Пример шифрации и кодирования квинтетов
Преамбула, начальный и конечный ограничители добавляются в каждом канале для корректной передачи данных через сеть.
Функции уровня MAC
Функции уровня МАС включают реализацию протокола доступа Demand Priority, подготовки линии связи и формирования кадра соответствующего формата.
Метод Demand Priority (приоритетный доступ по требованию) основан на том, что узел, которому нужно передать кадр по сети, передает запрос (требование) на выполнение этой операции концентратору. Каждый запрос может иметь либо низкий, либо высокий приоритеты. Высокий приоритет отводится для трафика чувствительных к задержкам мультимедийных приложений.
Высокоприоритетные запросы всегда обслуживаются раньше низкоприоритетных. Требуемый уровень приоритета кадра устанавливается протоколами верхних уровней, не входящими в технологию 100VG-AnyLAN, например, Real Audio, и передается для отработки уровню МАС.
Как показано на рисунке 60, концентратор уровня 1 постоянно сканирует запросы узлов, используя алгоритм кругового опроса (round-robin). Это сканирование позволяет концентратору определить, какие узлы требуют передачи кадров через сеть и каковы их приоритеты.
Рис. 60. Функции уровней PMI и PMD
В течение одного цикла кругового сканирования каждому узлу разрешается передать один кадр данных через сеть. Концентраторы, присоединенные как узлы к концентраторам верхних уровней иерархии, также выполняют свои циклы сканирования и передают запрос на передачу кадров концентратору. Концентратор нижнего уровня с N портами имеет право передать N кадров в течение одного цикла опроса.
Каждый концентратор ведет отдельные очереди для низкоприоритетных и высокоприоритетных запросов. Низкоприоритетные запросы обслуживаются только до тех пор, пока не получен высокоприоритетный запрос. В этом случае текущая передача низкоприоритетного кадра завершается и обрабатывается высокоприоритетный запрос. Перед возвратом к обслуживанию низкоприоритетных кадров должны быть обслужены все высокоприоритетные запросы. Для того, чтобы гарантировать доступ для низкоприоритетных запросов в периоды высокой интенсивности поступления высокоприоритетных запросов, вводится порог ожидания запроса.
Если у какого- либо низкоприоритетного запроса время ожидания превышает этот порог, то ему присваивается высокий приоритет.
На рисунке 60 показан пример цикла кругового опроса. Сначала предположим, что все порты передали запросы нормального приоритета и что в начальный момент времени корневой концентратор начал круговой опрос. Порядок обслуживания портов будет следующим: 1-1 (уровень 1 - порт 1), 2 -1, 2-3, 2-N, 1-3, 1-N.
Теперь предположим, что узлы 1-1, 2-3 и 1-3 выставили высокоприоритетные запросы. В этом случае порядок обслуживания будет таким: 1-1, 2-3, 1-3, 2-1, 2-N, 1-N.
Процедура подготовки линии Link Training "обучает" внутренние схемы концентратора и узла приему и передаче данных, а также проверяет работоспособность линии, соединяющей концентратор и узел.
Во время подготовки линии концентратор и узел обмениваются серией специальных тестовых кадров. Данная процедура включает функциональный тест кабеля, дающий возможность убедиться в том, что кабель правильно соединяет контакты разъемов и информация может быть корректно передана между концентратором и узлом.
Процедура подготовки также позволяет концентратору автоматически узнать информацию об узлах, подключенных к каждому порту. Кадры, получаемые концентратором от узла во время подготовки, содержат данные о типе устройства (конечный узел, концентратор, мост, маршрутизатор, анализатор протокола и т.п.), режиме работы (нормальный или монитор), адресе узла, присоединенного к данному порту.
Процедура подготовки инициируется узлом, когда узел или концентратор впервые включаются или при первом присоединении узла к концентратору. Узел или концентратор могут потребовать выполнения процедуры подготовки при обнаружении ошибочной ситуации.
Уровень МАС получает кадр от уровня LLC и добавляет к нему адрес узла-источника, дополняет поле данных байтами-заполнителями до минимально допустимого размера, если это требуется, а затем вычисляет контрольную сумму и помещает ее в соответствующее поле. После этого кадр передается на физический уровень.
Функции уровня PMD
Функции зависимого от физической среды уровня PMD включают: мультиплексирование каналов (только для 2-х витых пар или оптоволокна), копирование NRZ, операции передачи сигналов по среде и контроль статуса физической связи.
Технология 100VG-AnyLAN поддерживает следующие типы физической среды:
4-парную неэкранированную витую пару;
2-парную неэкранированную витую пару;
2-парную экранированную витую пару;
одномодовый или многомодовый оптоволоконный кабель.
Далее будут рассмотрены детали спецификации PMD для 4-парной неэкранированной витой пары.
Рисунок 63 иллюстрирует применения NRZ кодирования, использующего для представления единиц потенциал высокого уровня, а для представления нулей - потенциал низкого уровня.
Рис. 63. NRZ кодирование
Спецификация 4UTP, использующая 4-парную неэкранированную витую пару, использует тактовый генератор с частотой 30 МГц для передачи данных со скоростью 30 Мб/с по каждому из четырех каналов, что в сумме дает 120 Мб/c кодированных данных. Приемник получает кодированные данные со скоростью 30 Мб/с по каждому каналу и преобразует их в поток исходных данных со скоростью 25 Мб/с, что в результате дает пропускную способность в 100 Мб/с.
Использованный метод представления данных в кабеле позволяет технологии 100VG-AnyLAN работать на голосовом кабеле (Voice-Grade) категории 3. Максимальная частота результирующего сигнала на кабеле не превышает 15 МГц, так как метод NRZ очень эффективен в отношении спектра сигналов. При тактовой частоте в 30 МГц частота 15 МГц генерируется только при передаче кодов 10101010, что является для спектра результирующего сигнала наихудшим случаем. При передаче других кодов частота сигнала будет ниже 15 МГц.
Операции передачи данных на 4-парном кабеле используют как полнодуплексный, так и полудуплексный режимы (рис. 64).
Рис. 64. Полнодуплексные и полудуплексные операции
Полнодуплексные операции используются для одновременной передачи в двух направлениях - от узла к концентратору и от концентратора к узлу - сигнальной информации о состоянии линии.
Сигнальная информация от концентратора идет по парам 1-2 и 3-6, а сигнальная информация от узла идет по парам 4-5 и 7-8.
Полудуплексные операции используются для передачи данных от концентратора узлу и от узла концентратору по всем четырем парам.
Сигнализация о статусе связи, осуществляемая в полнодуплексном режиме, использует два низкочастотных сигнала, обозначаемые как тон 1 (Tone 1) и тон 2 (Tone 2).
Тон 1 генерируется путем передачи с частотой 30 МГц по очереди кодов, состоящих из 16 единиц, и кодов, состоящих из 16 нулей. Результирующий сигнал имеет частоту примерно 0.9375 МГц.
Тон 2 генерируется путем передачи с частотой 30 МГц по очереди кодов, состоящих из 8 единиц, и кодов, состоящих из 8 нулей. Результирующий сигнал имеет частоту примерно 1.875 МГц.
Взаимодействие между концентратором и узлом происходит путем параллельной передачи по двум парам комбинации из указанных двух тонов.
В следующей таблице приведены значения возможных 4-х комбинаций тонов.
Комбинация тонов | Значение при приеме узлом | Значение при приеме концентратором |
1 - 1 | Простой (Idle) | Простой (Idle) |
1 - 2 | Поступление кадра | Запрос на передачу кадра с нормальным приоритетом |
2 -1 | Зарезервировано | Запрос на передачу кадра с высоким приоритетом |
2 - 2 | Запрос на инициализацию процедуры подготовки линии | Запрос на инициализацию процедуры подготовки линии |
Состояние "поступление кадра" означает, что на данный порт может быть передан кадр. Узел должен прекратить передачу сигнальных тонов по каналам 2 и 3 для того, чтобы быть готовым принять кадр.
Общая характеристика технологии 100VG-AnyLAN
В качестве альтернативы технологии Fast Ethernet компаниями AT&T и HP был выдвинут проект новой технологии со скоростью передачи данных 100 Мб/с - 100Base-VG. В этом проекте было предложено усовершенствовать метод доступа с учетом потребности мультимедийных приложений, при этом сохранить совместимость формата пакета с форматом пакета сетей 802.3. В сентябре 1993 года по инициативе фирм IBM и HP был образован комитет IEEE 802.12, который занялся стандартизацией новой технологии. Проект был расширен за счет поддержки в одной сети кадров не только формата Ethernet, но и формата Token Ring. В результате новая технология получила название 100VG-AnyLAN, то есть технология для любых сетей (Any LAN - любые сети), имея в виду, что в локальных сетях технологии Ethernet и Token Ring используются в подавляющем количестве узлов.
Летом 1995 года технология 100VG-AnyLAN получила статус стандарта IEEE 802.12.
В технологии 100VG-AnyLAN определены новый метод доступа Demand Priority и новая схема квартетного кодирования Quartet Coding, использующая избыточный код 5В/6В.
Метод доступа Demand Priority основан на передаче концентратору функций арбитра, решающего проблему доступа к разделяемой среде. Метод Demand Priority повышает коэффициент использования пропускной способности сети за счет введения простого, детерминированного метода разделения общей среды, использующего два уровня приоритетов: низкий - для обычных приложений и высокий - для мультимедийных.
Технология 100VG-AnyLAN имеет меньшую популярность среди производителей коммуникационного оборудования, чем конкурирующее предложение - технология Fast Ethernet. Компании, которые не поддерживают технологию 100VG-AnyLAN, объясняют это тем, что для большинства сегодняшних приложений и сетей достаточно возможностей технологии Fast Ethernet, которая не так заметно отличается от привычной большинству пользователей технологии Ethernet. В более далекой перспективе эти производители предлагают использовать для мультимедийных приложений технологию АТМ, а не 100VG-AnyLAN.
И хотя в число сторонников технологии 100VG-AnyLAN одно время входило около 30 компаний, среди которых Hewlett-Packard и IBM, Cisco Systems и Cabletron, общим мнением сетевых специалистов является констатация отсутствия дальнейщих перспектив у технологии 100VG-AnyLAN.
Пример работы сети 100VG-AnyLAN при передаче кадров данных
Рассмотрим последовательность событий в сети 100VG-AnyLAN при передаче кадра данных от одной станции другой через концентратор.
Будем считать, что узел посылает в сеть один кадр данных с нормальным приоритетом. На рисунке 65 приведены 6 этапов этого процесса.
Рис. 65. Этапы передачи кадра данных через сеть 100VG-AnyLAN
Процесс начинается с получения МАС-уровнем конечного узла кадра данных от уровня LLC. После этого МАС-уровень добавляет к кадру адрес источника и дополняет поле данных, если сеть поддерживает формат кадров 802.3 и поле данных кадра LLC оказалось меньше 46 байт.
На этапе 1 узел PC1 посылает в концентратор запрос нормального приоритета: тон 1 по каналу 2 и тон 2 по каналу 3.
Во время цикла кругового опроса концентратор выбирает запрос узла PC1 на обслуживание, в результате чего он прекращает генерацию комбинации сигнальных тонов "Простой" по каналам 0 и 1, очищая линию для передачи кадра по всем четырем каналам.
Затем концентратор предупреждает всех потенциальных получателей - узлы PC2 - PCn сети - о том, что им может быть направлен кадр данных. Для этого он посылает им сообщение "Поступление кадра" в форме тона 1 на канале 0 и тона 2 на канале 2 (этап 2).
Узлы - потенциальные получатели кадра прекращают посылку сигнальных тонов по каналам 2 и 3, очищая линию связи для передачи по всем четырем каналам кадра данных.
Тем временем, узел-источник кадра обнаруживает, что линия свободна и передает кадр с уровня МАС на уровень PMI для подготовки его к передаче по кабелю.
Уровень PMI распределяет данные между четырьмя каналами, шифрует квинтеты данных и кодирует квинтеты в 60-битный код 5В/6B. Добавляются преамбула, стартовый и конечный ограничители по каждому каналу.
Уровень PMD начинает передавать кадр концентратору, используя NRZ кодирование (этап 3).
По мере поступления данных кадра концентратор декодирует адрес назначения (этап 4).
Затем кадр передается через соответствующий порт тому узлу, который имеет адрес, совпадающий с адресом назначения кадра (этап 5). В это же время концентратор перестает посылать сигнал "Поступление кадра" и начинает генерировать сигналы "Простой" всем остальным узлам (этап 6). Эти узлы теперь могут посылать запросы на передачу своих кадров концентратору.
Стек протоколов технологии 100VG-AnyLAN
Структура стека протоколов технологии 100VG-AnyLAN согласуется с архитектурными моделями OSI/ISO и IEEE, в которых канальный уровень разделен на подуровни. Как видно из рисунка 59, стек протоколов технологии 100VG-AnyLAN состоит из подуровня доступа к среде (Media Access Control, MAC), подуровня, независящего от физической среды (Physical Media Independent, PMI) и подуровня, зависящего от физической среды (Physical Media Dependent, PMD).
Рис. 59. Структура стека протоколов технологии 100VG-AnyLAN
Структура сети 100VG-AnyLAN
Сеть 100VG-AnyLAN всегда включает центральный концентратор, называемый концентратором уровня 1 или корневым концентратором (рис. 57).
Рис. 57. Структура сети 100VG-AnyLAN
Корневой концентратор имеет связи с каждым узлом сети, образуя топологию типа звезда. Этот концентратор представляет собой интеллектуальный центральный контроллер, который управляет доступом к сети, постоянно выполняя цикл "кругового" сканирования своих портов и проверяя наличие запросов на передачу кадров от присоединенных к ним узлов. Концентратор принимает кадр от узла, выдавшего запрос, и передает его только через тот порт, к которому присоединен узел c адресом, совпадающим с адресом назначения, указанным в кадре.
Каждый концентратор может быть сконфигурирован на поддержку либо кадров 802.3 Ethernet, либо кадров 802.5 Token Ring. Все концентраторы, расположенные в одном и том же логическом сегменте (не разделенном мостами, коммутаторами или маршрутизаторами), должны быть сконфигурированы на поддержку кадров одного типа. Для соединения сетей 100VG-AnyLAN, использующих разные форматы кадров 802.3, нужен мост, коммутатор или маршрутизатор. Аналогичное устройство требуется и в том случае, когда сеть 100VG-AnyLAN должна быть соединена с сетью FDDI или АТМ.
Каждый концентратор имеет один "восходящий" (up-link) порт и N "нисходящих" портов (down-link), как это показано на рисунке 58.
Восходящий порт работает как порт узла, но он зарезервирован для присоединения в качестве узла к концентратору более высокого уровня. Нисходящие порты служат для присоединения узлов, в том числе и концентраторов нижнего уровня. Каждый порт концентратора может быть сконфигурирован для работы в нормальном режиме или в режиме монитора. Порт, сконфигурированный для работы в нормальном режиме, передает только те кадры, которые предназначены узлу, подключенному к данному порту. Порт, сконфигурированный для работы в режиме монитора, передает все кадры, обрабатываемые концентратором.
Такой порт может использоваться для подключения анализатора протоколов.
Рис. 58. Круговой опрос портов концентраторами сети 100VG-AnyLAN
Узел представляет собой компьютер или коммуникационное устройство технологии 100VG-AnyLAN - мост, коммутатор, маршрутизатор или концентратор. Концентраторы, подключаемые как узлы, называются концентраторами 2-го и 3-го уровней. Всего разрешается образовывать до трех уровней иерархии концентраторов.
Связь, соединяющая концентратор и узел, может быть образована либо 4 парами неэкранированной витой пары категорий 3, 4 или 5 (4-UTP Cat 3, 4, 5), либо 2 парами неэкранированной витой пары категории 5 (2-UTP Cat 5), либо 2 парами экранированной витой пары типа 1 (2-STP Type 1), либо 2 парами многомодового оптоволоконного кабеля.
Варианты кабельной системы могут использоваться любые, но ниже будет рассмотрен вариант 4-UTP, который был разработан первым и получил наибольшее распространение.
В заключение раздела приведем таблицу, составленную компанией Hewlett-Packard, в которой приводятся результаты сравнения этой технологии с технологиями 10Base-T и 100Base-T.
Характеристика | 10Base-T | 100VG-AnyLAN | 100Base-T |
Топология | - | - | - |
Максимальный диаметр сети | 2500 м | 8000 м | 412 м |
Каскадирование концентраторов | Да; 3 уровня | Да; 5 уровней | Два концентратора максимум |
Кабельная система | - | - | - |
UTP Cat 3,4 | 100 м | 100 м | 100 м |
UTP Cat 5 | 150 м | 200 м | 100 м |
STP Type 1 | 100 м | 100 м | 100 м |
Оптоволокно | 2000 м | 2000 м | 412 м |
Производительность | - | - | - |
При длине сети 100 м | 80% (теоретическая) | 95% (продемонстрированная) | 80% (теоретическая) |
При длине сети 2500 м | 80% (теоретическая) | 80% (продемонстрированная) | Не поддерживается |
Технология | - | - | - |
Кадры IEEE 802.3 | Да | Да | Да |
Кадры 802.5 | Нет | Да | Нет |
Метод доступа | CSMA/CD | Demand Priority | CSMA/CD + подуровень согласования (Reconciliation sublayer) |
Тестирование кабелей для установки их в сетях 100VG-AnyLAN
Спецификация 4-UTP 100VG-AnyLAN использует для тестирования кабеля те же параметры, что и технологии 10Base-T и Token Ring. Кроме того, кабель должен удовлетворять дополнительным требованиям - тестовую проверку должны пройти все 4 пары на частотах до 15 МГц.
В следующей таблице приведены параметры, по которым должен проверяться кабель для работы по спецификации 4-UTP, 100VG-AnyLAN.
Частота | 5 МГц | 10 МГц | 15 МГц |
Максимальное затухание | 11.5 dB | 11.5 dB | 13.5 dB |
Импеданс | от 85 до 115 Ом | от 85 до 115 Ом | от 85 до 115 Ом |
Перекрестные наводки "пара-пара" | 30.5 dB | 26.0 dB | 22.5 dB |
Перекрестные наводки на ближнем конце пары (NEXT) | 27.5 dB | 23.0 dB | 19.5 dB |
Инициализация топологии
Для автоматического определения начальной активной конфигурации дерева все мосты сети после их инициализации начинают периодически обмениваться специальными пакетами, называемыми протокольными блоками данных моста - BPDU (Bridge Protocol Data Unit).
Пакеты BPDU помещаются в поле данных кадров канального уровня, например, кадров Ethernet. Все мосты должны поддерживать общий групповой адрес, с помощью которого кадры, содержащие пакеты BPDU, передаются одновременно всем мостам сети.
Пакет BPDU имеет следующие поля:
Идентификатор версии протокола STA - 2 байта. Мосты должны поддерживать одну и ту же версию протокола STA, иначе может установиться активная конфигурация с петлями.
Тип BPDU - 1 байт. Существует два типа BPDU - конфигурационный BPDU, то есть заявка на возможность стать корневым мостом, на основании которой происходит определение активной конфигурации, и BPDU уведомления о реконфигурации, которое посылается мостом, обнаружившим событие, требующее проведение реконфигурации - отказ линии связи, отказ порта, изменение приоритетов моста или портов.
Флаги - 1 байт. Один бит содержит флаг изменения конфигурации, второй бит - флаг подтверждения изменения конфигурации. Идентификатор корневого моста - 8 байтов.
Расстояние до корня - 2 байта. Идентификатор моста - 8 байтов.
Идентификатор порта - 2 байта.
Время жизни сообщения - 2 байта. Измеряется в единицах по 0.5 с, служит для выявления устаревших сообщений. Когда пакет BPDU проходит через мост, тот добавляет ко времени жизни пакета время его задержки данным мостом.
Максимальное время жизни сообщения - 2 байта. Если пакет BPDU имеет время жизни, превышающее максимальное, то он игнорируется мостами.
Интервал hello, через который посылаются пакеты BPDU.
Задержка смены состояний - 2 байта. Минимальное время перехода портов моста в активное состояние. Такая задержка необходима, чтобы исключить возможность временного возникновения альтернативных маршрутов при неодновременной смене состояний портов во время реконфигурации.
У пакета BPDU уведомления о реконфигурации отсутствуют все поля, кроме двух первых.
После инициализации каждый мост сначала считает себя корневым. Поэтому он начинает через интервал hello генерировать через все свои порты сообщения BPDU конфигурационного типа. (Далее под BPDU понимается везде конфигурационный BPDU, если тип BPDU точно не указан.) В них он указывает свой идентификатор в качестве идентификатора корневого моста (и в качестве данного моста также), расстояние до корня устанавливается в 0, а в качестве идентификатора порта указывается идентификатор того порта, через который передается BPDU.
В исходном состоянии каждый мост не только передает BPDU через все свои порты, но и принимает через все порты BPDU, передаваемые другими мостами. Мост в течение интервала установления начальной конфигурации фиксирует значения нескольких своих внутренних переменных:
RI (Root Identifier) - идентификатор корневого моста, в начальный момент работы алгоритма STA каждый мост присваивает этой переменной свой собственный идентификатор.
minRPCi (min Root Path Cost) - наименьшее значение расстояния до корня, встретившееся в пакетах BPDU, принятых от корневого моста по i-му порту. Для каждого порта моста имеется своя переменная minRPCi, начальное значение этой переменной равно максимально допустимому значению расстояния, определяемому форматом переменной.
minBi и minPi - идентификаторы моста и порта, от которого поступил пакет, на основании которого присвоено значение расстояния до корня переменной minRPCi - по две переменные на каждый порт.
Мост обрабатывает поступающие на порты сообщения BPDU следующим образом.
Сначала мост сравнивает значение идентификатора корневого моста из BPDU с текущим значением переменной RI.
Если это значение больше текущего значения RI, то принятый пакет просто уничтожается, так как он не несет никакой информации о расстоянии до корневого моста - он пришел от моста, который не является корневым.
Если оно равно текущему значению RI, то значит принят пакет от уже известного корня.
Находящееся в пакете расстояние до корня сравнивается с найденным ранее минимальным расстоянием minRPCi, и если новое значение меньше, то оно переписывается в переменную minRPCi данного порта. Затем мост наращивает значение поля расстояния до корня на величину условного времени сегмента, по которому пришел пакет, помещает в поле идентификатора моста свой идентификатор и передает этот пакет на все свои порты, кроме того порта, от которого получен пакет. В переменные minBi и minPi записываются идентификаторы моста, от которого получен пакет BPDU, и его порта.
Если же значение идентификатора корневого моста у принятого BPDU меньше текущего, то это значит, что обнаружен мост, у которого больше прав претендовать на звание корневого. Его идентификатор фиксируется в переменной RI, а все значения переменных minRPCi устанавливаются в исходное значение, так как они были вычислены ранее на основании расстояний до моста, на самом деле корнем не являющегося. Затем пакет BPDU обрабатывается точно по тому же алгоритму, что и в предыдущем случае.
По мере распространения пакетов BPDU по всей сети у всех мостов накапливается информация, необходимая для фиксации корневого моста, а также для определения того, какой из портов моста является корневым портом, какие порты являются назначенными для сегментов, а какие не входят ни в первую, ни во вторую категории.
После истечения времени установления активной конфигурации у всех мостов происходит фиксация идентификатора корневого моста. Мост, который в течение всего времени процесса установления конфигурации считал себя корневым, окончательно удостоверяется в этом. Все его порты устанавливаются в состояние назначенных.
Мосты, знающие, что они не корневые, определяют свой корневой порт как порт, имеющий минимальное расстояние до корневого моста. Для этого для каждого порта вычисляется расстояние RPCi как сумма переменной minRPCi и условного времени сегмента, с которым связан данный порт, так как в переменной minRPCi это время учтено не было.
Затем выбирается корневой порт, как порт с минимальным значением RPCi. После этого данное значение называется расстоянием до корня данного моста - RPC.
Затем мост проверяет все оставшиеся порты как претендентов на звание назначенных портов сегментов, к которым они подключены. Он сравнивает значение minRPCi данного порта со значением RPC, то есть сравнивает расстояния до корня от других мостов данного сегмента со своим собственным. Если его собственное расстояние оказывается меньше по каждому порту, то он фиксируется как назначенный. Если же оно больше, то порт переводится в заблокированное состояние, в котором он не будет ни принимать, ни передавать информационные пакеты в рабочем режиме, после установления активной конфигурации. Если же расстояния оказываются равными, то мост сравнивает сначала свой идентификатор с идентификатором minBi моста-конкурента, а если и они равны (то есть конкурируют его собственные порты), то сравниваются в конце концов идентификаторы портов.
После того, как все мосты определяют статус своих портов, процесс установления активной конфигурации завершен. Корневые и назначенные порты начинают участвовать в передаче кадров протокола канального уровня, то есть для них устанавливается активное состояние, в отличие от заблокированных портов.
Изменения топологии
Алгоритм STA обеспечивает поддержку резервных связей в сети, и включает, кроме процедуры инициализации активной конфигурации и процедуру изменения конфигурации при отказах элементов сети. Эта процедура называется процедурой изменения топологии.
После установления активной топологии только корневой мост продолжает периодически генерировать пакеты BPDU конфигурационного типа. Остальные мосты продолжают принимать пакеты BPDU на свой корневой порт и распространяют их через свои назначенные порты.
Для того, чтобы мосты могли обнаружить отказ элемента сети, каждый мост имеет таймер возраста сообщения (message age timer). При получении пакета BPDU этот таймер устанавливается в исходное состояние. Если какой-либо назначенный мост, его порт или линия связи отказывают, то пакеты BPDU перестают поступать во все мосты, которые находятся в поддеревьях отказавшего элемента. Вследствие этого, в этих мостах истекает интервал таймера возраста сообщения.
Если у моста истекает значение такого таймера, то вызывается процедура, называемая "установление назначенных портов". Очевидно, что это произойдет во всех мостах, которые пострадали от отказа. После выполнения этой процедуры, которая аналогична описанной процедуре начального выбора корневого и назначенных портов, будут определены новые значения назначенных мостов, корневых портов и назначенных портов. Если же отказал корневой мост, то будет выбран новый корневой мост.
В дополнение к процедуре реакции на отказ, определяется и реакция моста на принудительное изменение администратором статуса порта с заблокированного на активный. При этом посылается BPDU типа "уведомление о реконфигурации" в направлении корневого моста. Все назначенные мосты, находящиеся на пути между данным портом и корневым мостом отмечают произошедшее изменение и передают сообщение дальше через свой корневой порт корневому мосту. При этом все мосты, на которые влияет такое изменение, оказываются о нем уведомлены и производят переоценку назначенных портов.
При изменении активной конфигурации мосты должны произвести некоторые изменения в своих адресных таблицах, так как некоторым узлам пакеты должны теперь передаваться через другие порты. Вообще говоря, эти изменения в адресных таблицах произойдут автоматически, когда у динамических записей таблицы истечет таймер возраста. Но, так как этот таймер имеет сравнительно большой интервал, то корневой мост посылает уведомление об изменении конфигурации всем мостам, устанавливая флаг изменения конфигурации в текущем BPDU. При получении BPDU с таким флагом, все динамические входы адресной таблицы считаются устаревшими, поэтому они заполняются вновь на основании приходящих пакетов от конечных станций.
Основные определения
В сети определяется корневой мост (root bridge), от которого строится дерево.
Для каждого моста определяется корневой порт (root port) - это порт, который имеет кратчайшее из всех портов данного моста расстояние до корневого моста (точнее, до любого из портов корневого моста).
Расстояние до корня (root path cost) определяется как суммарное условное время на передачу данных от порта данного моста до порта корневого моста. Условное время сегмента (designated cost) рассчитывается как время, затрачиваемое на передачу одного бита информации в 10-наносекундных единицах между непосредственно связанными по сегменту сети портами. Так, для сегмента Ethernet это время равно 10 условным единицам, а для сегмента Token Ring 16 Мб/с - 6.25. (Алгоритм STA не связан с каким-либо определенным стандартом канального уровня, он может применяться к мостам, соединяющим сети различных технологий.)
Для каждого логического сегмента сети выбирается так называемый назначенный мост (designated bridge), один из портов которого будет принимать пакеты от сегмента и передавать их в направлении корневого моста через корневой порт данного моста, а также принимать пакеты для данного сегмента, пришедшие на корневой порт со стороны корневого моста. Такой порт называется назначенным портом (designated port). Назначенный порт сегмента имеет наименьшее расстояние до корневого моста, среди всех портов, подключенных к данному сегменту. Назначенный порт у сегмента может быть только один. У корневого моста все порты являются назначенными, а их расстояние до корня полагается равным нулю. Корневого порта у корневого моста нет.
Можно доказать, что если определить каким-либо образом корневой мост, то зная пропускную способность каждого сегмента и связи между портами мостов и сегментов, можно однозначно определить по расстоянию до корня корневые порты мостов и назначенные порты сегментов, и если все остальные порты мостов, кроме корневых и назначенных, заблокировать, то получится дерево без петель.
Для того, чтобы мосты могли идентифицировать себя и своих ближних и дальних соседей по сети, каждой мост, поддерживающий STA, имеет уникальный идентификатор.
Этот идентификатор состоит из двух частей. Младшую часть составляет MAC-адрес моста (не отдельного порта моста, а всего моста в целом, порты мостов MAC-адресов не имеют), имеющий длину 6 байтов. Старшая часть, имеющая длину 2 байта, является приоритетом данного моста, и его может изменять администратор сети по своему усмотрению (напомним, что MAC-адрес устанавливается производителем для обеспечения его всемирной уникальности).
Идентификатор моста играет определяющую роль при выборе корневого моста. Приоритет имеет преимущественное значение в этом выборе - корневым выбирается мост, имеющий наименьшее значение идентификатора, а так как поле приоритета находится в старших разрядах, то его значение подавляет значение MAC-адреса. Если же администратор назначил всем мостам равный приоритет (то есть не захотел влиять на выбор корневого моста), то корневым будет выбран мост с наименьшим значением MAC-адреса.
Порты внутри каждого моста также имеют свои идентификаторы. Идентификатор порта состоит из 2 байтов, первый из которых (старший) может изменяться администратором и является приоритетом порта, а второй представляет собой порядковый номер порта для данного моста (номера портов начинаются с единицы). Идентификатор порта используется при выборе корневого и назначенного порта моста - если несколько портов имеют одинаковое расстояние до корня, то выбирается тот порт, идентификатор которого меньше. Аналогично случаю с идентификатором моста, приоритет порта может быть задан администратором для того, чтобы данный порт получил преимущество перед другими.
Пример установления и изменения активной конфигурации
Рассмотрим работу алгоритма STA на примере сети, состоящей из 6 сегментов Ethernet и 6 мостов, соединенных так, как это показано на рисунке 67. Идентификаторы мостов и портов обозначены цифрой после однобуквенного имени моста (B) или порта (P). Сегменты (S) идентификаторов не имеют, и их порядковые номера приведены только для удобства пояснений работы алгоритма.
Рис. 67. Пример конфигурации сети с избыточными связями
Рассмотрим несколько случаев.
Протокол покрывающего дерева Spanning Tree
Поддерживающие алгоритм STA мосты и коммутаторы автоматически создают активную древовидную конфигурацию связей (то есть связную конфигурацию без петель), находя ее адаптивно с помощью обмена служебными пакетами.
Случай А.
После того, как до всех мостов дошли конфигурационные BPDU от моста В1, только этот мост продолжает считать себя корневым, так как он имеет наименьший идентификатор - 1. Соответственно, по каждому порту у каждого моста установились значения переменных minRPC, показанные на рисунке 68. В результате для моста В2 в качестве корневого порта выбран порт P1. Хотя оба порта получали на входе конфигурационные BPDU с нулевым значением расстояния до корня (от порта P1 и от порта P3 корневого моста В1), выбран порт P1, поскольку он имеет меньшее значение идентификатора. Значение RPC моста B2 равно 1, так как условное время сегмента S1 равно 1 и оно складывается с минимальным расстоянием до корня, полученным на корневой порт.
Рис. 68. Выбор корневого моста и корневых портов
У мостов B3, B4, В5 и В6 выбор корневого порта достаточно прост, так как значения minRPC у них различные (порт P2 моста В5 не получил по входу ни одного конфигурационного BPDU, поэтому имеет начальное, максимально возможное значение minRPC, обозначенное символом бесконечности).
Выбор назначенных портов показан на рис. 69.
Рис. 69. Выбор назначенных портов
Случай В.
При отказе корневого маршрутизатора все мосты перестают получать конфигурационные BPDU, поэтому по истечению интервала hello мосты переводят все свои порты в состояние заблокированных и начинают процедуру инициализации активной конфигурации, полагая себя корневыми мостами. В результате корневым мостом будет выбран мост B2, имеющий наименьший идентификатор. Новое состояние портов и связей после установления активной конфигурации показано на рисунке 70.
Рис. 70. Реконфигурация сети после отказа моста B1
Полученные активные конфигурации для случаев С и D показаны на рисунках 71 и 72 соответственно.
Рис. 71. Активная конфигурация для скоростных сегментов S3 и S6
Рис. 72. Активная конфигурация при приоритетном мосте B5 и скоростных сегментах S3 и S6
Состояния порта
Каждый порт моста, поддерживающего алгоритм STA, может находится в одном из 5 состояний (рис. 66):
Отключен (disabled) - порт не участвует ни в каких операциях, и может быть выведен из этого состояния только с помощью протокола управления мостом (по сети или локально).
Заблокирован (blocked) - конфигурационные BPDU принимаются, обрабатываются и передаются. Прослушивание (listening) - конфигурационные BPDU принимаются, обрабатываются и передаются. Обучение (learning) - порт принимает конфигурационные BPDU, обрабатывает их и передает, а также принимает и обрабатывает информационные кадры канального протокола (строит адресную таблицу). Трансляция (forwarding) - порт участвует во всех операциях моста - принимает конфигурационные BPDU, обрабатывает их и передает, а также принимает, обрабатывает и передает информационные кадры канального протокола.
Рис. 66. Состояние порта и возможные переходы
За счет наличия промежуточных состояний порта, которые не были учтены при описании процесса установления активной конфигурации для упрощения его понимания, мост не единовременно заканчивает этот процесс и начинает передавать пользовательские кадры, а постепенно, причем по каждому порту индивидуально.
Переходы между состояниями порта вызываются либо получением конфигурационного BPDU или истечением некоторого таймера.
Обычно все порты моста при первом его включении в сеть устанавливаются в отключенное состояние. Переход в заблокированное состояние происходит при выполнении администратором соответствующей операции управления мостом (1). Аналогичным образом, администратор может отключить порт (2).
После получения команды на инициализацию от администратора, мост переводит все свои порты в состояние блокировки. Затем начинается описанный процесс установления начальной активной конфигурации. Мост в какой-то момент времени этого процесса может сделать ошибочные заключения о том, какой из его портов является корневым, а какие - назначенными, так как делает выводы на основе конфигурационных BPDU, полученных от моста, который он временно считает корневым, так как конфигурационные BPDU от действительно корневого моста еще до него не дошли. Поэтому для исключения преждевременных решений о том, что некоторые порты нужно перевести в транслирующее состояние, так как они стали либо корневыми, либо назначенными (и, следовательно, для исключения временного образования петель), порт сначала переводится в промежуточное состояние - состояние прослушивания (3). При этом взводится специальный таймер для порта - таймер трансляции. Если его период истекает, а порт все еще остается по результатам обработки поступивших конфигурационных BPDU корневым или назначенным, то он переводится в состояние обучения (5), а таймер взводится снова. Если же его интервал истекает еще раз, то тогда порт переводится в состояние трансляции (5) и начинает активную работу по передаче пользовательских кадров. Если же за период работы таймера трансляции порт перестает быть корневым или назначенным, то он непосредственно переводится в состоянии заблокированного (4).
Использование меток в дополнительном поле кадра - стандарты 802.1 Q/p и фирменные решения
Описанные два подхода основаны только на добавлении дополнительной информации к адресным таблицам моста и не используют возможности встраивания информации о принадлежности кадра к виртуальной сети в передаваемый кадр. Остальные подходы используют имеющиеся или дополнительные поля кадра для сохранения информации и принадлежности кадра при его перемещениях между коммутаторами сети. При этом нет необходимости запоминать в каждом коммутаторе принадлежность всех МАС-адресов интерсети виртуальным сетям.
Если используется дополнительное поле с пометкой о номере виртуальной сети, то оно используется только тогда, когда кадр передается от коммутатора к коммутатору, а при передаче кадра конечному узлу оно удаляется. При этом модифицируется протокол взаимодействия "коммутатор-коммутатор", а программное и аппаратное обеспечение конечных узлов остается неизменным. Примеров таких фирменных протоколов много, но общий недостаток у них один - они не поддерживаются другими производителями. Компания Cisco предложила использовать в качестве стандартной добавки к кадрам любых протоколов локальных сетей заголовок протокола 802.10, предназначенного для поддержки функций безопасности вычислительных сетей. Сама компания использует этот метод в тех случаях, когда коммутаторы объединяются между собой по протоколу FDDI. Однако, эта инициатива не была поддержана другими ведущими производителями коммутаторов.
Новый стандарт IEEE 802.1Q определяет изменения в структуре кадра Ethernet, позволяющие передавать информацию о VLAN по сети.
Стандарт IEEE 802.1p специфицирует метод указания приоритета кадра, основанный на использовании новых полей, определенных в стандарте IEEE 802.1Q.
К кадру Ethernet добавлены два байта. Эти 16 бит содержат информацию по принадлежности кадра Ethernet к ВЛВС и о его приоритете. Говоря точнее, тремя битами кодируется до восьми уровней приоритета, 12 бит позволяют различать трафик до 4096 ВЛВС, а один бит зарезервирован для обозначения кадров сетей других типов (Token Ring, FDDI), передаваемых по магистрали Ethernet.
Надо сказать, что добавление двух байтов к максимальному размеру кадра Ethernet ведет к возникновению проблем в работе многих коммутаторов, обрабатывающих кадры Ethernet аппаратно. Чтобы избежать их, группы по стандартизации предложили сократить на два байта максимальный размер полезной нагрузки в кадре.
Спецификация IEEE 802.1p, создаваемая в рамках процесса стандартизации 802.1Q, определяет метод передачи информации о приоритете сетевого трафика. Стандарт 802.1p специфицирует алгоритм изменения порядка расположения пакетов в очередях, с помощью которого обеспечивается своевременная доставка чувствительного к временным задержкам трафика.
В дополнение к определению приоритетов стандарт 802.1p вводит важный протокол GARP (Generic Attributes Registration Protocol) с двумя специальными его реализациями. Первая из них - протокол GMRP (GARP Multicast Registration Protocol), позволяющий рабочим станциям делать запрос на подключение к домену групповой рассылки сообщений. Поддерживаемую этим протоколом концепцию назвали подсоединением, инициируемым "листьями". Протокол GMRP обеспечивает передачу трафика только в те порты, из которых пришел запрос на групповой трафик, и хорошо согласуется со стандартом 802.1Q.
Второй реализацией GARP является протокол GVRP (GARP VLAN Registration Protocol), похожий на GMRP. Однако, работая по нему, рабочая станция вместо запроса на подключение к домену групповой рассылки сообщений посылает запрос на доступ к определенной VLAN.
Для согласования работы устройств, поддерживающих формат кадра 802.1 Q, с теми устройствами, которые не понимают этот формат, разработчики стандарта предложили делить весь трафик в сети на несколько типов.
Трафик входного порта (Ingress Port). Каждый кадр, достигающий коммутируемой сети и идущий либо от маршрутизатора, либо от рабочей станции, имеет определенный порт-источник. На основании его номера коммутатор должен "принять решение" о приеме (или отбрасывании) кадра и передаче его в ту или иную VLAN.
Решение "судьбы" кадра, осуществляемое в единственной логической точке сети, делает возможным сосуществование самых разных видов VLAN. Приняв кадр, коммутатор "прикрепляет" к нему "ярлык" (tag) VLAN. Как только кадр с "ярлыком" VLAN оказывается в сети, он становится частью проходящего (Progress), или внутреннего трафика.
Внутренний трафик (Progress Traffic). Кадр с "ярлыком" коммутируется точно так же, как и без "ярлыка". Решения о его принадлежности к той или иной VLAN принимаются в пограничных элементах сети и остальные сетевые устройства индифферентно "относятся" к тому, как именно кадр попал в сеть. Так как максимальный размер кадра Ethernet остался неизменным, то пакеты всех VLAN смогут обрабатываться традиционными коммутаторами и маршрутизаторами внутренней части сети.
Трафик выходного порта (Egress Port). Чтобы попасть в межсетевой маршрутизатор или в оконечную рабочую станцию, кадр должен выйти за пределы коммутируемой сети. Ее выходное устройство "решает", какому порту (или портам) нужно передать пакет и есть ли необходимость удалять из него служебную информацию, предусмотренную стандартом 802.1Q. Дело в том, что традиционные рабочие станции не всегда воспринимают информацию о VLAN по стандарту 802.1Q, но сервер, обслуживающий несколько подсетей с помощью единственного интерфейса, должен ее активно использовать.
Условное деление трафика на внутренний, а также входного и выходного портов позволяет поставщикам нестандартных реализаций VLAN создавать шлюзы для их стыковки с ВЛВС, соответствующими стандарту 802.1Q.
Использование сетевого протокола
При использовании этого подхода коммутаторы должны для образования виртуальной сети понимать какой-либо сетевой протокол. Такие коммутаторы называют коммутаторами 3-го уровня, так как они совмещают функции коммутации и маршрутизации. Каждая виртуальная сеть получает определенный сетевой адрес - как правило, IP или IPX.
Тесная интеграция коммутации и маршрутизации очень удобна для построения виртуальных сетей, так как в этом случае не требуется введения дополнительных полей в кадры, к тому же администратор только однократно определяет сети, а не повторяет эту работу на канальном и сетевом уровнях. Принадлежность конечного узла к той или иной виртуальной сети в этом случае задается традиционным способом - с помощью задания сетевого адреса. Порты коммутатора также получают сетевые адреса, причем могут поддерживаться нестандартные для классических маршрутизаторов ситуации, когда один порт может иметь несколько сетевых адресов, если через него проходит трафик нескольких виртуальных сетей, либо несколько портов имеют один и тот же адрес сети, если они обслуживают одну и ту же виртуальную сеть.
При передаче кадров в пределах одной и той же виртуальной сети коммутаторы 3-го уровня работают как классические коммутаторы 2-го уровня, а при необходимости передачи кадра из одной виртуальной сети в другую - как маршрутизаторы. Решение о маршрутизации обычно принимается традиционным способом - его делает конечный узел, когда видит на основании сетевых адресов источника и назначения, что кадр нужно отослать в другую сеть.
Однако, использование сетевого протокола для построения виртуальных сетей ограничивает область их применения только коммутаторами 3-го уровня и узлами, поддерживающими сетевой протокол. Обычные коммутаторы не смогут поддерживать такие виртуальные сети и это является большим недостатком. За бортом также остаются сети на основе немаршрутизируемых протоколов, в первую очередь сети NetBIOS.
По этим причинам наиболее гибким подходом является комбинирование виртуальных сетей на основе стандартов 802.1 Q/p с последующим их отображением на "традиционные сети" в коммутаторах 3-го уровня или маршрутизаторах. Для этого коммутаторы третьего уровня и маршрутизаторы должны понимать метки стандарта 802.1 Q.
|
Использование спецификации LANE
Существует два способа построения виртуальных сетей, которые используют уже имеющиеся поля для маркировки принадлежности кадра виртуальной сети, однако эти поля принадлежат не кадрам канальных протоколов, а ячейкам технологии АТМ или пакетам сетевого уровня.
Спецификация LANE вводит такое понятие как эмулируемая локальная сеть - ELAN. Это понятие имеет много общего с понятием виртуальной сети:
ELAN строится в сети, состоящей из коммутаторов (коммутаторов АТМ);
связь между узлами одной и той же ELAN осуществляется на основе МАС-адресов без привлечения сетевого протокола;
трафик, генерируемый каким-либо узлом определенной ELAN, даже широковещательный, не выходит за пределы данной ELAN.
Кадры различных ELAN не свешиваются друг с другом внутри сети коммутаторов АТМ, так как они передаются по различным виртуальным соединениям и номер виртуального соединения VPI/VCI является тем же ярлыком, который помечает кадр определенной VLAN в стандарте 802.1Q и аналогичных фирменных решениях.
Если VLAN строятся в смешанной сети, где имеются не только коммутаторы АТМ, то "чистые" коммутаторы локальных сетей, не имеющие АТМ-интерфейсов, должны использовать для создания виртуальной сети один из выше перечисленных методов, а пограничные коммутаторы, имеющие наряду с традиционными еще и АТМ-интерфейсы, должны отображать номера VLAN на номера ELAN при передаче кадров через сеть АТМ.
Назначение виртуальных сетей
Кроме своего основного назначения - повышения пропускной способности связей в сети - коммутатор позволяет локализовывать потоки информации в сети, а также контролировать эти потоки и управлять ими, используя пользовательские фильтры. Однако, пользовательский фильтр может запретить передачи кадров только по конкретным адресам, а широковещательный трафик он передает всем сегментам сети. Так требует алгоритм работы моста, который реализован в коммутаторе, поэтому сети, созданные на основе мостов и коммутаторов иногда называют плоскими - из-за отсутствия барьеров на пути широковещательного трафика.
Технология виртуальных сетей (Virtual LAN, VLAN) позволяет преодолеть указанное ограничение. Виртуальной сетью называется группа узлов сети, трафик которой, в том числе и широковещательный, на канальном уровне полностью изолирован от других узлов сети. Это означает, что передача кадров между разными виртуальными сегментами на основании адреса канального уровня невозможна, независимо от типа адреса - уникального, группового или широковещательного. В то же время внутри виртуальной сети кадры передаются по технологии коммутации, то есть только на тот порт, который связан с адресом назначения кадра.
Говорят, что виртуальная сеть образует домен широковещательного трафика (broadcast domain), по аналогии с доменом коллизий, который образуется повторителями сетей Ethernet.
Назначение технологии виртуальных сетей состоит в облегчении процесса создания независимых сетей, которые затем должны связываться с помощью протоколов сетевого уровня. Для решения этой задачи до появления технологии виртуальных сетей использовались отдельные повторители, каждый из которых образовывал независимую сеть. Затем эти сети связывались маршрутизаторами в единую интерсеть (рис. 73).
Рис. 73. Интерсеть, состоящая из сетей, построенных на основе повторителей
При изменении состава сегментов (переход пользователя в другую сеть, дробление крупных сегментов) при таком подходе приходится производить физическую перекоммутацию разъемов на передних панелях повторителей или в кроссовых панелях, что не очень удобно в больших сетях - много физической работы, к тому же высока вероятность ошибки.
Поэтому для устранения необходимости физической перекоммутации узлов стали применять многосегментные повторители (рис. 74). В наиболее совершенных моделях таких повторителей приписывание отдельного порта к любому из внутренних сегментов производится программным путем, обычно с помощью удобного графического интерфейса. Примерами таких повторителей могут служить концентратор Distributed 5000 компании Bay Networks и концентратор PortSwitch компании 3Com. Программное приписывание порта сегменту часто называют статической или конфигурационной коммутацией.
Рис. 74. Многосегментный повторитель с конфигурационной коммутацией
Однако, решение задачи изменения состава сегментов с помощью повторителей накладывает некоторые ограничения на структуру сети - количество сегментов такого повторителя обычно невелико, поэтому выделить каждому узлу свой сегмент, как это можно сделать с помощью коммутатора, нереально. Поэтому сети, построенные на основе повторителей с конфигурационной коммутацией, по-прежнему основаны на разделении среды передачи данных между большим количеством узлов, и, следовательно, обладают гораздо меньшей производительностью по сравнению с сетями, построенными на основе коммутаторов.
При использовании технологии виртуальных сетей в коммутаторах одновременно решаются две задачи:
повышение производительности в каждой из виртуальных сетей, так как коммутатор передает кадры в такой сети только узлу назначения; изоляция сетей друг от друга для управления правами доступа пользователей и создания защитных барьеров на пути широковещательных штормов.
Для связи виртуальных сетей в интерсеть требуется привлечение сетевого уровня. Он может быть реализован в отдельном маршрутизаторе, а может работать и в составе программного обеспечения коммутатора.
Типы виртуальных сетей
Технология образования и работы виртуальных сетей с помощью коммутаторов долгое время была не стандартизована, хотя и была реализована в очень широком спектре моделей коммутаторов разных производителей. Такое положение должно скоро измениться, так как институт IEEE в апреле окончательно принял спецификации 802.1q/p, которые описывают стандартный способ построения виртуальных сетей.
В виду долгого отсутствия стандартов каждый производитель разработал свою технологию построения виртуальных сетей, которая, как правило, была несовместима с технологией других производителей. Поэтому виртуальные сети проще создавать пока на оборудовании одного производителя. Исключение составляют только виртуальные сети, построенные на основе спецификации LANE (LAN Emulation), предназначенной для обеспечения взаимодействия АТМ-коммутаторов с традиционным оборудованием локальных сетей.
Существует несколько способов построения виртуальных сетей:
Группировка портов. Группировка МАС-адресов. Использование меток в дополнительном поле кадра - частные протоколы и спецификации IEEE 802.1 Q/p. Спецификация LANE для АТМ-комутаторов. Использование сетевого уровня.
VLAN на основе группировки МАС-адресов
Второй способ, который используется для образования виртуальных сетей основан на группировании МАС-адресов. При существовании в сети большого количества узлов этот способ требует выполнения большого количества ручных операций от администратора. Однако, он оказывается более гибким при построении виртуальных сетей на основе нескольких коммутаторов, чем способ группирования портов.
Рис. 76. Построение виртуальных сетей на нескольких коммутаторах с группировкой портов
Рисунок 76 иллюстрирует проблему, возникающую при создании виртуальных сетей на основе нескольких коммутаторов, поддерживающих технику группирования портов. Если узлы какой-либо виртуальной сети подключены к разным коммутаторам, то для соединения коммутаторов каждой такой сети должна быть выделена своя пара портов. В противном случае, если коммутаторы будут связаны только одной парой портов, информация о принадлежности кадра той или иной виртуальной сети при передаче из коммутатора в коммутатор будет утеряна. Таким образом, коммутаторы с группировкой портов требуют для своего соединения столько портов, сколько виртуальных сетей они поддерживают. Порты и кабели используются при таком способе очень расточительно. Кроме того, при соединении виртуальных сетей через маршрутизатор для каждой виртуальной сети выделяется в этом случае отдельный кабель, что затрудняет вертикальную разводку, особенно если узлы виртуальной сети присутствуют на нескольких этажах (рис. 77).
Рис. 77. Соединение виртуальных сетей, построенных на группировании портов, через маршрутизатор
Группирование МАС-адресов в сеть на каждом коммутаторе избавляет от необходимости их связи несколькими портами, однако требует выполнения большого количества ручных операций по маркировке МАС-адресов на каждом коммутаторе сети.
VLAN на основе группировки портов
При создании виртуальных сетей на основе одного коммутатора обычно используется механизм группирования в виртуальные сети портов коммутатора (рис. 75).
Рис. 75. Виртуальные сети, построенные на одном коммутаторе с помощью группировки портов
Это логично, так как виртуальных сетей, построенных на основе одного коммутатора, не может быть больше, чем портов. Если к одному порту подключен сегмент, построенный на основе повторителя, то узлы такого сегмента не имеет смысла включать в разные виртуальные сети - все равно трафик этих узлов будет общим.
Создание виртуальных сетей на основе группирования портов не требует от администратора большого объема ручной работы - достаточно каждый порт приписать к нескольким заранее поименованным виртуальным сетям. Обычно, такая операция выполняется путем перетаскивания мышью графических символов портов на графические символы сетей.