Ladislav Mrnka, A01222
b-lmrnka@microsoft.com

Fibre Channel (FC)

Co je Fibre Channel?

Fibre Channel je fullduplexní, sériové, blokově orientované, point-to-point komunikační rozhraní, navržené pro vysokorychlostní přenos dat. Propojuje jeden nebo více point-to-point portů. Porty jsou popsány ve specifikaci fyzické vrstvy (FC-PI) a ve specifikaci rámců a zasílání signálů (FC-FS). Fibre je obecný název, který zahrnuje různá fyzická média, které může využívat Fibre Channel, např. jednovidové nebo vícevidové optické kabely, kroucené dvoulinky a koaxiální kabely. Fibre Channel kombinuje výhody kanálů a síťových protokolů.

Kanál

Kanály jsou uzavřené, přímé, strukturované a predikovatelné mechanismy pro přenos dat mezi relativně malým počtem zařízení. Po vytvoření kanálu není nutné žádné další rozhodování o toku dat. Tím jsou dosaženy vysoké přenosové rychlosti. Kanály se obvykle používají k propojení zařízení jako jsou diskové jednotky, tiskárny, atd. Běžnými rozhraními, které fungují na principu kanálů jsou např. Small Computer System Interface (SCSI) nebo High Performance Parallel Interface (HIPPI).

Síť

Naproti tomu sítě jsou nestrukturované a nepredikovatelné. Sítě jsou schopné se automaticky přizpůsobovat měnící se struktůře a podporují velké množství připojených zařízení. To vyžaduje náročnou rozhodovací logiku, která zajišťuje úspěšné směrování dat mezi dvěma body. Velká část směrování probíhá softwarově, což způsobuje pomalejší přenosové rychlosti. Běžnými počítačovými sítěmi jsou Ethernet, Fiber Distributed Data Interface (FDDI) nebo Token Ring.

Cíle Fibre Channel

  • Umožnit současně kanálům (channels) a síťovým protokolům fungovat na stejné fyzické vrstvě
  • Vysoká přenosová rychlost - 100MB/s a vyšší
  • Lehce přizpůsobitelná topologie
  • Propojování na dlouhé vzdálenosti
  • Podpora mnoha přenosových rychlostí, medií a konektorů

Vrstvy Fibre Channel

Model protokolu má pět vrstev

Vrstvy FC
Vrstvy Fibre Channelu

Mapování FC vrstev na ISO/OSI
Mapování FC vrstev na ISO/OSI

FC-0 a FC-1 odpovídají fyzické vrstvě ISO/OSI modelu. FC-2 odpovídá Media Access Control (MAC) vrstvě, která je součástí linkové vrstvy ISO/OSI modelu. FC-3 není ve skutečnosti vrstvou. Je to stále z části nedefinovaná množina služeb pro zařízení s více než jedním portem. FC-4 definuje jak mohou vyšší protokoly mapovat svá data a posílat je přes Fibre Channel, je to tedy něco co by mohlo odpovídat transportní vrstvě v ISO/OSI modelu. Vrstvy FC-0, FC-1 a FC-2 tvoří Fibre Channel port, někdy se také označují jako FC-PH.

FC-0

Nejnižší vrstva definuje fyzické spojení - kabel, konektory, optické nebo elektrické vlastnosti pro rozdílné přenosové rychlosti. Každé zařízení má vždy dva porty - vysílač a přijímač - fullduplex přenos.

Omezení vzdálneosti mezi dvěmi zařízeními
  • Koaxiální kabel : 7,5m
  • Kroucená dvoulinka : 33m
  • Optické vlákno : 10km

FC-0 popisuje bezpečnostní systém, který při použití optického kabelu zabraňuje poškození přijímače laserem. Bezpečnostní systém se nazývá Open Fibre Control (OFC). Síla laseru je pravidelně na přijímacím portu měřena. Pokud síla překročí povolené limity, přijímací port zaznamená přerušení spojení, OFC přepne vysílací port téhož zařízení do úsporného režimu. Přijímací port ve druhém zařízení zaznamená ztrátu signálu a OFC tohoto zařízení také přepne vysílací port do úsporného režimu. Po snížení síly pod povolené limity zaznamená přijímací port, který bezpečnostní systém aktivoval, signál z vysílače na druhé straně, který běží v úsporném režimu. OFC tohoto zařízení aktivuje laser, což způsobí obnovu komunikace v jednom směru. Přijímací port druhého zařízení spustí své OFC, které aktivuje laser i pro komunikaci v opačném směru.

