Protokoły sieci Fibre Channel

Komunikacja pomiędzy urządzeniami w sieci Fibre Channel wykorzystuje różne elementy standardów Fibre Channel.

Słowa transmisyjne i zestawy uporządkowane

Cała komunikacja Fibre Channel odbywa się w jednostkach składających się z czterech 10-bitowych kodów. Ta grupa 4 kodów nazywana jest słowem transmisyjnym .

Uporządkowany zestaw to słowo transmisji, które zawiera pewną kombinację kodów sterujących (K) i kodów danych (D) .

AL_PA

Każde urządzenie ma adres fizyczny pętli arbitrażowej (AL_PA). Adresy te są definiowane przez 8-bitowe pole, ale muszą mieć neutralną rozbieżność, jak zdefiniowano w schemacie kodowania 8b/10b . Zmniejsza to liczbę możliwych wartości z 256 do 134. 134 możliwe wartości zostały podzielone między sieć szkieletową, porty FC_AL i inne cele specjalne w następujący sposób:

AL_PA Ilość Zamiar
00 1 Port FL (tkanina).
01-7E 126 Porty NL (normalne).
F0 1 Używany podczas LIP i ARB
F7 1 Używany podczas LIP
F8 1 Używany podczas LIP
F9-FE 3 Skryty
FF 1 Używany do transmisji

Metadane

Oprócz przesyłania danych, komunikacja Fibre Channel musi zawierać pewne metadane . Pozwala to na konfigurowanie połączeń, zarządzanie sekwencjami i inne funkcje kontrolne. Metadane dzielą się na dwa typy: prymitywy , które składają się z 4-znakowego słowa transmisyjnego i ramki inne niż dane, które są bardziej złożonymi strukturami.

prymitywy

Wszystkie prymitywy mają długość czterech znaków. Rozpoczynają się od znaku kontrolnego K28.5, po którym następują trzy znaki danych. W niektórych prymitywach trzy znaki danych są stałe, w innych można je zmieniać, aby zmienić znaczenie lub działać jako parametry prymitywu. W niektórych przypadkach dwa ostatnie znaki parametru są identyczne.

Parametry przedstawiono w poniższej tabeli w postaci ich wartości szesnastkowych 8-bitowych. Jest to wyraźniejsze niż ich pełna 10-bitowa postać (Dxx.x), jak pokazano w Fibre Channel :

Mnemoniczny Oznaczający Parametry Uwagi

ARB

Rozstrzygać

94F0F0 Żądaj uczciwości
94FFFF Wypełnij słowo
94yyyy Poproś o arbitraż dla AL_PA=yy
CLS Zamknąć 85B5B5 Kończy komunikację, anulując poprzednie polecenia OPN.
DHD Dynamiczny półdupleks 8AB5B5
EOF Koniec kadru Patrz uwaga 1
BEZCZYNNY Bezczynny 95B5B5

WARGA

Inicjalizacja pętli

15F7F7 Poproś o AL_PA
15F7xx Ponownie zainicjuj AL_PA=xx
15F8F7 Awaria pętli w nieznanym AL_PA
15F8xx Błąd pętli przy AL_PA=xx
15FFxx Zresetuj wszystko, źródło AL_PA=xx
15yyxx Zresetuj AL_PA=yy, pochodzenie AL_PA=xx

LPB

Obejście portu pętli

09yyxx Obejście AL_PA=yy, inicjujące AL_PA=xx
09FFxx Pomiń wszystkie, pochodzące z AL_PA=xx

LPE

Port pętli włączony

05yyxx Włącz AL_PA=yy, pochodzenie AL_PA=xx
05FFxx Włącz wszystkie, pochodzące z AL_PA=xx
LR Resetowanie łącza 49BF49
LRR Odpowiedź na reset linku 35BF49
MRK Ocena 5Fxxxx Unikalny dostawca - synchronizacja zegara, synchronizacja wrzeciona itp.
NIE Nieoperacyjne 55BF45 Połączenie nie powiodło się
OLS offline 358A55 Przejście w tryb offline (z powodu otrzymanego NOS lub innego zdarzenia)

