Protocoles TCP vs SCTP
TCP (protocole de contrôle de transmission) et SCTP (Stream Control Transmission Protocol) se trouvent dans la couche de transport et fournissent des fonctions de transport principalement dans les applications Internet. TCP fournit un transfert de données fiable avec une commande stricte de livraison des paquets, mais certaines applications ont besoin d'un transfert fiable, mais pas d'une séquence à 100% de livraison de paquets. Dans ces cas, TCP peut entraîner un retard inutile dans la deuxième option où la fiabilité est importante mais pas une livraison à 100% séquentielle.
Dans le transport de paquets, il y a deux contraintes majeures, l'une est la fiabilité et l'autre est la latence. La fiabilité est garantie la livraison du paquet et la latence est opportun de fournir le paquet. Les deux ne peuvent pas être atteints pour culminer en même temps mais pourraient être optimisés.
SCTP est développé essentiellement pour transporter la signalisation PSTN sur les réseaux IP. (Sigtran). Mais ces jours-ci, d'autres applications constatent également que le SCTP est une bonne correspondance pour leurs exigences.
TCP:
Défini dans RFC 793
TCP est orienté vers la connexion de bout en bout du protocole fiable pour prendre en charge la transmission de données garantie. De l'établissement de connexion lui-même TCP assure la fiabilité. Certaines des principales caractéristiques du TCP sont une poignée de main à 3 voies (syn, Syn-ACK, ACK), la détection d'erreurs, le démarrage lent, le contrôle du flux, le contrôle de la congestion.
TCP est un mécanisme de transport fiable, il sera donc utilisé lorsque la livraison des paquets est indispensable en congestion. Exemple typique pour les applications TCP et les numéros de port sont les données FTP (20), FTP Control (21), SSH (222), Telnet (23), Mail (25), DNS (53), HTTP (80), POP3 (110) , SNMP (161) et HTTPS (443). Ce sont des applications TCP bien connues.
SCTP:
Défini dans RFC4960
SCTP (Stream Control Transmission Protocol) est un protocole de transport IP tel que TCP et UDP. SCTP est un protocole unicast et pris en charge la livraison de données de bout en bout dans les deux points de terminaison. Mais les points d'extrémité peuvent avoir plus d'une adresse IP.
SCTP est un protocole de transmission complet du duplex avec des fonctionnalités telles que la retransmission, le contrôle du débit et la maintenance des séquences.
En plus de TCP, SCTP a plus de fonctionnalités et certaines sont répertoriées ci-dessous
SCTP permet de diviser les données en plusieurs flux et chaque flux a sa propre séquence de livraison. Considérez le cas de la signalisation de la téléphonie, il est nécessaire de maintenir la séquence de paquets qui affectent la même session ou la même ressource. (Ex: même appel ou même tronc). Le suivi des séquences basé sur le flux est donc suffisamment suffisant et entraînera de meilleures performances qu'un streaming complet.
Cette fonctionnalité prend en charge le point de terminaison SCTP unique pour avoir plusieurs adresses IP. La raison principale en est de maintenir la disponibilité du point final via plusieurs chemins de routage redondants.
Un compteur est maintenu pour garder une trace des remerciements de transmission infructueuse à une destination particulière. Il y a un seuil défini et si cela dépasse l'adresse de destination est déclarée inactive et SCTP commence à envoyer à une adresse alternative.
Résumé:
(1) TCP et SCTP prennent en charge les services de transport fiables.
(2) TCP prend en charge un flux unique de livraison de données où SCTP prend en charge plusieurs flux de livraison de données.
(3) TCP prend en charge un point de terminaison TCP unique pour avoir une adresse IP où SCTP prend en charge un point de terminaison SCTP unique peut avoir plusieurs adresses IP à des fins de redondance principalement.
(4) Plutôt TCP, SCTP est plus sécurisé.
(5) Les processus d'initiation et d'arrêt SCTP sont différents de TCP.