Schéma dvou propojených zařízení s OFC
Schéma dvou propojených zařízení s OFC

Shrnutí funkcí FC-0
  • Zpracování signálu
  • Specifikace přenosového média
  • Specifikace přijímače/výsílače

FC-1

FC-1 popisuje uspořádání dat a kódovací a dekódovací schémata. Některá uspořádání mají speciální význam. Vrstva dále řídí přístup k médiu a definuje vysílací a přijímací porty a jejich operace.

Fibre Channel používá kódování IBM 8b/10b. Každý byt dat, který má být přenesen je nejprve zakódován do dvou deseti bitových hodnot (jedna je dvojkovým doplňkem druhé), kterým se říká přenosové znaky (Transmission Character). Žádný přenosový znak neobsahuje více než 6 bitů stejné hodnoty a více než 4 bity stejného hodnoty za sebou. Čtyři přenosové znaky tvoří přenosové slovo (Transmission Word).

Kódovaný byte lze popsat jako Dxx.y (data) nebo Kxx.y (speciální znaky), kde y je desítková hodnota prvních tří bitů xx je desítková hodnota zbylých pěti bitů. Tyto dvě části se kódují samostatně - tj. kódování 3b/4b a kódování 5b/6b. Při kódování se používá běhová disparita.

Výhody kódování 8b/10b
  • Vylepšení přenosových vlastností
  • Synchronizace příjímače
  • Detekce jedno a více bitových chyb
  • Některé přenosové znaky obsahují unikátní bitovou masku k zarovnání slova.
Shrnutí funkcí FC-1
  • Správa spojení
  • 8b/10b kódování/dekódování

FC-2

Nejkomplexnější vrstvou je FC-2. FC-2 definuje kontrolu datového toku, zapouzdření dat do rámců, sekvence a výměny. Poskytuje třídy služeb, které umožňují rozdílné typy spojení (spojované a nespojované) a jejich správu. Specifikuje fyzický model Fibre Channel komponent, portů, uzlů a Fiber Channel topologie.

Fibre Channel Porty

Všechna zařízení která jsou připojena do Fibre Channel sítě musí obsahovat alespoň jeden Fibre Channel port. Porty umožňují odesílat a přijímat data. Každý typ portu má své vlastnosti a lze ho propojit s omezenou podmnožinou typů portů.

N_Port
Nejjednodušším typem jsou N (Node) porty. Používají se na všech serverech a zálohovacích zařízení. Umožňují pouze point-to-point propojení s jiným N_Portem nebo F_Portem v switchy.

NL_Port
NL (NodeLoop) nebo též L (Loop) porty jsou N_Porty s dodatečnou funkcionalitou, která jim umožňuje zapojení do Fibre Channel Arbitrated Loop.

F_Port
F (Fabric) porty se používají na Fibre Channel switchy. Mohou být propojeny pouze s N_Portem.

FL_Port
FL (FabricLoop) porty jsou F_Porty s rozšířenou funkcionalitou, která umožňuje zapojení do Fibre Channel Arbitrated Loop. Všechna zařízení v této smyčce budou moci přistupovat ke všemu co je zapojené do switche.

E_Port
E (Expansion) porty slouží k propojení dvou switchů. E-Porty umožňují vytvářet složité Fabric topologie.

G_Port
G (Generic) porty jsou speciální porty na switchy, které se mohou chovat jako E_Porty nebo F_Porty, podle toho se kterým portem jsou propojeny.

GL_Port
GL (GenericLoop) porty jsou G_Porty s rozšířenou funkcionalitou, která umožňuje zapojení do Fibre Channel Arbitrated Loop.

Uspořádané množiny

Uspořádaná množina (Ordered set) je speciální typ přenosového slova, které vždy začína znakem K28.5. Může obsahovat data a speciální znaky se zvláštním významem. Poskytuje bitovou a znakovou synchronizaci.

