Podstawy protokołu FC: warstwy, porty, logowania, strefowanie
Fibre Channel przypomina Ethernet na poziomie SFP — te same klatki, podobna optyka — ale powyżej nie zachowuje się jak on w niczym. To bezstratny transport zorientowany połączeniowo, zbudowany dla pamięci masowych: każda ramka ma dotrzeć, w kolejności, a fabric zna każde urządzenie po nazwie zaszytej fabrycznie. Ta strona omawia warstwy protokołu, typy portów, adresowanie, sekwencję logowania i strefowanie — słownictwo potrzebne, by odczytać przełącznik SAN i zrozumieć, dlaczego jego optyka jest tak rygorystycznie kontrolowana.
Warstwy
| Warstwa | Nazwa | Zawartość | Znaczenie dla optyki |
|---|---|---|---|
| FC-0 | fizyczna | medium, złącza, nadajniki, odbiorniki, szybkości | SFP: Optyka FC, szybkości |
| FC-1 | transmisja | kodowanie 8B/10B do 8GFC, 64B/66B od 16GFC; uporządkowane zestawy; FEC przy 16GFC (opcjonalny) i 32GFC+ (obowiązkowy) | bajt kodowania, liczniki FEC |
| FC-2 | ramkowanie i kontrola przepływu | ramki (ładunek do 2112 bajtów), sekwencje, wymiany, klasy usług, kredyty buforowe (buffer-to-buffer) | kredyty wyznaczają zasięg — Projektowanie SAN |
| FC-3 | usługi wspólne | multicast, hunt groups (rzadko używane) | — |
| FC-4 | mapowanie protokołów | SCSI (FCP), NVMe (FC-NVMe), FICON, IP po FC | NVMe over Fabrics |
Typy portów
| Port | Rola |
|---|---|
| N_Port | port węzła — HBA albo port macierzy dyskowej |
| F_Port | port fabric na przełączniku, połączony z N_Port |
| E_Port | port rozszerzający — łącze międzyprzełącznikowe (ISL) między przełącznikami |
| NL_Port / FL_Port | warianty pętli arbitrażowej (starsze) |
| G_Port / U_Port | ogólny/uniwersalny — port przełącznika, który staje się F albo E, gdy rozpozna, co jest podłączone |
| TE_Port / EX_Port | trunkujący E_Port (trunk VSAN w Cisco) / port routera między fabric |
| D_Port | port diagnostyczny — wykonuje na łączu testy pętli zwrotnej (loopback) optycznej i elektrycznej (Brocade) |
Nazwy i adresy
| Identyfikator | Rozmiar | Znaczenie |
|---|---|---|
| WWNN — World Wide Node Name | 64-bitowy | urządzenie (HBA, kontroler macierzy) |
| WWPN — World Wide Port Name | 64-bitowy | każdy port; dane identyfikacyjne wykorzystywane do strefowania i maskowania |
| FCID (N_Port ID) | 24-bitowy | adres przydzielany przez fabric: Domain (przełącznik) / Area / Port; zmienia się, gdy urządzenie się przemieści |
| Adresy powszechnie znane | FFFFFC serwer nazw, FFFFFD kontroler fabric, FFFFFE serwer logowania fabric, FFFFFA serwer zarządzania | usługi fabric |
WWN są zaszyte fabrycznie w HBA i portach macierzy; nie zmieniają się wraz z okablowaniem — dlatego strefowanie po WWPN przetrwa przełożenie kabli, a strefowanie po porcie nie.
Sekwencja logowania
- Inicjalizacja łącza — negocjacja szybkości (każda strona próbuje swoich szybkości od najwyższej w dół; tu ujawnia się niezgodność albo optyka na granicy), a potem sekwencje pierwotne, aż oba końce się zsynchronizują.
- FLOGI (logowanie do fabric) — N_Port prosi przełącznik o FCID i negocjuje kredyty buforowe, klasę usługi i rozmiar ramki.
- PLOGI (logowanie portu) — N_Port do N_Port (albo do serwera nazw), aby nawiązać sesję.
- PRLI (logowanie procesu) — negocjuje protokół FC-4 (SCSI albo NVMe) i jego parametry.
- Rejestracja i odpytanie serwera nazw — urządzenie rejestruje swój WWPN/FCID i poznaje, jakie istnieją cele w jego strefie; późniejsze zmiany zgłaszają powiadomienia RSCN.
Port, który utyka przed FLOGI, ma problem warstwy fizycznej (optyka, kabel, szybkość); utykający po FLOGI ma problem z fabric/strefowaniem (Diagnostyka portów).
Klasy usług i kontrola przepływu
| Klasa | Zachowanie | Zastosowanie |
|---|---|---|
| Klasa 1 | połączenie dedykowane | przestarzała |
| Klasa 2 | bezpołączeniowa z potwierdzeniem | rzadka |
| Klasa 3 | bezpołączeniowy, niepotwierdzany datagram — ale nigdy nieodrzucany przez fabric dzięki kredytom | praktycznie cały ruch pamięci masowej |
| Klasa F | sterowanie między przełącznikami | usługi fabric |
Kredyty buforowe (buffer-to-buffer credits, BB_Credit): odbiorca przyznaje określoną liczbę buforów ramek; nadawca może wysłać tyle ramek, zanim otrzyma potwierdzenia R_RDY. Nic nie jest odrzucane; gdy kredyty się wyczerpią, nadawca czeka — to mechanizm stojący za bezstratnością, ograniczeniami zasięgu i przeciążeniem slow-drain (Projektowanie SAN).
Strefowanie i maskowanie
- Strefowanie na przełączniku ogranicza, które WWPN mogą się nawzajem widzieć; normą jest strefowanie z jednym inicjatorem (jeden port HBA z jego celami). Twórz strefy po WWPN, nie po porcie.
- Maskowanie LUN na macierzy ogranicza, które WWPN mają dostęp do których wolumenów.
- VSAN (Cisco) / Virtual Fabrics (Brocade) dzielą przełącznik na niezależne fabric; NPIV pozwala jednemu N_Port prezentować wiele WWPN (maszyny wirtualne, obudowy blade).
- Problemy ze strefowaniem wyglądają jak „brak urządzeń” mimo poprawnego zalogowania — sprawdź serwer nazw i aktywny zestaw stref, zanim zajmiesz się optyką.
Negocjacja szybkości i optyka
Porty FC automatycznie negocjują najwyższą wspólną szybkość (np. 32/16/8GFC). SFP musi obsługiwać wynegocjowaną przepływność: SFP 16G w porcie 32G ogranicza port do 16G; port o stałej szybkości z optyką innej generacji w ogóle się nie połączy. Moduły SFP FC są kodowane bitami szybkości i medium właściwymi dla FC, a nie kodami Ethernet (Kody zgodności), a przełączniki SAN rygorystycznie egzekwują branding producenta (Optyka FC).
W CodingBox
Dla SFP FC ekran Check transceiver dekoduje bity szybkości, medium i dystansu FC (bajty 7–10, 62), dzięki czemu widzisz, jakie generacje deklaruje moduł, zanim trafi do fabric, która będzie je negocjować.