Saltar para o conteúdo

Stream Control Transmission Protocol

Origem: Wikipédia, a enciclopédia livre.

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

[editar | editar código-fonte]

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]

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]

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]

Referências

  1. «Protocol Numbers». www.iana.org. Consultado em 24 de setembro de 2024 
  2. 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/RFC2960Acessível livremente. Consultado em 24 de setembro de 2024 
  3. Stewart, Randall R.; Tüxen, Michael; Nielsen, karen (junho de 2022). «Stream Control Transmission Protocol». Consultado em 24 de setembro de 2024 
  4. Yoakum, John; Ong, Lyndon (maio de 2002). «An Introduction to the Stream Control Transmission Protocol (SCTP)». Consultado em 24 de setembro de 2024 
  5. 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 
  6. 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 
  7. 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 
  8. 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 
  9. 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 
  10. «SCTP Characteristics». book.huihoo.com. Consultado em 24 de setembro de 2024 
  11. «SCTP Overview». Juniper Networks. Consultado em 24 de setembro de 2024 
  12. «Stream Control Transmission Protocol». IBM (em inglês). Consultado em 24 de setembro de 2024 
  13. 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 
  14. 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