Speciálními uspořádanými množinami jsou signály Idle a Reciver_Ready (R_RDY). Idle signalizuje připravenost portu k vysílání nebo přijímání. Reciver_Ready signalizuje, že buffer v přijímači je připraven přijmout další data.

Primitivní sekvence je uspořádaná množina, která je opakovaně odesílána k zjištění stavu Portu nebo logiky přijímacího portu. Když je primitivní sekvence přijata a identifikována, je odeslána odpověď v podobě odpovídající primitivní sekvence nebo Idle. K rozpoznání primitivní sekvence je zapotřebí třikrát za sebou přijmout stejné uspořádané množiny. Ve standardu jsou definovány např. primitivní sekvence : Offline (OLS), Not Operational (NOS), Link Reset (LR) a Link Reset Response (LRR).

Adresování

Narozdíl od mnoha technologií používaných v LAN sítích, nepoužívá Fibre Channel pevně danou šesti bytovou MAC adresu. Místo ní mají zařízení dynamicky přidělenu tří bytovou adresu při svém loginu do Fabric topologie. N_Porty poté posílají data ze své zdrojové adresy (S_ID) do cílové adresy (D_ID). Adresy v rozmezí FFFFF0 až FFFFFE mají speciální význam, používají se například pro Alias nebo Multicast. Adresa FFFFFF se používá pro Broadcast. Před loginem N_Portu je jeho adresa nastavena na 000000. Při Point-to-Point topologii Fabric login selže, zařízení si pak zvolí vlastní jedinečné adresy.

Zařízení připojené do Arbitrated Loop také používají tří bytovou adresu, navíc mají Arbitrated Loop Physical Address (AL_PA). AL_PA je jednobytová hodnota, která je přiřazena při každé inicializaci smyčky. Po inicializaci smyčky má každý NL_Port vlastní AL_PA. Veřejně přístupné NL_Porty se pak pokusí provést Fabric login. Pokud smyčka obsahuje FL_Port, přiřadí Fabric první dva byty adresy NL_Portů. Poslední byt adresy je AL_PA. Pokud neexistuje Fabric nebo se jedná o privátní NL_Port, jsou první dva byty jeho adresy 0000.

K jednoznačné identifikaci slouží pevně danné 64 bitové číslo. Toto číslo se používá při identifikaci uzlu (World-Wide Node Name (WWNN)), portu (World-Wide Port Name (WWPN)) nebo Fabric (Fabric Name). Tento identifikátor se nepoužívá při směrování, ale používá se při mapování protokolů vyšších vrstev.

Login

Fibre Channel definuje dva typy loginů - Fabric a N_Port. Kromě privátních NL_Portů se musí všechny porty přihlásít do Fabric. Login se provádí po inicializaci smyčky nebo spojení. Login probíhá zasláním Fabric Login (FLOGI) rámce z logovaného portu do Fabric na adresu FFFFFE. Normální odpovědí na login je rámec Accept (ACC), který je portu poslán z Fabric zpět. Fabric login zajišťuje tyto služby :

  • Zjistí zda existuje Fabric
  • Pokud existuje :
    • Informuje N_Port o třídách služeb, které jsou povoleny ve Fabric
    • Přiřadí N_Portu adresu
    • Inicializuje BB_Credit_CNT pro buffer-to-buffer řízení toku dat
  • Pokud Fabric neexistuje, přijde rámec ACC z jiného N_Portu. To signalizuje Point-to-Point topologii.

Předtím než může N_Port komunikovat s jiným N_Portem, musí s ním proběhnout N_Port login. Login probíhá zasláním Port Login (PLOGI) rámce na adresu cílového portu. Normální odpovědí je opět rámec Accept (ACC), který je poslán zpět z cílového portu. Port login zajišťutje tyto služby :

  • Informuje N_Port o třídách služeb, které jsou povoleny na cílovém portu
  • Inicializuje EE_Credit_CNT pro end-to-end řízení toku dat
  • Pokud se jedná o poit-to-point topologii, inicializuje BB_Credit_CNT pro buffer-to-buffer řízení toku dat

Fabric i N_Port login jsou navrženy tak, aby zařízení mohlo být zalogováno libovolně dlouhou dobu, i když nemá žádná další data, která by chtělo zrovna odeslat.

Fibre Channel Topologie

