Nozioni di base sul protocollo FC: livelli, porte, login, zoning
Fibre Channel assomiglia all’Ethernet a livello di SFP — stesse gabbie, ottiche simili — e non si comporta affatto allo stesso modo ai livelli superiori. È un trasporto senza perdite e orientato alla connessione, costruito per lo storage: ci si aspetta che ogni frame arrivi, in ordine, e la fabric conosce ogni dispositivo tramite un nome inciso in fabbrica. Questa pagina copre i livelli del protocollo, i tipi di porta, l’indirizzamento, la sequenza di login e lo zoning — il vocabolario necessario per leggere uno switch SAN e capire perché le sue ottiche sono controllate in modo così rigido.
Livelli
| Livello | Nome | Contenuti | Rilevanza per le ottiche |
|---|---|---|---|
| FC-0 | fisico | supporto, connettori, trasmettitori, ricevitori, velocità | l’SFP: Ottiche FC, velocità |
| FC-1 | trasmissione | codifica 8B/10B fino a 8GFC, 64B/66B da 16GFC; insiemi ordinati; FEC a 16GFC (opzionale) e 32GFC+ (obbligatorio) | byte di codifica, contatori FEC |
| FC-2 | framing e controllo di flusso | frame (payload fino a 2112 byte), sequenze, scambi, classi di servizio, buffer-to-buffer credits | i credit determinano la distanza — Progettazione SAN |
| FC-3 | servizi comuni | multicast, hunt group (raramente usati) | — |
| FC-4 | mappatura del protocollo | SCSI (FCP), NVMe (FC-NVMe), FICON, IP over FC | NVMe over fabrics |
Tipi di porta
| Porta | Ruolo |
|---|---|
| N_Port | porta nodo — un HBA o una porta di un array di storage |
| F_Port | porta fabric su uno switch, collegata a un N_Port |
| E_Port | porta di espansione — collegamento inter-switch (ISL) tra switch |
| NL_Port / FL_Port | varianti ad anello con arbitraggio (legacy) |
| G_Port / U_Port | generica/universale — una porta dello switch che diventa F o E quando scopre cosa è collegato |
| TE_Port / EX_Port | E_Port con trunking (VSAN trunk Cisco) / porta router tra fabric |
| D_Port | porta diagnostica — esegue test di loopback ottico ed elettrico su un collegamento (Brocade) |
Nomi e indirizzi
| Identificatore | Dimensione | Significato |
|---|---|---|
| WWNN — World Wide Node Name | 64 bit | il dispositivo (HBA, controller dell’array) |
| WWPN — World Wide Port Name | 64 bit | ciascuna porta; l’identità usata per zoning e masking |
| FCID (N_Port ID) | 24 bit | indirizzo assegnato dalla fabric: Domain (switch) / Area / Port; cambia se il dispositivo si sposta |
| Indirizzi well-known | FFFFFC name server, FFFFFD fabric controller, FFFFFE fabric login server, FFFFFA management server | servizi di fabric |
I WWN sono incisi negli HBA e nelle porte degli array; non cambiano con il cablaggio — questo è il motivo per cui lo zoning per WWPN sopravvive a un ricablaggio, mentre lo zoning per porta no.
Sequenza di login
- Inizializzazione del link — negoziazione della velocità (ciascun lato prova le proprie velocità dalla più alta verso il basso; un mismatch o un’ottica marginale si manifesta qui), poi sequenze primitive finché entrambe le estremità non sono sincronizzate.
- FLOGI (fabric login) — l’N_Port chiede allo switch un FCID e negozia i credit di buffer, la classe di servizio e la dimensione del frame.
- PLOGI (port login) — da N_Port a N_Port (o al server dei nomi) per stabilire una sessione.
- PRLI (process login) — negozia il protocollo FC-4 (SCSI o NVMe) e i relativi parametri.
- Registrazione e interrogazione del server dei nomi — il dispositivo registra il proprio WWPN/FCID e scopre quali target zonati esistono; le notifiche RSCN annunciano i cambiamenti successivi.
Una porta bloccata prima del FLOGI è un problema di livello fisico (ottiche, cavo, velocità); bloccata dopo il FLOGI è un problema di fabric/zoning (Diagnostica delle porte).
Classi di servizio e controllo di flusso
| Classe | Comportamento | Uso |
|---|---|---|
| Classe 1 | connessione dedicata | obsoleta |
| Classe 2 | con conferma, senza connessione | rara |
| Classe 3 | datagram senza connessione e senza conferma — ma mai scartato dalla fabric grazie ai credit | praticamente tutto il traffico storage |
| Classe F | controllo switch-to-switch | servizi di fabric |
Buffer-to-buffer credits (BB_Credit): il ricevitore concede un certo numero di buffer per i frame; il mittente può trasmettere solo quel numero di frame prima di ricevere le conferme R_RDY. Niente viene scartato; quando i credit finiscono il mittente attende — il meccanismo alla base del comportamento senza perdite, dei limiti di distanza e della congestione da slow-drain (Progettazione SAN).
Zoning e masking
- Lo zoning sullo switch limita quali WWPN possono vedersi a vicenda; lo zoning a singolo iniziatore (una porta HBA con i propri target) è la norma. Applica lo zoning per WWPN, non per porta.
- Il LUN masking sull’array limita quali WWPN possono accedere a quali volumi.
- Le VSAN (Cisco) / Virtual Fabrics (Brocade) suddividono uno switch in fabric indipendenti; NPIV permette a un N_Port di presentare molti WWPN (macchine virtuali, chassis blade).
- I problemi di zoning si presentano come «nessun dispositivo» dopo un login riuscito — controlla il server dei nomi e lo zone set attivo prima di toccare le ottiche.
Negoziazione della velocità e ottiche
Le porte FC negoziano automaticamente la velocità comune più alta (per esempio 32/16/8GFC). L’SFP deve supportare la velocità negoziata: un SFP a 16G in una porta a 32G limita la porta a 16G; una porta a velocità fissa con un’ottica di un’altra generazione non si collega affatto. Gli SFP FC sono codificati con bit di velocità e media FC anziché con i codici Ethernet (Codici di conformità), e gli switch SAN applicano rigidamente il branding del produttore (Ottiche FC).
In CodingBox
Per un SFP FC, la schermata Check transceiver decodifica i bit di velocità, media e distanza FC (byte 7–10, 62), così puoi vedere quali generazioni dichiara un modulo prima che entri in una fabric che le negozierà.