OPN

otwarty

91FFFF Otwarta replika emisji (zob. uwaga 2)
91rrFF Otwarte replikaty wybiórcze (zob. uwaga 2)
91yyxx Otwórz tryb pełnego dupleksu między AL_PA=xx a AL_PA=yy
91rrrr Otwórz półdupleks do AL_PA=yy
R_RDY Odbiornik_gotowy 954949
SOF Początek kadru B5cccc Patrz uwaga 3

SYN

Synchronizować

7Fxxxx Słowo synchronizacji zegara X
Brrrr Słowo synchronizacji zegara Y
DFzzzz Słowo synchronizacji zegara Z
VC_RDY Obwód wirtualny gotowy F5vvvv Gdzie vv to identyfikator obwodu wirtualnego

Uwaga 1: Pierwszy bajt parametru prymitywu EOF może mieć jedną z czterech różnych wartości (8A, 95, AA lub B5). Odbywa się to tak, że prymityw EOF może ponownie zrównoważyć dysproporcję całej klatki. Pozostałe dwa bajty parametrów określają, czy ramka kończy się normalnie, kończąc transmisję, czy też ma zostać przerwana z powodu błędu.

Uwaga 2: Wariant Open Selective Replikate można powtarzać wiele razy, aby komunikować się z więcej niż jednym portem docelowym jednocześnie. Wariant replikacji Open broadcast pozwoli na komunikację ze wszystkimi portami jednocześnie.

Uwaga 3: Operacja podstawowa SOF zawiera parę bajtów kontrolnych (pokazanych w tabeli jako cccc) do określenia typu ramki.

Ramki

Protokół Fibre Channel przesyła dane w ramkach, z których każda może zawierać do 2112 bajtów danych użytkowych . Struktura ramki jest pokazana w tej tabeli:

Pole Długość
SOF — początek ramki 4
Rozszerzone nagłówki 0 lub więcej
Kontrola routingu 1
Identyfikator miejsca docelowego 3
Specyficzna dla klasy kontrola/priorytet 1
Identyfikator źródła 3
Typ struktury danych 1
Kontrola ramek 3
Identyfikator sekwencji 1
Kontrola pola danych 1
Liczba sekwencji 2
Identyfikator wymiany inicjatora 2
Identyfikator wymiany obiektu odpowiadającego 2
Parametr 4
Pole danych od 0 do 2112
CRC — cykliczna kontrola redundancji 4
EOF — Koniec ramki 4

Oprócz ramek danych istnieją ramki niebędące ramkami danych, które są używane do celów konfiguracji i przesyłania komunikatów. Dzielą się one na trzy kategorie: kontroli łącza , ramki usługi łącza i ramki rozszerzonej usługi łącza. Poniższa tabela zawiera listę najczęstszych z nich:

Mnemoniczny Typ ramki Oznaczający
ABTS Usługa łącza Sekwencja przerwania
POK Kontrola łącza Potwierdź ramkę danych (powodzenie)
BA_ACC Usługa łącza Podstawowa akceptacja
BA_RJT Usługa łącza Podstawowy odrzut
F_BSY Kontrola łącza Tkanina zajęta
F_RJT Kontrola łącza Odrzucenie ramy z tkaniny
FLOGI Rozszerzona usługa łącza Logowanie do tkaniny
NIE Usługa łącza Bez operacji
P_BSY Kontrola łącza Port zajęty
P_RJT Kontrola łącza Odrzucenie ramki portu
PLOGI Rozszerzona usługa łącza Logowanie do portu
PRLI Rozszerzona usługa łącza Zaloguj się do procesu
PROLO Rozszerzona usługa łącza Wyloguj proces
PRMT Usługa łącza Wywłaszczono dedykowane połączenie
RMC Usługa łącza Usuń połączenie
RSI Rozszerzona usługa łącza Poproś o inicjatywę sekwencji