Grundlagen des FC-Protokolls: Schichten, Ports, Logins, Zoning
Fibre Channel sieht am SFP aus wie Ethernet – gleiche Käfige, ähnliche Optik – und verhält sich darüber hinaus überhaupt nicht so. Es ist ein verlustfreier, verbindungsorientierter Transport für Storage: Jeder Frame wird erwartungsgemäß und in der richtigen Reihenfolge zugestellt, und die Fabric kennt jedes Gerät anhand eines fest eingebrannten Namens. Diese Seite behandelt die Protokollschichten, Porttypen, Adressierung, die Login-Sequenz und Zoning – das Vokabular, um einen SAN-Switch zu lesen und zu verstehen, warum seine Optik so streng kontrolliert wird.
Schichten
| Schicht | Name | Inhalt | Bezug zur Optik |
|---|---|---|---|
| FC-0 | physikalisch | Medium, Steckverbinder, Sender, Empfänger, Geschwindigkeiten | das SFP: FC-Optik, Geschwindigkeiten |
| FC-1 | Übertragung | 8B/10B-Encoding bis 8GFC, 64B/66B ab 16GFC; Ordered Sets; FEC bei 16GFC (optional) und 32GFC+ (verpflichtend) | Encoding-Byte, FEC-Zähler |
| FC-2 | Framing & Flusssteuerung | Frames (bis 2112 Byte Payload), Sequences, Exchanges, Serviceklassen, Buffer-to-Buffer-Credits | Credits bestimmen die Distanz – SAN-Design |
| FC-3 | gemeinsame Dienste | Multicast, Hunt Groups (selten verwendet) | — |
| FC-4 | Protokoll-Mapping | SCSI (FCP), NVMe (FC-NVMe), FICON, IP over FC | NVMe over Fabrics |
Porttypen
| Port | Rolle |
|---|---|
| N_Port | Node Port – ein HBA- oder Storage-Array-Port |
| F_Port | Fabric-Port an einem Switch, verbunden mit einem N_Port |
| E_Port | Expansion Port – Inter-Switch-Link (ISL) zwischen Switches |
| NL_Port / FL_Port | Arbitrated-Loop-Varianten (Legacy) |
| G_Port / U_Port | generisch/universal – ein Switch-Port, der zu F oder E wird, sobald er erkennt, was angeschlossen ist |
| TE_Port / EX_Port | trunkender E_Port (Cisco-VSAN-Trunk) / Router-Port zwischen Fabrics |
| D_Port | Diagnostic Port – führt optische und elektrische Loopback-Tests auf einem Link aus (Brocade) |
Namen und Adressen
| Bezeichner | Größe | Bedeutung |
|---|---|---|
| WWNN – World Wide Node Name | 64-Bit | das Gerät (HBA, Array-Controller) |
| WWPN – World Wide Port Name | 64-Bit | jeder Port; die für Zoning und Masking verwendete Identität |
| FCID (N_Port-ID) | 24-Bit | von der Fabric vergebene Adresse: Domain (Switch) / Area / Port; ändert sich, wenn das Gerät verschoben wird |
| Well-known Addresses | FFFFFC Name Server, FFFFFD Fabric Controller, FFFFFE Fabric Login Server, FFFFFA Management Server | Fabric-Dienste |
WWNs sind in HBAs und Array-Ports fest eingebrannt; sie ändern sich nicht durch Verkabelung – deshalb übersteht Zoning nach WWPN eine Neuverkabelung, Zoning nach Port dagegen nicht.
Login-Sequenz
- Link-Initialisierung – Geschwindigkeitsaushandlung (jede Seite probiert ihre Geschwindigkeiten von der höchsten absteigend; ein Mismatch oder eine grenzwertige Optik zeigt sich hier), dann Primitive Sequences, bis beide Enden synchron sind.
- FLOGI (Fabric Login) – der N_Port fordert vom Switch eine FCID an und handelt Buffer-Credits, Serviceklasse und Framegröße aus.
- PLOGI (Port Login) – N_Port zu N_Port (oder zum Name Server), um eine Session aufzubauen.
- PRLI (Process Login) – handelt das FC-4-Protokoll (SCSI oder NVMe) und dessen Parameter aus.
- Name-Server-Registrierung und -Abfrage – das Gerät registriert seine WWPN/FCID und erfährt, welche gezonten Targets existieren; RSCN-Benachrichtigungen kündigen spätere Änderungen an.
Ein Port, der vor FLOGI hängen bleibt, hat ein Physical-Layer-Problem (Optik, Kabel, Geschwindigkeit); bleibt er nach FLOGI hängen, ist es ein Fabric-/Zoning-Problem (Portdiagnose).
Serviceklassen und Flusssteuerung
| Klasse | Verhalten | Verwendung |
|---|---|---|
| Class 1 | dedizierte Verbindung | veraltet |
| Class 2 | bestätigt, verbindungslos | selten |
| Class 3 | verbindungslos, unbestätigtes Datagramm – aber dank Credits nie von der Fabric verworfen | praktisch der gesamte Storage-Traffic |
| Class F | Switch-zu-Switch-Steuerung | Fabric-Dienste |
Buffer-to-Buffer-Credits (BB_Credit): Der Empfänger gewährt eine Anzahl von Frame-Puffern; der Sender darf nur so viele Frames senden, bevor er R_RDY-Bestätigungen erhält. Nichts wird verworfen; wenn die Credits aufgebraucht sind, wartet der Sender – der Mechanismus hinter verlustfreiem Verhalten, Distanzgrenzen und Slow-Drain-Überlastung (SAN-Design).
Zoning und Masking
- Zoning auf dem Switch legt fest, welche WWPNs einander sehen dürfen; Single-Initiator-Zoning (ein HBA-Port mit seinen Targets) ist der Normalfall. Nach WWPN zonen, nicht nach Port.
- LUN Masking auf dem Array legt fest, welche WWPNs auf welche Volumes zugreifen dürfen.
- VSANs (Cisco) / Virtual Fabrics (Brocade) unterteilen einen Switch in unabhängige Fabrics; NPIV lässt einen N_Port mehrere WWPNs präsentieren (virtuelle Maschinen, Blade-Enclosures).
- Zoning-Probleme sehen nach einem erfolgreichen Login wie „keine Geräte“ aus – Name Server und aktives Zone Set prüfen, bevor die Optik angefasst wird.
Geschwindigkeitsaushandlung und Optik
FC-Ports handeln automatisch die höchste gemeinsame Geschwindigkeit aus (z. B. 32/16/8GFC). Das SFP muss die ausgehandelte Rate unterstützen: Ein 16G-SFP in einem 32G-Port begrenzt den Port auf 16G; ein Port mit fester Geschwindigkeit verbindet sich mit einer Optik einer anderen Generation überhaupt nicht. FC-SFPs sind mit FC-Speed- und Media-Bits codiert statt mit Ethernet-Codes (Compliance-Codes), und SAN-Switches setzen Herstellerkennung streng durch (FC-Optik).
In CodingBox
Für ein FC-SFP dekodiert der Bildschirm Check transceiver die FC-Speed-, Media- und Distanz-Bits (Byte 7–10, 62), sodass Sie sehen, welche Generationen ein Modul beansprucht, bevor es in eine Fabric kommt, die diese aushandelt.