• Aucun résultat trouvé

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