Fibre Channel umožňuje tři různé topologie. Tyto topologie umožňují přímé propojení dvou zařízení i tvorbu složitých infrastruktůr ve velké síti.

Schémata FC topologií
Schémata Fibre Channel topologií

Point-to-point

Point-to-point topologie je přímé spojení mezi devěma N_Porty, kde alespoň jeden z těchto portů musí být iniciátorem spojení (serverem). Tato topologie nepotřebuje žádné vyšší řízení přenosové cesty, protože vysílač jednoho uzlu je přímo propojen s přijímačem druhého uzlu. Tuto topologii není možné nijak dále rozšířovat, vždy bude zahrnovat pouze dvě propojená zařízení.

Schéma zapojení Point-to-Point
Schéma zapojení Point-to-Point

Arbitrated Loop

Fibre Channel Arbitrated Loop (FC-AL) je cenově dostupné řešení, které umožňuje více zařízením sdílet přenosovou cestu. Toto řešení je vhodné pouze v případě, že není požadována vysoká přenosová rychlost. Každá smyčka může obsahovat až 126 uzlů s NL_Porty a jeden uzel s FL_Portem. Ve skutečnosti se používají smyčky s mnohem menším počtem uzlů, protože smyčka se 127 uzly je extrémně pomalá. Obecně lze FC-AL doporučit pouze pro sítě s malým počtem uzlů nebo pro sítě kde nevadí delší doba odezvy.

Shcéma zapojení do fyzického kruhu
Schéma zapojení do fyzického kruhu

Protože přenosová cesta je sdílená mezi všemi zařízeními na smyčce, může v jeden okamžik vysílat pouze jedno zařízení. K tomu aby mohlo zařízení začít vysílat, musí vyhrát arbitraci.

Arbitrace
Pokud chce zařízení vysílat data, musí získat kontrolu nad přenosovou cestou ve smyčce. Zařízení vyšle primitivní signál Arbitrate (ARBx), kde x je fyzická adresa tohoto zařízení (Arbitrated Loop Physical Address (AL_PA)). Pokud zařízení přijme na vstupním portu svůj vlastní signál ARBx, získává kontrolu nad přenosovou cestou a vyšle primitivní signál Open (OPN) do cílového zařízení. Tím vysílací zařízení vytvoří point-to-point propojení s cílovým zařízením. Ostatní zařízení na této přenosové cestě fungují pouze jako opakovače.

Pokud se snaží získat kontrolu nad přenosovou cestou více než jedno zařízení současně, porovnávají se x-ové složky jejich signálů ARBx. Pokud zařízení, které se zrovna pokouší získat přenosovou cestu dostane signál ARBx od jiného zařízení, porovná jeho AL_PA se svoji AL_PA. Jestliže je AL_PA příchozího ARBx numericky větší naž AL_PA tohoto zřízení, je zde příchozí ARBx blokováno, pokud je menší je posláno dále. Kontrolu nad přenosovou cestou získá zařízení s nejnižší numerickou hodnotou AL_PA. Po uvolnění přenosové cesty může získat kontrolu jiné zařízení.

Narozdíl o metody token passing, která se používá v sítích Token Ring, zde není limitována doba, po kterou může zařízení ovládat přenosovou cestu. To umožňuje Fibre Channelu pracovat jako kanál. Proto je implementován algoritmus, který řídí přístup zařízení k přenosové cestě (Access Fairness Algorithm). Tento algoritmus zajišťuje, že zařízení se může znovu pokusit získat přenosovou cestu teprve poté, co všechna ostatní zařízení, dostala příležitost k získání přenosové cesty.

Inicializace
Před používáním smyčky musí proběhnout její inicializace. Ta spočívá v dynamickém přidělení AL_PA každému portu ve smyčce. AL_PA je mapováno na nejnižšího poslední byt Native Address Identifieru (D_ID nebo S_ID). Ačkoliv je AL_PA jednobytová veličina, může nabývat pouze 127 hodnot - počítá se běhová disparita, takže dvojkové vyjádření čísla i jeho dvojkový doplněk znamenají totéž. Pokud je do smyčky zapojeno více než 127 zařízení, nebudou mít některá z nich přiřazenou AL_PA. Tyto zařízení nelze využívat, slouží pouze jako opakovače.

