Institut numerique

II.2.3.4. Le protocole iSCSI

Le SCSI permet aux systèmes composant les ordinateurs d’effectuer des opérations de type
entrée/sortie en mode bloc entre plusieurs périphériques qui peuvent être des disques durs, des scanners,
des imprimantes, des équipements de stockage, etc. La connexion traditionnelle utilisée pour relier tous ces
équipements se compose d’un câble parallèle. Seulement, cette liaison introduit inévitablement des
contraintes de distance et de performance.

Les architectures SCSI reposent sur le modèle client/serveur. Le client est typiquement un système hôte,
comme un serveur de fichiers sur lequel s’effectuent des opérations de lecture/écriture. Le serveur est une
ressource au même titre qu’une baie de disques et répond aux requêtes des clients : c’est la cible. Une cible
dispose d’une ou plusieurs unités logiques qui sont susceptibles de recevoir des commandes. Les unités
logiques possèdent une identification qui est un numéro d’unité logique (LUN). Les commandes sont
contenues dans un bloc de description de commande (CDB) délivré par le client. La structure d’un CDB
(standard SCSI-2) est présentée dans la figure suivante.

Figure 33 : Format d’un bloc de description de commande

En portant les protocoles SCSI via les réseaux les réseaux de communication, les réseaux de stockage
offrent une grande flexibilité pour les transferts de type mode bloc et ce pour une large palette d’applications,
incluant la sauvegarde, le clustering, la consolidation, etc. La mission première du protocole iSCSI consiste à
encapsuler et fiabiliser les transactions CDB entre le destinataire et l’expéditeur en empruntant un réseau
TCP/IP.

a. Architecture

Un réseau SAN iSCSI peut être composé d’équipements natifs iSCSI, comme des serveurs de
fichiers, ainsi que de cibles iSCSI, comme des baies de disques ou de librairies de sauvegarde. Dans la
figure 34, chaque hôte et chaque ressource de stockage disposent d’une interface Gigabit Ethernet et d’une
pile protocolaire iSCSI. Cela permet aux différents équipement de stockage d’être directement reliés aux
commutateurs Gigabit Ethernet et / ou aux routeur IP composant l’infrastructure réseau. Ils sont vus par ces
équipements comme étant des équipements IP comme les autres. A ce titre, ils sont donc soumis à toutes
les règles de gestion régissant les réseaux IP, comme la découverte du produit, l’affectation d’adresse IP, la
reconnaissance vis-à-vis des autres composants du réseaux, etc. Les équipements iSCSI utilise eux aussi
les serveurs DNS pour retrouver l’adresse IP de leur correspondant, pour cela il font référence au serveur
iSNS comme iFCP pour obtenir le nom de ces derniers.

Figure 34 : Architecture de réseau iSCSI

b. La pile protocolaire

Le protocole de communication iSCSI s’appuie sur TCP pour assurer la transmission des données
de manière fiable. La couche iSCSI comprend l’encapsulation des commandes SCSI, les données et les
informations relatives au statut de la session. Lorsque, par exemple, un système d’exploitation ou une
application demande une opération d’écriture, le SCSI CDB doit être encapsulé avant d’emprunter une
liaison Ethernet haut débit et d’être délivré au destinataire.

Le protocole iSCSI surveille les transferts de données (en mode bloc) et valide les opérations de
lecture/écriture. Ces opérations s’effectuent au travers d’une ou plusieurs connexions TCP entre la cible et
l’émetteur. En pratique, l’émetteur peut disposer de plusieurs cibles et donc multiplie les connexions TCP.

Figure 35 : Pile protocolaire iSCSI

c. Adressage

Les clients et les serveurs SCSI disposent d’une identité « entité réseau » qui est l’équivalent de
l’adresse IP qui leur est assignée. Comme le montre la figure suivante, l’entité réseau peur contenir un ou
plusieurs noeuds iSCSI. Un noeud iSCSI identifie un appareil SCSI dans une entité réseau qui est accessible
via le réseau. Le portail réseau est une combinaison de noeuds auxquels sont assignés des adresses IP et
des ports TCP. Chaque noeud iSCSI est identifié par un nom SCSI unique de 255 octets. Compte tenu de la
longueur, le protocole iSCSI tente de suivre les conventions appliquées dans Internet, en particulier pour les
noms mémorisables et résolus à l’aide de DNS ou d’autres systèmes locaux (WINS, HOST, LMHOST) et un
serveur iSNS.

La combinaison d’adresse IP et de ports génère une adresse unique pour les équipements iSCSI. Le nom
iSCSI (255 octets) assure aussi une identification unique. La séparation entre le nom et l’adresse iSCSI
certifie que l’équipement de stockage aura une identification unique, quelle que soit sa position dans le
réseau. Bien que l’adresse IP et le port associé soient modifiés si l’appareil iSCSI est déplacé de son
segment réseau initial, le nom iSCSI, quant à lui, reste inchangé.

