# Fibre Channel

Fibre Channel ist eine Standardschnittstelle aus dem Bereich der Speichernetzwerke. Die Abkürzung des zugehörigen Protokolls ist FC-P.

## Überblick

Fibre Channel ist für serielle, kontinuierliche Hochgeschwindigkeitsübertragung großer Datenmengen konzipiert worden.
Viele Storage Area Networks basieren heute auf der Implementierung des Fibre-Channel-Standards. Die erreichten Datenübertragungsraten liegen heute bei 4, 8, 16 und 32 Gbit/s, was im Vollduplex-Betrieb für Datentransferraten von bis zu 3,2 GB/s ausreicht. Es sind jedoch auch geringere Datenübertragungsraten möglich. So war bis vor wenigen Jahren noch 1 Gb/s (1GFC) die maximale Datenübertragungsrate im Fibre Channel. Als Übertragungsmedium findet man Kupferkabel (hauptsächlich innerhalb von Storage-Systemen; überbrückt bis zu 30 m) und Glasfaserkabel (meist zur Verbindung der Storage-Systeme untereinander; überbrückt bis zu 10 km). Fibre Channel wurde zur Ablösung des alten SCSI-Busses entwickelt. Die Hauptanwendung von Fibre Channel ist der Transport von SCSI-Kommandos, -Daten und -Status. Es gibt aber viele weitere sogenannte Upper-Layer-Protokolle, wie z. B. SNMP, IP oder Virtualinterface.
Ähnlich wie bei klassischen Netzwerken, bei denen jede Netzwerkkarte eine MAC-Adresse hat, hat bei Fibre Channel jedes Gerät einen WWNN (World Wide Node Name) sowie jeder Port pro Gerät einen WWPN (World Wide Port Name). Es handelt sich dabei um einen 64-Bit-Wert (meist hexadezimal dargestellt), der jedes Fibre-Channel-Gerät eindeutig identifiziert. Fibre-Channel-Geräte können über mehr als nur einen Port verfügen, in diesem Fall hat das Gerät weiterhin nur eine WWNN, aber es besitzt WWPNs in der gleichen Anzahl wie es Ports besitzt. Die WWNN und die WWPN sind sich in der Regel sehr ähnlich.
Die Erweiterungskarten, die es den Servern ermöglichen, über Fibre Channel zu kommunizieren, werden als Host-Bus-Adapter (kurz: HBA) bezeichnet. Typische HBAs benötigen einen PCI-Express-Steckplatz, ältere HBAs hatten einen PCI-X-Steckplatz mit 64-Bit-Busbreite und mindestens 100-MHz-Taktrate.
Der Payload (tatsächlich übertragbare Daten) eines FC-Frames beträgt bis zu 2112 Bytes, der Protokoll-Overhead liegt bei lediglich 36 Bytes (vergl. iSCSI, TCP/IP ohne Jumbo Frames: 1460 Bytes/78 Bytes; mit Jumbo Frames 8960 Bytes/78 Bytes). Er dient zur Adressierung und Integritätsprüfung der Daten und besteht aus:
* Start of frame, 4 Byte: kennzeichnet den Anfang des Datenblocks
* FC frame header, 24 Byte: beinhaltet Metadaten zum Block
* CRC, 4 Byte: Prüfsumme zu Prüfung der Datenintegrität
* End of frame, 4 Byte: kennzeichnet das Ende des Datenblocks

## Topologien

Es können generell drei Arten von Fibre-Channel-Topologien unterschieden werden:

### Point To Point (FC-P2P),

    die einfachste Implementierung, in der zwei Ports direkt miteinander verbunden werden und somit auch nur diese beiden miteinander kommunizieren können.

