Канальный протокол Fibre Channel

Известно, что производительность микропроцессоров рабочих станций удваивается каждые 18 месяцев. Каждому миллиону операций в секунду процессора должна соответствовать пропускная способность ввода/вывода, равная мегабиту в секунду (закон Amdahl). По этой причине требования к широкополосности телекоммуникационных каналов уже сегодня лежит в диапазоне от 100 до 1000 Мбит/с.

Наиболее популярные скоростные сети Fast Ethernet, FDDI и ATM соответствуют этим требованиям на пределе. Уже одно это заставляет обратить внимание на такие протоколы как гигабитный Ethernet и (стандарт ANSI). Fibre Channel сочетает в себе преимущества канальных и сетевых технологий. Работы по разработке стандарта FC начаты группой ANSI в 1988 году. К настоящему времени разработано более 20 регламентирующих документов. В настоящее время Fibre Channel конкурирует как с Ethernet, так и с SCSI. Смотри 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. Последний уже сейчас превосходит по быстродействию существующие сети в 10-100 раз. Он легко стыкуется с протоколами локальных и региональных сетей. Fibre Channel имеет уникальную систему физического интерфейса и форматы кадров, которые позволяют этому стандарту обеспечить простую стыковку с канальными протоколами IPI (Intelligent Peripheral Interface), SCSI, HIPPI, ATM, IP и 802.2. Это позволяет, например, организовать скоростной канал между ЭВМ и дисковой накопительной системой RAID. Быстродействие сетей Fibre Channel составляет nґ 100Мбайт/с при длинах канала 10 км и более. Предусмотрена работа и на меньших скоростях (например, 12,5 Мбайт/c). Предельная скорость передачи составляет 4,25 Гбод. В качестве транспортной среды может использоваться одномодовое или мультимодовое оптическое волокно. Допускается применение медного коаксиального кабеля и скрученных пар (при скоростях до 200 Мбайт/с). Fibre Channel имеет шесть независимых классов услуг (каждый класс представляет определенную стратегию обмена информацией), которые облегчают решать широкий диапазон прикладных задач:

Класс 1 Соединение с коммутацией каналов по схеме точка-точка (end-to-end) между портами типа 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 превосходит другие сети и по некоторым экономическим параметрам (см. табл. 4.1.12.1).

Таблица 4.1.12.1 (www.ancor.com/ctspr97.htm )

Сеть Стоимость за Мбит/сек
fddi 109,1$ США
Fast Ethernet 12,8 $
ATM 23,8$
Fibre Channel 9,5$

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

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

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

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

Рис. 4.1.12.1. Формат пакета Fibre Channel

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

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

Рис. 4.1.12.2. Типы топологии FC

Перед передачей октеты преобразуются в 10-битовые кодовые последовательности, называемые символами передачи (кодировка IBM 8B/10B). Логической единице соответствует больший уровень световой энергии. В Fibre Channel предусмотрено два режима обмена буфер-буфер и точка-точка (end-to-end). Передача данных осуществляется только когда принимающая сторона готова к этому. Прежде чем что-либо посылать стороны должны выполнить операцию login. В ходе выполнения login определяется верхний предел объема пересылаемых данных (credit). Значение параметра credit задает число кадров, которые могут быть приняты. После передачи очередного кадра значение credit уменьшается на единицу. Когда значение этой переменной достигает нуля, дальнейшая передача блокируется до тех пор, пока получатель не обработает один или более кадров и будет готов продолжить прием. Здесь имеет место довольно тесная аналогия с окнами в протоколе TCP. Режим обмена буфер-буфер предполагает установление связи между портами N_Port и F_Port или между двумя N_Port. При установлении соединения каждая из сторон сообщает партнеру, сколько кадров она готова принять (значение переменной BB_Credit). Режим точка-точка (end-to-end) реализуется между портами типа 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.

Взято с citforum.ru