Proces inicializace začíná vysláním primitivní sekvence Loop Initialization (LIP). LIP je vyslána NL_Portem poté co je zařízení zapnuto nebo poté co byla detekována porucha smyčky (např. ztráta synchronizace). Primitivní sekvence LIP je na všech zařízeních dále přeposílána, úspěšné oběhnutí smyčky signalizuje, že vše funguje.

Dalším bodem je určit řídící bod smyčky (Loop Master), který bude řídit rozdělování AL_PA. To je zajištěno odesíláním Loop Initialization Select Master (LISM) rámců z NL_Portů. Pokud je smyčka připojena do Fabric topologie, stává se zařízení, které ji připojuje, automaticky řídícím bodem (vrátí se mu jeho LISM rámec), jinak se stává řídícím bodem Port jehož jméno mělo nejnižší numerickou hodnotu. Porty s nižší numerickou hodnotou jména nepropustí rámce portů s vyšší numerickou hodnotou jména portu.

Třetím krokem při inicializaci je rozdělení AL_PA. Rozdělování AL_PA je založeno na nastavování bitů v bitové mapě. Do smyčky jsou postupně vyslány čtyři různé rámce, které ve své datové části nesou bitovou mapu o délce 127 bitů - tj. počtu možných AL_PA. Rámce mají různou prioritu a podle ní se v bitové mapě mohou jednotlivá zařízení registrovat. Rámece výsílá řídící bod smyčky a čeká na jejich návrat. Podle vráceného rámce s vyšší prioritou sestaví řídící bod obsah rámce s nižší prioritou. Nastavením daného bitu v bitové mapě zařízení označuje, že si přidělilo AL_PA s touto hodnotou. Následující zařízení si již tuto AL_PA nemohou přidělit. V následujících rámcích s nižší prioritou bude tato hodnota také označena jako vybraná. Pokud je priorita zařízení větší než čtyři a hodnota, kterou si zařízení chělo přidělit je již obsazena, čeká zařízení na rámec s nejnižší prioritou (LISA). V rámci s nejnižší prioritou (LISA) si zařízení vybírají první volnou AL_PA. Poté co smyčkou proběhnou všechny čtyři rámce, mají všechna zařízení (pokud jich neni více než 127) přidělenu AL_PA.

Rámec Popis Priorita
Loop Initialization Fabric Assigned (LIFA) AL_PA zařízení je přiřazena z Fabric topologie 1
Loop Initialization Previously Acquired (LIPA) Zařízení mělo před touto inicializací přiřazenu AL_PA 2
Loop Initialization Hard Assigned (LIHA) NL_Port má nastavenu nějakou adresu, kterou se pokouší získat 3
Loop Initialization Soft Assigned (LISA) NL_Port si bere první volnou AL_PA 4
Tabulka priorit rámců pro nastavení AL_PA

Po nastavení AL_PA, může řídící bod vyslat další dva rámce. Prvním je Loop Initialization Report Position (LIRP), který prochází smyčkou a jednootlivá zařízení do něho ukládají postupně své AL_PA. Po návratu do řídícího bodu je známa relativní pozice všech zařízení. Dalším vyslaným rámcem je Loop Initialization Loop Position (LILP), který pouze přenese po smyčce hotový seznam relativních pozic zařízení, aby si ho mohly jednotlivá zařízení uložit. Tyto dva rámce se posílají pouze pokud je všechna zařízení ve smyčce podporují.

Inicializace končí vysláním primitivního signálu CLS z řídícího bodu smyčky. Tento signál upozorňuje všechny NL_Porty, že inicializace skončila a že od této chvíle je možné smyčku používat k přenosu dat.

Hub
Fyzický kruh má některé nevýhody. Při přerušení kabelu mezi libovolnými dvěmi zařízeními přestává fungovat celá smyčka. To samé se může stát při poruše zařízení, které neumožňuje bypass. Proto je lepší vytvářet konfiguraci logického kruhu vystavené na fyzické hvězdě jejíž centrem je Fibre Channel hub. FC Huby umožňují na všech svých portech bypass, takže výpadek zařízení neohrozí celou síť. Dále umožňují za běhu připojovat a odpojovat jednotlivá zařízení.

