
SCTP (Stream Control Transmission Protocol)
glossary.categories.protocolO protocolo usado nos Canais de Dados WebRTC para enviar dados que não são mídia.
O que é SCTP?
O Stream Control Transmission Protocol (SCTP) é um protocolo de rede de computadores que combina a confiabilidade do TCP com a natureza orientada a mensagens do UDP. No WebRTC, ele é exclusivamente usado para Canais de Dados — permitindo que desenvolvedores enviem dados arbitrários (como mensagens de chat, transferências de arquivo ou estado de jogo) diretamente entre pares.
Por Que SCTP para WebRTC?
O WebRTC precisava de uma maneira de enviar dados que fosse mais flexível que TCP ou UDP sozinhos. O SCTP oferece recursos únicos perfeitos para dados peer-to-peer:
- Confiabilidade Configurável: Você pode escolher tornar um canal de dados confiável (como TCP, retransmitindo pacotes perdidos) ou não confiável (como UDP, para jogos em tempo real) por canal.
- Orientado a Mensagens: Diferente do TCP que é um fluxo de bytes, o SCTP mantém mensagens individuais distintas.
- Multiplexação: Você pode ter múltiplos canais de dados distintos sobre uma única associação SCTP.
SCTP sobre DTLS
Como o SCTP não é nativamente suportado pela maioria dos roteadores consumidores (NATs), o WebRTC encapsula pacotes SCTP dentro de pacotes DTLS, que rodam sobre UDP. Isso permite que o SCTP atravesse firewalls de forma segura mantendo todos os seus recursos poderosos.