Trama
La trama del protocolo SCTP se muestra en la figura.
En general, el paquete SCTP se conforma de su cabecera, seguida de una serie de bloques, llamados "chunks", limitados por el MTU. Un chunk puede contener información (datos) o datos de control.
Los campos utilizados en la cabecera de la trama son:
- El puerto de origen se utiliza por el receptor para identificar la asociación a la que pertenece el paquete SCTP.
- El puerto de destino es el puerto al cual el paquete esta destinado.
- El campo 'Verification Tag' es un valor de 32 bits asignado por ambos extemos, negociado al inicio de la asociación.
- El campo 'checksum' se utiliza para verificar la integridad del paquete SCTP. Utiliza el algoritmo Alder-32.
Los campos utilizados por cada chunk son:
- 'Type' identifica el tipo de chunk que se transmite.
- 'Flag' especifica que bits se utilizarán en la asociación, dependiendo del tipo de chunk transmitido.
- 'Length' determina el tamaño en bytes del chunk.
- 'Chunk data' incluye los datos que transporta el chunk.
ID Value Chunk Type ----- ---------- 0 - Payload Data (DATA) 1 - Initiation (INIT) 2 - Initiation Acknowledgement (INIT ACK) 3 - Selective Acknowledgement (SACK) 4 - Heartbeat Request (HEARTBEAT) 5 - Heartbeat Acknowledgement (HEARTBEAT ACK) 6 - Abort (ABORT) 7 - Shutdown (SHUTDOWN) 8 - Shutdown Acknowledgement (SHUTDOWN ACK) 9 - Operation Error (ERROR) 10 - State Cookie (COOKIE ECHO) 11 - Cookie Acknowledgement (COOKIE ACK) 12 - Reserved for Explicit Congestion Notification Echo (ECNE) 13 - Reserved for Congestion Window Reduced (CWR) 14 - Shutdown Complete (SHUTDOWN COMPLETE) 15 to 62 - reserved by IETF 63 - IETF-defined Chunk Extensions 64 to 126 - reserved by IETF 127 - IETF-defined Chunk Extensions 128 to 190 - reserved by IETF 191 - IETF-defined Chunk Extensions 192 to 254 - reserved by IETF 255 - IETF-defined Chunk Extensions