Ladislav Mrnka, A01222
b-lmrnka@microsoft.com

Fibre Channel over TCP/IP (FCIP)

Co je Fibre Channel over TCP/IP?

Fibre Channel over IP (FCIP) je důležitou technologií pro spojování oddělených částí SAN přes IP síť do jedné velké SAN. FCIP umožňuje transparentní komunikaci mezi dvěma oddělenými SAN subsítěmi pře IP síť, definuje jak zapouzdřit Fibre Channel rámce do IP, takže IP síť bude moci přenášet jak SCSI rámce tak normální rámce. FCIP je protokol, který k přenosu dat vytváří tunel v IP síti.

Princip FCIP

Pro popis FCIP se používá několik termínů.

  • FC entita - Fibre Channel komponenta, která spolu s FCIP entitou tvoří rozhraní mezi FC Fabric a IP sítí.
  • FCIP entita - komponenta zodpovědná za FCIP komunikaci na IP síti, obshuje FCIP_LEP, FCIP Control a Servisní modul.
  • FCIP Data Engine (FCIP_DE) - součást FCIP_LEP, která je zodpovědná za zabalení a rozbalení FC rámce z rámce IP sítě a přenos FCIP rámce přes TCP spojení.
  • FCIP Link - TCP spojení, které propojuje dva FCIP_LEP
  • FCIP Link koncový bod (FCIP_LEP) - součást FCIP entity, která řídí jedno FCIP Link a obsahuje jeden nebo více FCIP_DE.

Z pohledu Fibre Channel sítě je primárním úkolem FCIP entity zabalení FC rámců a jejich poslání do IP sítě, čímž je zajištěna transparentní komunikace mezi dvěma FC Fabric. Z pohledu IP sítě se FCIP entita jeví jako běžné IP zařízení, které komunikuje přes TCP/IP. Každá FCIP entita obsahuje jeden nebo více TCP koncových bodů. Při propojení dvou FCIP entit přes IP síť vzniká FCIP Link. Počet možných FCIP Linků z jedné FCIP entity závisí na počtu FCIP_LEP. Přes FCIP Link nelze posílat FC primitivní signály, primitivní sekvence a FC rámce třídy 1, protože metoda FC Frame Encapsulation neumožňuje jejich zabalení do IP rámce. Výseldný zabelený rámec je v IP síti směrován jejími standardními technikami. FCIP entita může obsahovat více FCIP Link koncových bodů (FCIP_LEP). Každý FCIP_LEP může být spojen pouze s jedním FCIP_LEP v jiné entitě. FCIP entity se nepodílí na směrování FC rámců. Mohou používat kvality služeb TCP/IP protokolu. Je nezbytné staticky nebo dynamicky nastavovat všechny FCIP entity. Musí být nastavena IP adresa a TCP číslo portu odpovídající číslu TCP portu entity, se kterou bude vytvořen FCIP Link, dále musejí být nastaveno FC Fabric World Wide jméno cílové subsítě, parametry TCP spojení a kvalita přenosu. Pokud jedna FCIP entita potřebuje dynamicky nalézt jinou FCIP entitu v IP síti (tj. zatím není známa její adresa), používá se Service Location Protocol (SLPv2). K zajištění bezpečnosti dat na IP síti, musí FCIP entita implementovat kryptovanou autentizaci a datovou integritu.

FCIP model
Model FCIP

FCIP brána

K připojení Fibre Channel sítě k IP síti se používají FCIP brány, které se skládají z FC a FCIP entity. Ty vytvářejí spojení mezi jednotlivými SAN subsítěmi. FCIP brány se obvykle připojují na Gigabitový Ethernet, což umožňuje cenově výhodné propojení více SAN subsítí za použití stávajících technologií LAN, MAN a WAN. Brány se připojují do Fabric topologie na E_Port FC switche, Některé podporují pouze Point-to-Point propojení, pak musí mít SAN subsíť pro každou další SAN subsíť, se kterou komunikuje, samostatnou FCIP bránu. Kvalitnější zařízení podporují i Point-to-MultiPoint propojení (více FCIP_LEP). Brána může být součástí některých drahých FC switchů.

