Características
Principales características:
- Multi-Homing.
- Multi-Streaming.
- Initiation protection.
- Message framing.
- Configurable unordered delivery.
- Graceful shutdown.
Multi-Homing
Un host multi-homed posee más de una interfaz de red, por lo que tiene más de una dirección de red por la que se le puede ubicar.
La ventaja de esta característica es que se forman varios caminos mediante los cuales viajan los datos entre 2 hosts. Si un camino falla, se le considera fuera de servicio, por lo que continúa la transmisión a través de los otros, siendo todo este proceso transparente para la aplicación.
- Heartbeat: mensajes enviados para comprobar estado de caminos.
- Heartbeat ACK: respuesta a Heartbeat por parte de host de destino.
- Primary Address : camino de mejor velocidad.
Figura: Ejemplo de característica de Multi-Homing de SCTP.
Multi-Streaming
El nombre SCTP proviene de esta característica. Permite que los datos se dividan en múltiples flujos (streams) de forma que la pérdida en uno de los flujos no afecte al resto de ellos. Cada flujo tiene un número identificador, que lo diferencia del resto de los flujos correspondientes a una transmisión.
En TCP se utiliza solo un flujo de datos, y se asegura que ese flujo llegue preservando la secuencia. Esto provoca retardos, ya que si se pierde solo un paquete, TCP retrasa todos los datos que siguen al paquete perdido hasta corregir esto. Es por esto que el multi-streaming tiene como resultado una mejor utilización de recursos.
Figura: Ejemplo de característica de Multi-Streaming de SCTP.
Initiation Protection
Para iniciar una comunicación, SCTP establece una conexión entre los 2 extremos. Para ello, se utilizan 4 mensajes:
- INIT: cliente envía mensaje para iniciación de asociación.
- INI-ACK: servidor envía acuse de recibo para INIT, añade cookie (identificador de la conexión).
- COOKIE-ECHO: cliente responde con misma cookie.
- COOKIE-ACK: servidor reserva recursos para asociación y responde con este mensaje.
Figura: Ejemplo de característica de Initiation-Protection de SCTP.
Entrega de mensajes
Mensajes son entregados a capa de aplicación a medida que son recibidos, como UDP. Ambos protocolos son orientados al flujo, y no orientado a los bytes como TCP.
Configurable unordered delivery.
Se puede configurar un envío desordenado de los datos, conservando la confiabilidad. TCP solo permite el envío de manera ordenada, pero garantiza la confiabilidad; UDP no garantiza orden ni confiabilidad.
Graceful Shutdown
Debido a su orientación a la conexión, se necesita terminar la comunicación a través de un intercambio de mensajes. TCP utiliza el mensaje FIN. SCTP utiliza el mensaje SHUTDOWN de la siguiente forma:
Figura: Ejemplo de característica de Graceful Shutdown de SCTP.