Gagne de la cryptomonnaie GRATUITE en 5 clics et aide institut numérique à propager la connaissance universitaire >> CLIQUEZ ICI <<

ANNEXE A : Fonctions de certains champs de la trame Fibre Channel

Non classé

· Start of Frame (SOF) et End of Frame

Ces deux champs (4 octets) sont appelés “délimiteur” de trame et font partie de la famille des “Ordered
Sets”.

Un “Ordered Set” est une suite de 32 bits qui permet au protocole de distinguer le type d’informations
(donnée ou control) contenues dans une trame durant un transfert et d’échanger les informations niveau lien
nécessaires à la gestion du lien et des transmissions. Le résultat du chiffrement (niveau FC-1) du premier
octet d’un “Ordered Set” est K28.5. K28.5 n’est autre qu’une notation du résultat du chiffrement 8bit/10bit du
mot hexadécimal “BC” (10111100 en binaire). La lettre “K” signifie qu’il s’agit d’un caractère spécial tandis
que le “D” fais référence une donnée. Les trois autres octets permettent d’indiquer le type d’information
envoyé selon la classe de service.

Le SOF marque le début de la trame. Il existe onze types de SOF qui diffèrent selon les classes de service
et la fonctionnalité.

De même, le EOF marque la fin de la trame et il existe 8 types de délimiteurs EOF.

· Optional Header

Ce champ est une suite de sous champs optionnels incorporée au début du champ de données. Il a une
taille maximum de 112 Octets et sa présence est signalée dans l’entête de la trame par le champ DF_CTL.
Ce champ est utilisé au niveau de la couche 4 du protocole. Si un sous champ de ce champ est absent, son
espace mémoire est automatiquement attribué au champ “Payload”. Par conséquent, si aucune option n’est
présente, le champ “Payload” aura une taille de 2112 Octets.

Figure 38 Rapport de stage dans le cadre du projet STORM

Figure 38 : Format de l’entête optionnel

· Payload et CRC

Le “Payload” est un champ de longueur maximale de 2112 octets y compris les champs optionnels. La
taille de ce champ doit obligatoirement être en octet, un multiple de 4 sinon il est complété par 1,2, ou 3
octets (octets de bourrage). Ces octets de bourrages ne sont ajoutés que dans la dernière trame de
données d’une série de trames consécutives d’une seule séquence pour une catégorie d’information (voir
champ R_CTL) donnée. La taille des octets de bourrage est indiquée dans le champ F_CTL de la trame.
Il existe deux types de trame (FT) :

– FT_0 : Dans ce type de trame, le champ “Payload” est inexistant car sa taille est de 0 octet.
C’est une trame de contrôle de lien. On le reconnaît par le contenu du champ R_CTL dont
les bits 31-28 sont mis à “1100”.

– FT_1:La taille de ce type de trame est supérieure à 0 et inférieure ou égale à 2112 octets.
On le reconnaît par le contenu du champ R_CTL dont les bits 31 – 28 ont une valeur autre
que “1100”.

Le CRC (Cyclic Redundancy Check) est un champ de 4 octets qui est utilisé pour vérifier l’intégrité des
données utiles transmises ainsi que celle de l’entête de la trame. Le CRC est calculé avant la transmission
et le chiffrement niveau 1, selon le contenu du champ “Payload” et l’entête de la trame. Pour vérification il
sera recalculer à la réception après le décodage. Il faut souligner que le calcul du CRC n’inclut pas les
champs SOF et EOF.

· L’entête de trame (Frame Header)

L’entête de la trame FC est de 24 Octets.

– Routing Control (R_CTL)

Ce champ d’une taille d’un octet fournis un premier niveau de distinction entre les différents
types de trames. Il se subdivise en deux sous champs de 4 bits: Routing (les 4 premiers bytes) et
Information. Le champ “Routing” renseigne sur le routage des trames ainsi que leur usage général.
Le sous champ “Information” dépend du sous champ “Routing”. Quelque soit la valeur du champ
“Routing”, il spécifie une catégorie d’information sauf pour les valeurs de “Routing” “1000” et “1100”
pour lesquelles il contient un identifiant de commande. La catégorisation de l’information permet de
décrire l’usage des données en indiquant par exemple si c’est une commande ou une un control et si
il est sollicité ou pas. L’une des avantages de la catégorisation est de séparer les trames d’une
séquence en flux de données indépendants afin de les stocker en différents endroits (buffers) du
noeud destinataire. Par défaut, une séquence ne supporte qu’une seule catégorie d’information, mais
cette contrainte peut être contourné si cela se négocie pendant le transfert de paramètres de classe
de service lors de la connexion.

Ex: Quelques valeurs de R_CTL

Tableau 7 Rapport de stage dans le cadre du projet STORM

Tableau 7 : Quelques Valeurs du champ R_CTL

– Address Identifiers (S/D_ID)

Chaque N_Port a à l’intérieur du domaine d’une Fabric identifiant unique de 3 octets qui est son
adresse. Cette adresse est soit attribuée au N_Port par le Fabric pendant la connexion, soit négocié
par le port lui même. Tout comme les N_Ports, les F_Ports ont eux aussi une adresse unique de 3
octets.

