Diferença entre protocolos TCP e SCTP
protocolos TCP vs SCTP
Tanto o TCP (Transmission Control Protocol) quanto o SCTP (Stream Control Transmission Protocol) estão em a camada de transporte e fornecer funções de transporte principalmente em aplicativos de internet. O TCP fornece transferência de dados confiável com uma ordem de entrega rigorosa dos pacotes, mas alguns aplicativos precisam de uma transferência confiável, mas não de uma sequência de entrega de pacotes de 100%. Nesses casos, a TCP pode causar atrasos desnecessários na segunda opção, onde a confiabilidade é importante, mas não uma entrega sequencial de 100%.
No transporte de pacotes existem duas restrições principais, uma é confiabilidade e outra é a latência. Confiabilidade é garantia de entrega do pacote e latência é entrega oportuna do pacote. Ambos não podem ser alcançados ao pico ao mesmo tempo, mas podem ser otimizados.
SCTP é desenvolvido basicamente para transportar sinalização PSTN em redes IP. (SIGTRAN). Mas, atualmente, outros aplicativos também acham que SCTP é uma boa combinação para seus requisitos.
TCP:
Definido no RFC 793
O TCP é um protocolo confiável de ponta a ponta para suportar a transmissão de dados garantida. Do próprio estabelecimento de conexão, o TCP garante a confiabilidade. Algumas das principais características do TCP são handshake de 3 vias (SYN, SYN-ACK, ACK), Detecção de Erro, Início Lento, Controle de Fluxo, Controle de Congestionamento.
O TCP é um mecanismo de transporte confiável para que ele seja usado onde a entrega do pacote é imprescindível mesmo em congestionamentos. O exemplo típico para os aplicativos TCP e os números das portas são os dados de FTP (20), FTP Control (21), SSH (222), Telnet (23), Mail (25), DNS (53), HTTP (80), POP3 (110), SNMP (161) e HTTPS (443). Estes são conhecidos aplicativos TCP.
SCTP:
Definido em RFC4960
SCTP (Stream Control Transmission Protocol) é um protocolo de transporte de IP, como TCP e UDP. O SCTP é um protocolo unicast e suportado a entrega de dados de ponta a ponta dentro de exatamente dois pontos finais. Mas os pontos finais podem ter mais de um endereço IP.
SCTP é um protocolo de transmissão duplex completo com recursos como retransmissão, controle de fluxo e manutenção de seqüência.
No topo do TCP, SCTP tem mais recursos e alguns estão listados abaixo
- SCTP Multi-Streaming Feature
SCTP permite que os dados sejam divididos em múltiplos fluxos e cada fluxo tenha sua própria seqüência de entrega. Considere o caso da sinalização de telefonia, é necessário manter a seqüência de pacotes que afeta a mesma sessão ou recurso. (Ex: mesma chamada ou mesmo tronco). Portanto, o rastreamento de seqüência baseado em fluxo é suficiente e resultará em um melhor desempenho do que uma transmissão completa.
- SCTP multi homing
Este recurso suporta que um único ponto de extremidade SCTP tenha múltiplos endereços IP.O principal motivo para isso é manter a disponibilidade do ponto final através de vários caminhos de roteamento redundantes.
- Seleção do caminho
Um contador é mantido para acompanhar os recebimentos de transmissão mal sucedidos para um determinado destino. Existe um limite definido e se exceder o endereço de destino é declarado como inativo e o SCTP começa a enviar para o endereço alternativo.
Resumo:
(1) O TCP e o SCTP suportam serviços de transporte confiáveis.
(2) O TCP suporta fluxo único de entrega de dados onde, como SCTP, suporta múltiplos fluxos de entrega de dados.
(3) O TCP suporta um único ponto de extremidade TCP para ter um endereço IP onde, como SCTP, um ponto de extremidade SCTP único pode ter vários endereços IP para fins de redundância principalmente.
(4) Em vez de TCP, o SCTP é mais seguro.
(5) Os processos de inicialização e desligamento SCTP são diferentes do TCP.