Schéma zapojení do logického kruhu
Schéma zapojení do logického kruhu

Fabric

Topologie Fabric se používá k propojení mnoha zařízení pomocí switchů. Hlavní výhodou je, že může více zařízení komunikovat současně, protože přenosová cesta není sdílená. Vyžaduje však nakoupení drahých Fibre Channel switchů.

Fabric přiřazuje všem zalogovaným N_Portům adresu - Native Address Identifiers (S_ID). Dalšími funkcemi, které fabric umožňuje je multicast, broadcast, aliasy a quality of service. Některé Fabric mají FL_Porty k připojení topologií Arbitrated Loop.

V topologii fabric se používájí 24 bitové adresy. Je tedy možné připojit až 16 miliónů zařízení. Adresy jsou rozděleny do dřech částí, jedna pro doménu, jedna pro segment a jedna pro port. Počet switchů je tímto dělením limitován na 239.

Schéma zapojení Fabric topologie
Schéma zapojení Fabric topologie
Rámce

Základní přenosovou jednotkou vrstvy FC-2 je Fibre Channel rámec. Rámec obsahuje kromě dat také adresu zdrojového a cílového portu a řídící data spojení. Rámce se dělí na datové a řídící. Datové rámce se dělí na Link_Data rámce a Device_Data rámce, řídící rámce se dělí na Potvrzení (Acknowledge) a Odezva (Busy a Reject). Primární funkce FC topologie Fabric je přijmout rámec ze zdrojového portu a směrovat ho až do cílového portu.

Každý FC rámec ohraničují Start-of-Frame (SOF) a End-of-Frame (EOF) uspořádané množiny. Pro topologii Fabric a N_Porty existuje více různých SOF a EOF. Po SOF následuje hlavička rámce, která se používá k řízení spojení a ke kontrole zda se nějaký rámec neztratil nebo zda jdou rámce ve správném pořadí. Rámec může obsahovat až 2112 bytů dat, které mají být přeneseny ze zdrojového do cílového N_Portu. Pro další rozšíření umožňuje standard přidat dodatečnou hlavičku a tím snížit datovou část na maximálně 2048 bytů. Dále FC rámec obsahuje 4 bytové CRC pro kontrolu přenosu. Rámec je ukončen EOF.

Fibre Channel rámec
Fibre Channel rámec

Sekvence

Sekvence je tvořena množinou jednoho nebo více sdružených rámců odeslaných z jednoho N_Portu do druhého (jednosměrně). Každý rámec v sekvenci má unikátní číslo - Seq_Cnt v hlavičce rámce. Obnova po chybě kontrolovaná na vyšších vrstvách se dělá v rámci sekvencí.

Výměna

Výměna se skládá z jedné nebo více nesouběžných sekvencí v jedné operaci. Výměny mohou být jednosměrné nebo obousměrné. Výměna se provádí mezi dvěmi N_Porty. V jedné výměně může být aktivní pouze jedna sekvence, ale souběžně může být aktivní sekvence jiné výměny, tj. mohou se posílat rámce dvou sekvencí z různých výměn najednou.

Řízení toku dat

Řízení rychlosti zasílání dat mezi dvěma N_Porty nebo mezi N_Portem a Fabric topologií zabraňuje zahlcení přijímače. Typ řízení toku dat závisí na třídě služeb, která je používána. Třída 1 používá end-to-end řízení, třída 2 používá buffer-to-buffer řízení a třída 3 používá oba typy.

Kontrola toku dat je řízena zdrojovým a cílovým portem pomocí Credit a Credit_CNT. Credit je počet velikost alokovaných bufferů na vysílacím portu. Credit_CNT je počet datových rámců, které nebyly potvrzeny příjemcem.

End-to-end řídí tok rámců mezi dvěma N_Porty. Příjemce je zodpovědný za potvrzení přijatých správných rámců rámcem ACK. Pokud je velikost volných bufferů příjemce menší než příchozí rámec, příjemce odešle Busy rámec. Pokud je příchozí rámec chybný, příjemce odešle Reject rámec. Vysílač je zodpovědný za správu EE_Credit_CNT. K vytvoření EE_Credit_CNT se používá N_Port login.

