Энциклопедия мобильной связи

Протокол Fibre Channel. SAN на базе Fibre Channel

Примером FC SAN является даже прямое соединение между сервером и СХД т.к. на сервере используется FC HBA (подробнее в разделе Комоненты) внутри сервера. Недостаток direct – невозможно без остановки сервера подключить доп. СХД к серверу. Single-switch/dual-switch – подключение серверов к СХД через FC-коммутаторы, dual-switch, понятно, для отказоустойчивости/балансинга.

Преимущества FC SAN

Производительность (FC до 16гб/с), централизованное/гибкое управление, динамическая утилизация ресурсов, трафик не грузит LAN, масштабируемость, совместимость с SCSI устройствами хранения (особенно важно было при старте FC, не потребовало ничего менять на серверах).

Fibre Channel

Fibre Channel (FC) – стек протоколов типа TCP/IP. Правильно писать именно Fibre channel, а не Fiber. Есть теория, что так, потому что стандарт, в теории, поддерживает медные кабеля, помимо по факту везде используемых оптических.

FC описан в ряде стандартов, внизу скрин со стандартами в зависимости от уровня имплементации.

В стеке FC 5 уровней с похожей на TCP/IP схемой энкапсуляции:

  • FC-0 – физика и сигнализация
  • FC-1 – кодирование и декодирование
  • FC-2 – соглашения по структуре данных
  • FC-3 – сервисы – мало используется
  • FC-4 – взаимодействие FC с другими высокоуровневыми протоколами – SCSI-3 (в основном) или IP, ATM. То есть FC может транспортировать IP-пакеты, а не только IP может FC-кадры переносить (iSCSI, подробнее в статье ).

Пример энкапсулиции SCSI команд в стек FC.

Адресация

Каждое устройство в сети Fiber Channel имеет уникальный номер WWN. WNN бывает двух видов, под оба выделено 64 бита, со своей частью под Vendor ID:

WWNN (World Wide Node Name) – идентификация хоста в FC сети.

WWPN (World Wide Port Name) – идентификация конкретного порта на конкретном хосте в FC сети. Применение похоже на применение MAC-адреса в сети Ethernet.

Не проверенная инфа из вебинара: при подключении устройства к сети FC на основе WWNN делается 24-битный адрес устройства WWPN из-за ограничения поля адреса в FC в 24 бита. Сопоставлением имен WWNN и WWPN занимаются FC-коммутаторы.

Логические топологии

В сетях FC бывают три варианта топологий:

  • Point-to-point – прямое подключение двух устройств
  • Arbitrated loop – кольцо FC через FC-хабы с возможностью подключения до 27 устройств. Старая схема, проблемы со скоростью и доступом к среде, малое количество устройств. В текущий момент не используется.
  • Switched fabric – коммутируемая среда через FC-коммутаторы, вытеснило loop. До 16 миллионов устройств и 239 коммутаторов в одной FC сети.

Типы портов

Типы портов в FC-сетях:

  • N_Port (Node Port) – порт оконечного устройства в сторону фабрики (свича)
  • F_Port (Fabric Port) – порт фабрики (свича) в сторону оконечного устройства
  • E_Port (Expansion Port) – порт в сторону другого FC-коммутатора
  • G_Port (General Port) – универсальный порт. В зависимости от подключенного к нему устройства работает как F_Port или E_Port.
  • NL_Port (NodeLoop Port) – порт оконечного устройства в сторону хаба в топологии arbitrated loop (Fabric)
  • FL_Port (FabricLoop Port) – порт хаба в сторону оконечного устройства в топологии arbitrated loop (Node) или порт фабрики (свича) в сторону хаба и наборот

Компоненты сети хранения FC

  • Storage device – устройство хранения (СХД, ленточные библиотеки)
  • FC коммутаторы – промежуточные устройства (судя по вебинару есть так же FC роутеры), часто на них поднят iSNS сервер для работы (см. в статье )
  • HBA (Host Bus Adapter) – по сути NIC сервера в FC SAN. Обычно HBA подключаются в PCI-e интерфейс на сервере/контроллере СХД. В FC используется оптика, поэтому HBA, помимо прочего, выполняет функцию преобразования электрических сигналов в оптические (и наоборот).
  • Optical fiber – среда передачи