### Arbitrated Loop (FC-AL),

    in der bis zu 127 Ports in einem Ring (oder einer Schleife) miteinander verbunden werden. Das Hinzufügen oder Entfernen eines Ports bedeutet die Unterbrechung des gesamten Rings und es kann auch immer nur ein Port-Paar gleichzeitig miteinander kommunizieren. Selbst wenn ein solcher Ring nur aus zwei Ports bestünde, wären die Unterschiede im Protokoll deutlich im Vergleich zu einer FC-P2P Implementierung. Diese Topologie ist am ehesten mit einem Token Ring Netzwerk vergleichbar. FC-AL wird auch als Low Cost-Fibre Channel bezeichnet, es bildet häufig den Einstieg in die Welt der Storage Area Networks. Häufig findet man FC-AL-Implementierungen bei kleineren Clustern, in denen es mehreren physischen Nodes möglich ist, auf einen gemeinsamen Massenspeicher direkt zuzugreifen. Hier hat SCSI seine Grenze erreicht, weshalb man die Eigenschaft des Fibre Channel nutzt, die es erlaubt, mehrere Hosts mit mehreren Speichersubsystemen zu verbinden. Dabei teilen sich alle Geräte die verfügbare Datenübertragungsrate (je nach eingesetzter Technik 133 MBit/s bis 4 GBit/s) des einen, verfügbaren Bus. Das Hintereinanderschalten der Geräte nennt man auch Daisy Chain. Ist ein Fibre Channel Hub mit im Spiel, erfolgt die Verkabelung zumeist sternförmig, wenngleich der Hub auch hier noch immer eine Ring-Topologie herstellt, in der allerdings ein ausgefallener Port nicht mehr den gesamten Ring stilllegt (Port Bypass Circuit). In einer FC-AL melden sich die N_Ports über den Extended Link Service Port Login (PLOGI) an.

### Switched Fabric (FC-SW),

    bei der bis zu 2$^{24}$ Ports über Fibre Channel Switche miteinander kommunizieren können, ganz ähnlich einer modernen Ethernet-Infrastruktur. Zudem können hier viele Port-Paare gleichzeitig miteinander kommunizieren. Bei der Fibre Channel-Switched Fabric handelt es sich um die leistungsfähigste und ausfallsicherste Implementierung von Fibre Channel. In den meisten Fällen ist Switched Fabric gemeint, wenn nur von Fibre Channel gesprochen wird. Im Zentrum der Switched Fabric steht der Fibre Channel Switch oder der Director. Über dieses Gerät werden alle anderen Geräte miteinander verbunden, so dass es über den Fibre Channel Switch möglich wird, direkte Punkt-zu-Punkt-Verbindungen zwischen je zwei beliebigen angeschlossenen Geräten zu schalten. Um die Datenübertragungsrate weiter zu steigern, ist es möglich, mehrere HBAs in einen Server einzubauen. Nachdem sich jeder N_Port eines HBA des Servers mit einem Fabric Login (FLOGI), der seine WWPN und WWNN enthält, am Switch angemeldet hat, registriert der Switch den Host im lokalen Name Server mit der WWPN/WWNN und einer eindeutigen Adresse bestehend aus DomainID (eindeutige Adresse des Switches in der Fabric (siehe unten)), dem Port auf dem Server, gefolgt von 00 für Switched Fabric. Diese 6-Byte-Adresse wird für die Adressierung des Ports in der Fabric benutzt. Außerdem können bei Verwendung mehrerer Switches diese untereinander kombiniert werden (Fabric). Die Switches erkennen dann untereinander die Topologie und nutzen diese intelligent. So wird stets der am geringsten belastete Weg genutzt (FSPF – Fabric Shortest Path First). Wenn der Server über mehr als einen HBA verfügt und jeder HBA auf einem anderen Switch gesteckt ist, kann der Server somit ein Speichersubsystem auf mehreren Wegen erreichen. Diese Fähigkeit im Fibre Channel wird als Multi-Pathing bezeichnet. Sie erhöht die Ausfallsicherheit und die Leistung des Storage Area Networks (SAN), da zwischen verschiedenen Geräten mehr als ein möglicher Datenweg besteht. Um die Ausfallsicherheit weiter zu steigern, ist man in vielen Fibre-Channel-Implementierungen dazu übergegangen, mit redundanter dualer Fabric zu arbeiten. Es werden also zwei vollkommen unabhängige Switched Fabrics betrieben, jedes Speichersubsystem und jeder Server ist mit mindestens einem HBA an jede der beiden Fabrics angeschlossen. Das Gesamtsystem kann neben dem Ausfall einzelner Datenwege sogar den Ausfall einer ganzen Fabric verkraften, da es keinen Single Point of Failure mehr gibt. Diese Fähigkeit spielt besonders im Bereich der Hochverfügbarkeit eine wichtige Rolle.

## Schichten

