Unterschied zwischen TCP- und SCTP-Protokollen

TCP vs. SCTP-Protokolle

Sowohl TCP (Transmission Control Protocol) als auch SCTP (Stream Control Transmission Protocol) liegen in der Transportschicht und bieten Transportfunktionen hauptsächlich in Internetanwendungen. TCP bietet eine zuverlässige Datenübertragung mit einer strengen Reihenfolge der Zustellung der Pakete, aber einige Anwendungen benötigen eine zuverlässige Übertragung, jedoch keine 100% ige Reihenfolge der Zustellung der Pakete. In diesen Fällen kann TCP die zweite Option unnötig verzögern, wenn Zuverlässigkeit wichtig ist, aber keine 100% ige sequentielle Bereitstellung.

Beim Transport von Paketen gibt es zwei wesentliche Einschränkungen, eine ist die Zuverlässigkeit und die andere die Latenz. Die Lieferung des Pakets garantiert Zuverlässigkeit, und das Paket wird pünktlich geliefert. Beide können nicht gleichzeitig erreicht werden, können aber optimiert werden.

SCTP wurde hauptsächlich entwickelt, um PSTN-Signale über IP-Netzwerke zu transportieren. (SIGTRAN). Heutzutage finden andere Anwendungen auch, dass SCTP ihren Anforderungen entspricht.

TCP:

Definiert in RFC 793

TCP ist ein verbindungsorientiertes Ende-zu-Ende-zuverlässiges Protokoll, um die garantierte Datenübertragung zu unterstützen. Vom Verbindungsaufbau an sich selbst stellt TCP die Zuverlässigkeit sicher. Einige der Hauptfunktionen von TCP sind 3-Wege-Handshake (SYN, SYN-ACK, ACK), Fehlererkennung, langsamer Start, Flusskontrolle, Stauungskontrolle.

TCP ist ein zuverlässiger Transportmechanismus und wird daher dort eingesetzt, wo die Paketzustellung selbst bei Überlastungen ein Muss ist. Ein typisches Beispiel für TCP-Anwendungen und Portnummern sind FTP-Daten (20), FTP-Steuerung (21), SSH (222), Telnet (23), Mail (25), DNS (53), HTTP (80), POP3 (110). SNMP (161) und HTTPS (443). Dies sind bekannte TCP-Anwendungen.

SCTP:

Definiert in RFC4960

SCTP (Stream Control Transmission Protocol) ist ein IP-Transportprotokoll wie TCP und UDP. SCTP ist ein Unicast-Protokoll und unterstützt die End-to-End-Datenlieferung an genau zwei Endpunkten. Endpunkte können jedoch mehr als eine IP-Adresse haben.

SCTP ist ein Vollduplex-Übertragungsprotokoll mit Funktionen wie Neuübertragung, Flusskontrolle und Sequenzwartung.

SCTP bietet zusätzlich zu TCP weitere Funktionen, von denen einige nachfolgend aufgeführt sind

  • SCTP-Multi-Streaming-Funktion

SCTP ermöglicht die Aufteilung der Daten in mehrere Streams, und jeder Stream verfügt über eine eigene Zustellreihenfolge. Betrachten Sie den Fall der Telefoniesignalisierung, ist es erforderlich, die Reihenfolge der Pakete, die sich auf dieselbe Sitzung oder Ressource auswirken, einzuhalten. (Bsp .: Gleicher Anruf oder gleiche Amtsleitung). Stream-basierte Sequenzverfolgung ist also ausreichend und führt zu einer besseren Leistung als ein vollständiges Streaming.

  • SCTP-Multi-Referenzierung

Diese Funktion unterstützt für einen einzelnen SCTP-Endpunkt mehrere IP-Adressen. Der Hauptgrund dafür ist die Aufrechterhaltung der Verfügbarkeit des Endpunkts über mehrere redundante Routingpfade.

  • Pfadauswahl

Ein Zähler wird gehalten, um die erfolglosen Übertragungsbestätigungen an ein bestimmtes Ziel zu verfolgen. Es ist ein Schwellenwert definiert, der die Zieladresse überschreitet, wird als inaktiv deklariert und SCTP beginnt mit dem Senden an eine alternative Adresse.

Zusammenfassung:

(1) Sowohl TCP als auch SCTP unterstützen zuverlässige Transportdienste.
(2) TCP unterstützt die Übertragung einzelner Datenströme, während SCTP mehrere Datenströme unterstützt.
(3) TCP unterstützt einen einzelnen TCP-Endpunkt mit einer IP-Adresse, wobei, wenn SCTP einen einzelnen SCTP-Endpunkt unterstützt, mehrere IP-Adressen für hauptsächlich Redundanzzwecke vorhanden sein können.
(4) Eher TCP, SCTP ist sicherer.
(5) SCTP-Initiierungs- und Herunterfahrprozesse unterscheiden sich von TCP.