Подключение устройств Storage device () к сети FC делается через специальные FC порты на FC платах СХД. Это могут быть обычные FC платы или платы FCoe, с возможностью передачи FC-кадров через Ethernet (энкапсуляция FC в Ethernet).

FC коммутаторы имеют порты под SFP FC (или gbic/xfp). Только в редких случаях порты бывают не SFP, а с жесткой заточкой под определенный тип FC.

FC коммутаторы имеют поддержку Zoning – зонирование сети FC, что-то типо VLAN на Ethernet коммутаторах. Позволяет делить сеть FC на отдельные участки. Используется для упрощения администрирования, улучшения безопасности, увеличения производительности. Одно устройство может входить сразу в несколько зон.

Есть два основных режима зонирования :

  • зонирование по портам или жесткое зонирование (port zoning/hard zoning) – порты закрепляются за зонами. Сопоставление port-zone настраивается на FC коммутаторе. Прямые операции по адресу между устройств разных зон запрещаются.
  • зонирование по имени или мягкое зонирование (WWN zoning/soft zoning) – на основе WWNN серверу назначается зона. Сопоставление WWN-zone настраивается на FC коммутаторе. Прямые операции между устройств разных зон не запрещаются. Удобно использовать при частых подключениях устройств в разные порты. alias zoning – простой в настройке подвид soft zoning, WWNN для удобства сопоставляется придуманный тобой alias.

HBA бывают SCSI, FB. Имеют часто возможность вставления SFP. Бывают многопортовые HBA. Наиболее популярные вендоры: Brocade, Emulex, Qlogic.

Скорость и расстояние в технологии FC в зависимости от используемой Optical fiber. Расстояние от 0.5 метра до 50км (без использования промежуточных FC свичей). Лимит на минимальное сделан во избежание слишком мощного сигнала, в противном случае нужно ставить аттенюаторы. Скорость до 16Gbit/s. Внутри ЦОД чаще всего используют многомод. На многомоде расстояние до 500м, причем уменьшение скорости пропорционально увеличению расстояния.

Типичная отказоустойчивая схема подключения компонентов FC SAN : подключение СХД (два контроллера) к серверу (два HBA) через FC-свичи. Два коммутатора не только для отказоустойчивости/балансинга, но и потому, что “desing of Fibre channel SAN’s demands it. An FC SAN must consist of two separate networks called fabrics”. Можно и больше коммутаторов, подключенных как угодно (кольцо, звезда, full/partial mesh).

Multipath

При наличии нескольких портов на NIC/HBA на уровне отдельного софта или операционной системы может быть реализован функционал типа LAG. В терминологии сетей хранения это называется Multipath . В случае использования отдельного софта, софт должен быть совместим с текущей ОС. Если ОС не поддерживает Multipath нативно или софт который этот функционал предоставляет не поддерживает работы в этой ОС – один LUN может быть виден каждым портом хоста как отдельный LUN, а не единый.

Сравнение FC SAN с IP SAN и Конвергенция FC SAN и IP SAN

Вопросы

Posted on Author

Работа над стандартами протокола 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 с.: ил. – Парал. тит. англ.

Fibre Channel - высокоскоростной интерфейс передачи данных с устройствами хранения данных (преимущественно HDD). Наиболее актуальная его модификация называется FC-AL (Fibre Channel Arbitrated Loop) - она способна передавать данные со скоростью от 1 до 4 Гбит/с на расстояние до 10 км. Жесткие диски с таким интерфейсом используются в высокопроизводительных современных системах хранения данных.

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

Скоростные характеристики Fibre Channel нормируются тремя стандартами - 1 Гбит/сек, 2 Гбит/сек и 4 Гбит/сек. Учитывая, построенная на таком интерфейсе сеть считается полудуплексной. То есть физически все устройства соединяются парой оптоволоконных кабелей, по одному из которых идет исходящий, по второму входящий информационный поток. Такое техническое решение позволяет при равном соотношении объема обоих потоков получить реальное удвоение скорости передачи относительно заявленной. Для возрастающих потребностей пользователей активно внедряется технология Fibre Channel обеспечивающая построение информационного канала 10 Гбит/сек, и этот показатель не является предельным. По соотношению цена/производительность из всей сетевой номенклатуры лидирует 2 гигабитный вариант.

