6. ユーザーデータ転送
本章では、ユーザーデータの転送について述べる。
6.1. チャンク DATA の送信
チャンク DATA はストリームの順序と輻輳制御の制約に従って送信される。フラグ U/B/E は、それぞれ順序なしメッセージ、ユーザーメッセージの先頭、末尾を示す。
6.2. チャンク DATA 受信時の確認応答
受信時、累積 TSN を確認し、必要に応じ欠落を報告するため SACK が生成される。
6.3. 再送タイマーの管理
確認されていない各チャンク DATA に対して再送タイマー (RTO) が維持される。満了時はチャンクが再送され、RTO は倍増 (指数的バックオフ) される。
6.4. マルチホーム SCTP 端点
端点は複数のアドレスを持ち得る。トラフィックはプライマリパスを使用し、障害時に代替パスへ切り替わる。
6.5. ストリーム識別子とストリームシーケンス番号
各メッセージは Stream Identifier で識別されるストリームに属し、順序付き配送のために Stream Sequence Number を持つ。
6.6. 順序付き配送と非順序配送
順序付き配送は Stream Sequence Number によりストリームごとに保証される。フラグ U は当該メッセージの順序を無効にする。
6.7. 受信 DATA TSN の欠落報告
SACK の Gap Ack Blocks は、累積的に確認された TSN を超えて受信された TSN の範囲を記述する。
6.8. CRC32c チェックサムの計算
パケットのチェックサムは CRC32c を用い、checksum フィールド自身を除くパケット全体で計算される。
6.9. フラグメンテーションと再構築
パスの MTU を超えるユーザーメッセージは複数のチャンク DATA (B/E) にフラグメント化され、受信側で再構築される。
6.10. バンドル
複数のチャンクは、MTU および 4 オクテット整列の限界内で単一の SCTP パケットにバンドルでき得る。