Fibre Channel w zarysie
- Andrzej Janikowski,
- 01.03.2002
Kiedy więcej niż jedno urządzenie rozpoczyna arbitraż w tym samym czasie, porównywane są wartości x sygnałów ARB. Jeśli urządzenie rywalizujące o dostęp do pętli (nadawca ARBx) otrzyma sygnał ARBx innego nadawcy, wówczas przekazuje sygnał pochodzący od nadawcy o niższym numerze AL_PA, a blokuje transmisję sygnału o wyższym numerze. Oznacza to, że kontrolę nad pętlą uzyska urządzenie o niższym adresie AL_PA. Ale kiedy urządzenie rezygnuje z kontroli, pozostałe mogą ponownie rywalizować o dostęp do pętli.
W przeciwieństwie do sieci z przekazywanym znacznikiem czas kontroli pętli przez jedno urządzenie jest nieograniczony. Istnieje jednak opcjonalny algorytm dostępu AFA (Access Fairness Algorithm), ograniczający możliwość ponownego udziału w arbitrażu urządzenia dotychczas kontrolującego pętlę, zanim inne urządzenia nie uzyskają szansy przejęcia tej kontroli.
Dynamiczne adresy AL_PA ustalane są i przypisywane poszczególnym węzłom w czasie inicjalizacji pętli. Adresy te są jednobajtowe i dopuszcza się tylko 127 ich wartości. Jeśli w pętli jest więcej urządzeń, część z nich nie będzie brała udziału w transmisjach danych. Inicjalizacja jest kontrolowana przez jednostkę wytypowaną na ten okres. Taką jednostką zostaje przełącznica (gdy jest w pętli) lub port o najmniejszej numerycznie nazwie (Port Name). Wytypowana jednostka kieruje procesem przypisania adresów do urządzeń (i związanych z nim priorytetów). Każde z urządzeń może zażądać konkretnego numeru AL_PA, jednak o faktycznie przyznanym adresie decyduje wspomniana jednostka.
W każdej z sieci o topologii pierścienia połączenie urządzeń ułatwia centralny koncentrator. Oprócz uproszczenia struktury przewodów dodatkową zaletą huba jest umożliwienie wstawienia bądź usunięcia urządzenia z pętli. Dzięki temu uszkodzone urządzenie lub przerwany światłowód nie spowodują unieruchomienia całej sieci.
Przełącznica (Fabric)
Topologia z przełącznicą jest używana w celu połączenia dużej liczby urządzeń (do 2<sup>24</sup>) w konfiguracji przełączania krzyżowego. Zaleta tej topologii polega na tym, że transmitować równocześnie może wiele urządzeń - medium nie jest współdzielone przez urządzenia. Natomiast jej wadą jest konieczność zakupu drogiej przełącznicy. Każdy z portów urządzeń podłączanych do przełącznicy uzyskuje dostęp (loguje się) do niej, uzyskując przypisanie swojego adresu identyfikującego port w sieci (Native Address Identifiers). Przełącznice pełnią też funkcje serwerów usług katalogowych, rozgłaszania, multicastingu itp. Niektóre przełącznice mają porty typu FL, pozwalające na dołączenie do nich pętli z arbitrażem.
Porty
Rys. 3. Typy portów Fibre Channel
Port łączący kilka przełącznic w jedną jest znany pod nazwą E_Port. Zwykle taki port nie realizuje usług Fibre Channel. Port, który może równocześnie łączyć przełącznice i dołączać urządzenia-węzły, to G_Port (generic). Jeśli ponadto taki port umożliwia dołączenie pętli, to nazywa się wówczas GL_Port.
<hr size=1 noshade>Opis do Rys. 4.
Rys. 4. Format Fibre Channel
Rolę kontenera przenoszącego dane między węzłami FC spełnia ramka. Pierwsze słowo po SOF przenosi informację umożliwiającą trasowanie w szkielecie FC. W ramce mieści się od 9 do 537 słów danych.
Odpowiednikiem pakietu w FC jest sekwencja. Stanowią ją jedna lub wiele porcji danych należących do wspólnego bloku. Na przykład polecenie SCSI zajmuje tylko jeden pakiet (sekwencję), a blok 2 GB danych aż 960 mln pakietów. Identyfikator kolejności SEQ_ID oraz numer ramki w określonej zbiorowości umożliwią poskładanie sekwencji w blok.
Główną formą komunikacji w Fibre Channel jest wymiana (exchanges). W każdej wymianie bierze udział inicjator (originator) i adresat (responder). Inicjator wymiany wysyła pierwszą ramkę danych z propozycją wartości OX_ID. Jeśli adresat w odpowiedzi poda wartość RX_ID, to komunikację uważa się za nawiązaną. R_CTL (Routing Control), D_ID (Destination Address), S_ID (Source Address), TYPE - pole dla ULP (Upper Level Protocol) - IP, SCSI, HIPPI..., F_CTL (Frame Control), SEQ_ID (Sequence Identifier), DF_CTL (Data Field Control) - sygnalizuje obecność na początku pola danych nagłówków opcjonalnych dla ramek Device_Data i Video_Data, OX:_ID (Originator Exchange Identifier), RX_ID (Responder Exchange Identifier), PARAMETR - informacja sterowania łączem itp.<hr size=1 noshade>