1. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
SCTP
Stream Control Transmission Protocol
Jonathan Schoreels
Universit´e de Mons
16 Novembre 2012
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 1 / 34
2. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Table des mati`eres
1 Introduction
Situation actuelle
TCP
UDP
2 Objectif
3 Mod`ele d’association
Base du mod`ele
Diff´erences avec TCP
4 Fonctionnalit´es
Multi-Homing
Multi-Streaming
Options de livraison
5 Structure
Message
6 Comportement
Initiation
SCTP Data Transfer
SCTP Shutdown
7 Futur
D´eploiement
Pistes `a d´evelopper
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 2 / 34
3. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Le r`egne
Depuis 30 ans, deux protocoles se sont partag´es le r`egne de la
couche transport : TCP et UDP.
La couche application s’est bas´ee principalement sur ces deux
protocoles pour communiquer et TCP fourni un transport fiable
de messages entre applications, l`a o`u UDP garde le paradigme
du best-effort intact.
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 3 / 34
4. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Le r`egne
Depuis 30 ans, deux protocoles se sont partag´es le r`egne de la
couche transport : TCP et UDP.
La couche application s’est bas´ee principalement sur ces deux
protocoles pour communiquer et TCP fourni un transport fiable
de messages entre applications, l`a o`u UDP garde le paradigme
du best-effort intact.
Mais en 30 ans, les choses ont-elles chang´ees ? Les besoins de la
couche application ont-ils ´evolu´es ?
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 3 / 34
5. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Les limites de TCP
Origine de TCP
TCP a gard´e le comportement que Jon Postel avait d´efini dans le
RFC793. RFC datant maintenant de 1981, il ne prend pas en compte
les besoins sp´ecifiques de nouvelles applications comme le VoIP.
Exemples :
Contrainte d’ordre. Certaines applications peuvent pr´ef´erer une
approche ”Ordre d’arriv´ee”.
Contrainte sur la connexion TCP qui ne pourra utiliser qu’une
seule adresse IP destination : Non gestion du multi-homing.
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 4 / 34
6. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Pourquoi ne pas utiliser UDP ?
UDP est sans doute le protocole de la couche transport respectant le
mieux les id´ees du streaming. H´elas, dans le cadre du VoIP, nous ne
pouvons laisser un protocole orient´e best-effort. En effet, UDP
n’ayant pas de contrˆole de congestion, l’utiliser reviendrait `a
d´et´eriorer les conditions de travail d’autres protocoles comme TCP
(en saturant les liens). De plus, il est primordial que l’´emission et la
r´eception de messages soient fiables, ce qui requiert un processus de
r´ecup´erations de paquets perdus.
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 5 / 34
7. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Table des mati`eres
1 Introduction
Situation actuelle
TCP
UDP
2 Objectif
3 Mod`ele d’association
Base du mod`ele
Diff´erences avec TCP
4 Fonctionnalit´es
Multi-Homing
Multi-Streaming
Options de livraison
5 Structure
Message
6 Comportement
Initiation
SCTP Data Transfer
SCTP Shutdown
7 Futur
D´eploiement
Pistes `a d´evelopper
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 6 / 34
8. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
SCTP
Objectif
Fournir un protocole de couche transport comprenant `a la fois la
fiabilit´e de TCP, mais ´egalement l’ajout de concepts et de
fonctionnalit´es profitant aux nouvelles applications, comme le VoIP.
D´efinition compl`ete
SCTP a ´et´e approuv´e en Octobre 2000 dans le RFC 2960. Celui-ci a
´et´e r´evis´e et mis `a jours dans le RFC 4960 datant cette fois ci de
Septembre 2007.
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 7 / 34
9. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Table des mati`eres
1 Introduction
Situation actuelle
TCP
UDP
2 Objectif
3 Mod`ele d’association
Base du mod`ele
Diff´erences avec TCP
4 Fonctionnalit´es
Multi-Homing
Multi-Streaming
Options de livraison
5 Structure
Message
6 Comportement
Initiation
SCTP Data Transfer
SCTP Shutdown
7 Futur
D´eploiement
Pistes `a d´evelopper
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 8 / 34
10. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
SCTP : Un mod`ele ”orient´e-association”
Id´ee de base
Tout comme TCP, SCTP est ”orient´e-connexion”. N´eanmoins, pour
se d´ebarrasser de la connotation qu’une connexion est entre une seule
source et destination, SCTP emploie le terme d’association pour
d´esigner l’´etat des deux pairs qui s’´echangent des messages.
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 9 / 34
11. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
SCTP : Un mod`ele ”orient´e-association”
Attention : Diff´erence entre connexion et association
L`a o`u une connexion (dans le sens donn´e par TCP) d´esigne un lien
entre une adresse IP source (avec le port associ´e) et une adresse IP
destination (avec le port associ´e), une association est d´efinie par un
ensemble d’adresses IP sources (avec un port associ´e pour toutes
celles-ci) et un ensemble d’adresses IP destinations (toujours avec un
port associ´e pour toutes celles-ci)
Il est important de comprendre qu’`a chaque envoi de messages,
n’importe quelle adresse source ou destination peut-ˆetre utilis´ee.
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 10 / 34
12. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Table des mati`eres
1 Introduction
Situation actuelle
TCP
UDP
2 Objectif
3 Mod`ele d’association
Base du mod`ele
Diff´erences avec TCP
4 Fonctionnalit´es
Multi-Homing
Multi-Streaming
Options de livraison
5 Structure
Message
6 Comportement
Initiation
SCTP Data Transfer
SCTP Shutdown
7 Futur
D´eploiement
Pistes `a d´evelopper
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 11 / 34
13. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Multi-Homing
Concept
Fournir `a une connexion la possibilit´e de passer via plusieurs
interfaces identifi´ees par des IPs diff´erentes.
Avantages :
R´esistance de l’association aux pannes ´eventuelles (SCTP fournit
un syst`eme de ”battement de cœur” int´egr´e).
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 12 / 34
14. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Multi-Homing
Concept
Fournir `a une connexion la possibilit´e de passer via plusieurs
interfaces identifi´ees par des IPs diff´erentes.
Avantages :
R´esistance de l’association aux pannes ´eventuelles (SCTP fournit
un syst`eme de ”battement de cœur” int´egr´e).
Lorsqu’un client souscrit `a deux FAIs, il n’est plus n´ecessaire
d’indiquer au deuxi`eme FAI le set d’adresses obtenue par le
premier (ce qui implique un rajout d’adresses agr´egeables), il
suffit simplement que le client indique ses multiples adresses
dans l’association.
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 12 / 34
15. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Multi-Homing
Concept
Fournir `a une connexion la possibilit´e de passer via plusieurs
interfaces identifi´ees par des IPs diff´erentes.
Avantages :
R´esistance de l’association aux pannes ´eventuelles (SCTP fournit
un syst`eme de ”battement de cœur” int´egr´e).
Lorsqu’un client souscrit `a deux FAIs, r´eduction des annonces
d’adresses agr´egeables.
Encouragement `a diversifier la topologie du r´eseaux pour fournir
plus d’alternatives de routes.
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 12 / 34
16. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
TCP connexion - SCTP association
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 13 / 34
17. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Cas plus personnel et concret ..
Imaginons la situation suivante : Vous ˆetes en salle informatique avec
votre portable reli´e `a l’ethernet, mais aussi tr`es certainement au
r´eseau student de votre universit´e. Pas de chance, votre cˆable n’a
plus sa cale en plastique, et le r´eseau sans fil de votre universit´e est
loin d’ˆetre paradisiaque ...
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 14 / 34
18. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Multi-Streaming
Chaque stream est identifi´e par en entier
Le blocage d’un stream n’affecte pas les autres
Parall´elisme des requˆetes
´Economies de ports par rapport `a plusieurs connexions TCP.
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 15 / 34
19. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Remarque pr´eliminaire
Diff´erence entre livraison fiable et ordonn´ee
Il est important de comprendre que les deux concepts que sont la
fiabilit´e de livraison et la livraison ordonn´ee des paquets sont li´ees est
un concept impos´e par TCP. SCTP fournit une liaison fiable, l’ordre
´etant param´etrable.
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 16 / 34
20. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Diff´erents ordres possibles
SCTP fournit les ordres de livraisons suivants :
Ordre de transmission strict (Comportement similaire `a TCP)
Ordre de transmission partiel (L’ordre n’est respect´e que pour un
mˆeme stream)
Ordre de r´eception pur (Comportement similaire `a UDP)
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 17 / 34
21. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Table des mati`eres
1 Introduction
Situation actuelle
TCP
UDP
2 Objectif
3 Mod`ele d’association
Base du mod`ele
Diff´erences avec TCP
4 Fonctionnalit´es
Multi-Homing
Multi-Streaming
Options de livraison
5 Structure
Message
6 Comportement
Initiation
SCTP Data Transfer
SCTP Shutdown
7 Futur
D´eploiement
Pistes `a d´evelopper
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 18 / 34
22. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Message SCTP
Remarque importante
L`a o`u dans TCP chaque paquet transmis est une suite de bits non
structur´ee, les messages transmis par SCTP sont des conteneurs de
chunks, que l’on pourrait assimiler `a un paquet TCP. A noter
n´eanmoins que ce chunks dispose d’un champ Protocol ID, que
SCTP n’utilise pas lui mˆeme mais qui permet `a l’application de
marquer diff´erents types de paquets pour sa gestion interne.
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 19 / 34
23. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Structure d’un message SCTP
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 20 / 34
24. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Table des mati`eres
1 Introduction
Situation actuelle
TCP
UDP
2 Objectif
3 Mod`ele d’association
Base du mod`ele
Diff´erences avec TCP
4 Fonctionnalit´es
Multi-Homing
Multi-Streaming
Options de livraison
5 Structure
Message
6 Comportement
Initiation
SCTP Data Transfer
SCTP Shutdown
7 Futur
D´eploiement
Pistes `a d´evelopper
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 21 / 34
26. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
SCTP Init
Plus de soucis d’attaques SYN-Flood :
INIT : A envoie `a Z une demande d’initiation d’association
INIT-ACK : Z signale qu’il a bien re¸cu la demande, et envoie un
cookie `a A sans allouer d’espace pour la future connexion
COOKIE-ECHO : A renvoie le cookie en confirmant que de son
cot´e l’association est prˆete.
COOKIE-ACK, Z alloue les ressources n´ecessaires `a l’association
et confirme le d´ebut de l’association `a A.
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 23 / 34
27. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
SCTP Data Transfer
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 24 / 34
28. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
SCTP Data Transfer
Quelques d´etails :
Plusieurs SACK peuvent ˆetre regroup´es dans un seul message
On peut coupler des chunks de type DATA et SACK.
Pr´eservation des fronti`eres des messages : Contrairement `a TCP
qui requiert qu’une application reconstitue apr`es les read le
message qui est susceptible d’avoir ´et´e d´ecoup´e en plusieurs
paquets ou diff´erents write qui auraient ´et´e agr´eg´es, SCTP
garantit que le r´esultat d’un read du receveur du message soit
´egal `a ce que l’´emetteur a plac´e dans son write. Comportement
similaire `a ce que fournit UDP.
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 25 / 34
30. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
SCTP Shutdown
Contrairement `a TCP, SCTP n’accepte pas de connexions `a moiti´e
ferm´ee.
Aussitˆot que le premier shutdown est envoy´e, SCTP n’accepte
plus aucune donn´ee de la couche application mais continue `a
envoyer les messages encore en file de transmission
L’hˆote A renvoie un deuxi`eme shutdown pour notifier
l’application Z qu’il a bien re¸cu les donn´ees et qu’il r´e-affirme la
fermeture de la connexion.
La fermeture se clˆoture par un ACK du serveur suivi d’un
complete du client.
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 27 / 34
31. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Table des mati`eres
1 Introduction
Situation actuelle
TCP
UDP
2 Objectif
3 Mod`ele d’association
Base du mod`ele
Diff´erences avec TCP
4 Fonctionnalit´es
Multi-Homing
Multi-Streaming
Options de livraison
5 Structure
Message
6 Comportement
Initiation
SCTP Data Transfer
SCTP Shutdown
7 Futur
D´eploiement
Pistes `a d´evelopper
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 28 / 34
32. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
D´eploiement
SCTP connait un succ`es grandissant :
Plus de 19 compagnies, dont Ericsson, Motorola, IBM, Cisco et
Nokia ont particip´e `a son ´elaboration en 2001.
Plusieurs OS l’impl´ementent d´ej`a. Linux (Depuis le noyau 2.6),
Solaris, Free BSD, Windows (via des drivers third party).
Etudi´es par plusieurs universit´es comme Temple University,
University of Delaware.
IETF continue `a ´evaluer si l’utilisation de SCTP am´eliorerait la
navigation sur le net grˆace au multi-streaming.
Fait l’objet `a l’instant d’une pr´esentation `a l’UMONS.
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 29 / 34
33. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Retour au VoIP
SS7 (Syst`eme de signalisation 7)
Ensemble des protocoles de signalisation t´el´ephonique.
Sigtrans encapsule les messages du protocole SS7 via le r´eseaux IP,
en encapsulant ceux-ci dans des messages SCTP, entre les diverses
passerelles SS7/IP existantes. Cela permet de garder le r´eseau SS7
actuel tout en lui donnant les hautes-capacit´es que le r´eseau IP fourni
(Les liens SS7 ne fournissent que des bandes passantes de 56 ou 64
Kbps).
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 30 / 34
34. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Pistes `a d´evelopper
Corruption des paquets encore possible (Checksum Adler-32)
Rajout et suppression `a la vol´ee d’adresses d´efinissant une
association. (Pour permettre le rajout d’interfaces sans
interrompre l’association SCTP)
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 31 / 34
35. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
N´eanmoins ...
Mˆeme si il reste du travail pour assurer que SCTP soit assez flexible
et fournisse les fonctionnalit´es requises par les applications du futur,
n’oublions pas qu’il fournit d´ej`a plus que ce TCP et UDP peuvent
offrir `a l’heure actuel.
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 32 / 34
36. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
R´ef´erences
SCTP - New Transport Protocol for TCP/IP (Randall Stewart
and Chris Metz from Cisco Systems - DECEMBER 2001)
Better networking with SCTP - IBM (Tim Jones, Consultant
Engineer from Emulex - FEBRUARY 2006)
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 33 / 34
37. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur
Merci pour votre attention ! :-)
Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 34 / 34