
SCTP (Protocolo de Transmisión de Control de Flujo)
glossary.categories.protocolEl protocolo utilizado en los canales de datos de WebRTC para enviar datos no multimedia.
¿Qué es SCTP?
SCTP (Stream Control Transmission Protocol) es el protocolo de capa de transporte utilizado para los canales de datos (RTCDataChannel) de WebRTC. Permite que los pares envíen datos arbitrarios (texto, archivos, señalización personalizada) a través de la misma conexión peer-to-peer utilizada para los flujos de medios.
Por qué SCTP
WebRTC eligió SCTP sobre TCP o UDP puro para los canales de datos porque SCTP ofrece lo mejor de ambos mundos:
- Entrega confiable O no confiable: A diferencia de TCP (siempre confiable) o UDP (nunca confiable), SCTP permite que cada canal de datos elija: entrega confiable y ordenada (como TCP) para chat, o no confiable y desordenada (como UDP) para datos de juego.
- Multiflujo: Múltiples flujos lógicos independientes a través de una única conexión. Un flujo bloqueado no bloquea a otros (resolviendo el "bloqueo de cabecera de línea" de TCP).
- Orientado a mensajes: Mantiene los límites de los mensajes de forma nativa, a diferencia de TCP que es un flujo de bytes.
SCTP en WebRTC
En WebRTC, SCTP se encapsula dentro de DTLS (para cifrado), que a su vez se ejecuta sobre UDP (el protocolo de transporte subyacente). Esta pila (SCTP sobre DTLS sobre UDP) proporciona transferencia de datos segura, flexible y eficiente para todo contenido no multimedia como mensajes de chat, transferencias de archivos, estados de juego y señalización personalizada.