Ladislav Mrnka, A01222
b-lmrnka@microsoft.com

Fibre Channel Protocol (FCP)

Co je Fibre Channel Protokol?

Běžně používaným rozhraním pro datovou komunikaci je SCSI. FCP je mapovací protokol čtvrté vrstvy Fibre Channelu (FC-4), který definuje jak posílat SCSI příkazy po Fibre Channel síti a jaké třídy služeb k posílání použít, aby byly dodrženy požadavky SCSI architektury. FCP využívá služby, které mu poskytují nižší vrstvy Fibre Channelu (FC-PH). Kompletní definice protokolu spočívá v detailním popsání možných výměn a informačních jednotek, které jsou posílány mezi dvěma N_Porty nebo NL_Porty. N_Porty a NL_Porty které umožňují komunikaci prostřednictvím FCP se označují také jako FCP_Porty.

FCP definuje čtyři druhy řízení

  • Správa zařízení
  • Správa úloh
  • Login/Logout - Správa připojení a odpojení
  • Správa spojení

FCP zařízení a správa úloh definuje mapování SCSI funkcí normy X3.270-199X na FC-PH. FCP je postaveno na dvouúrovňovém principu. I/O operace definované v normě X3.270-199X jsou mapovány jako výměny. Jednotlivé požadavky a odezvy FCP jsou mapovány jako informační jednotky (IU). Informační jednotky jsou zde data, která jsou posílána z vrstvy FC-4 do FC-PH. Správa spojení je zajištěna nížšími vrstvami Fibre Channelu (FC-PH). Maximální počet současně probíhajících výměn mezi dvěma FCP_Porty je závislý na konkrétní implementaci FC-PH. Architektura FC počet výměn omezuje na 65536. Maximální počet současných sekvencí mezi dvěma FCP_Porty je omezen v FC-PH - Sequence_ID může nabývat 256 hodnot.


SCSI funkce FCP ekvivalent
I/O operace Výměna
Požadavek/Odezva Primitivní sekvence
Požadavek na obsloužení příkazu Informační jednotka FCP_CMND
Požadavek na doručení dat Infomrační jednotka FCP_XFER_RDY
Akce doruční dat Informační jednotka FCP_DATA
Odezva na obsloužení příkazu Informační jednotka FCP_RSP
SCSI funkce a jejich ekvivalent v FCP

Správa zařízení

Klientská aplikace zahajuje FCP I/O operaci spuštěním služby Execute, která předává aplikační požadavek. Do softwarového rozhraní FCP lze předat samostatný požadavek nebo více spojených požadavků. Každý požadavek musí obsahovat všechny nezbytné informace pro spuštění SCSI příkazu, včetně lokální adresy a popisu přenášených dat. FCP poté zajistí obslužné akce, které vykonávájí vrstvy FC-PH.

FCP_Port který je SCSI iniciátorem přenosu zahájí výměnu zasláním informační jednotky FCP_CMND s řídícími informacemi (FCP_CNTL), adresami (FCP_LUN - logická adresa definovaná v SCSI), deskriptorem SCSI příkazu (FCP_CDB) a délkou dat (FCP_DL). FCP_CMND je informační jednotka, která zahajuje FCP I/O operace. Vytvořená sekvence je jednoznačně identifkována pomocí FQXID, používá se pouze pro informační jednotky FCP I/O operace, pro kterou byla vytvořena.

FCP_Port který je příjemcem FCP_CMND, interpretuje příkaz a rozhoduje zda je požadován přenos dat a zda je možné přenos uskutečnit. Posílá zpět informační jednotku FCP_XFER_RDY, která oznamuje jaká část dat bude přenesena. Pokud se například jedná o operaci zápisu, vyšle iniciátor vyžádanou informační jednotku FCP_DATA, která je popsána v předchozím FCP_XFER_RDY. Tyto dvě informační jednotky se opakují dokud není uskutečněn celý přenos dat. Za každou jednotkou FCP_XFER_RDY následuje právě jedna jednotka FCP_DATA. V případě, že zařízení podporuje nějaký vyšší mechanismus kontroly přenosu dat, mohou být jednotky FCP_XFER_RDY zakázány.

Po přenosu všech dat odpoví cílový FCP_Port na FCP_CMND informační jednotkou FCP_RSP, která obsahuje stavovou SCSI informaci, SCSI REQUEST SENSE a informaci o odezvě FCP, popisující případné chyby či vyjímečné stavy. FCP_RSP ukončuje SCSI příkaz. V případě že již není nutné pro danou FCP I/O operaci vykonávat žádné další příkazy, je ukončena i příslušná výměna. Po dokončení SCSI příkazu se jeho výsledek předá zpět aplikaci jako odezva na službu Execute. Návratová hodnota ukazuje aplikaci, zda byl příkaz vykonán úspěšně a případné příčiny chyb.

Pokud je příkaz spojen s dalším příkazem, obsahuje informační jednotka FCP_RSP stav, který říká zda může být další příkaz spuštěn. Iniciátor pak může použít stejnou výměnu pro další informační jednotku FCP_CMND, kterou začne další příkaz. Tímto způsobem jsou obsluhovány všechny spojené SCSI kromě posledního.

Počet současně aktivních FCP I/O operací je závislý na velikosti bufferů jednotlivých SCSI zařízení a na počtu současných výměn, které umožňuje FCP_Port.

FCP využívá všechny výhody multiplexování a sdílené šířky pásma FC-PH a druhé třídy služeb. K přenosu informačních jedotek FCP I/O operací lze použít i první třídu služeb a intermix. Třídu tři lze použít pouze ve speciálních případech, ve kterých se spolehlivost zajišťuje přímo na zařízení. K propojování jednotlivých zařízení lze použít Point-to-Point, Fabric i Arbitrated Loop.

Správa úloh

Aplikace může požádat o zrušení některého probíhajícího požadavku nebo skupiny požadavků. Některé SCSI příkazy pro řízení úloh jsou mapovány na FC-PH služby a jiné na řídící bity FCP_CMND. Funkce pro řízení úloh, které používají FCP_CMND jsou posílány jako první informační jednotka nové výměny. Pouze funkce ukončení úlohy je zajišťonvána již vytvořenou výměnou. Příkaz pro řízení úlohy je vždy ukončen FCP_RSP, který indikuje, zda byl správně proveden. FCP_CDB pole v FCP_CMND informační jednotce, která slouží k řízení úloh je ignorováno.

Funkce jako zrušení úlohy, reinicializace nabo vypráznění bufferů jsou zajišťovány přímo v FC-PH.

Login/Logout

Proces přihlašování a odhlašování (PRLI a PRLO), rozšiřující standardní funkce loginu a logoutu na druhé vrstvě FC, může být někdy použit k vytvoření logického vztahu mezi dvěma FCP_Porty. FCP_Porty mohou mít nastaveny implicitní parametry PRLI a PRLO.

Správa spojení

Norma X3.220-199X umožňuje řídícím protokolům nad FC-PH řídit spojení. Standardní FC primitivní sekvence, protokoly pro řízení spojení, základní a rozšířené služby pro spojení jsou používány podle potřeby FCP zařízení. Je možný implicitní login.

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 : 25.11.2004