Протокол Fibre Channel

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

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

В следующем разделе протокол 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. Классы обслуживания протокола

 

Атрибут

Класс 1

Класс 2

Класс 3

Класс 4

Класс 6

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

Да

Нет

Нет

Да

Да

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

100%

Нет

Нет

Частичное

100%

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

Да

Нет

Нет

Да (QoS)

Да

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

Да

Нет

Нет

Да

Да

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

Да

Да

Нет

Да

Да

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

Нет

Да

Да

Нет

Нет

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

Да

Да

Нет

Да

Да

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

SOFcl

Да

Да

Да

SOFcl

Маршрутизация в структуре протокола 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 с.: ил. – Парал. тит. англ.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100