Основы протокола FC: уровни, порты, логины, зонирование
Fibre Channel похож на Ethernet на уровне SFP — те же клетки, похожая оптика — и ведёт себя совершенно иначе выше. Это транспорт без потерь, ориентированный на соединение, построенный для хранения: каждый кадр обязан прийти, по порядку, а фабрика знает каждое устройство по прошитому имени. Здесь — уровни протокола, типы портов, адресация, последовательность логина и зонирование: словарь, нужный, чтобы читать SAN-коммутатор и понимать, почему его оптику так строго контролируют.
Уровни
| Уровень | Имя | Содержимое | Связь с оптикой |
|---|---|---|---|
| FC-0 | физический | среда, разъёмы, передатчики, приёмники, скорости | SFP: Оптика FC, скорости |
| FC-1 | передача | кодирование 8B/10B до 8GFC, 64B/66B с 16GFC; упорядоченные наборы; FEC на 16GFC (опционально) и 32GFC+ (обязательно) | байт кодирования, счётчики FEC |
| FC-2 | кадры и управление потоком | кадры (до 2112 байт нагрузки), последовательности, обмены, классы сервиса, кредиты buffer-to-buffer | кредиты задают дальность — Дизайн SAN |
| FC-3 | общие сервисы | многоадресность, hunt groups (используются редко) | — |
| FC-4 | отображение протоколов | SCSI (FCP), NVMe (FC-NVMe), FICON, IP over FC | NVMe over fabrics |
Типы портов
| Порт | Роль |
|---|---|
| N_Port | порт узла — HBA или порт дискового массива |
| F_Port | порт фабрики на коммутаторе, подключённый к N_Port |
| E_Port | порт расширения — межкоммутаторная линия (ISL) |
| NL_Port / FL_Port | варианты для арбитражного кольца (наследие) |
| G_Port / U_Port | универсальный — порт коммутатора, становящийся F или E, когда узнаёт, что подключено |
| TE_Port / EX_Port | транковый E_Port (транк VSAN Cisco) / порт маршрутизатора между фабриками |
| D_Port | диагностический порт — выполняет оптические и электрические петлевые тесты линии (Brocade) |
Имена и адреса
| Идентификатор | Размер | Смысл |
|---|---|---|
| WWNN — World Wide Node Name | 64 бит | устройство (HBA, контроллер массива) |
| WWPN — World Wide Port Name | 64 бит | каждый порт; идентичность для зонирования и маскирования |
| FCID (N_Port ID) | 24 бит | адрес, назначенный фабрикой: Domain (коммутатор) / Area / Port; меняется при переносе устройства |
| Общеизвестные адреса | FFFFFC сервер имён, FFFFFD контроллер фабрики, FFFFFE сервер логина фабрики, FFFFFA сервер управления | сервисы фабрики |
WWN прошиты в HBA и портах массивов; они не меняются с кабелированием — поэтому зонирование по WWPN переживает перекоммутацию, а зонирование по портам — нет.
Последовательность логина
- Инициализация линии — согласование скорости (каждая сторона пробует свои скорости от старшей вниз; несовпадение или маргинальная оптика проявляются здесь), затем примитивные последовательности до синхронизации обоих концов.
- FLOGI (логин в фабрику) — N_Port просит у коммутатора FCID и согласует кредиты, класс сервиса и размер кадра.
- PLOGI (логин порта) — N_Port к N_Port (или к серверу имён) для установления сессии.
- PRLI (логин процесса) — согласует протокол FC-4 (SCSI или NVMe) и его параметры.
- Регистрация и запрос сервера имён — устройство регистрирует WWPN/FCID и узнаёт, какие зонированные цели существуют; уведомления RSCN объявляют дальнейшие изменения.
Порт, застрявший до FLOGI, — проблема физического уровня (оптика, кабель, скорость); застрявший после FLOGI — проблема фабрики/зонирования (Диагностика портов).
Классы сервиса и управление потоком
| Класс | Поведение | Применение |
|---|---|---|
| Класс 1 | выделенное соединение | устарел |
| Класс 2 | с подтверждением, без соединения | редко |
| Класс 3 | без соединения, без подтверждения — но фабрика никогда не теряет благодаря кредитам | практически весь трафик хранения |
| Класс F | управление коммутатор—коммутатор | сервисы фабрики |
Кредиты buffer-to-buffer (BB_Credit): приёмник выдаёт число буферов кадров; отправитель может передать только столько кадров, прежде чем получит подтверждения R_RDY. Ничего не теряется; когда кредиты кончаются, отправитель ждёт — механизм за поведением без потерь, ограничениями дальности и перегрузкой slow-drain (Дизайн SAN).
Зонирование и маскирование
- Зонирование на коммутаторе ограничивает, какие WWPN могут видеть друг друга; зонирование с одним инициатором (один порт HBA со своими целями) — норма. Зонируйте по WWPN, а не по портам.
- Маскирование LUN на массиве ограничивает, какие WWPN могут обращаться к каким томам.
- VSAN (Cisco) / Virtual Fabrics (Brocade) делят коммутатор на независимые фабрики; NPIV позволяет одному N_Port представлять много WWPN (виртуальные машины, блейд-шасси).
- Проблемы зонирования выглядят как «нет устройств» после успешного логина — проверьте сервер имён и активный набор зон, прежде чем трогать оптику.
Согласование скорости и оптика
Порты FC автоматически согласуют старшую общую скорость (например, 32/16/8GFC). SFP должен поддерживать согласованную скорость: SFP 16G в порту 32G ограничивает порт 16G; порт с фиксированной скоростью и оптикой другого поколения не линкуется вовсе. FC SFP кодируются битами скорости и среды FC, а не кодами Ethernet (Коды соответствия), а SAN-коммутаторы строго требуют вендорский брендинг (Оптика FC).
В CodingBox
Для FC SFP экран Check transceiver декодирует биты скорости, среды и дальности FC (байты 7–10, 62), так что видно, какие поколения заявляет модуль, до того как он попадёт в фабрику, которая будет их согласовывать.