Le format général d’une adresse est:

Figure 39 Rapport de stage dans le cadre du projet STORM

Figure 39 : Format d’une adresse Fibre Channel

Le contenu et le rôle des champs Ch_1 et Ch_2 dépendent du type d’adresse. L’adresse 0x000000
est réservée pour adresser un port qui ne possède pas d’identificateur. Ce genre de port n’accepte
que les trames dont le sous champ “Routing” du R_CTL est soit 0010 (Extended Link Data), soit
1000 (Basic Link Data). Il existe:

- les adresses utilisables: Elle permettent d’adresser les équipements du réseau à
savoir les N_Ports et les F_Ports. Leur valeur appartiennent à l’intervalle [0x010000
– 0xEFEFFF]. Pour ces adresses, le champ Ch_1 est l’identificateur du Domaine
auquel appartient l’équipement et le champ Ch_2 est représenté comme le montre
la figure suivante.

Figure 40 Rapport de stage dans le cadre du projet STORM

Figure 40 : Format des deux derniers octets d’une adresse utilisable

- Les adresses spéciales: Elle sont réservées à une utilisation interne aux différents
services utiles au bon fonctionnement du réseau. Leur valeur est comprise dans
l’intervalle [0xEFF000 – 0xEFFFFF]. Leur champ Ch_2 se présente comme suit:

Figure 41 Rapport de stage dans le cadre du projet STORM

Figure 41 : Format des deux derniers octets d’une adresse spéciale

La liste des adresses spéciales et leur utilisation sont présentées dans l’annexe B.

Dans le système d’adressage Fibre Channel, chaque commutateur au sein d’une structure SAN
possède un identifiant de domaine, et jusqu’à 239 identifiants de domaine différents peuvent être
affectés à une même structure (certaines adresses sont réservées). Un réseau Fibre Channel peut
donc contenir théoriquement jusqu’à 239 commutateurs. Chaque commutateur a 2 octets
d’adressage restants, ce qui donne un bloc de 65025 adresses individuelles qui peuvent lui être
affectées. Ainsi, la combinaison d’un identifiant de domaine et de la concaténation d’identifiants
aire/port attribue une adresse unique de 24 bits à chaque périphérique Fibre Channel relié à un
SAN. Le domaine indique à quel commutateur est rattaché un périphérique et la concaténation
aire/port indique sur quel port du commutateur est connecté ce même périphérique.

L’adressage Fibre Channel est donc dynamique et dépend du commutateur auquel est rattaché le
périphérique. Bien que l’adresse réseau d’un périphérique Fibre Channel puisse changer, il conserve
cependant une identité unique par l’intermédiaire d’une adresse WWN (World Wide Name) de 64
bits. Cette adresse est indépendante de la localisation du périphérique; un peu comme une adresse
MAC.

L’adresse 24 bits FC contenue dans l’entête Fibre Channel (FC Header) est utilisée pour
l’acheminement des communications entre périphériques. L’adresse 64 bits WWN est utilisée pour
vérifier l’intégrité d’un échange et est mise en oeuvre par les couches supérieures : elle ne se trouve
pas dans l’entête Fibre Channel mais dans la zone des données (FC Payload), avec les paramètres
de classe de service. La vérification de l’intégrité d’un échange s’effectue durant l’établissement
d’une session entre deux périphériques. Lorsqu’une session est établie, il n’est plus nécessaire de
constamment valider un WWN.

Dans une structure SAN, les ressources de stockage peuvent être dispersées à travers un
réseau complexe. Cela pose un problème pour la découverte de ces périphériques et de leurs
propriétés. Les serveurs doivent être capables d’identifier ces ressources dans le SAN et de
déterminer s’ils y ont accès. La norme Fibre Channel fournit donc un service appelé SNS, qui
simplifie la découverte de périphériques attachés à une structure SAN locale, et permet également
de retrouver une adresse Fibre Channel d’un périphérique à partir de son WWN. Un périphérique
attaché à un commutateur doit d’abord se connecter au commutateur pour obtenir une adresse
réseau FC. Il doit ensuite faire enregistrer sa présence dans le réseau en se connectant au serveur
SNS à une adresse connue. Le SNS maintenu par les commutateurs est une petite base de
données contenant, pour chaque périphérique, l’adresse WWN, l’adresse FC, les paramètres de
classe de service et d’autres informations.

– Class Specific Control (CS_CTL)

Ce champ permet d’assurer une différentiation de la qualité de service à appliquer sur les
trames en fonction de leur classe de service. Il n’est utilisé que pour les classes 1 et 4. Pour les
autres classes de service il reste nul.

– Frame Control (F_CTL)

Ce champ est utilisé pour le contrôle et les traitements en fonction de la valeur de ses bits. La signification
des bits de ce champ est détaillée dans l’annexe B.

Page suivante : ANNEXE B : La liste des adresses spéciales et leur utilisation.

Retour au menu : Rapport de stage dans le cadre du projet STORM