RFC 4960 - Stream Control Transmission Protocol (SCTP)
- Status : Proposed Standard
- Veröffentlicht : September 2007
- Stream : IETF
- Obsoletisiert : RFC 2960, RFC 3309
- Obsoletisiert durch : RFC 9260
- Errata : Keine Errata
Zusammenfassung
Dieses Dokument obsoletisiert die RFC 2960 und RFC 3309. Es beschreibt das Stream Control Transmission Protocol (SCTP). SCTP wurde ursprünglich entwickelt, um Signalisierungsnachrichten des öffentlichen leitungsvermittelten Telefonnetzes (PSTN) über IP-Netze zu übertragen, ist jedoch für breitere Anwendungen geeignet.
SCTP ist ein zuverlässiges Transportprotokoll, das über einem verbindungslosen Paketnetz wie IP betrieben wird. Es bietet folgende Dienste:
- Bestätigter, fehlerfreier und duplikatfreier Transport von Nutzerdaten
- Fragmentierung von Nutzerdaten zur Einhaltung der ermittelten Pfad-MTU
- Geordnete Zustellung von Nutzernachrichten innerhalb mehrerer Ströme sowie Option der Zustellung in Ankunftsreihenfolge für einzelne Nutzernachrichten
- Optionales Bündeln mehrerer Nutzernachrichten in einem einzelnen SCTP-Paket
- Netzwerkebene-Fehlertoleranz durch Multi-Homing an beiden Endpunkten oder einem Endpunkt einer Assoziation
Das SCTP-Design umfasst ein angemessenes Staukontrollverhalten sowie Widerstandsfähigkeit gegen Überflutungs- (Flooding-) und Maskerade-Angriffe.
Inhaltsverzeichnis
-
- 1.1 Motivation
- 1.2 Architekturüberblick des SCTP
- 1.3 Schlüsselbegriffe
- 1.4 Abkürzungen
- 1.5 Funktionale Übersicht des SCTP
- 1.5.1 Start und Beendigung der Assoziation
- 1.5.2 Geordnete Zustellung innerhalb von Strömen
- 1.5.3 Fragmentierung von Nutzerdaten
- 1.5.4 Bestätigung und Staukontrolle
- 1.5.5 Bündeln von Chunks
- 1.5.6 Paketvalidierung
- 1.5.7 Pfadverwaltung
- 1.6 Sequenznummern-Arithmetik
- 1.7 Änderungen gegenüber RFC 2960
-
- 3.1 Beschreibung der Felder des gemeinsamen SCTP-Headers
- 3.2 Beschreibung der Chunk-Felder
- 3.2.1 Format optionaler/variabler Parameter
- 3.2.2 Meldung nicht erkannter Parameter
- 3.3 SCTP-Chunk-Definitionen
- 3.3.1 Payload Data (DATA)
- 3.3.2 Initiation (INIT)
- 3.3.3 Initiation-Bestätigung (INIT ACK)
- 3.3.4 Selektive Bestätigung (SACK)
- 3.3.5 Heartbeat-Anforderung (HEARTBEAT)
- 3.3.6 Heartbeat-Bestätigung (HEARTBEAT ACK)
- 3.3.7 Abbruch der Assoziation (ABORT)
- 3.3.8 Beendigung (SHUTDOWN)
- 3.3.9 Beendigungs-Bestätigung (SHUTDOWN ACK)
- 3.3.10 Betriebsfehler (ERROR)
- 3.3.11 Cookie-Echo (COOKIE ECHO)
- 3.3.12 Cookie-Bestätigung (COOKIE ACK)
- 3.3.13 Beendigungsabschluss (SHUTDOWN COMPLETE)
-
5. Initialisierung der Assoziation
- 5.1 Normale Herstellung einer Assoziation
- 5.2 Behandlung doppelter oder unerwarteter INIT/INIT ACK/COOKIE ECHO
- 5.3 Weitere Initialisierungsprobleme
- 5.4 Pfadüberprüfung
-
6. Übertragung von Nutzerdaten
- 6.1 Übertragung von DATA-Chunks
- 6.2 Bestätigung beim Empfang von DATA-Chunks
- 6.3 Verwaltung des Retransmission-Timers
- 6.4 Multi-Homing-SCTP-Endpunkte
- 6.5 Stream-Kennung und Stream-Sequenznummer
- 6.6 Geordnete und ungeordnete Zustellung
- 6.7 Meldung von Lücken in empfangenen DATA-TSNs
- 6.8 Berechnung der CRC32c-Prüfsumme
- 6.9 Fragmentierung und Reassemblierung
- 6.10 Bündeln
-
- 7.1 Unterschiede zur TCP-Staukontrolle
- 7.2 Slow Start und Stauvermeidung des SCTP
- 7.3 Ermittlung der Pfad-MTU
-
- 8.1 Erkennung von Endpunktfehlern
- 8.2 Erkennung von Pfadfehlern
- 8.3 Pfad-Heartbeat
- 8.4 Behandlung von „Out of the Blue“-Paketen
- 8.5 Verifikations-Tag
-
- 9.1 Abbruch einer Assoziation
- 9.2 Beendigung einer Assoziation
-
10. Schnittstelle zur oberen Schicht
- 10.1 ULP zu SCTP
- 10.2 SCTP zu ULP
-
- 11.1 Sicherheitsziele
- 11.2 SCTP-Reaktionen auf potenzielle Bedrohungen
- 11.3 Interaktion des SCTP mit Firewalls
- 11.4 Schutz nicht-SCTP-fähiger Hosts
-
- 13.1 Für die SCTP-Instanz benötigte Parameter
- 13.2 Pro Assoziation benötigte Parameter
- 13.3 Daten pro Transportadresse
- 13.4 Weitere benötigte allgemeine Parameter
-
- 14.1 Registrierung von IETF-Chunk-Typen
- 14.2 IETF-definierte Chunk-Parameter-Erweiterung
- 14.3 Weitere IETF-definierte Fehlerursachen
- 14.4 Payload-Protokoll-Kennungen
- 14.5 Portnummern-Register
Anhänge
- Anhang A. Explicit Congestion Notification (ECN)
- Anhang B. Berechnung der CRC32c-Prüfsumme
- Anhang C. ICMP-Verwaltung
Referenzen
Zugehörige Ressourcen
- Offizieller Text : RFC 4960
- Offizielle Seite : RFC 4960 DataTracker
- Errata : RFC Editor Errata