Der Fibre-Channel-Protokoll-Stack ist, wie auch das OSI- und TCP/IP-Modell, in Schichten unterteilt. Anders als bei diesen beiden, gibt es hier fünf Schichten (Layer), die sich im Vergleich wie folgt abbilden lassen:
| OSI | TCP/IP | Fibre Channel |
| Anwendungen | FTP, Telnet, SMTP, NFS, SMB, … | FC-4 (Protocol Mapping Layer): SCSI, IP, FICON, … |
| Darstellung | FTP, Telnet, SMTP, NFS, SMB, … | FC-4 (Protocol Mapping Layer): SCSI, IP, FICON, … |
| Sitzung | FTP, Telnet, SMTP, NFS, SMB, … | FC-3 (Common Services Layer): RAID, Verschlüsselung, … FC-2 (Network Layer): FC Core |
| Transport | TCP, UDP, RSVP, … | FC-3 (Common Services Layer): RAID, Verschlüsselung, … FC-2 (Network Layer): FC Core |
| Vermittlung | IP, ICMP, IGMP, … | (kein Äquivalent zur Vermittlungsschicht) |
| Sicherung | Ethernet, FDDI, Token Ring, … | FC-3 (Common Services Layer): RAID, Verschlüsselung, … FC-2 (Network Layer): FC Core |
| Bitübertragung | Ethernet, FDDI, Token Ring, … | FC-1 (Data Link Layer): Line Coding FC-0 (Physical): Kabel, Stecker, … |
* FC-4 – Im Protocol Mapping Layer werden Anwendungsprotokolle, wie z. B. SCSI oder IP in eine Protocol Data Unit verpackt, damit diese über den FC-2 Layer zugestellt werden kann.
* FC-3 – Im Common Services Layer können erweiterte Funktionen wie beispielsweise RAID-Absicherung oder Verschlüsselung implementiert werden.
* FC-2 – Der Network Layer. Definiert im FC-PI-2 Standard, stellt er den eigentlichen Kern des FC-Protokolls dar.
* FC-1 – Im Data Link Layer ist die Umsetzung der Daten in Leitungssignale implementiert.
* FC-0 – Der Physical Layer, der die Verkabelung, Stecker und Steckertypen usw. definiert.
Die Schichten FC-0, FC-1 und FC-2 können unter der Bezeichnung FC-PH als die physischen Schichten des Fibre Channels zusammengefasst werden.
Fibre-Channel-Router arbeiten bis hoch zur FC-4 Schicht (d. h., sie können z. B. als SCSI-Router fungieren), Switche bis FC-2 und Hubs nur auf Schicht FC-0.
Fibre-Channel-Produkte gibt und gab es in den Geschwindigkeitsausprägungen 1, 2, 4, 8, 10, 16 und 20 Gbit/s. Der 16-Gbit/s-Standard wurde 2010 durch das INCITS-T11-Komitee freigegeben. FC-Produkte sind nur zwei Generationen abwärtskompatibel, d. h., ein 4 Gbit/s HBA beherrscht auch 2 und 1 Gbit/s, während jedoch ein 8 Gbit/s Adapter eine 1 Gbit/s FC-Infrastruktur nicht mehr unterstützt. Die 10 und 20 Gbit/s Standards sind Sonderfälle. Sie sind zu keinem anderen FC-Standard abwärtskompatibel und werden praktisch ausschließlich zur Inter-Switch-Link Kommunikation verwendet.

## Port-Typen im Fabric

| Kürzel | Typ | Beschreibung |
| U_Port | Universal Port | Startstatus |
| FL_Port | Fabric Loop Port | ist mit einer Loop verbunden |
| G_Port | Generic Port | Vorstufe zu E- oder F-Port |
| F_Port | Fabric Port | ist mit einem N_Port verbunden |
| E_Port | Expansion Port | Verbindung zu anderem SAN-Switch |
| N_Port | Node-Port | Gerät ist direkt am Switched Fabric (FC-SW) angeschlossen |
| NL_Port | NodeLoop-Port | Gerät ist an einer Arbitrated Loop (FC-AL) angeschlossen |

## Kabellängen

