SCTP (Stream Control Transmission Protocol) funktioniert durch die Bereitstellung zuverlässiger, nachrichtenorientierter Transportdienste zwischen zwei Endpunkten in einem Netzwerk. So funktioniert SCTP:
SCTP erstellt und verwaltet Verbindungen zwischen Endpunkten, ähnlich wie TCP-Verbindungen. Es unterstützt sowohl Unicast- als auch Multicast-Kommunikation. SCTP segmentiert Daten in Nachrichten, jede mit einer eigenen Sequenznummer zur Nachverfolgung und Neuordnung auf der Empfängerseite. Dadurch kann SCTP Datenströme unabhängig verarbeiten und gleichzeitig eine zuverlässige Lieferung in der richtigen Reihenfolge gewährleisten. SCTP unterstützt auch Multi-Homing, bei dem jedem Endpunkt mehrere IP-Adressen zugeordnet werden können, was für Widerstandsfähigkeit gegenüber Netzwerkausfällen sorgt.
Der SCTP-Heartbeat-Mechanismus wird zur Überprüfung des Zustands und der Verfügbarkeit einer SCTP-Verbindung zwischen zwei Endpunkten verwendet. Heartbeats sind kleine Kontrollnachrichten, die regelmäßig zwischen SCTP-Endpunkten ausgetauscht werden, um zu bestätigen, dass die Verbindung noch aktiv ist. Wenn ein Endpunkt keine Heartbeats mehr vom anderen Endpunkt empfängt, kann er Wiederherstellungsverfahren einleiten, um die Verbindung wiederherzustellen oder den Fehler ordnungsgemäß zu behandeln.
SCTP kontrolliert die Überlastung mithilfe mehrerer Mechanismen, die denen von TCP ähneln. Es umfasst Algorithmen zur Überlastungskontrolle wie langsamer Start, Überlastungsvermeidung, schnelle Neuübertragung und schnelle Wiederherstellung. SCTP passt seine Übertragungsrate an die Netzwerkbedingungen und Rückmeldungen vom empfangenden Endpunkt an und zielt darauf ab, eine effiziente Datenübertragung aufrechtzuerhalten, ohne dass es zu Netzwerküberlastungen oder Paketverlusten kommt.
Bei der Prozess-zu-Prozess-Kommunikation in SCTP erfolgt die direkte Kommunikation von Anwendungen über SCTP-Sockets. SCTP ermöglicht mehrere Datenströme innerhalb einer einzigen Verbindung, wodurch Anwendungen unabhängig und effizient Nachrichten senden und empfangen können. Jede Nachricht wird zuverlässig und der Reihe nach zugestellt, wodurch sichergestellt wird, dass die empfangende Anwendung die Daten genau so erhält, wie sie von der sendenden Anwendung gesendet wurden.
SCTP verwendet weder TCP noch UDP ausschließlich. Stattdessen ist SCTP ein separates Transportschichtprotokoll, das sowohl Funktionen von TCP (Zuverlässigkeit, Überlastungskontrolle) als auch von UDP (nachrichtenorientiert, Unterstützung für Multi-Streaming) bietet. Es arbeitet unabhängig und wird durch seine eigene Protokollnummer (132) in der IP-Protokollsuite identifiziert. SCTP wurde entwickelt, um eine verbesserte Zuverlässigkeit, Leistung und Flexibilität für Anwendungen zu bieten, die robuste Datenübertragungs- und Überlastungskontrollmechanismen erfordern.