6. Übertragung von Nutzerdaten
Dieses Kapitel beschreibt die Übertragung von Nutzerdaten.
6.1. Übertragung von DATA-Chunks
DATA-Chunks werden gemäß der Stream-Reihenfolge und den Staukontrollbeschränkungen übertragen. Die Flags U/B/E kennzeichnen jeweils eine ungeordnete Nachricht, den Beginn und das Ende einer Nutzernachricht.
6.2. Bestätigung beim Empfang von DATA-Chunks
Beim Empfang wird ein SACK generiert, um den kumulativen TSN zu bestätigen und etwaige Lücken zu melden.
6.3. Verwaltung des Retransmission-Timers
Für jeden unbestätigten DATA-Chunk wird ein Retransmission-Timer (RTO) verwaltet. Bei Ablauf wird der Chunk retransmitiert und das RTO verdoppelt (exponentielles Backoff).
6.4. Multi-Homing-SCTP-Endpunkte
Ein Endpunkt kann mehrere Adressen besitzen. Der Verkehr nutzt den primären Pfad und schaltet bei Ausfall auf einen alternativen Pfad um.
6.5. Stream-Kennung und Stream-Sequenznummer
Jede Nachricht gehört zu einem durch eine Stream-Kennung identifizierten Strom und trägt eine Stream-Sequenznummer für die geordnete Zustellung.
6.6. Geordnete und ungeordnete Zustellung
Die geordnete Zustellung wird pro Strom über die Stream-Sequenznummer sichergestellt. Das Flag U deaktiviert die Reihenfolge für eine einzelne Nachricht.
6.7. Meldung von Lücken in empfangenen DATA-TSNs
Die Gap-Ack-Blocks des SACK beschreiben die Bereiche der über den kumulativ bestätigten TSN hinaus empfangenen TSNs.
6.8. Berechnung der CRC32c-Prüfsumme
Die Paketprüfsumme verwendet CRC32c, berechnet über das gesamte Paket außer dem Checksum-Feld selbst.
6.9. Fragmentierung und Reassemblierung
Eine die Pfad-MTU überschreitende Nutzernachricht wird in mehrere DATA-Chunks (B/E) fragmentiert und beim Empfang reassembliert.
6.10. Bündeln
Mehrere Chunks können innerhalb der MTU- und 4-Oktet-Ausrichtungsgrenzen in einem einzelnen SCTP-Paket gebündelt werden.