Какой интерфейс подключения выбрать для первой блочной схд в компании

Прежде чем говорить об аппаратном обеспечении и SAN, нужно всё-таки начать с того, что из себя SAN представляет в принципе, откуда он появился и почему.

Когда то давно, на заре компьютерной эры, внешние устройства хранения обычно подключались напрямую к серверам (DAS - Direct-attached storage), используя SCSI, но из-за крайне стремительного роста требования к системам хранения данный подход стал слишком неэффективным. Для изменения конфигурации хранилища, подключенного по технологии DAS требовало физического отключения сервера, построение отказоустойчивых систем то же было затруднительно ввиду необходимости иметь физическое подключение всех серверов ко всем устройствам хранения, а жёсткие ограничения по максимальному расстоянию между устройствами делали подобные расширения порой слишком сложными, да и производительность SCSI оставляла желать лучшего. Изменение подхода к подключению внешних хранилищ позволило получить следующие преимущества:

  • Изменение конфигураций хранилищ не затрагивает работу серверов и сервисов
  • Расстояние между устройствами позволило строить катастрофоустойчивые хранилища, расположенные на удалённых площадках
  • Любой сервер может получить доступ к любому устройству хранения в SAN сети

Обычно говоря SAN подразумевают сети на безе протокола Fibre Channel, но стоит отметить что протокол iSCSI позволяет строить аналогичные по своим характеристикам сети, основанные на IP сетях. Изначально, переход от SCSI к Fiber Channel был обусловлен желанием увеличить расстояние подключения, а не пропускную способность. Первая версия протокола, появившаяся в 1997 году, предоставляла скорость в 1Gb/s. Каждая новая версия прокола, постоянно "удваивает" скорость предыдущего поколения. На данный момент, актуальным является 6 поколение протокола, работающего на скорости 32/128Gb/s.

Fibre channel, как сетевой протокол, состоит из нескольких уровней:
FC-0 Физический : в котором описывается среда передачи данных, характеристики кабелей, трансиверов, HBA. Физические и электрические характеристики, скорость передачи данных.
FC-1 Кодирование : описывает как данные будут кодироваться/декодироваться (8/10 или 64/66) для передачи
FC-2 Кадрирование и сигнализация : определяет структуру передаваемой информации, занимается контролем целостности данных и управляет непосредственно передачей данных. На этом уровне происходит разбиение потока данных на кадры и сборка кадров. Определяет правила передачи данных между двумя портами, классы обслуживания.
FC-3 Общий для узла служб : заложен для нового функционала, который может быть реализован в протоколе, но на данный момент этот уровень не используется
FC-4 Отображения протоколов : описывает протоколы, которые для своей работы могут использоваться FC: проброс SCSI (SCSI-FCP) или TCP/IP (FC-LE)

Так же как и в сетевом протоколе, любое устройство в SAN сети имеет собственный уникальный 64-разряднй идентификатор - WWN, задаваемый производителем (аналогия с MAC-адресом сетевого устройства), так же каждое устройство получает 24-х битный адрес в сети, который дается при подключении устройства. Основой SAN сети является Фабрика - совокупность всех подключенных к сети устройств. Стоит отметить, что фабрика сама по себе является единой точкой отказа, по этому в SAN сетях нормальной практикой является построение нескольких параллельных фабрик (обычно двух), которые являются зеркальным отражением друг друга. Это позволяет строить отказоустойчивые решения. Хотя порой фабрики могут и отличаться (к примеру, дублируется подключение только критически важных систем) - всё зависит от возлагаемых на них задач.

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


Start of Frame - 4 байта - идентификатор начала фрейма.
Header - 24 байта - заголовок. Содержит такую информацию как адрес источника и приёмника, тип фрейма, номер последовательности и порядковый номер фрейма в ней и прочая служебно-контрольная информация.
Data - 0-2112 байт - непосредственно данные.
CRC - 4 байта - контрольная сумма.
End of Frame - 4 байта - идентификатор конца фрейма.

Последовательность представляет собой набор кадров, которые передаются из одной точки в другую. Для исправления возможных ошибок каждый кадр содержит уникальный счетчик последовательности. Исправление ошибок осуществляется протоколом более высокого уровня, обычно на уровне FC-4. Несколько последовательностей составляют обмен (exchange). Обмены представляют собой последовательности двусторонних направлений; т.е. в обмен входят последовательности данных, передающихся в разных направлениях, хотя каждая последовательность передается только в одном направлении. При каждом обмене только одна последовательность может быть активна в текущий момент времени. Но, так как одновременно могут быть активны несколько обменов, различные последовательности из этих обменов также могут быть активны одновременно. Каждый обмен выполняет одну функцию, например реализует команду SCSI Read.


Типы портов :
Порты узлов :
N_Port (Node port), порт устройства с поддержкой топологии FC-P2P («Точка-Точка») или FC-SW (с коммутатором).
NL_Port (Node Loop port), порт устройства с поддержкой топологии FC-AL (arbitrated loop - управляемая петля).

Порты коммутатора/маршрутизатора (только для топологии FC-SW) :
F_Port (Fabric port), порт «фабрики» (switched fabric - коммутируемая связная архитектура). Используется для подключения портов типа N_Port к коммутатору. Не поддерживает топологию петли.
FL_Port (Fabric Loop port), порт «фабрики» с поддержкой петли. Используется для подключения портов типа NL_Port к коммутатору.
E_Port (Expansion port), порт расширения. Используется для соединения коммутаторов. Может быть соединён только с портом типа E_Port.
EX_port порт для соединения FC-маршрутизатора и FC-коммутатора. Со стороны коммутатора он выглядит как обычный E_port, а со стороны маршрутизатора это EX_port.
TE_port (Trunking Expansion port (E_port)) внесен в Fibre Channel компанией CISCO, сейчас принят как стандарт. Это расширенный ISL или EISL. TE_port предоставляет, помимо стандартных возможностей E_port, маршрутизацию множественных VSANs (Virtual SANs). Это реализовано применением нестандартного кадра Fibre Channel (vsan-тегирование).

Общий случай :
U_Port (Universal port), порт, который ещё не определился в каком режиме он работает. Обычно после инициализации становится F_Port или E_Port.
L_Port (Loop port), любой порт устройства с поддержкой топологии «Петля» - NL_port или FL_port.
G_port (Generic port), порт с автоопределением. Автоматически может определяться как порт типа E_Port, N_Port, NL_Port.

SAN состоит из :

  • Узлы, ноды
    • Дисковые массивы (системы хранения данных)
    • Серверы
    • Ленточные библиотеки
  • Сетевая инфраструктура
    • Коммутаторы (и маршрутизаторы в сложных и распределённых системах)
    • Директоры - многопортовые модульные коммутаторы с высокой степенью доступности.
    • Выделенные коммутаторы (standalone switches) - коммутаторы с фиксированным количеством портов.
    • Стэкируемые коммутаторы (stackable switches) - коммутаторы, имеющие дополнительные высокопроизводительные порты для связи независимых шасси между собой.
    • Встраиваемые коммутаторы (embedded switches) - коммутаторы, встраиваемые в блейд-корзину, где есть разделение портов на функции (порты, предназначенные для подключения blade-серверов, не могут быть использованы для межкоммутаторных соединений).

Сердцем оборудование для SAN сетей является ASIC (application specific integrated circuit) - специализированная схема, разработанная компанией Brocade для возможности реализации большей части функционала оборудования на аппаратном уровне, что в итоге приводит к более высокой производительности и надёжности. Именно использование ASIC позволяет удерживать столь низкие задержки в SAN-сетях.

Он обеспечивает плавный переход между FC-0 и FC-1, занимаясь:

  • Encoder / Decoder - обеспечивает кодирование каждых 8 бит передаваемых данных в 10-битное представление. И декодирование обратно принимаемых данных.
  • SERDES (Serializer / Deserializer) - преобразует параллельный поток 10-битных порций данных в последовательный поток 10-битных порций данных.
  • Transceiver - преобразует электрические импульсы в световые сигналы.

ASIC обслуживает сами порты, при этом - ОС коммутатора работает на отдельных чипах, по этому при обновлении прошивки коммутатора у вас нет недоступности. На момент перезагрузки ОС - ASIC продолжает обслуживать текущие соединения, но блокирует установление новых. Подробнее об этом мы поговорим 6 части материала.

И раз уж на картинке выше у нас есть SFP:
SFP - это отдельные модули, необходимые для подключения кабеля к порту, но о них подробнее, о их типах и различиях я буду говорить в следующих материалах.

Я очень надеюсь что всё что я смог выжать из себя сегодня - удобоваримо и понятно для читателя. Ведь без основ двигаться дальше очень сложно, с точки зрения понимания процессов работы системы. Лично для меня - теория всегда была самой сложной частью. Не все вещи можно просто понять, как "трава зелёная", некоторые вещи нужно просто принять и запомнить как они работают.

Дмитрий Ганьжа
ответственный редактор LAN

Краткий общий обзор технологии Fibre Channel.

Если говорить кратко, Fibre Channel представляет собой сверхвысокоскоростную (до 1 Гбит/с и выше) схему полнодуплексной передачи данных с малой задержкой (10-30 мкс) на расстояния до 10 км. Она в равной мере может использоваться и как технология ввода/вывода, и как технология локальной сети.

В названии технологии ("волоконный канал", как можно было бы перевести Fibre Channel на русский язык) оба слова не вполне соответствуют действительности. Физической средой передачи может быть не только оптическое волокно, но и коаксиал, и витая пара, а архитектура представляет собой смесь канальной и сетевой топологии!

УРОВНЕВАЯ МОДЕЛЬ