Buffer-to-buffer řídí tok rámců mezi N_Portem a F_Portem nebo mezi N_Porty v point-to-point topologii. Každý port je zodpovědný za správu BB_Credit_CNT, který je vytvořený při Fabric loginu. Přijímací port vysílá Recive_Ready do vysílacího portu pokaždé, když má volné buffery.

Třídy služeb

Fibre Channel definuje několik způsobů přenosu nazvaných třídy služeb (Class of service). Výběr vhodné třídy pro přenos závisí na typu dat, které mají být přenášeny. Hlavním rozdílem mezi jendnotlivými třídami je použité řízení toku dat. Pokud spolu komunikují dva N_Porty nebo se jeden N_Port úspěšně nalogoval do Fabric topologie, musí existovat alespoň jedna třída služem, kterou obě strany podporují. Podporované třídy jsou zjišťovány během Fabric a N_Port loginu. Sekvence a Výměny musí používat stejnou třídu služeb. Třídy 4 - 6 nejsou součástí standardu, jsou to dodatky od výrobdů, které nemusí podporovat všechna zařízení.

Class 1
Třída 1 je služba, která poskytuje dedikovaný kanál mezi dvěma N_Porty. Jedná se o spolehlivou spojovanou službu. Po vytvoření kanálu mu Fabric topologie garantuje maximální možnou přenosovou rychlost - závislé na nejpomalejší části přenosové cesty. Tuto přenosovou cestu nemůže využívat nikdo další stejně jako propojené se N_Porty. Tato třída zajišťuje příchod rámců ve stejném pořadí jako byly odeslány, není potřeba buffer-to-buffer řízení toku dat. Po přijetí datového rámce je zpět odesláno potvrzení v podobě ACK rámce. Třída 1 používá pouze end-to-end řízení toku dat. Používá se v případech, kdy je potřeba plynulý tok dat v limitovaném čase - např. video.

Řízení toku dat ve třídě 1
Řízení toku dat ve třídě 1

Intermix
Intermix je varianta třídy 1, při které mohou být posílány rámce tříd 2 a 3 (vzužívají stejnou přenosovou cestu) pokud nejsou posílány rámce třídy 1. Rámce tříd 2 a 3 mohou, ale nemusí být posílány do stejného portu jako rámce třídy 1. K používání Intermixu ho musí potporovat jak N_Porty tak Fabric.

Class 2
Třída 2 je nespojovanou službou, která umožňuje sdílení šířky pásma přenosové cesty multiplexováním rámců z více zdrojů do stejného kanálu. Tato služba ve Fabric topologii nezaručuje příchod rámců ve stejném pořadí v jakém byly odeslány. U point-to-point topologie a Arbitrated Loop topologie je příchod rámců ve správném pořadí zaručen. Potvrzování přijetí probíhá ACK rámcem. Pokud je síť zahlcena, vratí se do vysílajícího portu Busy rámec. Vysílací port se pokusí data odeslat znova. Přenosová rychlost jednotlivých částí cesty se u této třídy může lišit. Probíha buffer-to-buffer i end-to-end řízení toku dat.

Řízení toku dat ve třídě 2
Řízení toku dat ve třídě 2

Class 3
Třída 3 je velmi podobná třídě 2. Jediným rozdílem je, že tato třída používá pouze buffer-to-buffer řízení toku dat. Jedná se tedy o nespojovanou nespolehlivou službu - ekvivalent datagramové služby. Datagramy přicházejí v různém pořadí v odlišných časových intervalech. Neprobíhá potvrzení příchodu datagramu do cílového uzlu, ztracené datagramy nejsou na vrstvě FC-2 nijak řešeny. Třída umožňuje multiplexovat více datagramů do jednoho rámce. Tuto službu je vhodné používat, pokud nejsou konkrétní požadavky na pořadí příchodu datagramů, časová omezení a pokud protokoly vyšších vrstev dokáží efektivně řešit problém ztracených datagramů. Používá se například pro SCSI příkazy.

Řízení toku dat ve třídě 3
Řízení toku dat ve třídě 3

