Fibre Channel

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Fibre Channel (FC) (англ. fibre channel — волоконный канал) — семейство протоколов для высокоскоростной передачи данных. Стандартизацией протоколов занимается Технический комитет T11, входящий в состав Международного комитета по стандартам в сфере ИТ (InterNational Committee for Information Technology Standards — INCITS), аккредитованного Американским национальным институтом стандартов (ANSI). Изначальное применение FC в области суперкомпьютеров впоследствии практически полностью перешло в сферу сетей хранения данных, где FC используется как стандартный способ подключения к системам хранения данных уровня предприятия.

Fibre Channel Protocol (FCP) — транспортный протокол (как TCP в IP-сетях), инкапсулирующий протокол SCSI по сетям Fibre Channel. Является основой построения сетей хранения данных.

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

История[править | править исходный текст]

История Fibre Channel началась в 1985 году, а в 1994 году был утверждён ANSI как стандарт, упрощавший интерфейс HIPPI, для которого применялся массивный 50-парный кабель с громоздкими коннекторами. Первоначально интерфейс Fibre Channel должен был повысить дальность и упростить подключение линий передачи, а не увеличить скорость.

Версии Fibre Channel[1]
Название Пропускная способность (Gbaud) Производительность (~MBps) Год
1GFC 1.0625 100 1997
2GFC 2.125 200 2001
4GFC 4.25 400 2004
8GFC 8.5 800 2005
10GFC Последовательный 10.51875 1000 2006
10GFC Параллельный 12.75 1500 2007
16GFC 14.025 2000 2008
20GFC 21.04 3200 2011

Топологии Fibre Channel[править | править исходный текст]

Топологии FC определяют взаимное подключение устройств, а именно передатчиков (трансмиттеров) и приёмников (ресиверов) устройств. Существует три типа топологии FC:

  • Точка-Точка (point-to-point)

Устройства соединены напрямую — трансмиттер одного устройства соединён с ресивером второго и наоборот. Все отправленные одним устройством кадры предназначены для второго устройства.

Устройства объединены в петлю — трансмиттер каждого устройства соединён с ресивером следующего. Перед тем, как петля сможет служить для передачи данных, устройства договариваются об адресах. Для передачи данных по петле устройство должно завладеть «эстафетой» (token). Добавление устройства в петлю приводит к приостановке передачи данных и пересобиранию петли. Для построения управляемой петли используют концентраторы, которые способны размыкать или замыкать петлю при добавлении нового устройства или выходе устройства из петли.

  • Коммутируемая связная архитектура (switched fabric)

Основана на применении коммутаторов. Позволяет подключать большее количество устройств, чем в управляемой петле, при этом добавление новых устройств не влияет на передачу данных между уже подключёнными устройствами. Так как на основе коммутаторов можно строить сложные сети, на коммутаторах поддерживаются распределённые службы управления сетью (fabric services), отвечающие за маршруты передачи данных, регистрацию в сети и присвоение сетевых адресов и проч. Fibre Channel изначально разрабатывался как высокоскоростная сеть, пригодная для работы в реальном времени. В транспорте Fibre Channel заложены механизмы регулирования потока (flow control), синхронизации портов по времени и возможность повтора сбойной информации без обращения к протоколу верхнего уровня. Упрощенно, без подробностей зонирования и виртуализации, в Fibre Channel при подключении порта обязательным является выполнение login, так что коммутатор о всех портах сети всегда знает какой порт где находится и что может. Когда в коммутатор Fibre Channel приходит кадр данных, то коммутатор уже знает, где находится адресат и куда этот кадр маршрутизировать (в отличие от Ethernet, в котором коммутатор после прихода кадра сначала ищет, где находится адресат и только после его ответа посылает ему этот кадр, и, если истекло время старения, коммутатор Ethernet вновь будет искать маршрут для другого кадра данных от того же источника к тому же адресату, хотя оба порта были online). Очевидно, что подход Fibre Channel требует больше ресурсов, поэтому коммутаторы по этой технологии значительно дороже, чем для Ethernet.

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

Уровни[править | править исходный текст]

