3. SCTP パケットフォーマット
本章では、共通ヘッダとチャンクを含む SCTP パケットのフォーマットを述べる。
3.1. SCTP 共通ヘッダフィールドの説明
SCTP パケットは、12 オクテットの共通ヘッダと、それに続く 1 つ以上のチャンクからなる。共通ヘッダは次のフィールドを含む。
| フィールド | サイズ | 説明 |
|---|---|---|
| Source Port Number | 16 ビット | 送信元ポート番号 |
| Destination Port Number | 16 ビット | 宛先ポート番号 |
| Verification Tag | 32 ビット | アソシエーションの検証タグ |
| Checksum | 32 ビット | CRC32c チェックサム |
送信元ポートと宛先ポートはアソシエーションの端点を識別する。検証タグはパケットが確立されたアソシエーションに属することを保証する。チェックサムは伝送エラーを検出する。
3.2. チャンクフィールドの説明
各チャンクは、タイプ識別子の 1 オクテット、フラグの 1 オクテット、長さの 16 ビット (チャンクヘッダを含みパディングを除くチャンク長)、およびタイプに応じたパラメータまたはデータで始まる。
3.2.1. オプション/可変長パラメータのフォーマット
オプションまたは可変長パラメータは TLV (Type-Length-Value) フォーマットに従う。16 ビットのタイプ、16 ビットの長さ、および値。必要に応じてチャンクを 4 オクテット境界に整列させるためパディングが追加される。
3.2.2. 認識されないパラメータの報告
認識されないパラメータに遭遇した場合、動作はパラメータの「U」(Report Type) ビットに依存する。無視 (skip)、停止 (stop)、またはケースに応じて ERROR チャンクで報告される。
3.3. SCTP チャンク定義
IETF 定義のチャンクタイプには、DATA、INIT、INIT ACK、SACK、HEARTBEAT、HEARTBEAT ACK、ABORT、SHUTDOWN、SHUTDOWN ACK、ERROR、COOKIE ECHO、COOKIE ACK、ECNE、CWR、SHUTDOWN COMPLETE が含まれる。各タイプのフォーマットと意味論は以降の節で詳述する。