По сути, Fibre Channel составляет целый комплекс стандартов, многие из которых разрабатываются независимо. Они представляются в виде пятиуровневой модели (см. Рисунок 1), причем каждый из этих уровней, по мысли разработчиков, должен реализовываться в виде отдельных аппаратных компонентов. Эта модель не имеет прямого соответствия с эталонной моделью OSI. Однако, как мы увидим ниже, первый и второй уровни (точнее, нулевой и первый - FC-0 и FC-1) Fibre Channel соответствуют физическому уровню OSI, а третий (второй - FC-2) уровень - подуровню MAC канального уровня OSI.

Уровень FC-0 описывает физические характеристики и возможные типы интерфейсов и среды передачи, в том числе кабели, соединители, излучатели, передатчики и приемники. FC-1 определяет схему кодирования и декодирования сигнала 8B/10B. FC-2 выполняет основные функции Fibre Channel, в том числе сигнализацию, т. е. установление соединения между отправителем и получателем; сегментацию, сборку и упорядочивание передаваемых кадров; контроль потоков с помощью схемы скользящего окна, обнаружение и исправление ошибок; реализацию сервисных классов. Все вместе эти три уровня образуют так называемый физический уровень Fibre Channel (Fibre Channel Physical, FC-PH).

FC-3 описывает общие процедуры (хотя, наверно, их было бы правильнее назвать специальными) для таких особых ситуаций, как запись данных с чередованием на дисковый массив или многоадресная рассылка через видеосервер. FC-4 обеспечивает преобразование различных сетевых протоколов и приложений для их реализации поверх Fibre Channel. Как можно видеть из Рисунка 1, Fibre Channel способен поддерживать самые разные по своей природе сетевые протоколы, интерфейсы ввода/вывода и приложения.

ТОПОЛОГИЯ

Fibre Channel определяет три топологии (см. Рисунок 2), а именно "точка-точка" (Point-to-Point), "арбитражная петля" (Arbitrated Loop) и "коммутирующая структура" (Fabric).

Простейшей топологией является, очевидно, "точка-точка". Она состоит из двух устройств Fibre Channel и прямого соединения между ними. Одно волокно связывает приемник на одном устройстве с передатчиком на другом устройстве, а второе - передатчик с приемником. (В этой статье под волокном мы будем подразумевать как оптическое волокно, так и отдельную витую пару и жилу коаксиального кабеля.) Оба устройства могут, естественно, использовать всю пропускную способность соединения, но при этом они должны работать на одной скорости.

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

За неимением лучшего русскоязычного термина мы будем называть топологию Fabric коммутирующей структурой. Коммутируемая топология предусматривает использование коммутатора(-ов), но позволяет за счет этого подключить свыше 16 млн устройств. К коммутатору могут подключаться устройства с разными скоростями передачи и по разным физическим средам.

ТИПЫ ПОРТОВ

В зависимости от типа устройства, своего назначения и поддерживаемой топологии порты делятся на несколько типов. Порт Fibre Channel на конечном устройстве (сервере, дисковом массиве, принтере и т. п.) называется "узловой порт" (Node Port, N_Port). Порт на коммутаторе, к которому подключается узловой порт, называется "коммутирующий порт" (Fabric Port, F_Port). Если же эти порты могут подключаться к арбитражной петле, то они маркируются дополнительно буквой L от английского loop, т. е. "петля". Таким образом, соответствующие порты на узле и коммутаторе будут обозначаться как NL_Port и FL_Port.

Помимо F_Port коммутатор может иметь еще и порт расширения (Expansion Port, E_Port). Этот порт предназначен для подключения одного коммутатора к другому. Если к порту расширения может быть подключен не только другой коммутатор, но и узел, то такой порт именуется универсальным портом (Generic Port, G_Port). При условии, что он поддерживает арбитражную петлю, универсальный порт может маркироваться как GL_Port.

РАЗНОВИДНОСТИ ОБОРУДОВАНИЯ

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

Эти проблемы можно решить за счет использования концентраторов Fibre Channel. Кроме того, физическая топология "звезда" (хотя логически это по-прежнему кольцо), как правило, гораздо удобнее с точки зрения подключения узлов, чем кольцо. Обычно концентраторы имеют не более 10 портов. Однако это ограничение легко преодолеть за счет каскадного подключения концентраторов. Правда, как показывает практика, оптимально арбитражная петля функционирует, когда число узлов не превышает 30.

Отказоустойчивость концентраторов к разрывам петли достигается за счет применения схемы обхода портов (Port Bypass Circuit, PBC). PBC позволяет автоматически обнаружить наличие узла и включить его в петлю. Аналогично PBC обнаруживает отказ узла и исключает его из петли (PBC также может быть реализована на уровне внутренней шины дискового массива). Наиболее продвинутые концентраторы поддерживают удаленное управление и другие развитые функции.

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

Коммутатор Fibre Channel, по сути, объединяет два типа коммутаторов в одном устройстве, так как поддерживает коммутацию как с установлением соединения, так и без оного (условно говоря, он обладает чертами как телефонного коммутатора каналов, так и локально-сетевого коммутатора кадров). Некоторые производимые коммутаторы осуществляют только коммутацию каналов (как первый появившийся на рынке коммутатор компании Ancor Communications), другие же - только коммутацию кадров.

Коммутаторы Fibre Channel просты в установке и использовании благодаря самоконфигурации и самоуправлению. При подключении узла к коммутатору он регистрируется на коммутаторе и согласует с ним взаимоприемлемые параметры. При подключении коммутатора к коммутатору они определяют конфигурацию и адреса. Все операции осуществляются автоматически. В случае универсального порта (GL_Port) коммутатор также сам устанавливает, к чему он подключен - к другому коммутатору, к петле или к узлу.

Однако для организации взаимодействия между устройствами в нескольких петлях дешевле использовать не коммутатор, а коммутирующий (или гибридный) концентратор. Наиболее редко встречающимся устройством является маршрутизатор Fibre Channel (хотя, возможно, более правильно было бы называть его мостом). Он позволяет подключить сеть Fibre Channel к другой среде передачи, например к SCSI или Ethernet.

До сих пор мы говорили о, так сказать, структурообразующих устройствах Fibre Channel. Однако самыми распространенными устройствами являются, естественно, адаптеры Fibre Channel. Без них никакой узел не смог бы взаимодействовать с коммутирующей структурой Fibre Channel. Одни и те же адаптеры могут служить для соединения как с локальной сетью (другими узлами), так и с периферией. Это позволяет, в частности, сократить число необходимых слотов ввода/вывода. Большинство адаптеров выпускается для шины PCI. Часто вместе с адаптерами используются "гигабитные переходники" (GigaBit Interface Converter). Они служат для преобразования оптических сигналов в электрические и обратно.

КЛАССЫ СЕРВИСА

Коммутаторы и узлы могут поддерживать один или более видов сервиса. Никакой ручной настройки не требуется, так как общие поддерживаемые коммутаторами и узлами сервисы определяются во время процедуры регистрации. Благодаря сервисам Fibre Channel может поддерживать множество различных приложений. Сервисы делятся на классы. Основными являются Классы 1, 2 и 3. Всего же Fibre Channel имеет 6 или 7 разных видов сервиса (такая неопределенность связана с тем, что Класс 5, видимо, так и не будет определен, а Класс Intermix не имеет собственного номера и часто не рассматривается как отдельный вид сервиса).

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

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

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

Остальные классы часто не выделяются в самостоятельные, а считаются подвидами перечисленных. Класс Intermix представляет собой комбинацию Класса 1 и Класса 2 (3). Он позволяет передавать кадры Класса 2 или 3, когда кадры Класса 1 не передаются, причем кадры Классов 2 или 3 вовсе не обязательно должны быть адресованы тому же получателю, что и кадры Класса 1.

Как и Класс 1, Класс 4 предполагает установление соединения, гарантию доставки, фиксированную задержку, соблюдение исходного порядка кадров. Однако он требует резервирования лишь части пропускной способности, т. е. узловой порт может иметь и другие соединения. Узел может зарезервировать до 256 соединений Класса 4 одновременно, причем каждое из них может иметь свои параметры QoS. Иногда этот класс сервиса называется изохронным. Наилучшим образом он подходит для передачи цифрового видео и аудио.

Как Intermix и Класс 4, Класс 6 представляет собой разновидность Класса 1. Он используется, когда узлу необходимо передать кадры сразу нескольким узлам одновременно, т. е. в случае многоадресной рассылки. Для этого узел устанавливает выделенное соединение с сервером многоадресной рассылки, адрес которого фиксирован (FFFFF5 в шестнадцатеричном формате), а тот уже берет на себя задачу тиражирования и пересылки кадров всем получателям в многоадресной группе.

ХАРАКТЕРИСТИКИ FIBRE CHANNEL

Завершая описание Fibre Channel, нельзя не упомянуть основные характеристики этой технологии. Fibre Channel позволяет поддерживать самые разные скорости - от 133 Кбит/с до 4,252 Мбит/с и даже более. Одна из целей разработки Fibre Channel состояла, в частности, в поддержке HIPPI на 100 Мбайт/с. Поэтому основной скоростью передачи данных - так называемой полной скоростью - является 100 Мбайт/с (остальные скорости указываются часто в долях от основной скорости - одна восьмая, четвертая, вторая, двойная, учетверенная). Однако, с учетом накладных расходов на кодирование 8B/10B, заголовки кадров и т. д., скорость передачи собственно битов составляет 1,063 Мбит/с. Таким образом, производители приводят, как правило, две скорости - "полезную", в байтах за секунду, и "чистую", в битах за секунду.

Поддерживаемые расстояния и скорости передачи зависят от типа используемой среды передачи и генераторов сигнала. Как уже упоминалось, Fibre Channel может функционировать как по оптической, так и по медной среде передачи, при этом одно волокно предназначено для передачи сигнала, а другое - для приема. В случае оптики это может быть многомодовое волокно 50/125 мкм и 62,5/125 мкм и одномодовое волокно с соединителями SC. В случае меди это может быть коаксиальный кабель, в частности видеокабель с соединителями TNC (приемник) и BNC (передатчик), а также экранированная витая пара с соединителями DB-9.