Допустимая протяженность Fibre Channel шины без потери производительности составит несколько километров при использовании одномодовых оптических кабелей, и несколько сотен метров при многомодовом оптоволокне. Применение кабельных связей различной модности в одной сетевой ветке значительно поднимает стоимость всего проекта. Так как в этом случае потребуется приобрести специальные конвертеры, цена которых колеблется в районе 3000 USD за две штуки. Скорость информационного потока для одномодовой оптики ограничена двумя гигабитами в секунду.

В ряде мест вполне обоснованно применить для Fibre Channel шины и обычные медные кабели, однако это снижает интенсивность информационного обмена до 1 Гбит/сек. При больших протяженностях сети, либо для обеспечения достаточной «ширины» информационного потока техническая реализация шины происходит на оптоволоконных линиях связи 50/125 мкм или 62,5/125 мкм. Для обеспечения надежного стыка отдельных участков оптоволокна между собой применяются LC и SC разветвители. Такой подход придает Fibre Channel шине максимальное сходство с компьютерной сетью.

В корпоративном сегменте для подключения СХД применяются четыре основных интерфейса, предоставляющих блочный доступ: SAS, iSCSI, FC и FCoE. Каждый их них обладает своими преимуществами и недостатками, и рекомендуется к использованию в определенных сценариях.

SAS (Serial Attached SCSI)

Текущая реализация в СХД: 4 канала по 12Gbps, разъем SFF-8644.

Плюсы:

  • Цена . Совокупная стоимость решения на базе СХД с интерфейсом SAS, включая контроллеры для серверов и SAS кабели, является невысокой, а в случае высоконагруженных инсталляций — самой дешевой среди всех интерфейсов.
  • Высокая скорость . В каждом кабеле проходят четыре независимых линии по 12Gbps, что дает общую пропускную способность в 48Gbps при четырех и более одновременных потоках.
  • Низкая латентность . Среди всех интерфейсов именно SAS демонстрирует наименьшие задержки.

Минусы:

  • Ограничение по количеству хостов . Современные СХД с интерфейсом SAS позволяют подключить не более 8 серверов (не более 4 с дублированием путей доступа).
  • Ограничение по расстоянию . Типовые SAS кабели имеют длину 2-5 м (в исключительных случаях можно найти дорогостоящие кабели длиной максимум до 10-15 м), что заставляет размещать серверы и СХД в пределах одной или соседних стоек.
  • Отсутствие коммутаторов . Направление SAS коммутации не развивается уже несколько лет, существующие на рынке коммутаторы не совместимы с современным оборудованием и ПО, и мы крайне не рекомендуем их рассматривать для новых инсталляций.

В качестве первой СХД с интерфейсом SAS идеальны для компаний, в которых планируется подключать 2-3 сервера и можно спрогнозировать расширяемость на ближайшие 3-5 лет (рекомендуемый срок жизни СХД) до суммарно не более 8 серверов. В случае значительного расширения ИТ-инфраструктуры можно будет приобрести еще одну СХД или провести апгрейд с заменой интерфейсных контроллеров.

SAS также востребован в небольших кластерах отказоустойчивости.

iSCSI (Internet Small Computer System Interface)

Текущая реализация в СХД: 1/10GBase-T (в медной среде) и 10GbE SFP+ (в оптической среде).

Плюсы медного 1/10GBase-T:

  • Цена . Самая низкая стоимость базового решения - в любом сервере есть гигабитный Ethernet, не нужно никаких особых адаптеров и кабелей; простейшие коммутаторы обычно уже есть в компании.
  • Простота внедрения . Знакомая для любого администратора архитектура, не требующая специфических знаний и навыков, зачастую является решающим фактором при выборе первой СХД.

Минусы медного iSCSI 1/10GBase-T:

  • Высокая латентность . Медленный интерфейс с самыми большими задержками.
  • Низкая скорость интерфейса 1GBase-T . Скорость интерфейса в 1Gbps не удовлетворяет требованиям большинства сегодняшних нагрузок.

