Protocolos TCP vs SCTP
O TCP (Transmission Control Protocol) e o SCTP (Stream Control Transmission Protocol) estão na camada de transporte e fornecem funções de transporte principalmente em aplicativos da Internet. O TCP fornece transferência confiável de dados com ordem estrita de entrega dos pacotes, mas alguns aplicativos precisam de transferência confiável, mas não uma sequência 100% da entrega dos pacotes. Nesses casos, o TCP pode causar atraso desnecessário na segunda opção em que a confiabilidade é importante, mas não a entrega sequencial de 100%.
No transporte de pacotes, existem duas grandes restrições: a confiabilidade e a latência. A confiabilidade é a entrega garantida do pacote e a latência é a entrega atempada do pacote. Ambos não podem ser atingidos no pico ao mesmo tempo, mas podem ser otimizados.
O SCTP é desenvolvido basicamente para transportar a sinalização PSTN através de redes IP. (SIGTRAN). Atualmente, porém, outros aplicativos também acham que o SCTP é uma boa opção para os requisitos deles..
TCP:
Definido na RFC 793
O TCP é um protocolo confiável de ponta a ponta orientado a conexão para suportar a transmissão de dados garantida. A partir do próprio estabelecimento de conexão, o TCP garante a confiabilidade. Algumas das principais características do TCP são handshake de três vias (SYN, SYN-ACK, ACK), detecção de erros, início lento, controle de fluxo, controle de congestionamento.
O TCP é um mecanismo de transporte confiável e, portanto, será usado onde a entrega de pacotes for necessária, mesmo em congestionamentos. Exemplo típico para aplicativos TCP e números de porta são dados FTP (20), Controle FTP (21), SSH (222), Telnet (23), Correio (25), DNS (53), HTTP (80), POP3 (110) , SNMP (161) e HTTPS (443). Estas são aplicações TCP bem conhecidas.
SCTP:
Definido na RFC4960
O SCTP (Stream Control Transmission Protocol) é um protocolo de transporte IP, como TCP e UDP. O SCTP é um protocolo unicast e entrega de dados ponta a ponta suportada dentro de exatamente dois pontos de extremidade. Mas os terminais podem ter mais de um endereço IP.
O SCTP é um protocolo de transmissão full duplex com recursos como retransmissão, controle de fluxo e manutenção de sequência.
Além do TCP, o SCTP possui mais recursos e alguns estão listados abaixo
O SCTP permite que os dados sejam divididos em vários fluxos e cada fluxo tem sua própria sequência de entrega. Considere o caso da sinalização de telefonia, é necessário manter a sequência de pacotes que afeta a mesma sessão ou recurso. (Ex: mesma chamada ou mesmo tronco). Portanto, o rastreamento de sequência baseado em fluxo é suficiente e resultará em melhor desempenho do que um fluxo completo.
Esse recurso suporta que um único ponto de extremidade SCTP tenha vários endereços IP. A principal razão para isso é manter a disponibilidade do nó de extremidade por meio de vários caminhos de roteamento redundantes.
Um contador é mantido para acompanhar as confirmações de transmissão malsucedidas para um destino específico. Há um limite definido e, se exceder o endereço de destino, será declarado inativo e o SCTP começará a ser enviado para o endereço alternativo..
Resumo:
(1) TCP e SCTP suportam serviços de transporte confiáveis.
(2) O TCP suporta fluxo único de entrega de dados, enquanto o SCTP suporta vários fluxos de entrega de dados.
(3) O TCP suporta um ponto de extremidade TCP único para ter um endereço IP, onde o SCTP suporta um ponto de extremidade SCTP único pode ter vários endereços IP para fins de redundância principalmente.
(4) Em vez TCP, SCTP é mais seguro.
(5) Os processos de inicialização e desligamento do SCTP são diferentes do TCP.