SCTP csomagok
Az SCTP protokoll adategységeit (PDU-k) SCTP csomagoknak nevezzük. Ha az SCTP protokoll IP fölött fut (az RFC2960-ban leírtak szerint), akkor egy SCTP csomag egy IP csomag hasznos adattartalmát képezi. Az SCTP csomagok egy közös fejlécből, valamint adatblokkokból (chunk) állnak. Több adatblokk legfeljebb a Path-MTU méretig egyetlen csomagba multiplexálható. Egy adatblokk vezérlési információkat és felhasználói adatokat is tartalmazhat.
attachment:pdu60.png
Több adatblokkot tartalmazó SCTP adategység
A közös fejléc
A közös fejléc 12 bájtot tartalmaz. Az SCTP a társítás azonosításához a TCP és UDP protokollokkal megegyező porthasználatot alkalmazza. Az átviteli hibák észlelése érdekében minden SCTP csomag egy 32-bites ellenőrzőösszeggel van védve (Adler-32 algoritmus), amely robusztusabb, mint a TCP és UDP 16-bites ellenőrzőösszege. Az érvénytelen ellenőrzőösszeggel rendelkező SCTP csomagokat a rendszer csendben figyelmen kívül hagyja. A közös fejléc egy ellenőrző címke (verification tag) nevű 32-bites értéket is tartalmaz. Az ellenőrző címke társításspecifikus, és a társítás kezdetekor megtörténik a végpontok közötti cseréje. Egy társítás tehát két címkeértéket használ. A címkékkel kapcsolatos részletes információk az SCTP állapotok részben találhatók.
Adatblokkok
Minden adatblokk egy adatblokk-típus mezővel kezdődik, amely a különböző adatblokk-típusokat különbözteti meg. Ezt követi egy adatblokk-specifikus flag, majd egy adatblokk-hossz mező, amelyre a különböző hosszúságú adatblokkok miatt van szükség. Az érték mező tartalmazza az adatblokk tényleges hasznos adattartalmát. Eddig 13 adatblokk-típus van normál használathoz definiálva. Ezek az alábbiakban láthatók. Az egyszerűség kedvéért ezek definícióját az RFC2960 dokumentumból másoltuk ki:
Azonosító Adatblokk-típus ----- ---------- 0 - Hasznos adatok (DATA) 1 - Inicializálás (INIT) 2 - Inicializálás nyugtázása (INIT ACK) 3 - Szelektív nyugtázás (SACK) 4 - Heartbeat kérés (HEARTBEAT) 5 - Heartbeat nyugtázás (HEARTBEAT ACK) 6 - Megszakítás (ABORT) 7 - Leállítás (SHUTDOWN) 8 - Leállítás nyugtázása (SHUTDOWN ACK) 9 - Műveleti hiba (ERROR) 10 - Állapot cookie (COOKIE ECHO) 11 - Cookie nyugtázás (COOKIE ACK) 12 - Explicit torlódás-értesítési echo (ECNE) számára fenntartva 13 - Csökkentett torlódási ablak (CWR) számára fenntartva 14 - Leállítás befejezve (SHUTDOWN COMPLETE) 15 - 62 - IETF által fenntartva 63 - IETF által definiált adatblokk-bővítések 64 - 126 - IETF által fenntartva 127 - IETF által definiált adatblokk-bővítések 128 - 190 - IETF által fenntartva 191 - IETF által definiált adatblokk-bővítések 192 - 254 - IETF által fenntartva 255 - IETF által definiált adatblokk-bővítések