Class 4
Třída 4 umožňuje vytvářet virtuální okruhy mezi dvěma N_Porty, který využívá zlomek šířky pásma přenosové cesty. Třídu 4 je možné používat pouze ve Fabric topologii. První N_Port zahájí vytvoření virtuálního okruhu (VC) zasláním požadavku s adresou cílového portu a požadavkem na QoS (Quality of service) do Fabric. Výsledný okruh se skládá z dvou částí (z počátečního N_Portu do cílového a z cílového do počátečního). Tyto části virtuálního okruhu nemusejí sdílet stejnou přenosovou cestu.

Jedná se o službu podobnou třídě 1, rámce přicházejí ve stejném pořadí jako byly odeslány a probíhá jejich potvrzování (Class 4 end-to-end credit). Hlavním rozdílem je využití přenosové cesty. N_Port může patřit do více než jednoho virtuálního okruhu třídy 4, s více různými porty na druhé straně okruhu. Šířka pásma přenosové cesty je rozdělena mezi více virtuálních okruhů, které ji sdílejí. Fabric řídí provoz na síti a buffer-to-buffer kontrolu toku dat pro každý VC zvlášť, k tomu používá primitivní signál FC_RDY.

Class 5
Třída 5 by měla obsahovat možnosti pro okamžité (just-in-time) izochronní služby. Tato třída neni doposud nikde pořádně definována a proto neexistuje její implementace.

Class 6
Třída 6 poskytuje podporu pro multicasting ve Fabric topologii. Pokud chce zařízení současně vysílat rámce pro více než jeden N_Port, vytvoří se spojení třídy 1 s multicast serverem, který se ve Fabric topologii nachází vždy na adrese FFFFF5. Multicast server vytvoří dedikovaná spojení mezi počátečním N_Portem a všemi cílovými N_Porty (kanál prochází postupně přes všechny cílové porty). Multicast server je zodpovědný za replikaci a přeposílání rámců do všech N_Portů v multicast skupině. N_Porty se stanou členy jedné multicast skupiny po zaregistrovnání na alias serveru, který se vždy nachází na adrese FFFFF8. Provádí se end-to-end řízení datového toku.

Shrnutí funkcí FC-2
  • Uspořádané množiny
  • Formát rámce
  • Sekvence
  • Výměny
  • Řízení toku dat
  • Třídy služeb
  • Login
  • Topologie
  • Segmentace

FC-3

Definice vrstvy FC-3 se stále vyvíjí. Předpokládá se, že bude obsahovat funkcionalitu jako kryptování, kompresi a "Common Services for advance features." Mezi Common Services které vrstva poskytuje patří striping - použití více portů paralelně, což zvyšuje přenosovou rychlost mezi dvěmi zařízeními. Mezi další poskytované Common Services patří tzv. Hunt groups - umožňuje více portům sdílet stejný alias. Na požadavek pak může odpovědět, jakýkoliv z těchto portů. Poslední důležitou poskytovanou Common Services ja multicasting - vysílání dat pro více než jednoho příjemce.

Shrnutí funkcí FC-3
  • Common Services
    • Striping
    • Hunt groups
    • Multicasting

FC-4

Nejvyšší vrstva Fibre Channelu definuje rozhraní mezi běžně používanými vyššími síťovými protokoly nebo kanály a FC. Fibre Channel umožňuje současně přenášet data ze síťových protokolů i kanálů. Klasickými podporovanými protokoly vyšších vrstev jsou SCSI, IP, HPPI nebo ATM. Rozhraní spočívá ve vhodném zabalení paketů vyšších vrstev do Fibre Channel rámců nebo sekvencí. Mapování také ovládá operace, které jsou závíslé na vyšším protokolu, např. u SCSI může jedna operace vyžadovat sekvenci více příkazů.

Shrnutí funkcí FC-4
  • Upper Layer Protocol (ULP) mapování
    • Small Computer System Interface (SCSI)
    • Internet Protocol (IP)
    • High Performance Parallel Interface (HIPPI)
    • Asynchronous Transfer Mode - Adaption Layer 5 (ATM-AAL5)
    • Intelligent Peripheral Interface - 3 (IPI-3) (disk a páska)
    • Single Byte Command Code Sets (SBCCS)
Stránka byla testována v prohlížečích MS Internet Explorer 6.0, MyIE a Mozilla Firefox
Stránka je navržena pro rozlišení 1280x960 a vyšší
Poslední úprava : 15.11.2004