SCTP

Points communs avec TCP et UDP

SCTP posséde quelques caratéristiques communes avec ses ainés : TCP et UDP.

Fiabilité (TCP)

Comme TCP, SCTP est fiable, il possède un système d'acquittement similaire. Soit deux stations A et B communiquant, si A envoie un paquet vers B, alors celui-ci lui enverra un acquittement en retour lui indiquant qu'il a bien reçu le paquet.

Ordonnancement des données (TCP)

A cause de son orientation données, TCP doit pouvoir réordonnancer les paquets. En effet, si le paquet A envoyé avant le B arrive après ce dernier, alors les données seront inexploitables en l'état. Il faudra les remtteres dans l'ordre.

Bien que SCTP soit orienté message, comme TCP il est capable de réordonnancer les paquets. Mais, cette fonctionnatilité peut aussi être désactivée.

Gestion des congestions (TCP)

À l'instar de TCP, SCTP implémente des techniques pour gérer les congestions et pertes de paquets comme la méthode du slow start.

slowstart.jpg

Algorithme du slow start.

Tant qu'aucun paquet n'est perdu, TCP en enverra deux fois plus et attendra un seul acquittement, jusqu'à ce que le nombre de paquets envoyés en même temps atteigne le seuil sstresh (Slow Start Treshold) à partir duquel le nombre de paquets envoyés augmentera que d'une unité à la fois.

Mode association (TCP)

TCP utilise le mode connecté, c'est à dire qu'il lie entre elles deux adresses IP correspondant dans la plupart des cas à deux interfaces réseau.

SCTP, lui, utilise non pas le mode connecté, mais le mode associé. Il ne se limite pas à lier deux interfaces réseau entre elles, mais les machines dans leur ensemble. En effet, SCTP associe la liste de toutes adresses IP disponnibles sur une machine avec la liste de celles d'une autre machine.

On pourrait donc avoir l'association suivante entre la station A et le serveur B :

association.png

Orientation messages (UDP)

Le point commun principal que partage UDP et SCTP est qu'il sont tous les deux orientés messages/paquets. Chaque unité d'information est contenue dans un seul paquet, il n'y a pas de segmentation comme avec TCP qui est orienté données. Ainsi, la fin d'un paquet correspond à la fin d'une informations, il n'est alors plus nécessaire de définir de signalisation.