Наибольшие скорости (до 4 Гбит/с) и расстояния (до 10 км) достигаются в случае применения одномодового оптического волокна и низкочастотных лазеров. Многомодовое волокно способно поддерживать такие же скорости, но на гораздо меньших расстояниях, в частности 100 Мбайт/с на расстояниях до 500 м в случае многомодового волокна 50/125 мкм с высокочастотным лазером. Медная среда передачи позволяет поддерживать скорости не выше основной на небольших расстояниях (100 м и менее).

ПРОМЕЖУТОЧНЫЙ ФИНИШ

Хотя и не настолько сложная как ATM, технология Fibre Channel описывается несколькими стандартами (некоторые даже считают, что расширение ее возможностей и, как следствие, ее усложнение - может отрицательно сказаться на ее перспективах). Очевидно, что в одной небольшой ознакомительной статье можно дать только общее описание технологии, что мы и постарались сделать. Однако многие важные подробности пришлось опустить, в частности, как осуществляется арбитраж и управление потоками, что собой представляют кадры Fibre Channel и кодирование 8B/10B и т. д. Поэтому мы намерены продолжить рассмотрение этой темы в следующем номере.

ANSI в 1988 году. В настоящее время Fibre Channel конкурирует как с Ethernet , так и с SCSI . (См. http://www.prz.tu-berlin.de/docs/html/EANTC/INFOSYS/fibrechannel/detail , http://www.fibrechannel.com/technology/physical.htm и http://www.ancor.com , http://www.iol.unh.edu/training/fc/fc_tutorial.html .) Он легко стыкуется с протоколами локальных и региональных сетей. Fibre Channel имеет уникальную систему физического интерфейса и форматы кадров, которые позволяют этому стандарту обеспечить простую стыковку с канальными протоколами IPI ( Intelligent Peripheral Interface ), SCSI , HIPPI , ATM , IP и 802.2. Это позволяет, например, организовать скоростной канал между ЭВМ и дисковой накопительной системой RAID . Быстродействие сетей Fibre Channel составляет n x 100Мбайт/с при длинах канала 10 км и более. Предусмотрена работа и на меньших скоростях (например, 12,5 Мбайт/c). Максимальная скорость передачи сегодня составляет 4,25 Гбод. В качестве транспортной среды может использоваться одномодовое или мультимодовое оптическое волокно. Допускается применение медного коаксиального кабеля и скрученных пар (при скоростях до 200 Мбайт/с). Fibre Channel имеет шесть независимых классов услуг (каждый класс представляет определенную стратегию обмена информацией), которые облегчают решение широкого диапазона прикладных задач ( таблица 14.11 .). Таблица 14.11.
Класс 1 Соединение с коммутацией каналов по схеме "точка-точка" между портами типа n_port. Класс удобен для аудио- и видеоприложений, например видеоконференций. После установления соединения используется вся доступная полоса пропускания канала. При этом гарантируется, что кадры будут получены в том же порядке, в каком они были посланы
Класс 2 Обмен без установления соединения с коммутацией пакетов, гарантирующий доставку данных. Так как соединение не устанавливается, порт может взаимодействовать одновременно с любым числом портов типа n_port, получая и передавая кадры. Здесь не может быть гарантии того, что кадры будут доставлены в том же порядке, в каком были переданы (за исключением случаев соединения "точка-точка" или "арбитражное кольцо"). В этом классе допустимы схемы управления потоком "буфер-буфер" и "точка-точка". Этот класс характерен для локальных сетей, где время доставки данных не является критическим
Класс 3 Обмен дейтограммами без установления соединения и без гарантии доставки. Схема управления потоком "буфер-буфер". Применяется для каналов scsi
Класс 4 Обеспечивает выделение определенной доли пропускной способности канала с заданным значением качества обслуживания (QoS). Работает только с топологией fabric, где соединяются два порта типа n_port. При этом формируется два виртуальных соединения, обслуживающих встречные потоки данных. Пропускная способность этих соединений может быть различной. Как и в классе 1, здесь гарантируется порядок доставки кадров. Допускается одновременное соединение более чем с одним портом типа n_port. Используется схема управления потоком "буфер-буфер". Каждое виртуальное соединение управляется независимо с помощью сигнала-примитива fc_rdy
Класс 5 Предполагает изохронное обслуживание
Класс 6 Предусматривает мультикастинг-обслуживание в рамках топологии типа fabric. При этом используется стандартный адрес 0xfffff5. n_port становится членом мультикаст-группы путем регистрации по адресу 0xfffff8

Fibre Channel использует пакеты переменной длины (до 2148 байт ), содержащие до 2112 байт данных. Такая длина пакета заметно снижает издержки, связанные с пересылкой заголовков (эффективность 98%). С этой точки зрения в наихудшем положении оказывается ATM (83% эффективность 48 байт данных при 53-байтном пакете). Только FDDI превосходит Fibre Channel по этому параметру (99%). В отличие от других локальных сетей, использующих 6-октетные адреса, fibre channel работает с 3-байтовыми адресами, распределяемыми динамически в процессе выполнения операции login . Адрес 0xffffff зарезервирован для широковещательной адресации. Адреса же в диапазоне 0xfffff0-0xfffffe выделены для обращения к структуре fabric , мультикастинг-серверу и серверу псевдонимов (alias-server). n_port передает кадры от своего source_id (s_id) к destination_id (d_id). До выполнения операции fabric login s_id порта не определен. В случае арбитражного кольца применяются 3-октетные адреса al_pa, задаваемые при инициализации кольца. Для однозначной идентификации узлов используются 64-битовые имена-идентификаторы.

Формат пакетов в сетях Fibre Channel показан на рис. 14.7 . Здесь используются 24-битовые адреса, что позволяет адресовать до 16 миллионов объектов. Сеть может строить соединения по схеме " точка-точка ", допускается и кольцевая архитектура с возможностью арбитража (FC-al) и другие схемы (например fabric , допускающие большое число независимых обменов одновременно). Схема кольцевого соединения показана на рис. 14.8 . К кольцу может быть подключено до 128 узлов. Протокол Fibre Channel предусматривает 5 уровней, которые определяют физическую среду, скорости передачи, схему кодирования, форматы пакетов, управление потоком и различные виды услуг. На физическом уровне ( FC-ph , 1993 год) предусмотрены три подуровня. FC использует оптические волокна диаметром 62,5, 50 мкм и одномодовые. Для обеспечения безопасности предусмотрен опционный контроль подключенности оптического разъема ( OFC ). Для этого передатчик время от времени посылает короткие световые импульсы приемнику. Если приемник получает такой импульс, процесс обмена продолжается ( таблица 14.12 .).

Таблица 14.12.
FC-0 Определяет физические характеристики интерфейса и среды, включая кабели, разъемы, драйверы ( ECL , LED , лазеры), передатчики и приемники. Вместе с FC-1 этот уровень образует физический слой
FC-1 Определяет метод кодирования/декодирования (8B/10B) и протокол передачи, где объединяется пересылка данных и синхронизирующей информации
FC-2 Определяет правила сигнального протокола, классы услуг, топологию, методику сегментации, задает формат кадра и описывает передачу информационных кадров
FC-3 Определяет работу нескольких портов на одном узле и обеспечивает общие виды сервиса
FC-4 Обеспечивает реализацию набора прикладных команд и протоколов вышележащего уровня (например, для SCSI, IPI , IEEE 802, SBCCS, HIPPI , IP, ATM и т.д.)


Рис. 14.7.

FC-0 и FC-1 образуют физический уровень , соответствующий стандартной модели ISO .

Стандарт FC допускает соединение типа " точка-точка ", "арбитражное кольцо" и "структура" (верх, середина и низ рисунка 14.8). Кольцевая архитектура обеспечивает самое дешевое подключение. Система арбитража допускает обмен только между двумя узлами одновременно. Следует учесть, что кольцевая структура не предполагает применения маркерной схемы доступа . Когда подключенное к сети устройство готово передать данные, оно передает сигнал-примитив ARBX, где X - физический адрес устройства в кольце арбитража (al_pa). Если устройство получит свой собственный сигнал-примитив ARBX, оно получает контроль над кольцом и может начать передачу. Инициатор обмена посылает сигнал-примитив open (OPN) и устанавливает связь с адресатом. Время удержания контроля над кольцом не лимитируется. Если контроль над кольцом одновременно пытаются захватить два устройства, сравниваются значения X сигналов ARB. Устройство с меньшим al_pa получает преимущество, прибор с большим al_pa блокируется.

Прежде чем использовать кольцо, его нужно инициализировать (процедура LIP ), так чтобы каждый порт получил свой физический адрес (al_pa - один октет , что и определяет максимальное число портов в кольце арбитража). Процедура инициализации начинается сразу после включения питания посылкой сигнала -примитива LIP через порт l_port. Затем осуществляется выбор устройства, которое будет управлять процессом выбора al_pa.

Перед передачей октеты преобразуются в 10-битовые кодовые последовательности, называемые символами передачи ( кодировка IBM 8B/10B ). Логической единице соответствует больший уровень световой энергии.


Рис. 14.8.

В Fibre Channel предусмотрено два режима обмена: "буфер-буфер" и " точка-точка ". Передача данных осуществляется, только когда принимающая сторона готова к этому. Прежде чем что-либо посылать, стороны должны выполнить операцию login . В ходе выполнения операции login определяется верхний предел объема пересылаемых данных (credit). Значение параметра credit задает число кадров, которые могут быть приняты. После передачи очередного кадра значение credit уменьшается на единицу. Когда значение этой переменной достигает нуля, дальнейшая передача блокируется до тех пор, пока получатель не обработает один или более кадров и не будет готов продолжить прием. Здесь очевидна довольно тесная аналогия с окнами в протоколе TCP . Режим обмена "буфер-буфер" предполагает установление связи между портами N_Port и F_Port или между двумя N_Port. При установлении соединения каждая из сторон сообщает партнеру, сколько кадров она готова принять ( значение переменной BB_Credit). Режим " точка-точка " реализуется между портами типа N_Port. Предельное число кадров, которые сторона может принять, задается переменной EE_Credit. Эта переменная устанавливается равной нулю при инициализации, увеличивается на единицу при передаче кадра и уменьшается при получении кадра ACK Link Control . Кадр ACK может указывать на то, что порт получил и обработал один кадр , N кадров или всю последовательность кадров. (См. также Definitions of Managed Objects for the Fabric Element in Fibre Channel Standard . K. Teow. May 2000, RFC-2837.)

14.2. Параллельный сетевой интерфейс HIPPI

Все рассматриваемые до сих пор системы передачи информации использовали исключительно последовательный код. На разных этапах эволюции телекоммуникаций предпочтение отдавалось и параллельному, и последовательному методам обмена данными. В данный момент параллельный интерфейс сохранился только для подключения принтеров. Главным преимуществом последовательных схем передачи информации является экономия на кабелях. Ниже описан еще один стандарт, где применен параллельный интерфейс (начало разработки относится к 1987 году). HIPPI (High Performance Parallel Interface , см. ftp://ftp.network.com ; http://www.cern.ch/hsi/hippi/spec/introduc.htm ; RFC-2067, IP over HIPPI , J. Renwick; RFC-1374, IP and ARP on HIPPI , J. Renwick, ANSI x3t9.3/90-043, 1990 и X3t9.3/91-005) представляет собой быстродействующий параллельный интерфейс , рассчитанный на пропускную способность 800 Мбит/с (но возможны версии со 100, 200 400 и 1600 Мбит/с). Разработка интерфейса выполнена в Лос-Аламосе. Позднее на базе этого интерфейса была подготовлена идеология сети.

Длина кода, передаваемого за один такт в HIPPI , составляет 32 разряда (версия HIPPI , рассчитанная на скорость 1600 Мбит/с, имеет длину кода 64 бита). Все пересылки являются симплексными. Существует стандарт Superhippi (HIPPI -6400, 6,4 Гбайт/с), который описывает систему передачи данных, в 8 раз более быстродействующую, чем HIPPI . Разработана версия последовательного HIPPI на скорость обмена 1,2 Гбод для коаксиального и оптоволоконного кабеля (до 10 км; версия HIPPI -FC - fiber channel ). Максимальное расстояние между станцией и переключателем составляет 25 м. Максимальное расстояние между станциями ("станция- переключатель -станция") равно 50 м. Предельное число станций зависит от типа используемых переключателей. Переключатели могут взаимодействовать друг с другом (HIPPI -SC), обеспечивая информационный обмен между станциями. Пример топологии сети HIPPI представлен на

6 Протокол Fibre Channel

В общем контексте Fibre Channel - это набор стандартов, разработанных в Национальном институте стандартизации США. Интерфейс Fibre Channel предоставляет высокопроизводительное последовательное подключение между хостом и единицами хранения, а также между самими единицами хранения. Стандарт позволяет обеспечить высокоскоростную передачу данных в сетях с топологией "точка-точка" и кольцо. Более того, Fibre Channel предоставляет все эти возможности вместе с проверкой ошибок.
В стандарте Fibre Channel определено пять функциональных уровней: от FC-0 до FC-4. Обратите внимание, что по практическим соображениям уровни FC-0, FC-1 и FC-2 реализуются аппаратно.

6.1 Уровень FC-0

Определяет физические характеристики интерфейса и носителя. В частности, посредством FC-0 определяются спецификации уровней сигналов, носителя и получателей/отправителей. Уровень FC-0 позволяет использовать несколько интерфейсов, что дает возможность выбирать разные скорости передачи данных и различные передающие среды. В качестве примера физической передающей среды можно привести медный провод, одномодовый и многомодовый кабели. Скорость передачи варьируется от 12,5 до 106,25 Мбайт/с.
Те, кто знаком с семиуровневой сетевой моделью ISO OSI, могут заметить, что FC-0 соответствует седьмому уровню модели ISO OSI.

6.2 Уровень FC-1

Определяет схемы кодирования и декодирования данных, сигналов и специальных символов, а также управление ошибками. Кроме того, уровень FC-1 отвечает за обслуживание линий связи.
Уровень FC-1 использует схему кодирования, которая называется 8В/10В. Схема проектировалась для того, чтобы обеспечить следующее:

■ эффективную синхронизацию данных;

■ расширенное обнаружение ошибок;

■ эффективное обнаружение управляющих символов;

■ упрощенное проектирование аппаратного обеспечения приемников/передатчиков.

Схема кодирования 8В/10В преобразует каждые 8 бит в два возможных значения, объемом 10 бит. Эти 10 бит используются в виде Ann.m, где А - значение К для индикации команды или D для индикации данных; nn - десятичное значения последних пяти битов байта; М - десятичное значение первых трех битов байта.
Два возможных значения появляются потому, что посредством спецификации выбирается одно из значений для кодирования данных при их передаче на базе недавней истории передачи. Это необходимо для того, чтобы обеспечить минимальное количество переходов состояния (между 0 и 1), что повысит эффективность передачи. Недавняя история передачи называется динамическим рассогласованием.
Как уже отмечалось, все данные кодируются с помощью 10 бит. Некоторые неиспользованные 10-битовые символы (в контексте данных) применяются для отделения фреймов и сигналов, включая сигналы о готовности порта для принятия данных, а также другие типы сигналов. Основное внимание уделяется обнаружению и исправлению ошибок на этапе передачи. Данные Fibre Channel всегда передаются группами по 4 байта, которые называются словами передачи (transmission words).

6.3 Уровень FC-2

Определяет передачу данных от одного узла к другому, т.е. непосредственно транспортный механизм. Уровень FC-2 формирует кадры, определяет классы обслуживания и службы регистрации связной архитектуры или портов. Этот уровень можно представить в качестве аналога уровню MAC (Media Access Control) в модели ISO OSI.

Рис. Иерархия передачи данных Fibre Channel

Уровень FC-2 определяет:

■ иерархию передачи данных Fibre Channel, которая включает в себя упорядоченные множества, кадры, последовательности и обмены;

■ управление потоком Fibre Channel;

■ протоколы FC-2;

■ классы обслуживания FC-2.

В Fibre Channel данные передаются с помощью кадров (frame). Кадр представляет собой эквивалент пакета TCP/IP. Кадры создаются из упорядоченных множеств и символов данных. Несколько кадров группируются вместе и формируют последовательность, а несколько последовательностей формируют обмен (exchange). Это демонстрируется на рисунке выше.

6.3.1 Упорядоченные множества Fibre Channel

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

■ Разделители кадров SOF (Start Of Frame) и EOF (End Of Frame), которые являются аналогами пакетов SOF и EOF в сетях Ethernet. В отличие от Ethernet, в Fibre Channel определено несколько вариантов SOF и EOF, поскольку уровнем FC-1 используется схема кодирования, формирующая несколько представлений для каждого передаваемого символа.

■ Два базовых сигнала для указания состояния порта.
Idle - указание, что порт готов для передачи или приема данных.
Receiver Ready - указание, что буфер интерфейса (устройства взаимодействия) готов для приема данных.

■ Базовая последовательность. Простое упорядоченное множество, которое регулярно передается для указания особого статуса порта. К особым статусам относятся:
Not Operational (NOS) - используется только в сетях с топологией "точка--точка" или в связной архитектуре (но не в кольце с разделением доступа) для указания на отказ в работе линии связи или появление определенной ошибки;
Offline (OLS) - передается во время инициализации порта или при получении базового статуса NOS; таким образом, в ответ на NOS порт отправляет ответ OLS;
Link Reset (LR) - используется для указания на необходимость повторной инициализации линии связи;
Link Reset Response (LS) - используется для указания, что данные LR получены и обработаны.

6.3.2 Кадр Fibre Channel

Как пакет IP является базовым элементом протокола Internet (IP), так и кадр представляет собой основной структурный элемент интерфейса Fibre Channel. Существует три типа кадров.
1. Кадры управления линией связи (link control frames), используемые для отправки команды управления линией связи.
2. Кадры данных линии связи (link data frames), используемые для отправки данных, необходимых для управления линией связи.
3. Кадры данных устройства (device data frames), которые содержат данные для протоколов более высокого уровня, например данные, считанные с жесткого диска.

Заголовок кадра Fibre Channel

На рисунке показан заголовок кадра Fibre Channel. Кадр проектировался для передачи 2048 байт данных и необязательного заголовка размером 64 байт. Подобный размер кадра позволяет передавать за один раз большой объем данных с минимальными накладными расходами (около 1,5%). Однако при этом другому узлу придется ждать, пока завершится передача большого кадра, что подразумевает увеличение задержек в передаче. Сравним это с протоколом ATM (Asynchronous Transfer Mode), где кадр имеет размер 53 байт и накладные расходы протокола составляют около 10%. Это позволяет снизить задержки, но время передачи определенного объема данных возрастает.
Каждый кадр начинается и заканчивается специальным ограничителем, как и в других сетевых протоколах. Это SQF и EOF соответственно. Каждый кадр имеет заголовок, выполняющий несколько функций. Одна из них - это предоставление адресов назначения и источника для обеспечения коммутации данных. Еще одна задача состоит в переносе информации для управления линией связи, включая управление самой передачей.
Другие поля заголовка кадра Fibre Channel рассматриваются ниже.

■ Поле Destination_Id используется для маршрутизации кадра. В топологиях "точка-точка" и кольцо с разделением доступа маршрутизация может проходить обычным образом, что не относится к топологии коммутируемой связной архитектуры. Поле Source_Id предназначено для передачи сообщений об ошибках и для предотвращения циклов данных при маршрутизации.

■ Поля R_CTL и Туре используются для сортировки различных кадров уровня FC-4 по их прибытию в точку назначения. Таким образом, эти поля указывают, содержит ли прибывший кадр данные интерфейса SCSI, протокола IP или другие данные. Значения поля Туре описываются в таблице.

■ Поле R_CTL используется для указания содержимого кадра. Кадр может содержать данные или информацию для управления линией связи; в последнем случае кадры могут быть запрошенными и незапрошенными.

Таблица Значения поля Туре в кадрах Fibre Channel

Значение

Описание

Базовое обслуживание линии связи

Порт Fibre Channel - расширенное обслуживание линии связи

Порт памяти

Инициализация памяти

Интерфейс ШЕЕ 802.2

Протокол Internet (IP)

Подчиненное устройство IPI (Intelligent Peripheral Interface)

Основное устройство IPI

Инициатор SCSI

Целевое устройство SCSI

Интерфейс HIPPI

Код SBCCS (Single-Byte Command Code Sets)

Зарезервировано для новых типов шины

Зарезервировано

Уникально для производителя

Прямой канал

■ Поле F_CTL используется для описания информации кадра, например первой или последней последовательности.

■ Поле DF_CTL указывает на присутствие или отсутствие необязательных заголовков;

■ Поля SEQ_Id и SEQ_CNT уникально идентифицируют счетчик последовательности обмена (см. раздел 4.6.3.3).

■ Поле 0X_Id (идентификатор обмена источника) используется для связывания кадра с определенным обменом исходного порта.

■ Поле RX_Id (идентификатор обмена ответчика) используется для связывания кадра с определенным обменом отвечающего порта.

■ Поле Relative Offset идентифицирует относительное смещение первого байта основного содержания кадра от базового адреса.

6.3.3 Последовательность Fibre Channel

Последовательность представляет собой набор кадров, которые передаются из одной точки в другую. Для исправления возможных ошибок каждый кадр содержит уникальный счетчик последовательности. Исправление ошибок осуществляется протоколом более высокого уровня, обычно на уровне FC-4. Обратите внимание, что все кадры в последовательности передаются в одном направлении (а не в обоих одновременно).

6.3.4 Обмен Fibre Channel

Несколько последовательностей составляют обмен (exchange). Обмены представляют собой последовательности двусторонних направлений; т.е. в обмен входят последовательности данных, передающихся в разных направлениях, хотя каждая последовательность передается только в одном направлении. При каждом обмене только одна последовательность может быть активна в текущий момент времени. Но, так как одновременно могут быть активны несколько обменов, различные последовательности из этих обменов также могут быть активны одновременно.
Каждый обмен выполняет одну функцию, например реализует команду SCSI Read.

6.3.5 Управление потоком Fibre Channel

Конечные узлы Fibre Channel взаимодействуют непосредственно друг с другом и не создают сеансовых подключений к промежуточным узлам.

Устройства не "подозревают" о коммутаторе связной архитектуры и концентраторе. Конечно, при этом коммутаторы и концентраторы обмениваются пакетами управления потоком с этими устройствами.
Механизм управления потоком требует, чтобы передающий порт не отправлял кадры быстрее, чем принимающий порт может их обработать. Порты Fibre Channel имеют буфера для временного хранения кадров и последующей их обработки. Под обработкой подразумевается отправка кадра на другой порт или передача кадра протоколу более высокого уровня. Схема управления потоком, которая используется в Fibre Channel, очень напоминает протокол плавающего окна в TCP/IP. Размер окна, представляющий собой количество кадров, которые можно отправить без подтверждения их приема, устанавливается сторонами обмена заранее. При этом согласованное значение не может быть изменено. Для каждого отправленного кадра размер окна уменьшается на единицу, а для каждого подтвержденного кадра - увеличивается на единицу. Управление потоком может осуществляться одним из двух способов: "точка-точка" или "буфер-буфер". При этом требуется совместное использование обоих методов.
Управление потоком по схеме "точка-точка" осуществляется между двумя конечными точками: источником данных (например, сервером) и получателем данных (например, жестким диском). Управление потоком "точка-точка" проводится между двумя портами типа N (между ними могут находиться промежуточные узлы). Два порта типа N регистрируют друг друга, в процессе чего каждый порт выделяет для себя определенное количество буферов у другого порта. Это количество называется резервированием буфера. Отправитель может отправлять количество кадров, не превышающее это значение. Получатель отправляет кадр АСК (позитивное подтверждение) для каждого успешно полученного и обработанного кадра, а отправитель при получении кадра АСК может увеличить значение резервирования (credit count) на единицу для каждого полученного кадра АСК. Получатель может подтвердить успешное получение нескольких кадров или даже целой последовательности и получатель должен будет, не ожидая подтверждения для каждого кадра в отдельности, увеличить количество кадров, которое можно отправлять.
Управление потоком по схеме "буфер-буфер" выполняется между двумя соседними узлами, которые представляют собой промежуточные узлы или находятся между конечным и промежуточным узлом. Таким образом, управление потоком от буфера к буферу выполняется между портами типа N или между портом F и портом N. Как уже отмечалось, порты обменивают-г ся данными, указывающими на количество буферов, зарезервированных для каждого узла. Эти значения могут отличаться, например один порт может выделить два буфера, а второй - четыре буфера. Получение кадра подтверждается кадром Receiver Ready, а не кадром АСК как в управлении потоком "точка-точка".

6.3.6 Протоколы FC-2

В стандартах Fibre Channel определены протоколы для управления передачей данных и линией связи. Кроме того, описаны дополнительные стандарты для поддержки протоколов более высокого уровня, применяемых на уровне FG-4. Эти протоколы описаны ниже.

■ Протокол Fabric Login, который определяет обмен параметрами между портом и коммутатором связной архитектуры.

■ Протокол Port Login, требующий, чтобы независимо от топологии ("точка-точка", кольцо с разделением доступа или коммутируемая связная архитектура) два порта проводили взаимную регистрацию перед подключением друг к другу. Взаимная регистрация выполняется с помощью специального кадра PL0GI. С помощью протокола Port Login обеспечивается использование двух важных функций.
Возможность получения информации о порте N, на котором выполняется регистрация. К такой информации относится описание классов обслуживания, поддерживаемых портом N.
Инициализация буфера резервирования для управления потоком "точка-точка". Обратите внимание, что в контексте прямого подключения управление потоком "точка-точка" ничем не отличается от управления потоком "буфер-буфер".

■ Протокол Data Transfer, определяющий, как данные протокола верхнего уровня (уровня FC-4) передаются с помощью схем управления потоком.

■ Протокол Arbitrated Loop, который определяет методы инициализации и управления кольцом.

6.3.7 Классы обслуживания FC-2

Интерфейс Fibre Channel проектировался для обеспечения различных способов передачи данных. Ряд служб отличается такими характеристиками:
■ тип сервисного подключения, т.е. аналогично TCP или без установки подключения, как в UDP;

■ поддержка многоабонентской доставки (multicast);

■ поддержка уведомления о доставке или невыполненной доставке;

■ поддержка гарантированной доставки кадров в том же порядке, в котором они были отправлены;

■ тип предоставляемых служб, например резервирование пропускной способности для соединения, если служба ориентирована на соединение;

■ тип механизмов управления потоком данных.
Для предоставления широкого диапазона вариантов передачи данных, определено неколько классов обслуживания.

■ Тип Class 1 определяет выделенное подключение, подобное подключению TCP/IP. Как и в TCP, Class 1 гарантирует, что кадры доставляются в той же последовательности, в которой они были отправлены. Тип Class 1 используется при передаче больших объемов данных, когда время, потраченное на установку соединения, на порядок меньше времени, необходимого для передачи данных.

■ Тип Class 2 определяет обслуживание без подключения (по аналогии с дейтаграммами), при котором кадры потенциально могут быть доставлены не в той последовательности, в которой они отправлялись (что подразумевает смену последовательности кадров протоколом более высокого уровня). Как и в случае использования сетевых протоколов, обслуживание Class 2 имеет смысл тогда, когда объем передаваемых данных достаточно мал и накладные расходы на установку соединения сравнимы с расходами на передачу самих данных. Получатель кадра Class 2 должен отправить подтверждение при получении кадра.

■ Тип Class 3 также подразумевает обслуживание без установки подключения. Основное отличие от Class 2 состоит в том, что подтверждать успешное получение кадра нет необходимости. Это сравнимо с дейтаграммами IP, метод использования которых иногда в шутку называется "отправь и молись".

■ Тип Class 4, который также называется Intermix, является необязательным классом обслуживания. Класс гарантирует определенную пропускную способность кадрам Class 1, а оставшаяся пропускная способность используется для кадров Class 2 и Class 3;

■ Тип Class 6 представляет собой однонаправленное, ориентированное на подключение обслуживание с предоставлением возможности многоабонентской доставки (Class 5 зарезервирован).
В таблице собрана вся информация о классах обслуживания Fibre
Channel.
Обратите внимание, что большинство поставщиков поддерживают классы 1, 2 и 3. В то же время некоторые поставщики поддерживают только классы, не ориентированные на соединение (Class 2 и Class 3).

Работа над стандартами протокола Fibre Channel началась еще в 1988 году. Первый стандарт американского института стандартов (American National Standards Institute - ANSI) был одобрен в 1994 году и назван стандартом FC-PH (ANSI Х3.230:1994). в качестве транспортного протокола первоначально разрабатывался для того, чтобы устранить недостатки современной параллельной инфрастуктуры Small Computer System Interface (SCSI), а также обеспечить более высокую скорость и большие возможности масштабирования. Хотя по протоколу Fibre Channel могут передаваться и данные других протоколов более высоких уровней, включая протоколы Intelligent Peripheral Interface (1PI), High-Performance Parallel Interface (HIPPI), IP и IEEE 802.2, однако в настоящее время он используется в первую очередь для передачи наборов команд и данных протокола SCSI. Организацией стандартов ANSI Tl I протокол Fibre Channel определяется как протокол, использующий модель уровневых служб. Спецификация ANSI FC-PH Physical and Signaling Interface определяет модель уровневых служб протокола Fibre Channel как показано на рис. 55.3.

Рис. 55.3. Модель уровневых ыужб

Каждый уровень этой модели определяет некоторый набор служб, каждый из которых опирается на работу нижнего по отношению к нему уровня и обслуживает вышележащий уровень. Из рисунка также видно, что протокол Fibre Channel разработан для поддержки нескольких протоколов верхнего уровня. Однако в настоящее время он в первую очередь используется в качестве транспортного протокола для передачи данных протокола SCSI-3.

В приведенном ниже списке описаны все уровни, показанные на рис. 55.3.

FC-0. Уровень FC-0 определяет спецификации физического интерфейса для различных сред передачи и связанных с ними приемников и передатчиков. В качестве передающих сред используются различные типы медных и оптоволоконных кабелей, а также поддерживаемые ими скорости передачи. На уровне FC-0 определяются также виды разъемов (штекеры и розетки), типы кабелей, уровни сигнализации носителя и соответствующие скорости.

FC-1. На этом уровне определяются три первичные функции. Первая из них состоит в кодировании и декодировании потоков данных. На уровне FC-1 определена схема кодирования 8В/10В, которая связывает между собой символы данных и соответствующие биты синхронизации. Второй функцией уровня FC-1 является управление упорядоченными наборами. Упорядоченные наборы представляют собой уникальные слова передачи, которые поддерживают синхронизацию канала и управляющие протоколы. Примером упорядоченных наборов, управляемых уровнем FC-1, являются ограничители фреймов. Третьей функцией уровня FC-1 является управление протоколами канального уровня и состояниями, такими как активное состояние, состояние отключения от сети (offline), сбой в канале и состояние восстановления канала.

FC-2. Уровень FC-2 является ответственным за выполнение функций, связанных с установкой и поддержкой связи между двумя портами. Эти функции включают в себя выполнение процедуры login для порта, проведение сеанса обмена (коммуникационный элемент в SAN-сетях протокола Fibre Channel) и связанных с ним процедур упорядочивания фреймов, управление потоками, а также обнаружение ошибок и их устранение. Все эти функции будут более подробно описаны ниже. Уровень FC-2 также определяет все используемые в протоколе Fibre Channel форматы фреймов данных и управляющих фреймов.

FC-З.Уровень FC-3, уровень общих служб (Common Services), в целом является базой для будущих усовершенствованных служб, общих для нескольких портов узла. Такие службы FC-3 (некоторые из которых уже были разработаны, по пока редко используются) включают в себя службы многоадресатной рассылки, сжатие и стековую организацию службы запроса соединения.

FC-4. Уровень FC-4 определяет, каким образом данные различных протоколов преобразуются в форматы протокола Fibre Channel. Эти протоколы более высокого уровня включают в себя протоколы SCSI-3, IP, протокол виртуального интерфейса (virtual interface - VI) и некоторые другие. Команды, данные и состояния каждого из этих протоколов преобразуются в информационные блоки, передаваемые по протоколу Fibre Channel.

В следующем разделе протокол Fibre Channel рассматривается более подробно.

Топологии протокола Fibre Channel

SAN-сеть протокола Fibre Channel может состоять из нескольких сетей с различными топологиями, такими как топология коммутируемых структур, топология конкурентной петли или сеть с соединениями типа "точка-точка". Каждая из этих топологий определяет связанные с ней режимы портов Fibre Channel, которые должны поддерживаться находящимся в ней устройствами.

Топология сети с соединениями типа "точка-точка"

Топология типа "точка-точка " используется в первую очередь для непосредственного подсоединения станции к дисковому или ленточному накопителю. Она обеспечивает большую полосу пропускания, чем параллельное соединение SCSI, но ее применение ограничено связью между двумя устройствами. Эта топология уступает место другим, более ориентированным на сетевое применение топологиям, позволяющим соединить несколько устройств в сеть или объединить их в структуру.

Топология конкурентной петли

Широко применяемой, но постепенно устаревающей является топология конкурентной петли. Конкурентная петля (arbitrated loop) представляет собой логическую петлю, включающую в себя до 126 устройств Fibre Channel, которые оспаривают между собой право на передачу данных. Такая петля обычно реализуется с использованием концентратора Fibre Channel для кабельного управления, в результате чего образуется физическая звездообразная топология. Все устройства такой петли совместно используют доступную полосу пропускания. Например, дисковые накопители Fibre Channel обычно объединяются в небольшие конкурентные петли в подсистемах дисковых накопителей большего размера. Преимуществом конкурентной петли является возможность соединения между собой нескольких устройств.

Частные петли

Прежние типичные топологии в целом называются топологиями частной петли (private-loop topologies), поскольку все устройства такой петли понимают только 8-битовый логический адрес других устройств данной локальной петли. Такая схема адресации не позволяет устройствам петли обращаться к устройствам других петель. Более современные реализации петель, называемые публичными петлями, поддерживают полные 24-битовые иерархические адреса, что позволяет устройствам одной петли осуществлять связь с устройствами других петель. Вследствие этого при реализации публичной петли несколько конкурентных петель могут быть соединены между собой с использованием коммутируемой структуры.

Топология коммутируемых структур

В настоящее время предпочтительной топологией в сетях Fibre Channel является топология коммутируемых структур (switched-fabric topology.).Она объединяет лучшие качетсва прежних топологий в отношении количества соединений и доступной полосы пропускания. Топология коммутируемых структур предоставляет возможности, аналогичные тем, которые имеются в коммутируемых сетях Ethernet/IP.

Коммутаторы Fibre Channel объединяются в структуры и используют 24-битовый идентификатор Fibre Channel ID (FC ID) для маршрутизации (пересылки) фреймов внутри структур от одного коммутатора к другому. Структура протокола Fibre Channel может включать в себя до 239 коммутаторов, каждый из которых может иметь порты до 64 Кбит/с. Каждый из портов коммутатора Fibre Channel может предоставлять каждому подсоединенному устройству полосу пропускания шириной до 1 или 2 Гбит/с. Коммутируемая структура также включает в себя ряд распределенных служб, таких как службы маршрутизации структур, службы имен и службы безопасности. На рис. 55.4 показаны три из описанных выше четырех топологий.

Типы портов протокола Fibre Channel

Fibre Channel представляет собой ориентированный на соединение протокол. Это означает, что узлы (nodes) перед обменом данными должны установить между собой канал связи посредством процедуры login. Соединение устанавливается между логическими элементами (logical elements), иначе называемыми портами (ports), которые логически связываются с существующими физическими устройствами. Порты могут принадлежать к различным типам, в зависимости от физического устройства и топологии соединений.

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

Рис. 55.4. Топологии протокола Fibre Channel

В приводимом ниже списке перечислены все стандартные и некоторые нестандартные типы портов, используемые в SAN-сетях протокола Fibre Channel.

N_Port. Базовым типом порта является N_Port, или порт узла. Все обмены данными в сетях Fibre Channel происходят между портами типов N_Port или NL_Port. Порт N_Port находится на конечном устройстве, подсоединенном к сети с топологией "точка-точка" или с топологией коммутируемой структуры. На одном физическом устройстве могут существовать несколько портов N_Ports.

NL_Port. Порты узлов, находящиеся в конечных устройствах, подсоединенных к сети конкурентной петли, называются портами узловой петли или портами NL_Port.

F_Port. В коммутируемой структуре порты коммутатора, непосредственно подсоединенные к конечным устройствам (порты N_Port), называются портами структур или портами F_Port.

FL_Port. Порты в коммутируемой структуре, подсоединенные к публичной конкурентной петле, называются портами структурной петли или портами FL_Port. Используя порты типа FL_Port публичные конкурентные петли могут быть соединены между собой с образованием топологии коммутируемой структуры. Порты FL_Port подсоединяются к петлям портов NL_Ports.

E_Port. При соединении двух коммутаторов протокола Fibre Channel результирующий режим порта становится портом расширения или портом типа E_Port. Образовавшийся канал между двумя коммутаторами называется межкоммутаторным каналом (Inter-Switch Link - ISL). Порты E_Ports подсоединяются только к аналогичным портам E_Port.

B_Port. Мостовой порт или B_Port не является типовым портом. Такой порт расширяет межкоммутаторный канал Fibre Channel 1SL через порт иного типа, чем порт Fibre Channel. Порты типа B_Ports подсоединяются только к портам E_Ports и принимают участие только в базовом наборе канальных служб. Расширители каналов на IP-сети обычно используют интерфейс портов B_Port для расширения канала Fibre Channel ISL на IP-сеть.

TE_Port. Специальным режимом порта, обсуждаемым между двумя многоуровневыми коммутаторами Cisco MDS 9000, является порт магистрального расширения или TE_Port. Такой порт является надстройкой или расширением порта типа E_Port; это означает, что специальный теговый механизм поддерживает способность виртуальной SAN-сети создавать многочисленные логические структуры поверх обшей физической структуры. Порты TE_Port могут быть подсоединены только к аналогичным портам TE_Ports.

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

GL_Port. Порт общей петли или порт GL_Port в действительности не является обсуждаемым режимом, а скорее отражает возможность порта. Порт, который может обсуждать режимы портов типов F_Port, FL_Port и E Port называется портом GL_Port.

На рис. 55.5 показаны режимы соединений и возможности их использования.

Коммуникационная модель протокола Fibre Channel

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

Рис. 55.5 Режимы соединений протокола Fibre Channel

Для соединений типа "точка-точка":

Этап 1. Устройства, принадлежащие сети с конфигурацией типа "точка-точка", ведут себя как два устройства, принадлежащие к частной конкурентной петле. Такие устройства сначала должны выполнить процедуру инициализации петли (loop initialization procedure - LIP) для определения того, принадлежат ли они к сети с конфигурацией типа "точка-точка" или к сети конкурентной петли.

Этап 2. Один порт NL Port открывает канал к другому порту NL_Port.

Этап 3. Порты могут обмениваться данными.

Для конкурентной петли:

Этап 1. Устройства, подсоединенные к конкурентной петле, должны выполнить процедуру LIP для получения физического адреса конкурентной петли (Arbitrated Loop Physical Address - AL_PA), т.е. 8-битового адреса, используемого для коммуникации с другими устройствами сети. Во время этого процесса порт NLPort выясняет, имеется ли в петле порт типа FLPort, присутствие которого делает ее публичной петлей. F-сли порт FLPort отсутствует, то петля является частной.

Этап 2. Один порт типа NL_Port конкурирует за доступ к петле для осуществления связи с другим портом NL Port.

Этап 3. После того, как получено право на доступ, порт NL Port открывает соединение с другим портом NL Port (или с портом FL Port, если осуществляется связь с устройством коммугируемой структуры).

Этап 4. Порты могут начать обмен данными друг с другом.

Для коммутируемой структуры:

Этап 1 Устройства, подсоединенные к коммутируемой структуре, должны выполнить процедуру login входа в структуру (fabric login procedure - FLOGI) для получения адреса протокола Fibre Channel (Fibre Channel address (FC_ID), представляющего собой 24-битовый адрес, используемый для связи с другими устройствами коммутируемой сети.

Этап 2. Один порт N Port должен выполнить процедуру log in для получения доступа к другому порту N_Port или порту NL Port, с которым он будет осуществлять связь. Выполнение портом этой процедуры (port login procedure - PLOGI) выполняется для установки канала с целевым устройством.

Этап 3. Порты могут осуществлять взаимный обмен данными.

Сразу после установки канала связи между двумя устройствами протокол Fibre Channel строго следует коммуникационной модели, включающей в себя иерархию структур данных. На вершине этой иерархии находится обмен. Как правило, обмен протокола Fibre Channel преобразуется в команду протокола более высокого уровня, такую, например, как команда read протокола SCSI-3. Каждый обмен состоит из ряда однонаправленных предложений. В свою очередь каждое предложение состоит из нескольких пронумерованных фреймов, которые перемещаются от источника к получателю. Между двумя устройствами могут быть открыты несколько обменов, каждый из которых имеет свой набор идентификаторов ID инициатора обмена (originator exchange ID - OXID) и идентификаторов ID ответчика обмена (responder exchange ID - RX_ID). На рис. 55.6 показана эта иерархическая связь и приведен пример простого обмена по протоколу SCSI-3.

Рис. 55.6. Пример SCSI-обмена в сети протокола Fibre Channel

Адресация протокола Fibre Channel

В протоколе Fibre Channel имеется два типа адресов, которые используются для идентификации устройства или порта коммутатора. Первым типом является уникальный глобально назначаемый адрес, называемый мировым именем (worldwide пате - WWN). Адрес WWN назначается производителем и его глобальная уникальность гарантирована. Эта ситуация аналогична использованию МАС-адресов Ethernet-устройств.

Вторым типом адреса, используемым в протоколе Fibre Channel, является динамически назначаемый иерархический адрес, который позволяет целенаправленно пересылать фрейм от одного устройства к другому. Этот адрес называется идентификатором протокола Fibre Channel (Fibre Channel ID - FC_ID). В сети Fibre Channel идентификатор FC_ID преобразуется в адрес WWN, так что инициаторы могут использовать WWN для контакта с устройством, а затем этот адрес транслируется в FC_ID для осуществления связи. Адрес FCJD, назначаемый устройству, зависит от типа топологии.

Топология "точка-точка". Соединения "точка-точка" в действительности реализуются как частная петля между двумя устройствами. Поскольку устройства находятся в частной петле, они используют только 8-битовый адрес AL_PA. Этот адрес находится в диапазоне от 0x00000 lh to 0x0000Efh.

Конкурентная петля. Конкурентные петли могут быть реализованы как частные или публичные петли, чем и определяется тип используемого адреса. В топологии частной петли стандартный адрес AL_PA назначается аналогично тому, как это делается в топологии "точка-точка". Каждому устройству частной петли назначается адрес из диапазона от 0x000001h до 0x0000Efh (однако в одной конкурентной группе могут находиться не более 126 устройств).

Публичная петля. Публичная петля содержит один или более портов FL_Ports, которые действуют как шлюзы в коммутируемую структуру. Как таковой, назначенный устройству публичной петли адрес содержит полный 24-битовый адрес. Первый октет представляет собой идентификатор домена Domain_ID, назначенный коммутатору. Второй октет идентифицирует конкретную петлю на коммутаторе. Третий октет используется для адреса AL_PA, назначаемого устройствам этой петли. Порт FL_Port всегда имеет адрес AL_PA, равный OxOOh. Следовательно, реальный диапазон адресов для устройств публичной конкурентной петли представляется в виде Oxddllaa, где dd - идентификатор DomainJD подсоединенного коммутатора из диапазона от OxOlh до OxEFh (от 1 до 239), //- идентификатор петли из диапазона от OxOOh до OxFF, а аа- адрес AL_PA из диапазона от 0x0lh до OxEFh, где адрес OxOOh зарезервирован для порта FL_Port.

Коммутируемая структура. Адрес коммутируемой структуры основан на идентификаторе FC_ID, который использует полный 24-битовый адрес. Каждому коммутатору в коммутируемой структур назначается один или более идентификаторов Domain_ID. Этот DomainJD можно рассматривать как префикс маршрутизации, который используется коммутатором для пересылки фреймов устройствам, подсоединенным к другим коммутаторам. Первым октетом идентификатора FC_ID является Domain_ID. Он находится в диапазоне от OxOlh до OxEFh. Второй и третий октеты FCJD коммутируемой структуры называются идентификаторами зоны AreaJD и порта Port_ID, соответственно. Эти компоненты FCJD должны быть локально уникальными для каждого коммутатора.

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

15 табл. 55.1 обобщены различные модели FCID, их диапазоны адресов и ограничения.

Табл. 55.1. Модели и ограничения идентификатора FCJD

Формат фрейма протокола Fibre Channel

Фрейм протокола Fibre Channel имеет стандартную структуру, показанную на рис. 55.7.

Рис. 55.7. Формат фрейма в протоколе Fibre Channel

Размер фрейма Fibre Channel находится в диапазоне от 36 до 2148 байтов, в зависимости от размера полезной нагрузки. Ниже приведено описание основных полей фрейма Fibre Channel.

Поле IDLE IDLE используется для синхронизации и выравнивания слов у передатчика и приемника. Поля IDLE указывают на готовность к передаче и постоянно передаются, если другие данные для передачи отсутствуют. IDLE фактически представляет собой 4-байтовый упорядоченный набор (ordered set), который передается от одного устройства другому. В соответствии со стандартами Fibre Channel каждый передаваемый фрейм должен содержать шесть упорядоченных наборов, которые часто имеют поле IDLE, расположенное во фрейме

последним. Каждый получаемый фрейм должен быть заполнен как минимум двумя упорядоченными наборами.

Поле SOF Поле начала фрейма (Start of Frame) представляет собой 4-байтовый упорядоченный набор (ordered set), который непосредственно предшествует контенту (полезной нагрузке) фрейма. Поле SOF также указывает класс принимаемого фрейма.

Frame header (заголовок фрейма) Заголовок фрейма имеет размер 24 байта и состоит из нескольких управляющих (контрольных) полей. Заголовок фрейма включает в себя такие поля, как FC_ID источника, FC_ID получателя, ID обменов, управление маршрутизацией и несколько других параметров. Полностью структура заголовка фрейма в протоколе Fibre Channel показана на рис. 55.8.

Data field (Поле данных) Поле данных состоит из реальных данных протокола более высокого уровня. Оно может иметь длину от 0 до 2112 байтов.

CRC (Cyclical Redundancy Check) Циклический контроль избыточности. Это поле имеет длину 4 байта и используется для проверки целостности фрейма. При вычислении значения этого поля используются только заголовок фрейма и поле данных (Data field).

EOF (End of Frame) Поле конца фрейма представляет собой 4-байтовый упорядоченный набор, который непосредственно предшествует содержимому фрейма. Поле EOF также указывает классе фрейма Fibre Channel.

Рис. 55.8 Формат заголовка фрейма Fibre Channel

Ниже приводится краткое описание всех полей заголовка фрейма Fibre Channel.

R_CTL (Routing Control) Поле управления маршрутизацией содержит два 4-битовых подполя: подполе типа маршрутизации и информационное подполе. Биты маршрутизации дифференцируют фреймы в соответствии с функцией или службой, например, фреймы данных отличаются от фреймов управления каналом, содержащих команды или состояния.

D_ID Fibre Channel ID (FC_ID) Идентификатор Fibre Channel получателя (3 байта)

CS_CTL (Class-Specific Control) Поле управления в зависимости от класса (Class-Specific Control), размером 1 байт, используется только в классах 1 и 4 (Class 1 или Class 4). Классы протокола Fibre Channel более подробно обсуждаются в следующем разделе.

S_ID РС_Идентификатор ID источника Fibre Channel (3 байта).

Type Поле типа (1 байт) указывает протокол верхнего уровня, данные которого пересылаются в поле полезной нагрузки.

F_CTL Поле управления фреймом Frame Control (3 байта) содержит ряд флагов, которые управляют потоком в последовательности.

SEQ_ID (Sequence Identifier) Поле идентификатора последовательности (1 байт) уникальным образом идентифицирует данную последовательность в контексте одного обмена. Каждый фрейм идентифицируется своим SEQ_ID.

DF_CTL (Data Field Control) Поле управления полем данных (1 байт) указывает на наличие необязательных заголовков в начале поля данных (Data Field) для фреймов Device_Data Video_Data. Биты DF_CTL для фреймов Link_Control и Basic Link Service значения не имеют.

SEQ_CNT (Sequence Count) Поле отсчета в последовательности (2 байта) указывает порядок передачи фреймов в последовательности. Оно используется получателем последовательности для учета всех передаваемых фреймов.

OX_ID (Originator Exchange ID) Идентификатор инициатора обмена (2 байта) идентифицирует индивидуальный обмен. Эта идентификация выполняется инициатором обмена.

RX_ID (Responder Exchange ID) Идентификатор ответчика обмена (2 байта) идентифицирует индивидуальный обмен. Эта идентификация выполняется ответчиком обмена.

Parameters Поле параметров (Parameters) (4 байта) зависит от типа конкретного фрейма, задаваемого полем R_CTL.

Классы обслуживания протокола Fibre Channel

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

Класс 1 представляет собой ориентированную на соединение службу с подтверждением доставки или уведомлением о том, что доставка не произошла. Перед тем как произойдет соединение, между источником и получателем должен быть установлен канал.

Класс 2 представляет собой службу без установки соединения между портами с подтверждением доставки или уведомлением о том, что доставка не произошла.

Класс 3 представляет собой службу без установки соединения между портами, без подтверждения доставки и без уведомления о том, что доставка не произошла. В настоящее время этот класс на практике используется наиболее часто.

Класс 4 представляет собой ориентированную на соединение службу, которая обеспечивает виртуальный канал между портами N_Port с подтверждением доставки или уведомлением о том, что доставка не произошла, и гарантированной шириной полосы пропускания.

Класс 6 представляет собой вариант класса 1 для многоадресатной рассылки (по схеме "один-со многими") с подтверждением доставки или уведомлением о том, что доставка не произошла.

В табл. 55.2 приведен обзор характеристик всех классов обслуживания. В современных SAN-сетях чаще всего используется класс 3. Большинство структур также поддерживают класс 2. Все остальные классы в настоящее время используются редко.

| Табл. 55Г.2. Классы обслуживания протокола

Ориентация на соединение

Резервирование полосы пропускания

Частичное

Гарантированный максимум задержки

Да (QoS)

Гарантированный порядок доставки

Подтверждение доставки

Мультиплексирование фреймов на портах

Сквозной контроль поток

Контроль потока на канальном уровне

Маршрутизация в структуре протокола Fibre Channel

В топологии коммутируемой структуры для маршрутизации фреймов в связанной соединениями структуре используется динамический протокол маршрутизации, называемый протоколом выбора кратчайшего пути по структуре (Fabric Shortest Path First – FSPF).

Протокол FSPF в основном базируется на протоколе IP-маршрутизации выбора кратчайшего пути (Open Shortest Path First - OSPF). Протокол FSPF представляет собой протокол канального уровня, который требует, чтобы все коммутаторы обменивались друг с другом информацией канального уровня, включая информацию об операционном состоянии и метрику маршрутизации для каждого непосредственно подсоединенного канала ISL. Используя эту информацию, которая хранится в локальной базе данных, каждый коммутатор выполняет общеизвестный алгоритм Дейкстра для вычисления кратчайшего пути ко всем остальным доменам Domain_ID.

В случае, когда к некоторому домену существуют несколько маршрутов с равными оценками, выполняется функция балансирования нагрузки между этими маршрутами. В случае изменения состояния на канальном уровне, такого как изменение метрики или сбой какого-либо канала, рассылаются изменения канального уровня (link-state updates - LSU) и маршруты пересчитываются на основе полученной новой информации. В сети Fibre Channel настройкой метрики канала можно перераспределять потоки и восстанавливать маршруты.

Управление потоками в сети Fibre Channel

Одним из наиболее эффективных механизмов протокола Fibre Channel является возможность управления потоками. Управление потоками базируется на системе разрешений, которая заключается в том, что устройство или порт не могут передавать данные до тех пор, пока они не получат кредит. В протоколе Fibre Channel имеются два механизма управления потоками: сквозной (end-to-end) и межбуферный (buffer-to-buffer).

Сквозной контроль используется для контроля скорости передачи между двумя конечными устройствами и применяется редко. Межбуферный контроль потоков происходит между всеми парами портов соседних устройств на всем протяжении конкретного маршрута по сети Fibre Channel и между всеми парами устройств конкурентной петли.

Понятие буферных кредитов (buffer credits) относится к количеству входных буферов, имеющихся на смежных соединенных портах. При выполнении процедуры login смежные устройства обмениваются информацией о количестве имеющихся буферных кредитов. Буферные кредиты пополняются, когда у соседнего устройства освобождается входной буфер. В этом случае генерируется 4-байтовая команда R_RDY и посылается соседнему устройству, в результате чего там появляется новый кредит. Важность межбуферного контроля потока увеличивается по мере того, как возрастает расстояние между смежными портами. По мере возрастания этого расстояния также возрастает транзитная отсрочка или задержка. Возрастание задержки увеличивает время, которое требуется для того, чтобы получить обратное сообщение R_RDY от удаленного устройства. Если кредитов недостаточно, то соседнее устройство может оказаться неспособным поддерживать скорость передачи по каналу между этими устройствами, поскольку при отсутствии буферных кредитов передача замедляется. Этот сценарий лежит в основе планового эксперимента при расширении SAN-сети Fibre Channel посредством добавления оптической сети (SONET/SDH) с целью дублирования данных в случае аварии, и, таким образом, восстановления передачи. Основным правилом в такой ситуации является то, что для поддержки 1 Гбит/с на каждых 2 км требуется один BB_Credit. Например, для поддержки линии 1 Гбит/с на оптическом канале длиной 100 км на каждом конце необходимо поддерживать 50 кредитов. Любая дополнительная задержка, вызываемая такими факторами, как преобразование данных между различными протоколами, сжатие или шифрование, требует увеличения количества кредитов. На рис. 55.9 показана модель межбуферного контроля потоков в применении к связи между станцией и дисковым накопителем в структуре.

Распределенные службы коммутируемых структур протокола Fibre Channel

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

Службы каталогов

Структуры протокола Fibre Channel поддерживают распределенную службу каталогов, часто называемую сервером имен (name server). Поскольку назначение адресов FC_ID в протоколе Fibre Channel осуществляется динамически, служба каталогов помогает преобразовывать статический WWN устройства в FC_ID, который используется для маршрутизации. Когда устройство выполняет процедуру log in входа в структуру, оно автоматически регистрируется на сервере имен вместе с некоторыми своими атрибутами. Эта информация впоследствии может быть запрошена любым конечным устройством для нахождения конкретного устройства или устройств с ка- кими-либо конкретными характеристиками.

Службы зон

Для того, чтобы обеспечить некоторую степень защиты в структуре протокола Fibre Channel, службы зон (zone services) ограничивают возможности связи между некоторыми подсоединенными устройствами. Под зоной в протоколе Fibre Channel понимается логическая группа устройств, которым разрешено вступать в связь и обмениваться данными. Поскольку эти устройства могут оказаться подсоединенными к разным коммутаторам, конфигурация зон распространяется на все коммутаторы структур. Зоны могут быть созданы с помощью ряда идентификаторов, включая FC_ID, индексы физических портов коммутаторов или наиболее общих адресов WWN. Существует два типа зон: твердые или строгие зоны (hard zoning) и мягкие зоны или нестрогие (soft zoning). В строгих зонах конфигурация зоны обеспечивает фильтрацию фреймов в аппаратном обеспечении. Такой способ обеспечивает наибольшую степень безопасности. При использовании нестрогих зон фильтруются только запросы к службе каталогов, в результате чего видны только определенные устройства. Нестрогие зоны не дают полной безопасности, поскольку конечное устройство должно знать FC_ID устройства на другом конце канала, для того чтобы обойти зону и вступить в связь с конечным устройством.

Службы управления

Другой весьма полезной службой, основанной на стандарте ANSI Til (Generic Services Standard (FC-GS и FC-GS-3), является распределенная служба управления.

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

Службы уведомления об изменениях в состоянии

В большинстве традиционных сетей передачи данных информация о сбоях в сети передавалась другим сетевым элементам, таким как коммутаторы и маршрутизаторы. Однако протокол Fibre Channel расширяет эту службу до конечных устройств. Используя службу уведомления об изменениях в состоянии сети (State Change Notifcation Service), а позднее зарегистрированную службу уведомления об изменениях в состоянии сети (Registered State Change Notifcation Service - RSCN), конечные устройства могут зарегистрироваться для получения уведомлений о событиях в структуре. В случае, если в сети происходит событие, случайное или намеренно созданное, генерируются сообщения службы RSCN для уведомления о нем других устройств сети. Используя службу RSCN, устройства могут реагировать на сбои в сети значительно быстрее, чем если бы они ожидали истечения времени таймеров.

Литература:

Руководство по технологиям объединенных сетей, 4-е издание. : Пер. с англ. - М.: Издательский дом «Вильяме», 2005. - 1040 с.: ил. – Парал. тит. англ.