Stream Control Transmission Protocol
Pilha de protocolos TCP/IP |
---|
Camada de aplicação |
Camada de transporte |
Camada de rede |
Camada de enlace de dados |
O Stream Control Transmission Protocol (SCTP) é um protocolo de comunicação de rede de computadores na camada de transporte do conjunto de protocolos da Internet. Originalmente destinado ao transporte de mensagens do Sistema de Sinalização 7 (SS7) em telecomunicações, o protocolo fornece o recurso orientado a mensagens do User Datagram Protocol (UDP), ao mesmo tempo que garante o transporte confiável e em sequência de mensagens com controle de congestionamento como o Transmission Control Protocol (TCP). Ao contrário do UDP e do TCP, o protocolo suporta multihoming e caminhos redundantes para aumentar a resiliência e a confiabilidade.
O SCTP oferece a transferência de datagramas (mensagens) livres de erros e de duplicações através do reconhecimento de transmissões (ACKs). A detecção de corrupção, perda e duplicação de dados é obtida através de mecanismos de checksum e números sequenciais. Um mecanismo de retransmissão seletiva é usado para corrigir a perda ou a corrupção de dados.
O SCTP é padronizado pela Internet Engineering Task Force (IETF) na RFC 9260. A implementação de referência do SCTP foi lançada como parte da versão 7 do FreeBSD e, desde então, foi amplamente portada para outras plataformas.
Supervisão formal
O grupo de trabalho IETF Signaling Transport (SIGTRAN) definiu o protocolo (número 132)[1] em outubro de 2000,[2] e o grupo de trabalho IETF Transport Area (TSVWG) o mantém. RFC 9260 define o protocolo.[3] RFC 3286 fornece uma introdução.[4]
Segurança
Embora a criptografia não fizesse parte do design original do SCTP, o SCTP foi projetado com recursos para maior segurança, como handshake de 4 vias (em comparação com o handshake de 3 vias TCP) para proteção contra ataques de inundação SYN e grandes "cookies" para verificação de associação e autenticidade.[5][6]
A confiabilidade também foi uma parte fundamental do projeto de segurança do SCTP.[7][8] O multihoming permite que uma associação permaneça aberta mesmo quando algumas rotas e interfaces estão inativas. Isto é de particular importância para o SIGTRAN, pois transporta SS7 através de uma rede IP usando SCTP e requer forte resiliência durante interrupções de link para manter o serviço de telecomunicações mesmo quando há anomalias persistentes na rede.[6][8]
O SCTP às vezes é um bom candidato para impressão digital. Alguns sistemas operacionais são fornecidos com suporte SCTP habilitado e, como não é tão conhecido como TCP ou UDP, às vezes é ignorado em configurações de firewall e detecção de intrusão, permitindo muitas vezes a investigação do tráfego.[8][9]
Recursos
Os recursos do SCTP incluem:[10][11][12]
- Transmissão confiável de fluxos de dados ordenados e não ordenados.
- Suporte multihoming no qual um ou ambos os pontos finais de uma conexão podem consistir em mais de um endereço IP, permitindo failover transparente entre caminhos de rede redundantes.
- A entrega de pedaços em fluxos independentes elimina o bloqueio desnecessário de cabeçalho, em oposição à entrega de fluxo de bytes TCP.
- Confiabilidade parcial explícita.
- Seleção e monitoramento de caminho para selecionar um caminho primário de transmissão de dados e testar a conectividade do caminho de transmissão.
- Os mecanismos de validação e reconhecimento protegem contra ataques de inundação e fornecem notificação de blocos de dados duplicados ou ausentes.
- Detecção de erros aprimorada, adequada para jumbo frames Ethernet.
Os projetistas do SCTP originalmente o pretendiam para o transporte de telefonia (ou seja, Sistema de Sinalização 7) sobre Protocolo de Internet, com o objetivo de duplicar alguns dos atributos de confiabilidade da rede de sinalização SS7 em IP. Este esforço da IETF é conhecido como SIGTRAN. Entretanto, outros usos foram propostos, por exemplo, o protocolo Diameter[13] e o Reliable Server Pooling (RSerPool).[14]
Notas
- Este artigo foi inicialmente traduzido, total ou parcialmente, do artigo da Wikipédia em inglês cujo título é «Stream Control Transmission Protocol».
Referências
- ↑ «Protocol Numbers». www.iana.org. Consultado em 24 de setembro de 2024
- ↑ Kalla, Malleswar; Stewart, Randall R.; Taylor, Tom; Paxson, Vern; Sharp, Chip; Morneault, Ken; Schwarzbauer, HannsJuergen; Xie, Qiaobing; Rytina, Ian (outubro de 2000). «Stream Control Transmission Protocol». doi:10.17487/RFC2960. Consultado em 24 de setembro de 2024
- ↑ Stewart, Randall R.; Tüxen, Michael; Nielsen, karen (junho de 2022). «Stream Control Transmission Protocol». Consultado em 24 de setembro de 2024
- ↑ Yoakum, John; Ong, Lyndon (maio de 2002). «An Introduction to the Stream Control Transmission Protocol (SCTP)». Consultado em 24 de setembro de 2024
- ↑ Nordhoff, Michael (setembro de 2006). «Security Evaluation of SCTP» (PDF). University of Duisburg-Essen, Computer Networking Group. p. 8. Consultado em 24 de setembro de 2024
- ↑ a b Floyd, Sally; Handley, Mark J.; Kohler, Eddie (março de 2006). «Datagram Congestion Control Protocol (DCCP)». rfc-editor.org. Consultado em 24 de setembro de 2024
- ↑ Brunstrom, Anna (2009). «Reliable and Secure Communication in SCTP». Institute of Electrical and Electronics Engineers. 2009 Proceedings of the 1st International Workshop on Security and Communication Networks. ISBN 978-82-997105-1-0. Consultado em 24 de setembro de 2004
- ↑ a b c Awati, Rahul. «What is the Stream Control Transmission Protocol (SCTP) and how does it work?». Techtarget (em inglês). Consultado em 24 de setembro de 2024
- ↑ Faircloth, Jeremy (1 de janeiro de 2017). Faircloth, Jeremy, ed. «Chapter 3 - Scanning and enumeration». Boston: Syngress: 107–149. ISBN 978-0-12-802149-1. doi:10.1016/B978-0-12-802149-1.00003-8. Consultado em 24 de setembro de 2024
- ↑ «SCTP Characteristics». book.huihoo.com. Consultado em 24 de setembro de 2024
- ↑ «SCTP Overview». Juniper Networks. Consultado em 24 de setembro de 2024
- ↑ «Stream Control Transmission Protocol». IBM (em inglês). Consultado em 24 de setembro de 2024
- ↑ Calhoun, Pat R.; Guttman, Erik; Arkko, Jari; Loughney, John A. (setembro de 2003). «Diameter Base Protocol». doi:10.17487/rfc3588. Consultado em 24 de setembro de 2024
- ↑ Tüxen, Michael; Dreibholz, Thomas; Lei, Peter; Ong, Lyndon (setembro de 2008). «An Overview of Reliable Server Pooling Protocols». doi:10.17487/rfc5351. Consultado em 24 de setembro de 2024