Ukázka FCIP propojení
Ukázka FCIP propojení.

Upravený FC rámec posílaný přes IP síť

Nejmenší FC datová jednotka, kterou je možné zabalit do rámce IP sítě je FC rámec. Pravidla pro zabalení rámce závisí na zvolené IP síti, tedy její linkové vrstvě. Lze však definovat obecný postup.

Znázornění FCIP encapsulation
Zabalení FC rámce do rámce IP sítě.

Při obalování FC rámce se na jeho začátek před SOF přidá speciální 28 bytová hlavička, která nese informace o zapouzdření. Tato hlavička náleží ke konkrétnímu FC rámci, nikoliv k rámci IP sítě. Takto upravený FC rámec se pak vloží do datové oblasti rámce IP sítě. Pokud upravený FC rámec přesahuje maximální možnou velikost, kterou je možné vložit do rámce IP sítě, může být rozdělen. O správné doručení jednotlivých částí upraveného FC rámce se stará TCP spojení.

Hlavička FCIP
Formát FC Encapsulation hlavičky

Hlavička, která je přidána k FC se skládá z :

  • Protocol#1 - Musí obsahovat číslo protokolu, který byl použit k zapoutření.
  • Version - Musí obsahovat hodnotu 0x01, která identifikuje tuto verzi FC Encapsulation metody. Další hodnoty jsou určeny pro budoucí verze.
  • -Protocol#1 - Musí obsahovat dvojkový doplněk k Protocol#1. Při rozbalování příchozího rámce z IP sítě se tyto dvě hodnoty porovnávají.
  • -Version - Musí obsahovat dvojkový doplněk k Version. Při rozbalování příchozího rámce z IP sítě se tyto dvě hodnoty porovnávají.
  • Encapsulation Protocol Specific - Obsah těchto 8 bytů se liší v závislosti na hodnotě obsažené v Protocol#1. Obsah je definován vždy konkrétním protokolem.
  • Flags - Tyto bity poskytují informaci o používání FC Encapsulation hlavičky.

    Formát flagů
    Formát flagů v FC Encapsulation halvičce

    • Ch (Changed) - Tento bit naznačuje, že vrácený FSF byl úmyslně změněn. Dokud není SF nastaven na 1, musí být Ch nastaven na 0. Při odesílání FSF je Ch nastaven na nulu, pokud příjemce pošle FSF zpět beze změny, zůstává bit Ch nastaven na 0. Pokud je ve FSF provedena změna, je bit Ch nastaven na 1.
    • Reserved Flag bits - Těchto 5 bitů je rezervováno pro použití v budoucích verzích FC Encapsulation, v případě že nejsou použity musí být nastaveny na 0.
    • CRCV (CRC Valid Flag) - Tento bit nastavený na jedna označuje, že FC Encapsulation hlavička používa CRC, při hodnotě 0 se CRC nepoužívá. Tento bit musí být nastaven stejně pro všechny posílané rámce v daném spojení.
    • SF (Special Frame) - Označuje zda přenášený rámec je zabalený FC rámec - hodnota 0 nebo FSF (FCIP Special Frame) - hodnota 1. FSF musí být posláno pouze jednou v obou směrech, po vytvoření nového TCP spojení, avšak nikdy ne v obou směrech současně. Musí být v prvním přenášeném rámci v daném směru. Všechny další rámce v tomto směru musí mit SF nastaveno na 0.

  • Frame Length - Velikost přenášeného upraveného FC rámce (FC rámec a FC Encapsulation hlavička). Velikost se udává v 32 bitových slovech (word), všechny FC rámce i FC Encapsulation hlavička jsou zarovnány na celé 32 bitové slova.
  • -Flags - Musí obsahovat dvojkový doplněk k Flags. Při rozbalování příchozího rámce z IP sítě se tyto dvě hodnoty porovnávají.
  • -Frame Length - Musí obsahovat dvojkový doplněk k Frame Length. Při rozbalování příchozího rámce z IP sítě se tyto dvě hodnoty porovnávají.
  • Time Stamp [Seconds] - Obsahuje nulu nebo počet sekund od 0:00:00 1.1.1900 do času, kdy byl upravený FC rámec odeslán. Čas je ukládán v Simple Network Time Protokolu (SNTP).
  • Time Stamp [Seconds Fraction] - Obsahuje zlomek probíhající vteřiny, ve které byl upravený rámec odeslán. Zlomek je ukládán v SNTP.
  • CRC - Pokud je bit CRCV ve Flags nastaven na 0, musí CRC obsahovat 0. Jinak obsahuje CRC pro FC Encapsulation hlavičku.