Le standard iSCSI appliqué pour les noms se compose de trois parties: un “designator” type, l’autorité de
nommage (par exemple la compagnie les noms iSCSI) et un identifiant unique attribué par l’autorité de
nommage. Par exemple, un nom pleinement qualifié (figure 36) devrait avoir une extension du type “iqn”.

L’autorité de nommage peut être une entreprise qui assure le fonctionnement du serveur DNS, adaptec.com.
Quant au nom de l’appareil, il peut être target1. Une fois assemblé et en insérant la date (année – mois)
d’enregistrement du nom de domaine, le nom iSCSI de l’équipement est iqn.1991-08.com.adaptec.target1.

Figure 36 : Adressage des équipements iSCSI

d. Fonctionnement

· La session iSCSI

Une session iSCSI entre deux équipements est établie via un processus de login, appelé iSCSI login.
Cette phase est similaire au processus PLOGI de Fibre Channel. Elle est utilisée afin de négocier des
paramètres variables entre deux entités iSCSI et peut invoquer une routine de sécurité pour
l’authentification. Cette phase de login s’opère en s’appuyant sur une série de paramètres clés qui sont
échangés entre les deux entités. Ces paramètres concernent entre autres les noms iSCSI, le nombre de
session TCP simultanés à gérer, le protocole de sécurité, la taille du champ de données utiles et la valeur du
timeout.

Lorsqu’un émetteur établit une session iSCSI avec une cible, des identifiants de session sont générés pour
s’assurer de l’unicité de la discussion entre les deux éléments qui dialoguent.

Une fois la phase de login terminée, la session iSCSI entre dans la phase appelée “Full Feature” pour que la
transaction puisse commencer.

Figure 37 : Processus d’établissement d’une session iSCSI

· Les concepts du protocole

La communication entre deux équipements s’opère au-dessus d’une ou plusieurs connexions TCP qui
achemine les messages de contrôle, les commandes SCSI, les paramètres de la communication et les
données contenues dans le protocole iSCSI PDU. L’ensemble des connexions qui relient un expéditeur au
destinataire forme une session. Les connexions contenues dans une session sont identifiées par le
paramètre Connection ID (CID).

Le protocole iSCSI dispose d’un modèle de numérotation pour les commandes et les statuts. Il est en outre
doté d’un mécanisme de séquenceur pour les données. Les commandes des numérotations sont présentes
dans chacune des sessions. Elles sont utilisées pour ordonner les commandes lors de multiples connexions.
Elles peuvent par ailleurs être utilisées comme un mécanisme servant à réguler le flux de données dans une
session. La numérotation de statut s’applique à la session dans son ensemble et est utilisée pour activer la
recherche et la détection d’erreurs lors de connexions permanentes ou de courte durée. La mise en
séquence des données s’effectue au niveau de la commande. Elle est utilisée pour détecter les données qui
n’arrivent pas à destination.

Les sessions iSCSI répondent à une structure ordonnée. En effet, toutes les commandes son numérotées.
Une grande partie des activités du SCSI s’apparente à des tâches. Ces dernières sont identifiées par un tag
spécifique, appelé “Initiator Task Tag”, durant la durée de l’opération. Les commandes en transit de
l’expéditeur vers la cible sont numérotées par le protocole iSCSI. Ce nombre, servant de repère ou
d’ordonnateur, est encapsulé dans le PDU comme un CmdSN. Toutes les requêtes iSCSI sortant sont
numérotées par l’expéditeur qui alloue le numéro CmdSN en utilisant un compteur 32 bits. La numérotation
des commandes commence avec la première requête, soit celle du login, lors de la première connexion de la
session.

e. Conclusion

Le protocole iSCSI simplifie le stockage de grandes quantités de données en permettant la création
de solutions de stockage SAN rentables dans des centres de données départementaux, régionaux ou à
distance pour lesquels les solutions Fibre Channel ne sont pas une option rentable. iSCSI permet aux
organisations informatiques de s’appuyer sur leur investissement et leur expertise en matière d’infrastructure
réseau Ethernet pour déployer des réseaux de stockage SAN départementaux en complément du SAN Fibre
Channel existant dans leur centre de données ou de nouveaux SAN au sein de leur environnement
informatique distribué.

La norme iSCSI combine la vitesse et le faible coût de la technologie SCSI avec le caractère familier et
omniprésent des réseaux IP et Ethernet, offrant ainsi des solutions de stockage iSCSI économiques,
évolutives et conviviales. iSCSI étend l’architecture de stockage pour prendre en charge sur la même
infrastructure aussi bien les applications nécessitant un stockage SAN que celles exigeant un stockage NAS,
simplifiant de ce fait considérablement l’environnement de gestion des données. L’une des avantages de ce
protocole est le fait qu’il repose sur des normes stables (monde IP), sur une infrastructure réseau gigabit
omniprésente et des outils de gestion de réseau familiers. Plusieurs constructeurs offrent des interfaces
iSCSI, ce sont ADAPTEC, CISCO, NETAPP.

Page suivante : III- TESTS ET VALIDATION DE COMMUTATEUR

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