| Verkabelung | Verkabelung | max. Kabellänge bei Datenrate in GBit/s | max. Kabellänge bei Datenrate in GBit/s | max. Kabellänge bei Datenrate in GBit/s | max. Kabellänge bei Datenrate in GBit/s | max. Kabellänge bei Datenrate in GBit/s | max. Kabellänge bei Datenrate in GBit/s | max. Kabellänge bei Datenrate in GBit/s |
| Verkabelung | Verkabelung | 1 | 2 | 4 | 8 | 16 | 32 | 64 |
| Kupfer | DE9 | 025 m | | | | | | |
| Kupfer | twisted pair | | 050 m | | | | | |
| Multi- Mode- Licht- wellen- leiter- | OM1 62,5/125 µm | 300 m | 150 m | 070 m | 021 m | 015 m | | |
| Multi- Mode- Licht- wellen- leiter- | OM2 50/125 µm | 500 m | 300 m | 150 m | 050 m | 035 m | | |
| Multi- Mode- Licht- wellen- leiter- | OM3 50/125 µm | 860 m | 500 m | 270 m | 150 m | 100 m | 070 m | 070 m |
| Multi- Mode- Licht- wellen- leiter- | OM4 50/125 µm | | | 400 m | 190 m | 125 m | 100 m | 100 m |
| Multi- Mode- Licht- wellen- leiter- | OM5 50/125 µm | | | | | | | 100 m |
Die Angabe OM1...3 bezieht sich dabei auf die Einstufung der Glasfaser. Mit 50/125 µm bei der Verkabelung von z. B. 1 Gbit/s OM2-LWL-Kabeln ist erst der Durchmesser der Seele, dann der des Mantels gemeint. Vergleiche hierzu Faserkategorien und Einsatzgebiete und dessen Unterpunkt für Kategorien von Multi-Mode-Fasern.

## Glasfaservarianten

| Medientyp | Datenrate | Transmitter | Variante | Entfernung |
| Single-Mode- Faser | 400 MB/s | 1300 nm Langwellenlaser | 400-SM-LL-I | 0,2 ...0>2.000 m |
| Single-Mode- Faser | 200 MB/s | 1550 nm Langwellenlaser | 200-SM-LL-V | 0,2 ...>50.000 m |
| Single-Mode- Faser | 200 MB/s | 1300 nm Langwellenlaser | 200-SM-LL-I | 0,2 ...0>2.000 m |
| Single-Mode- Faser | 100 MB/s | 1550 nm Langwellenlaser | 100-SM-LL-V | 0,2 ...>50.000 m |
| Single-Mode- Faser | 100 MB/s | 1300 nm Langwellenlaser | 100-SM-LL-L | 0,2 ...>10.000 m |
| Single-Mode- Faser | 100 MB/s | 1300 nm Langwellenlaser | 100-SM-LL-I | 0,2 ...0>2.000 m |
| Multi-Mode- Faser (50 µm) | 400 MB/s | 0850 nm Kurzwellenlaser | 400-M5/6-SN-I | 0,5 ...00.>150 m |
| Multi-Mode- Faser (50 µm) | 200 MB/s | 0850 nm Kurzwellenlaser | 200-M5/6-SN-I | 0,5 ...00.>300 m |
| Multi-Mode- Faser (50 µm) | 100 MB/s | 0850 nm Kurzwellenlaser | 100-M5/6-SN-I | 0,5 ...00.>500 m |
| Multi-Mode- Faser (50 µm) | 100 MB/s | 0850 nm Kurzwellenlaser | 100-M6-SL-I | 0,2 ...00.>175 m |

## Ähnliche Standards

* ATA over Ethernet: Bei ATA over Ethernet (ATAoE) werden ATA/ATAPI-Pakete in Ethernet gekapselt. Ähnlich zu FC ist ATAoE nicht in TCP/IP gekapselt, ATAoE ist daher ebenfalls nicht routingfähig.
* iSCSI (SCSI over IP): Bei iSCSI werden SCSI-Pakete in TCP/IP gekapselt. Hieraus resultiert ein höherer Overhead, dafür ist iSCSI aber routingfähig und kann, wie Fibre Channel over IP, auch in Weitverkehrsnetzen eingesetzt werden.
* HyperSCSI Bei HyperSCSI werden SCSI-Pakete in Ethernet gekapselt. Im Unterschied zu iSCSI erfolgt aber keine Kapselung in TCP/IP, hieraus resultieren geringe Performancevorteile, HyperSCSI ist aber nicht routingfähig.