SCTP (Stream Control Transmission Protocol)
SCTP (Stream Control Transmission Protocol) ist ein Protokoll für die gleichzeitige Übertragung mehrerer Datenstreams. Dies geschieht zwischen zwei Endpunkten, die in einem Netzwerk miteinander verbunden sind. SCTP wird manchmal auch als Next Generation TCP (Transmission Control Protocol) oder TCPng bezeichnet. SCTP ist so designend, dass sich damit eine Telefonverbindung über das Internet einfacher unterstützen lässt. Im Speziellen wurde dabei an die Unterstützung für SS7 (Signaling System 7) der Telefonsysteme über eine Internet-Verbindung gedacht. Eine Telefonverbindung benötigt diese Signalinformationen, weil sie die Verbindung kontrollieren. Sie werden zusammen mit Sprache und andere Daten geschickt. SCTP ist auch angedacht, die Verbindungen über ein drahtloses Netzwerk einfacher managen zu können. Ebenso wurde die Verwaltung von Multimediadaten im Hinterkopf behalten. SCTP ist ein Standardprotokoll (RFC 2960) und wurde von der IETF (Internet Engineering Task Force) entwickelt.
Genau wie TCP steht SCTP für zuverlässige Übertragung. Es wird also garantiert, dass die über das Netzwerk und das im Grunde genommene verbindungslose Internet-Protokoll (IP) geschickten Dateneinheiten auch wirklich angekommen sind. IP ist das Protokoll, das für den Transport der Daten zuständig ist, sich aber nicht darum kümmert, ob diese auch wirklich ankommen. Im Gegensatz zu TCP stellt SCTP die komplette momentane Übertragung von mehreren Datenströmen (in Einheiten, die Messages genannt werden) zwischen den verbundenen Endgeräten sicher. SCTP unterstützt außerdem Multihoming. Ein verbundenes Endgerät kann so eine andere IP-Adresse zugewiesen haben, um Netzwerkfehler zu umgehen. Außerdem werden damit sich ändernde Bedingungen adressiert.
TCP überträgt Daten in einem einzigen Strom, der manchmal auch als Bytestream bezeichnet wird. Damit stellt das System sicher, dass die Daten in der richtigen Reihenfolge an die Anwendung oder den Nutzer am Endpunkt übertragen werden. Sollten Datenverluste auftreten oder es einen Fehler in der Sequenz geben, dann muss die Zustellung solange verzögert werden, bis die verlorenen Daten neu übertragen wurden oder eine Out-of-Sequence-Nachricht empfangen wird. Das Multistreaming von SCTP erlaubt eine Auslieferung der Daten in mehreren, voneinander unabhängigen Streams. Sollte es in einem Datenstrom zu einem Fehler kommen, sind die anderen Streams davon nicht betroffen. Für einige Übertragungen ist die Einhaltung der Sequenz essenziell. Das gilt zum Beispiel für Dateien oder eine Aufzeichnung. Bei anderen Anwendungen ist die Einhaltung der Datensequenz nicht unbedingt zwingend erforderlich. Bei Signalübertragungen ist die Einhaltung der Sequenz nur bei solchen Messages notwendig, die die gleiche Ressource wie den gleichen Kanal oder den gleichen Anruf betreffen. Wenn ein Datenstrom einen Fehler hat, lassen sich bei Multistreaming die anderen fehlerfreien Streams weiterhin senden. So wird die gesamte Übertragung nicht verzögert.