Differenza tra protocolli TCP e SCTP

Protocolli TCP vs SCTP

Sia TCP (Transmission Control Protocol) che SCTP (Stream Control Transmission Protocol) si trovano nel livello di trasporto e forniscono funzioni di trasporto principalmente nelle applicazioni Internet. TCP fornisce un trasferimento affidabile dei dati con un ordine rigoroso di consegna dei pacchetti, ma alcune applicazioni richiedono un trasferimento affidabile ma non una sequenza del 100% di consegna dei pacchetti. In questi casi, il protocollo TCP può causare ritardi non necessari nella seconda opzione, in cui l'affidabilità è importante, ma non la consegna sequenziale al 100%.

Nel trasporto di pacchetti ci sono due principali vincoli: uno è l'affidabilità e l'altro è la latenza. L'affidabilità è garantita la consegna del pacchetto e la latenza sta consegnando in tempo il pacchetto. Entrambi non possono essere raggiunti al massimo allo stesso tempo, ma potrebbero essere ottimizzati.

SCTP è sviluppato essenzialmente per il trasporto di segnali PSTN su reti IP. (SIGTRAN). Ma in questi giorni altre applicazioni trovano anche che SCTP è una buona partita per le loro esigenze.

TCP:

Definito in RFC 793

TCP è un protocollo affidabile orientato alla connessione end-to-end per supportare la trasmissione dei dati garantita. Dalla struttura di connessione stessa TCP garantisce l'affidabilità. Alcune delle caratteristiche principali di TCP sono l'handshake a 3 vie (SYN, SYN-ACK, ACK), rilevamento degli errori, avvio lento, controllo del flusso, controllo della congestione.

Il TCP è un meccanismo di trasporto affidabile, quindi verrà utilizzato laddove la consegna del pacchetto è indispensabile anche in caso di congestioni. Esempi tipici di applicazioni TCP e numeri di porta sono dati FTP (20), FTP Control (21), SSH (222), Telnet (23), Mail (25), DNS (53), HTTP (80), POP3 (110) , SNMP (161) e HTTPS (443). Queste sono ben note applicazioni TCP.

SCTP:

Definito in RFC4960

SCTP (Stream Control Transmission Protocol) è un protocollo di trasporto IP come TCP e UDP. SCTP è un protocollo unicast e supporta la consegna dei dati end-to-end all'interno di esattamente due endpoint. Ma gli endpoint possono avere più di un indirizzo IP.

SCTP è un protocollo di trasmissione full duplex con funzionalità come ritrasmissione, controllo del flusso e manutenzione delle sequenze.

Oltre a TCP, SCTP ha più funzionalità e alcuni sono elencati di seguito

  • Funzione multi-streaming SCTP

SCTP consente di dividere i dati in più flussi e ogni stream ha una sequenza di consegna. Considerare il caso della segnalazione di telefonia, è necessario mantenere la sequenza di pacchetti che riguarda la stessa sessione o risorsa. (Es: stessa chiamata o stesso tronco). Quindi il tracciamento sequenziale basato sul flusso è sufficientemente sufficiente e risulterà prestazioni migliori rispetto a uno streaming completo.

  • SCTP multi homing

Questa funzione supporta il singolo endpoint SCTP per avere più indirizzi IP. Il motivo principale di ciò è di mantenere la disponibilità dell'endpoint tramite diversi percorsi di routing ridondanti.

  • Selezione del percorso

Viene mantenuto un contatore per tenere traccia delle conferme di trasmissione non riuscite a una particolare destinazione. Esiste una soglia definita e se supera l'indirizzo di destinazione viene dichiarato come inattivo e SCTP inizia a inviare all'indirizzo alternativo.

Sommario:

(1) TCP e SCTP supportano entrambi servizi di trasporto affidabili.
(2) TCP supporta il flusso singolo di trasmissione dei dati laddove SCTP supporta più flussi di consegna dei dati.
(3) TCP supporta un singolo endpoint TCP per avere un indirizzo IP dove, come SCTP supporta un singolo endpoint SCTP, può avere più indirizzi IP principalmente per scopi di ridondanza.
(4) Piuttosto TCP, SCTP è più sicuro.
(5) I processi di avvio e arresto SCTP sono diversi da TCP.