Fibre Channel (FC) () — семейство протоколов для высокоскоростной передачи данных. Стандартизацией протоколов занимается Технический комитет T11, входящий в состав (INCITS), аккредитованного Американским национальным институтом стандартов (ANSI). Изначальное применение FC в области суперкомпьютеров впоследствии практически полностью перешло в сферу сетей хранения данных, где FC используется как стандартный способ подключения к системам хранения данных уровня предприятия.
Fibre Channel Protocol (FCP) — транспортный протокол (как TCP в IP-сетях), инкапсулирующий протокол SCSI по сетям Fibre Channel. Является основой построения сетей хранения данных. В русскоязычной литературе термин используется без перевода.
История История Fibre Channel началась в 1988 году, а в 1994 году был утверждён ANSI как стандарт, упрощавший интерфейс HIPPI, для которого применялся массивный 50-парный кабель с громоздкими разъёмами. Первоначально интерфейс Fibre Channel должен был повысить дальность и упростить подключение линий передачи, а не увеличить скорость.
+ Версии Fibre Channel Название Линейная скорость, Гбод Линейное кодирование Производительность ном., 1 МБ принят равным 1 млн (10002) байт Пропускная способностьс учётом накладных расходов линейного кода (L1), (6×4 байт), заголовка кадра (L2) 36 байт, Год 1GFC 8b10b 1997 2GFC 8b10b 2001 4GFC 8b10b 2004 8GFC 8b10b 2005 10GFC Последовательный 2008 10GFC Параллельный ? 2008 16GFC «Gen 5» 64b66b 2011 32GFC «Gen 6» 64b66b 2016 128GFC «Gen 6» 4× 64b66b 2016
Топологии Fibre Channel Топологии FC определяют взаимное подключение устройств, а именно передатчиков (трансмиттеров) и приёмников (ресиверов) устройств. Существует три типа топологии FC: Точка-точка (point-to-point) Устройства соединены напрямую — трансмиттер одного устройства соединён с ресивером второго, и наоборот. Все отправленные одним устройством кадры предназначены для второго устройства. Управляемая петля (arbitrated loop) Устройства объединены в петлю — трансмиттер каждого устройства соединён с ресивером следующего. Перед тем, как петля сможет служить для передачи данных, устройства договариваются об адресах. Для передачи данных по петле устройство должно завладеть «эстафетой» (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 используется , вследствие этого 10GFC несовместим с 1/2/4/8GFC. FC-2 — Кадрирование и сигнализация. Описывает сигнальные протоколы. На этом уровне происходит определение слов, разбиение потока данных на кадры. Определяет правила передачи данных между двумя портами, классы служб. FC-3 — Общих для узла служб. Определяет базовые и расширенные службы для транспортного уровня, а также такие особенности, как: расщепление потока данных (striping) (Возможность передачи потока данных через несколько соединений (маршрутов), отображение множества портов на одно устройство. FC-4 — Отображения протоколов. Предоставляет возможность инкапсуляции других протоколов (SCSI, ATM, IP, HIPPI, , IBM SBCCS и многих других).
Логические типы портов
В зависимости от поддерживаемой топологии и типа устройства порты разделяются на несколько типов:
Порты узлов: 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, A_Port, или F_Port..
Варианты оптической среды передачи данных
Тип среды Скорость, МБ/с Передатчик Модификация Расстояние Одномодовое волокно 400 Длинноволновой лазер 1310 нм 400-SM-LL-I 2 м — 2 км 100 Длинноволновой лазер 1550 нм 100-SM-LL-V 2 м — >50 км Длинноволновой лазер 1310 нм 100-SM-LL-I 2 м — 2 км 200 Длинноволновой лазер 1550 нм 200-SM-LL-V 2 м — >50 км Длинноволновой лазер 1310 нм 200-SM-LL-L 2 м — 10 км Длинноволновой лазер 1310 нм 200-SM-LL-I 2 м — 2 км Многомодовое волокно (50 мкм) 400 Коротковолновой лазер 850 нм 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, .
Логические элементы потока данных При передаче данных выделяют следующие логические последовательности:
Упорядоченные наборы (Ordered Sets) Четырёхбайтные слова (Transmission Words), содержащие данные и специальные символы. Разбиение потока данных на упорядоченные наборы позволяет сохранять синхронизацию между передатчиком и ресивером на уровне битов и слов. Упорядоченные наборы всегда начинаются с символа K28.5. Основные типы наборов определяются сигнальным протоколом.
Разделители кадров Разделители кадров используются для отделения одного кадра от другого. Существует два таких набора: Начало кадра (Start of Frame, SOF) Конец кадра (End of Frame, EOF)
Базовые сигналы Сигнал бездействия (Idle). Передаётся для обозначения готовности принимать и отправлять кадры. Сигнал готовности ресивера (Receiver Ready, R_RDY). Используется при управлении потоком данных (см. классы служб) для индикации наличия места в буфере ресивера. Базовые последовательности. Передаются для оповещения о нестандартном состоянии порта. При получении такой последовательности в ответ посылается соответствующая последовательность или сигнал бездействия. Стандарт поддерживает четыре последовательности: Offline (OLS) Not Operational (NOS) Link Reset (LR) Link Reset Response (LRR)
Протоколы (Protocols) В сетях хранения данных используются низкоуровневые протоколы:
Fibre Channel Protocol (FCP), транспорт SCSI через Fibre Channel. Наиболее часто используемый на данный момент протокол. Существует в вариантах 1, 2, 4, 8 и 10 Гбит/с. iSCSI, транспорт SCSI через TCP/IP. FCoE, транспортировка FCP/SCSI поверх «чистого» Ethernet. FCIP и iFCP, инкапсуляция и передача FCP/SCSI в пакетах IP. HyperSCSI, транспорт SCSI через Ethernet. FICON транспорт через Fibre Channel (используется только мейнфреймами). ATA over Ethernet, транспорт ATA через Ethernet. SCSI и/или TCP/IP транспорт через InfiniBand (IB).
Адресация
Уникальный адрес устройства Каждое устройство имеет уникальный 8-байтовый адрес, называемый NWWN (Node World Wide Name), состоящий из нескольких компонентов: A0:00:BB:BB:BB:CC:CC:CC
| | | ±------ Назначаются производителем устройства. | | ±--------------- Назначаются IEEE для каждого производителя. | ±------------------- Всегда 0:00 (Зарезервировано стандартом) ±--------------------- Число произвольно выбирается производителем.
Классы служб (CoS) Fibre Channel поддерживает следующие классы служб (Classes of service, CoS).