Fibre Channel
# Fibre Channel

In telecomunicazioni ed informatica Fibre Channel è una tecnologia per reti dati, usata principalmente per implementazioni in Storage Area Network. È stata standardizzata nel T11 del Comitato Internazionale per gli Standard dell'Information Technology (INCITS), un comitato degli standard accreditato dall'American National Standards Institute (ANSI). Iniziò per un utilizzo principalmente nel campo dei supercomputer, ma è diventato il tipo di connessione standard per le Storage Area Network nell'enterprise storage. Nonostante la connotazione comune del suo nome, il segnale Fibre Channel può andare sia su cavi di rame UTP che su cavi a fibra ottica.

Il Fibre Channel Protocol (FCP) è il protocollo di interfaccia dello SCSI sul Fibre Channel.

## Storia

Fibre channel è nato nel 1988, approvato come standard dall'ANSI nel 1994, per semplificare il sistema HIPPI allora in uso per ruoli simili. HIPPI usava cavi da 50 coppie e connettori di enormi dimensioni, avendo inoltre una limitata lunghezza di cablaggio.

Fibre Channel primariamente è stato concepito per semplificare il tipo di connessione ed incrementare la distanza di cablaggio, invece che la pura velocità di trasmissione. Successivamente è stato focalizzato sull'indirizzamento dei dischi SCSI, provvedendo anche all'alta velocità e ad un crescente numero di dispositivi da poter connettere. È stato inoltre aggiunto il supporto ad un alto numero di protocolli di "Alto Livello", incluso SCSI, ATM, e IP, con un predominante uso di SCSI.

Tipologie di Fibre Channel :

| NOME | Line-Rate (Gbps) | Throughput (MBps) |
| - | - | - |
| 1GFC | 1.0625 | 100 |
| 2GFC | 2.125 | 200 |
| 4GFC | 4.25 | 400 |
| 8GFC | 8.5 | 800 |
| 10GFC Seriale | 10.51875 | 1000 |
| 10GFC Parallelo | 12.75 | |
| 16GFC | 14.025 | 1600 |
| 20GFC | 21.04 | 2100 |

## Topologie tipiche del Fibre Channel

Le topologie tipiche del Fibre Channel sono principalmente tre e descrivono come un certo numero di porte vengono collegate fra loro. Una porta in terminologia Fibre Channel è qualsiasi entità che comunica attivamente sulla rete, non necessariamente una porta hardware. Queste porte sono generalmente implementate in apparati come disk storage, Host Bus Adapter su un server o uno switch Fibre Channel.

* Punto-Punto (FC-P2P). Due apparati vengono connessi direttamente. È la topologia più semplice, con connettività limitata.
* Arbitrated loop (FC-AL). In questa topologia, tutti gli apparati sono disposti su un anello, in modo simile alla tecnologia token ring. Aggiungere o togliere un apparato dall'anello causa l'interruzione completa della connettività per tutto l'anello e il guasto di un apparato interrompe l'anello bloccandone completamente la funzionalità. Esistono degli hub Fibre Channel che permettono di interconnettere più apparati con la possibilità di escludere le porte che dovessero guastarsi. L'anello può però essere ottenuto anche collegando ogni porta alla successiva.
   * Un loop minimo costituito da solo due porte parrebbe simile a una connessione FC-P2P, ma in realtà ne differisce molto in termini di protocollo.
* Switched fabric (FC-SW). Tutti gli apparati o "loop" di apparati sono collegati a degli switch Fibre Channel, concettualmente simili alle moderne implementazioni Ethernet. Fra i vantaggi di questa topologia rispetto a FC-P2P o FC-AL ci sono:
   * Gli switch sono in grado di gestire l'ottimizzazione delle interconnessioni.
   * Più coppie di porte possono comunicare contemporaneamente.
   * Il guasto di una porta viene isolato e non dovrebbe influenzare l'operatività delle altre porte.

| Attribute | Point-to-Point | Arbitrated loop | Switched fabric |
| - | - | - | - |
| Max ports | 2 | 127 | ~16777216 $(2^{24})$ |
| Dimensioni degli indirizzi | N/A | 8-bit ALPA | 24-bit port ID |
| Effetti collaterali del guasto di una porta | N/A | L'anello si interrompe (fino a che la porta viene esclusa) | Porta automaticamente esclusa |
| Possibilità di interconnettere porte con diversa velocità | N/A | No | Sì |
| Consegna Frame | Ordinata | Ordinata | Non garantita |
| Accesso al medium | Dedicato | Arbitrato | Dedicato |