Fibre Channel состоит из пяти уровней:

  • FC-0 Физический Описывает среду передачи, трансиверы, коннекторы и типы используемых кабелей. Включает определение электрических и оптических характеристик, скоростей передачи данных и других физических компонентов. Поддерживается как оптическая, так и электрическая среда (витая пара, коаксиальный или твинаксиальный кабели, а также многомодовое или одномодовое волокно), со скоростью передачи данных от 133 мегабит/с до 10 гигабит/с на расстояния до 50 километров.
  • FC-1 Кодирование Описывает процесс 8b/10b Кодирования (каждые 8 бит данных кодируются в 10-битовый символ (Transmission Character)), специальные символы и контроль ошибок. Для 10GFC используется кодирование 64b/66b, вследствие этого 10GFC несовместим с 1/2/4/8GFC.
  • FC-2 Кадрирование и сигнализация Описывает сигнальные протоколы. На этом уровне происходит определение слов, разбиение потока данных на кадры. Определяет правила передачи данных между двумя портами, классы служб).
  • FC-3 Общих для узла служб Определяет базовые и расширенные службы для транспортного уровня, а также такие особенности, как: расщепление потока данных (striping) (Возможность передачи потока данных через несколько соединений (маршрутов), отображение множества портов на одно устройство.
  • FC-4 Отображения протоколов Предоставляет возможность инкапсуляции других протоколов (SCSI, ATM, IP, HIPPI , AV, VI, IBM SBCCS и многих других.)

Логические типы портов[править | править исходный текст]

Топология Fibre Channel и логические типы портов

В зависимости от поддерживаемой топологии и типа устройства порты разделяются на несколько типов:

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

Варианты оптической среды передачи данных[править | править исходный текст]

Коннекторы Fibre channel LC (слева) и SC (справа)
Тип среды Скорость (MByte/s) Передатчик Модификация Расстояние
Одномодовое волокно 400 1300 нм Длинноволновой лазер 400-SM-LL-I 2 м — 2 км
100 1550 нм Длинноволновой лазер 100-SM-LL-V 2 м — >50 км
1300 нм Длинноволновой лазер 100-SM-LL-I 2 м — 2 км
200 1550 нм Длинноволновой лазер 200-SM-LL-V 2 м — >50 км
1300 нм Длинноволновой лазер 200-SM-LL-L 2 м — 10 км
1300 нм Длинноволновой лазер 200-SM-LL-I 2 м — 2 км
Многомодовое волокно (50µм) 400 850 nm Коротковолновой лазер 400-M5-SN-I 0.5 м — 150 м
200 200-M5-SN-I 0.5 м — 300 м
100 100-M6-SN-I 0.5 м — 300 м
100-M6-SL-I 2 м — 175 м

Инфраструктура Fibre Channel[править | править исходный текст]

Оборудование для инфраструктуры Fibre Channel подразделяется на несколько классов.

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

Для увеличения дальности соединения используют дополнительное трансмиссионное оборудование, такое как мультиплексоры на основе WDM и др.

Основные производители оборудования для инфраструктуры Fibre Channel: Brocade, Cisco, QLogic, Emulex.

Логические элементы потока данных[править | править исходный текст]

При передаче данных выделяют следующие логические последовательности:

Упорядоченные наборы (Ordered Sets)[править | править исходный текст]

Четырёхбайтные слова (Transmission Words), содержащие данные и специальные символы. Разбиение потока данных на упорядоченные наборы позволяет сохранять синхронизацию между передатчиком и ресивером на уровне битов и слов. Упорядоченные наборы всегда начинаются с символа K28.5. Основные типы наборов определяются сигнальным протоколом.

Разделители кадров[править | править исходный текст]

Разделители кадров используются для отделения одного кадра от другого. Существует два таких набора:

  • Начало кадра (Start Of Frame, SOF)
  • Конец кадра (End Of Frame, EOF)

Базовые сигналы[править | править исходный текст]

  • Сигнал бездействия (Idle). Передаётся для обозначения готовности принимать и отправлять кадры.
  • Сигнал готовности ресивера (Receiver Ready, R_RDY). Используется при управлении потоком данных (см. Классы Обслуживания) для индикации наличия места в буфере ресивера.
  • Базовые последовательности. Передаются для оповещения о нестандартном состоянии порта. При получении такой последовательности в ответ посылается соответствующая последовательность или сигнал бездействия. Стандарт поддерживает четыре последовательности:
  1. Offline (OLS)
  2. Not Operational (NOS)
  3. Link Reset (LR)
  4. Link Reset Response (LRR)

Протоколы (Protocols)[править | править исходный текст]

Адресация[править | править исходный текст]

Уникальный адрес устройства[править | править исходный текст]

Каждое устройство имеет уникальный 8-байтовый адрес, называемый NWWN (Node World Wide Name), состоящий из нескольких компонентов:

A0:00:BB:BB:BB:CC:CC:CC
| |   |        |
| |   |        ±------ Назначаются производителем устройства.
| |   ±--------------- Назначаются IEEE для каждого производителя.
| ±------------------- Всегда 0:00 (Зарезервировано стандартом)
±--------------------- Число произвольно выбирается производителем.

Классы служб (CoS)[править | править исходный текст]

Fibre Channel поддерживает следующие классы служб (Classes of service, CoS).

Стандарт FC-PH определяет Классы 1-3, Класс 4 определён в стандарте FC-PH-2 (в FC-FS-2 установлен устарелым), Класс 5 предложен для изохронного режима, но недостаточно стандартизирован, Класс 6 определён в стандарте FC-PH-3, Класс F — в стандартах FC-SW и FC-SW2.

  • Класс 1 — Acknowledged Connection Service (выделенные каналы с подтверждением). Между двумя устройствами через коммутатор или фабрику устанавливается выделенное соединение. Принимающее устройство отправляет на передающее устройство подтверждения приёма каждого кадра. Соединение остаётся открытым до тех пор, пока передача данных не будет завершена. Время установления соединения составляет несколько микросекунд. Предоставляемый канал обычно дуплексный, хотя по необходимости возможна организация симплексного (например, если необходимо одновременно передавать данные одному узлу и принимать от другого). Устройствам доступна вся его пропускная способность. Используется сквозное управление потоком. Гарантируется высокая скорость обмена и правильный порядок приёма кадров. Идеально подходит для приложений, работающих с большими объёмами данных — например, системы моделирования или обработки видео. Если пропускная способность не используется полностью данным приложением, она всё равно недоступна для других приложений, пока соединение не будет закрыто, так как попытки соединения с таким портом будут отвергаться с выдачей сигнала «занято». Поэтому, в стандарте рекомендуется закрывать соединения в отсутствие данных для передачи. В этом случае доступна максимальная пропускная способность. Основной недостаток — невозможность работы между собой портов с разной скоростью работы. Стандартизованные в FC-PH-2 однонаправленная передача, буферизация класса 1 и Camp on, начиная с FC-FS, считаются устарелыми.
  • Класс 2 — Acknowledged Connectionless Service (передачи без организации соединения с подтверждением). Каждый кадр коммутируется независимо от остальных, конечный порт может одновременно передавать и принимать данные от нескольких узлов, при этом канал между двумя взаимодействующими не выделяется (по сути, происходит мультиплексирование коммутатором трафика). Каждый кадр подтверждается принимающим устройством. Кадры могут доставляться по различным маршрутам, то есть упорядоченная доставка кадров в данном классе не гарантирована, упорядочивание последовательности кадров осуществляется на уровне FC-2. Утилизация доступной полосы пропускания ниже, чем в Классе 1, поскольку включаются механизмы регулирования потока на покадровой основе.
  • Класс 3 — Unacknowledged Connectionless Service, иногда называется Datagram Connectionless Service (передачи без организации соединения и без подтверждения). Аналогичен классу 2 за исключением того, что нет подтверждения доставки. Пропускная способность в отсутствие ошибок, из-за отсутствия подтверждений, незначительно (от 0 % в большинстве случаев до 3 % в худшем для класса 2 случае) увеличивается по сравнению с классом 2, но гарантий доставки нет, упорядоченная доставка кадров не гарантирована. Упорядочивание последовательности кадров осуществляется на уровне FC-2, а запрос на повторную передачу потерянных кадров осуществляется протоколами верхних уровней. Соответственно, в случае ошибок передачи, а также если кадр отклоняется или ресурс занят, то кадр теряется, и подключаются протоколы верхних уровней. Пропускная способность падает, поскольку у протоколов верхних уровней время реакции и тайм-ауты существенно выше, чем на уровне FC-2. При этом, для протоколов реального времени, задержка с повтором может быть такой, что передаваемая информация уже устарела. Используется для организации многоадресных и широковещательных рассылок, применяется также в системах массовой памяти. Наиболее распространённый класс коммутируемых FC-сетей, поскольку наиболее прост в реализации и поскольку наиболее распространенные протоколы верхних уровней SCSI и IP работают именно в этом классе.
  • Класс 4 — Fractional Bandwidth Connection-oriented Service (соединение с дробной полосой пропускания) между N_Ports. Сходен с Классом 1, так как тоже предполагает установление соединения, подтверждение доставки, фиксированную задержку, соблюдение порядка кадров. Соединение между портами устанавливается в виде виртуального канала с полосой пропускания, достаточной для предоставления услуг с предсказуемым качеством (QoS, включающий гарантированные полосу пропускания и максимальную задержку). Такой виртуальный двунаправленный канал состоит двух однонаправленных виртуальных соединений (Virtual Circuit, VC), причём на каждом VC могут обеспечиваться различные QoS. Каждый N_port может устанавливать несколько таких соединений (до 254). Используется для критичных ко времени доставки данных — например, видео- и аудиопотоков.
  • Класс 5 — Isochronous Service (изохронное соединение). Не стандартизован. Предназначен для приложений, требующих немедленной доставки данных без промежуточной буферизации.
  • Класс 6 — Unidirectional Connection Service (однонаправленное соединение). Аналогичен Классу 1, но является исключительно однонаправленным. Используется для широковещательных и многоадресных рассылок через соответствующий сервер. N_port может затребовать соединения Класса 6 на одно или несколько устройств (портов). Установленное соединение существует, пока инициатор в явном виде не закроет его. Разработан для доставки трафика реального времени (например, аудио и видео).
  • Смешанный класс — Intermix — является подвидом класса 1. Позволяет передавать кадры класса 2 или 3 в те моменты, когда приложение первого класса не занимает канал, причём кадры классов 2 или 3 необязательно должны быть адресованы тому же получателю, что и у класса 1. Был специально разработан с целью частично устранить блокировку фабрики передачами первого класса.
  • Класс F — используется коммутаторами для управления и передачи служебной информации, передача идёт без установления соединения по Inter Switch Links (ISL) между E_ports.

Сферы применения Fibre Channel[править | править исходный текст]

SAN-Свитч Qlogic с подключёнными к нему FC (оптическими) коннекторами.

Fibre Channel широко применяется для создания сетей хранения данных (Storage Area Networks). Благодаря высокой скорости передачи данных, малой задержке и расширяемости практически не имеет аналогов в этой области. Однако, в последние годы, область его применения постепенно перемещается в сегмент высокопроизводительных систем и решений, а бюджетный сегмент с успехом осваивается недорогими решениями iSCSI на базе Gigabit Ethernet и 10G Ethernet. Наметилась также тенденция к переносу транспортного уровня протокола FC в тот же Gigabit и 10G Ethernet при помощи протоколов FCoE и FCIP.

См. также[править | править исходный текст]

Ссылки[править | править исходный текст]

  1. Fibre Channel Industry Association
  2. Technical Committee T11
  3. Jon Tate, Brian Cartwright, John Cronin, Christian Dapprich. IBM SAN Survival Guide. IBM RedBooks, SG24-6143-01, August 2003
  4. Все о протоколах Fibre Channel и FCoE по русски
  5. Онлайн-книга «Сети хранения данных Fibre channel»

Примечания[править | править исходный текст]

  1. На сайте http://www.fibrechannel.org/library/2012/09/hardware.html в статье от 09.2012 приводятся данные для 1,2,4 и 10Gbit, линейная скорость там и в английской статье википедии больше в два раза, например для 1GFC = 200MBps, для 2GFC=400MBps