Плюсы оптического iSCSI:

  • Простота внедрения . Во многих компаниях уже существует инфраструктура под оптический Ethernet. Техническим специалистам не требуется дополнительно вникать в эту среду, высокая степень совместимости с уже имеющимся оборудованием делает данный вариант очень популярным.
  • Удобство подключения . СХД с 10-гигабитной оптикой также хорошо себя показывает при прямом подключении. В этом случае получаем приемлемую латентность, достаточную производительность.
  • Большие расстояния . Оптические интерфейсы позволяют строить территориально распределенные решения на расстоянии до нескольких километров.

Минусы оптического iSCSI:

  • Высокая стоимость решения на большое количество подключений . При большом количестве подключений (более 8-10) с высокой нагрузкой (БД, VDI и др.) средние коммутаторы перестают справляться и появляется проблема узкого горлышка. В этом случае потребуется приобретать высокопроизводительный коммутатор (при отказоустойчивом подключении - два), который сможет обеспечить работу СХД. Стоимость каждого будет сопоставима с ценой СХД, что нивелирует все начальные преимущества кажущейся дешевизны.

СХД с оптическим 10GbE является удобным решением для большинства задач. Однако, следует закладывать достаточный бюджет на сопутствующую инфраструктуру.

FC (Fibre Channel)

Текущая реализация в СХД: 16Gbps, разъем SFP+.

Плюсы:

  • Удобство использования . Все оборудование FC совместимо между собой, доставка пакетов гарантируется стандартом, латентность минимальная. Администрирование FC коммутации в большинстве случаев удобнее, чем IP-инсталляций аналогичных размеров.
  • Высокая скорость . Все подключенные каналы линейно агрегируются, за счет чего всегда можно увеличить линейную скорость.
  • Большие расстояния . Протокол FC позволяет строить решения на больших расстояниях.
  • Построение решений на большое количество подключений. При количестве подключений к СХД более 8-10, решения на базе FC выигрывают по цене и производительности у других протоколов.

Минусы:

  • Незнакомая архитектура . Fibre Channel может отпугивать тех, кто ранее не сталкивался с данным протоколом.
  • Порог вхождения . Цена начального приобретения решения на базе протокола FC несколько выше, чем на iSCSI.

Прокол Fibre Channel был специально разработан для сетей хранения данных, является оптимальным по совокупности параметров цена/удобство/скорость и рекомендуется для подключения блочных СХД для любых задач, особенно требующих высоких скоростей (биллинг, базы данных и пр.)

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

FC является самым надежным, наименее проблемным и хорошо зарекомендовавшим себя протоколом, поэтому является рекомендуемым в корпоративном и банковском секторе.

FCoE (Fibre Channel over Ethernet)

Текущая реализация в СХД: 10Gbps, разъем SFP+.

Плюсы:

  • Удобство управления и надежность . FCoE, являясь конвергентным протоколом, сочетает в себе все преимущества удобства управления от протокола iSCSI и при правильной сетевой инфраструктуре надежность протокола FC.
  • Универсальность . Позволяет через единый порт одновременно передавать пакеты FC и Ethernet, что позволяет универсализировать доступ к сетевым устройствам.

Минусы:

  • Цена . Коммутаторы, интерфейсные карты и в целом решения на базе FCoE являются самыми дорогими.
  • Сложность внедрения . Для того, чтобы воспользоваться преимуществами данного протокола, необходимо правильно настроить сетевые параметры, что немного сложнее, чем в стандартных Ethernet сетях с IP роутингом.

Интерфейс FCoE может быть интересен только для больших инсталляций (например, с блейд-серверами) и, несмотря на множество положительных отзывов, мало распространен.

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

В 2017 году ожидаются поставки СХД со следующими поколениями интерфейсов: FC 32Gbps SFP+, iSCSI/FCoE 25Gbps SFP+/40Gbps QSFP+. Использование обновленных версий протоколов сохранит баланс текущих плюсов и минусов.

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).



Понравилась статья? Поделитесь с друзьями!
Была ли эта статья полезной?
Да
Нет
Спасибо, за Ваш отзыв!
Что-то пошло не так и Ваш голос не был учтен.
Спасибо. Ваше сообщение отправлено
Нашли в тексте ошибку?
Выделите её, нажмите Ctrl + Enter и мы всё исправим!