## Fibre Channel layers

Fibre Channel è un protocollo a livelli o layer. Consiste di 5 livelli, ovvero:

* FC0 Livello fisico, che comprende cavi, fibre ottiche, connettori ecc.
* FC1 Livello data link, che implementa la codifica e decodifica del segnale.
* FC2 Livello network, definito dallo standard FC-PI-2, è il nocciolo del Fibre Channel, e definisce i principali protocolli.
* FC3 Livello "common services", un layer sottile che potrebbe eventualmente implementare funzioni come encryption o RAID.
* FC4 Livello Protocol Mapping, nel quale altri protocolli, come lo SCSI, vengono incapsulati in unità informative per essere consegnati a FC2.

FC0, FC1, e FC2 sono conosciuti anche come FC-PH, i livelli fisici del fibre channel.

I router Fibre Channel lavorano fino al livello FC4, cioè potrebbero lavorare anche come router SCSI, gli switch fino a FC2 e gli hub solamente al livello FC0.

I prodotti Fibre Channel sono disponibili a velocità di 1 Gbit/s, 2 Gbit/s, 4 Gbit/s, 8 Gbit/s, 10 Gbit/s and 20 Gbit/s. I prodotti basati sugli standard 1, 2, 4 e 8 Gbit/s dovrebbero essere interoperanti e compatibili con i precedenti. Lo standard a 10 Gbit/s (e il suo derivato a 20 Gbit/s), invece, non è compatibile con nessuno degli apparati a minore velocità, poiché è molto differente a livello FC1, usando una codifica a 64B/66B invece che 8b/10b. Fibre Channel 10Gb o 20 Gb sono principalmente utilizzati come connessioni di "stack" per interconnettere fra loro più switch.

## Porte

I seguenti tipi di porte sono definiti dal Fibre Channel:

* porte nodo
   * N_port è una porta sul nodo (per esempio un host o un apparato di storage) usata sia in topologie FC-P2P che FC-SW. Conosciuta anche come Node port.
   * NL_port è una porta su un nodo utilizzata in una topologia FC-AL. Conosciuta anche come Node Loop port.
   * F_port è una porta sullo switch che si connette a una porta N, ovvero a un nodo in modalità punto-punto. Chiamata anche Fabric port. Una F_port non supporta la topologia a Loop Arbitrato.
   * FL_port è una porta dello switch che si connette a un anello FC-AL (cioè a porte NL). Chiamata anche Fabric Loop port.
   * E_port porte di connessione tra due switch Fibre Channel. Chiamata anche Expansion port. Il link che connette due porte E su due switch è chiamato un inter-switch link (ISL).
   * EX_port è la connessione tra uno switch Fibre Channel e un router Fibre Channel. Dal lato switch è una normale porta E, ma è effettivamente una porta EX dal lato router. (External port)
   * TE_port * un'aggiunta Cisco al Fibre Channel ora adottata come standard. È un ISL esteso o EISL. La porta TE permette oltre alle funzionalità standard di una E_port anche il routing di VSAN (Virtual SANs) multiple. Questo risultato viene ottenuto modificando il frame Fibre Channel standard (vsan tagging) al momento dell'ingresso/uscita dall'ambiente VSAN. Chiamata anche Trunking E_port.
* tipi di porte generiche.
   * Auto o porte auto-sensing si trovano sugli switch Cisco e possono automaticamente diventare porte di tipo E_, TE_, F_, o FL_ in base alle esigenze.
   * Fx_port è una porta generica che può diventare una porta F_ quando connessa a una porta N_ oppure FL_ se viene connessa a una NL_. Si trova solo su switch Cisco.
   * G_port o generic port su uno switch può comportarsi sia come porta E_ che come F_port. Implementata su switch Brocade e McData.
   * L_port termine generico per ogni porta che si connette a un arbitrated loop, sia NL_port che FL_port. Chiamata anche Loop port.
   * U_port termine generico per ogni porta arbitrata. Chiamata anche Universal port. Si trova solo su switch Brocade.

(*Nota: Il termine "trunking" non è un termine standard nella terminologia Fibre Channel e viene quindi utilizzato in maniera arbitraria dai vendor. Per esempio: Brocade indica come Trunk l'aggregazione di ISL, mentre Cisco chiama la stessa cosa Port Channel e utilizza trunking per indicare un EISL.)