FCIP Special Frame

Při vytváření nového spojení, je vyslán od iniciátora spojení FCIP Special Frame. Poté tento rámec pošle cílová FCIP entita zpět iniciátorovi.

Funkce FCIP Special Frame

  • Identifikace FCIP_LEP
  • Přenos důležitých parametrů mezi dvojicí FC/FCIP entit, které popisují FCIP Link
  • Ověřování, zda se iniciátor připojil na správnou FCIP entitu

FSF slouží k FC identifikaci odesílatele a příjemce a nastavení parametrů FCIP Link. Iniciátor přenosu odesílá tento rámec okamžitě po vytvoření TCP spojení. Příjemce si tento rámec zkontroluje a pokud jsou údaje správné, pošle ho zpět odesílateli. Pokud správné nejsou, nastaví bit Ch v FC Encapsulation hlavičce na 1, pozmění rámec FSF a pošle ho zpět odesílateli. Pozměnění FSF rámce a nastavení bitu Ch v FC Encapsulation hlavičce znamená ukončení TCP spojení ze strany iniciátora.

Obsah FSF
FCIP Special Frame
  • Reserved a -Reserved - tato dvojice 16 bitů ohraničuje FSF. Reserved je vždy nastaveno na 0x0000 a -Reserved na 0xFFFF.
  • Source FC Fabric Entity World Wide Name - Musí obsahovat unikátní identifikátor zdrojové FC Fabric.
  • Source FC/FCIP Entity Identifier - Musí obsahovat unikátní identifikátor dvojice FC/FCIP entit, která vytvořila FSF. Tetno a předchozí identifikátor jednoznačně určují jakoukoliv dvojici FC/FCIP entit v IP síti.
  • Connection Nonce - Musí obsahovat 64 bitové náhodné číslo k jednoznačné identifikaci TCP spojení.
  • Connection Usage Flags - Filtrace rámců, které mohou být poslány přes TCP spojení. Pouze FC fámce se zvoleným SOF mohou být poslány. Existují čtyři typy SOF, nastavením prvních čtyř bitů tohoto bytu na nula nebo jedna se rozhoduje zda nemohou či mohou být rámce s daným SOF poslány přes TCP spojení.
  • Reserved - Byte učený pro budoucí použití, nyní musí být nastaven na 0x00.
  • Connection Usage Code - Fibre Channel informace závislé na účelu spojení.
  • Destination FC Fabric Entity World Wide Name - Musí obsahovat jednoznačný identifikátor cílové FC Fabric, ve které se nalézá pár FC/FCIP entit, které mají na FSF odpovědět. Změnou této položky může příjemce iniciátorovi přenosu oznámit, že se připojil na jinou FC Fabric než zamýšlel.
  • K_A_TOV (FC Keep Alive Timeout) - Timeout pro TCP spojení.
Stránka byla testována v prohlížecích MS Internet Explorer 6.0, MyIE a Mozilla Firefox
Stránka je navržena pro rozlišení 1280x960 a vyšší
Poslední úprava : 27.11.2004