poniedziałek, 23 sierpnia 2010

ISM - Co piszczy w FC ?

Lesson: Fibre Channel Architecture

Ten wpis jest bardzo teoretyczny, ponieważ będzie dotyczył samego protokołu Fibre Channel.
Poznamy jaki jest zbudowany , jaką stosuje adresację i w jakie struktury możemy znaleźć w wysyłanych przez niego danych. Lekcja nie jest długa i choć zawiera sporo "pamięciowych" danych nie uważam żeby była bardzo ciężka do przyswojenia.


Przegląd architektury protokołu FC:

FCP - Fibre Channel Protocol - implementacja SCSI na sieci FC ( SCSI over FC ).
FCP ma następujące zalety:
  • może być wykorzystany do transmisji danych na długie dystanse
  • umożliwia podłączenie dużej ilości urządzeń w ramach jednej sieci
  • umożliwia przesył danych z prędkością do 8Gb/sek
FCP ma strukturę warstwową. Rola poszczególnych warstw jest następująca:

FC-4 Upper Layer Protocol:
Warstwa ta opisuje w jaki sposób tzw protokoły wyższych warstw ( ULP - Upper Layer Protocol ) np: SCIS, ESCON, IP są enkapsulowane w ramkach FC.
FC-3 Common Services
Warstwa usług typowych. Na chwilę obecną niewykorzystywana
FC-2 Transport Layer
Opisuje mechanizm routowania pakietów w protokole FCP. Definiuje także struktury w jakich przesyłane są dane  ( ramki , sekwencje, wymiany ). Tutaj obsługiwana jest adresacja urządzeń działających w SANie.
FC-1 Transmission Protocol:
Definicje szczegóły dotyczące transmisji danych z wykorzystaniem protokołu FCP. Opisuje kodowanie jakiemu poddawane są dane przed wysłaniem poprzez kabel. Jest to tzw kodowanie: 8b/10b , w którym  każde 8 bitów koduje i wysyła się jako10bitów.
FC-0 Physical Interface:
Tutaj zdefiniowane są fizyczne części protokołu FCP takie jak kable, łączniki itd...


Adresacja w protokole FC:

Adres FC zostaje automatycznie przyznany urządzeniu podczas jego logowania do fabrica. Zawsze ma 24 bity ale postać i znaczenie poszczególnych jego części zależy od roli węzła któremu go przyznano. Jeden ze switchy w fabricu pełni rolę Name Servera i jednym z jego zadań jest mapowanie adresu WWN ( który dany węzeł ma fizycznie i na trwale przypisany) do adresu FC nadawanego przy logowaniu do fabrica. 

Znaczenie adresu FC:

FC adres przyznany N_Port-owi:
Pierwszy bajt zawiera: domain ID ( 239 możliwości ) , następny bajt to Area ID - używa się go do zidentyfikowania grupy F_Portów do których podpięty jest dany N_Port , ostatni bajt definiuje konkretny F_Port do którego jesteśmy podłączeni.

FC adres przyznany NL_portowi:
Jeżeli pętla w której znajduje się NL port nie jest połączona ze switchem (private loop) to dwa pierwsze bajty adresu FC są równe zero, ostatni bajt oznacza adres na pętli (AL-PA )
Jeżeli pętla jest podłączona do switcha (public loop) do dwa pierwsze bajty oznaczają ID tej pętli w fabricu a ostatni jest adresem NL_portu na pętli (AL-PA)


World Wide Names:

WWN jest to unikalny (na skalę światową) i na stałe przypisany do urządzenia adres.
W środowisku FC możemy wyróżnić 2 rodzaje WWNów:
WWPN - World Wide Port Name
WWNN - World Wide Node Name



Struktura i Organizacja danych FC:

Dane w protokole FC są oragnizowane w 3 struktury:


  • Exchange operations - pozwala dwóm N_Portow ustanowić i wymienić pakiet "jednostek informacji". Jednostkami informacji w protokole FC są "sekwencje" ( sequence )
  • Sequence - jest to ciągły pakiet ramek FC wysłanych z jednego portu to innego.
  • Ramka - elementarna jednostka danych wysyłana w transmisji FC ( definiowana na poziomie FC-2 ), każda ramka zaiera do 2112 bajtów danych. 
Ramka FC składa się z :
SOF (4 bajty) | Nagłówek (24 bajty) | Dane ( 0-2122 bajtów) | CRC (4 bajty) | EOF (4 bajty)



Ten wpis jest w porównaniu do innych dość krótki, ale nie chcę mieszać dwóch lekcji w jednym.
Co prawda już tak wcześniej robiłem, a dodatkowo następny temat też jest w temacie sieci SAN i protokołu FC, ale doszedłem do wniosku, że krótsze wpisy są o wiele bardziej lekkostrawne.


2 komentarze:

  1. "każda ramka zaiera do 2112 bajtów danych."
    "SOF (4 bajty) | Nagłówek (24 bajty) | Dane ( 0-2122 bajtów) | CRC (4 bajty) | EOF (4 bajty)"

    Dane ( 0-2122 bajtów) - pomyłka pisarska?

    OdpowiedzUsuń
  2. Tak, literówka się wkradła (choć to raczej "cyfrówkówką" lepiej nazwać)

    Prawidłowa wartość to 2112.

    OdpowiedzUsuń