La solution “multi6 shim” a ´et´e r´ecemment propos´ee pour le multi-acc`es des sites dans
le groupe de travail IETF (Internet Engineering Task Force) multi6 [22][23]. Mais comme
son approche est aussi int´eressante pour le multi-acc`es de machines, nous la pr´esentons ici.
Cette proposition est bas´ee sur une couche introduite au milieu de la couche r´eseau
(figure 4.4). Plus pr´ecis´ement, multi6 shim se place entre la sous-couche d’extr´emit´e IP
(endpoint sublayer), qui est responsable de la fragmentation, rassemblage et IPsec, et la
4.7. MULTI6 SHIM 21
sous-couche de routage (routing sublayer), qui est responsable du choix des chemins pour les
paquets. Ce placement permet d’utiliser un identificateur unique de la machine (ULID
-upper layer identifier) dans la sous-couche d’extr´emit´e, et plusieurs adresses diff´erentes
(locateurs) dans la sous-couche de routage. Multi6 shim s’occupe de la traduction de
l’identificateur en diff´erents locateurs. De cette fa¸con, du point du vue du transport et
des applications, un paquet poss`ede toujours un identificateur statique (ULID), mˆeme
si finalement, pour transmettre le paquet, il est traduit en un locateur. Les paquets sont
transmis dans le r´eseau en utilisant des locateurs. `A l’arriv´ee `a l’autre extr´emit´e, le locateur
du paquet est traduit en identificateur, et le paquet est livr´e `a la couche sup´erieure.
Fig. 4.4 – La sous-couche multi6 shim dans la couche r´eseau
Ce protocole permet de g´erer des pannes dans le r´eseau en adaptant la traduction entre
l’identificateur et le locateur. Quand une machine d´etecte qu’il n’y a plus de
communi-cation (`a cause d’une panne), le protocole peut changer le locateur et essayer de r´etablir
la communication en utilisant un autre locateur mais en gardant toujours le mˆeme
iden-tificateur. Il est propos´e que le protocole v´erifie et ´evalue le chemin avant de changer de
locateur.
Cette solution est ind´ependant de la couche transport et ne traite pas des interactions
avec celle ci. Par exemple, pour le protocole TCP, il va exister de mani`ere invisible plusieurs
chemins et l’effet sur le traitement des paquets (r´eordonnancement, d´elais de r´e´emission,
calcul du RTT) n’est pas clair. Cela est acceptable dans le cas de pannes franches, mais peut
poser probl`eme si on ´etendait cette solution `a l’optimisation des chemins (QoS, partage de
charge, ...).
Chapitre 5
SCTP
SCTP (Stream Control Transmission Protocol) a ´et´e initialement con¸cu pour
transpor-ter des messages de signalisation dans des r´eseaux de t´el´ecommunication. Les premi`eres
exigences demand´ees pour ce nouveau protocole ont ´et´e les suivantes :
– la transmission des donn´ees en messages,
– la possibilit´e d’assembler plusieurs messages dans un seul trame,
– la livraison de paquets en s´equence ou sans,
– la fiabilit´e de la transmission,
– plusieurs adresses IP pour une association
1,
– plusieurs flots de messages dans une association.
Avec le temps, SCTP est devenu un protocole d’utilisation g´en´erale du niveau transport,
comme TCP et UDP, et a ´et´e sp´ecifi´e dans RFC 2960 [8]. Les principales caract´eristiques
de SCTP sont maintenant les suivantes :
– initiation d’une association s´ecuris´ee - utilisation du m´ecanisme COOKIE pour la
protection contre les attaques de d´eni du service du type SYN-flood,
– fermeture d’une association s´ecuris´ee - la proc´edure ´evite des connexions semi-ouvertes,
– multi-acc`es - possibilit´e d’utiliser plusieurs adresses IPv4 ou/et IPv6 pendant une
association,
– multistreaming - pour la transmission de donn´ees, SCTP utilise des flots de messages ;
le protocole permet d’avoir plusieurs flots ind´ependants dans une association.
Les diff´erences de SCTP par rapport `a TCP sont les suivantes :
– code de d´etection d’erreursCRC sur 32 bits au lieu de 16 bits en TCP,
– flot de messages (appel´es portions ou chunks) au lieu d’un flot d’octets en TCP.
Chaque message de donn´ees porte un num´ero de s´equence - TSN (Transmission
1La notion d’association dans SCTP correspond `a la notion de connexion dans TCP, n´eanmoins la notion d’association est plus large, par exemple elle peut comprendre plusieurs adresses IP.
Sequence Number). TSN est un identificateur unique de message dans une association.
Le contrˆole de la congestion est effectu´e sur la base du TSN.
Les principales caract´eristiques sp´ecifiques au SCTP sont d´ecrites plus pr´ecis´ement dans
les sections suivantes.
5.1 Format de l’unit´e de protocole
La structure d’une unit´e de protocole SCTP (dans la suite nous allons utiliser la notion
de message SCTP) est modulaire. Il contient une en-tˆete de format commun pour tous
les types possibles. Il comprend aussi une ou plusieurs portions. Deux types de portions
existent : la portion de donn´ees et les portions de contrˆole. Il y a un seul type de portion pour
contenir des donn´ees. Pour transporter les diff´erents messages de contrˆole utilis´es pendant
de diff´erentes ´etapes d’une association, il y a plusieurs types de portions de contrˆole. La
sp´ecification initiale [8] d´efinit 14 types des portions de contrˆole, mais avec des extensions
[24] [25], il y en a actuellement 17. Le tableau 5.1 pr´esente tous les types de portions.
VALEUR NOM DESCRIPTION
0 DATA Les donn´ees d’utilisateur
1 INIT Initiation d’une association
2 INIT ACK Acquittement de la portion INIT
3 SACK Acquittement de la r´eception de
donn´ees
4 HEARTBEAT V´erification d’accessibilit´e
d’une adresse IP de l’autre
extr´emit´e
5 HEARTBEAT ACK Acquittement de la portion
HEARTBEAT
6 ABORT Fermeture imm´ediate
d’une association
7 SHUTDOWN D´ebut de la fermeture normale
d’une association
8 SHUTDOWN ACK Acquittement de la portion
SHUTDOWN
9 ERROR Notification d’une erreur
10 COOKIE ECHO Porte le COOKIE pendant
l’initialisation d’une association
11 COOKIE ACK Acquittement de la portion
Dans le document
Transports nouvelle génération dans les réseaux à très haut débit
(Page 33-38)