RFC 4960 - Stream Control Transmission Protocol (SCTP)
Veröffentlicht: September 2007
Status: Standards Track
Autor: R. Stewart (Ed.)
Ersetzt: RFC 2960, RFC 3309
Zusammenfassung (Abstract)
Dieses Dokument ersetzt RFC 2960 und RFC 3309. Es beschreibt das Stream Control Transmission Protocol (SCTP). SCTP wurde für den Transport von Signalisierungsnachrichten des öffentlichen Telefon networks (PSTN) über IP-Netze entwickelt, ist aber für breitere Anwendungen geeignet.
SCTP ist ein zuverlässiges Transportprotokoll, das über einem verbindungslosen Paketnetzwerk wie IP läuft. Es bietet seinen Benutzern die folgenden Dienste:
- Bestätigte fehlerfreie und nicht-duplizierte Übertragung von Benutzerdaten
- Datenfragmentierung zur Anpassung an die ermittelte Pfad-MTU-Größe
- Sequenzierte Zustellung von Benutzernachrichten innerhalb mehrerer Ströme mit einer Option für die Zustellung einzelner Benutzernachrichten nach Ankunftsreihenfolge
- Optionales Bündeln mehrerer Benutzernachrichten in ein einzelnes SCTP-Paket
- Fehlertoleranz auf Netzwerkebene durch Unterstützung von Multihoming an einem oder beiden Enden einer Assoziation
Das Design von SCTP beinhaltet angemessenes Stauungsvermeidungsverhalten und Widerstandsfähigkeit gegen Flooding- und Maskierungsangriffe.
Inhaltsverzeichnis (Contents)
-
- 1.1 Motivation (Motivation)
- 1.2 Architectural View of SCTP (Architektonische Sicht von SCTP)
- 1.3 Key Terms (Schlüsselbegriffe)
- 1.4 Abbreviations (Abkürzungen)
- 1.5 Functional View of SCTP (Funktionale Sicht von SCTP)
- 1.5.1 Association Startup and Takedown (Assoziationsstart und -beendigung)
- 1.5.2 Sequenced Delivery within Streams (Sequenzierte Zustellung innerhalb von Strömen)
- 1.5.3 User Data Fragmentation (Benutzerdatenfragmentierung)
- 1.5.4 Acknowledgement and Congestion Avoidance (Bestätigung und Stauungsvermeidung)
- 1.5.5 Chunk Bundling (Chunk-Bündelung)
- 1.5.6 Packet Validation (Paketvalidierung)
- 1.5.7 Path Management (Pfadverwaltung)
- 1.6 Serial Number Arithmetic (Seriennummernarithmetik)
- 1.7 Changes from RFC 2960 (Änderungen gegenüber RFC 2960)
-
3. SCTP Packet Format (SCTP-Paketformat)
- 3.1 SCTP Common Header Field Descriptions (SCTP-gemeinsame Header-Feldbeschreibungen)
- 3.2 Chunk Field Descriptions (Chunk-Feldbeschreibungen)
- 3.2.1 Optional/Variable-Length Parameter Format (Optionales/variabel langes Parameterformat)
- 3.2.2 Reporting of Unrecognized Parameters (Meldung nicht erkannter Parameter)
- 3.3 SCTP Chunk Definitions (SCTP-Chunk-Definitionen)
- 3.3.1 Payload Data (DATA) (Nutzdaten)
- 3.3.2 Initiation (INIT) (Initiierung)
- 3.3.3 Initiation Acknowledgement (INIT ACK) (Initiierungsbestätigung)
- 3.3.4 Selective Acknowledgement (SACK) (Selektive Bestätigung)
- 3.3.5 Heartbeat Request (HEARTBEAT) (Herzschlag-Anforderung)
- 3.3.6 Heartbeat Acknowledgement (HEARTBEAT ACK) (Herzschlag-Bestätigung)
- 3.3.7 Abort Association (ABORT) (Assoziationsabbruch)
- 3.3.8 Shutdown Association (SHUTDOWN) (Assoziationsherunterfahren)
- 3.3.9 Shutdown Acknowledgement (SHUTDOWN ACK) (Herunterfahren-Bestätigung)
- 3.3.10 Operation Error (ERROR) (Betriebsfehler)
- 3.3.11 Cookie Echo (COOKIE ECHO) (Cookie-Echo)
- 3.3.12 Cookie Acknowledgement (COOKIE ACK) (Cookie-Bestätigung)
- 3.3.13 Shutdown Complete (SHUTDOWN COMPLETE) (Herunterfahren abgeschlossen)
-
4. SCTP Association State Diagram (SCTP-Assoziationszustandsdiagramm)
-
5. Association Initialization (Assoziationsinitialisierung)
- 5.1 Normal Establishment of an Association (Normale Etablierung einer Assoziation)
- 5.2 Handle Duplicate or Unexpected INIT, INIT ACK, COOKIE ECHO (Behandlung doppelter oder unerwarteter INIT usw.)
- 5.3 Other Initialization Issues (Andere Initialisierungsprobleme)
- 5.4 Path Verification (Pfadverifizierung)
-
6. User Data Transfer (Benutzerdatenübertragung)
- 6.1 Transmission of DATA Chunks (Übertragung von DATA-Chunks)
- 6.2 Acknowledgement on Reception of DATA Chunks (Bestätigung beim Empfang von DATA-Chunks)
- 6.3 Management of Retransmission Timer (Verwaltung des Wiederübertragungszeitgebers)
- 6.4 Multi-Homed SCTP Endpoints (Multihomed SCTP-Endpunkte)
- 6.5 Stream Identifier and Stream Sequence Number (Stream-Identifikator und Stream-Sequenznummer)
- 6.6 Ordered and Unordered Delivery (Geordnete und ungeordnete Zustellung)
- 6.7 Report Gaps in Received DATA TSNs (Meldung von Lücken in empfangenen DATA-TSNs)
- 6.8 CRC32c Checksum Calculation (CRC32c-Prüfsummenberechnung)
- 6.9 Fragmentation and Reassembly (Fragmentierung und Wiederzusammenstellung)
- 6.10 Bundling (Bündelung)
-
7. Congestion Control (Stauungskontrolle)
- 7.1 SCTP Differences from TCP Congestion Control (SCTP-Unterschiede zur TCP-Stauungskontrolle)
- 7.2 SCTP Slow-Start and Congestion Avoidance (SCTP-Langsamer Start und Stauungsvermeidung)
- 7.3 Path MTU Discovery (Pfad-MTU-Erkennung)
-
8. Fault Management (Fehlerverwaltung)
- 8.1 Endpoint Failure Detection (Endpunkt-Fehlererkennung)
- 8.2 Path Failure Detection (Pfad-Fehlererkennung)
- 8.3 Path Heartbeat (Pfad-Herzschlag)
- 8.4 Handle "Out of the Blue" Packets (Behandlung „aus heiterem Himmel" kommender Pakete)
- 8.5 Verification Tag (Verifizierungs-Tag)
-
9. Termination of Association (Assoziationsbeendigung)
- 9.1 Abort of an Association (Abbruch einer Assoziation)
- 9.2 Shutdown of an Association (Herunterfahren einer Assoziation)
-
10. Interface with Upper Layer (Schnittstelle zur oberen Schicht)
- 10.1 ULP-to-SCTP (ULP zu SCTP)
- 10.2 SCTP-to-ULP (SCTP zu ULP)
-
11. Security Considerations (Sicherheitsüberlegungen)
- 11.1 Security Objectives (Sicherheitsziele)
- 11.2 SCTP Responses to Potential Threats (SCTP-Antworten auf potenzielle Bedrohungen)
- 11.3 SCTP Interactions with Firewalls (SCTP-Interaktionen mit Firewalls)
- 11.4 Protection of Non-SCTP-Capable Hosts (Schutz von Nicht-SCTP-fähigen Hosts)
-
12. Network Management Considerations (Netzwerkverwaltungsüberlegungen)
-
- 13.1 Parameters Necessary for the SCTP Instance (Für die SCTP-Instanz erforderliche Parameter)
- 13.2 Parameters Necessary per Association (Pro Assoziation erforderliche Parameter)
- 13.3 Per Transport Address Data (Daten pro Transportadresse)
- 13.4 General Parameters Needed (Erforderliche allgemeine Parameter)
-
14. IANA Considerations (IANA-Überlegungen)
- 14.1 IETF-defined Chunk Extension (IETF-definierte Chunk-Erweiterung)
- 14.2 IETF-Defined Chunk Parameter Extension (IETF-definierte Chunk-Parameter-Erweiterung)
- 14.3 IETF-Defined Additional Error Causes (IETF-definierte zusätzliche Fehlerursachen)
- 14.4 Payload Protocol Identifiers (Nutzdatenprotokoll-Identifikatoren)
- 14.5 Port Numbers Registry (Portnummern-Register)
-
15. Suggested SCTP Protocol Parameter Values (Vorgeschlagene SCTP-Protokollparameterwerte)
Anhänge (Appendices)
- Anhang A. Explizite Stauungsbenachrichtigung
- Anhang B. CRC32c-Prüfsummenberechnung
- Anhang C. ICMP-Behandlung
Referenzen (References)
Verwandte Ressourcen
- Offizieller Text: RFC 4960
- Offizielle Seite: RFC 4960 DataTracker
- Errata: RFC Editor Errata