TCP vs SCTP-protokoll
Både TCP (Transmission Control Protocol) och SCTP (Stream Control Transmission Protocol) ligger i transportlagret och tillhandahåller transportfunktioner främst i internetapplikationer. TCP tillhandahåller tillförlitlig dataöverföring med strikt leveransordning av paketen, men vissa applikationer behöver pålitlig överföring men inte 100% sekvens av leverans av paket. I dessa fall kan TCP orsaka onödig fördröjning i det andra alternativet där tillförlitlighet är viktigt men inte 100 % sekventiell leverans.
Vid transport av paket finns det två stora begränsningar, den ena är tillförlitlighet och den andra är latens. Tillförlitlighet är garanterad leverans av paketet och latens är att leverera paketet i rätt tid. Båda kan inte uppnås till topp samtidigt men skulle kunna optimeras.
SCTP är i grunden utvecklad för att transportera PSTN-signalering över IP-nätverk. (SIGTRAN). Men nuförtiden finner andra applikationer också att SCTP är en bra matchning för deras krav.
TCP:
Definierat i RFC 793
TCP är ett anslutningsorienterat tillförlitligt protokoll för att stödja garanterad dataöverföring. Från själva anslutningsetableringen säkerställer TCP tillförlitligheten. Några av huvudfunktionerna i TCP är 3-vägs handskakning (SYN, SYN-ACK, ACK), feldetektering, långsam start, flödeskontroll, överbelastningskontroll.
TCP är en pålitlig transportmekanism så den kommer att användas där paketleverans är ett måste även i trängsel. Typiska exempel för TCP-applikationer och portnummer är FTP-data (20), FTP-kontroll (21), SSH (222), Telnet (23), Mail (25), DNS (53), HTTP(80), POP3(110), SNMP(161) och HTTPS(443). Dessa är välkända TCP-applikationer.
SCTP:
Definierat i RFC4960
SCTP (Stream Control Transmission Protocol) är ett IP-transportprotokoll som TCP och UDP. SCTP är ett unicast-protokoll och stöds end-to-end dataleverans inom exakt två slutpunkter. Men slutpunkter kan ha mer än en IP-adress.
SCTP är ett fullduplex-överföringsprotokoll med funktioner som återsändning, flödeskontroll och sekvensunderhåll.
Utöver TCP har SCTP fler funktioner och några listas nedan
SCTP Multi-Streaming-funktion
SCTP tillåter att data delas upp i flera strömmar och varje ström har sin egen leveranssekvens. Tänk på fallet med telefonisignalering, det är nödvändigt att upprätthålla sekvensen av paket som påverkar samma session eller resurs. (Ex: Samma samtal eller samma trunk). Så streambaserad sekvensspårning är tillräckligt och ger bättre prestanda än en hel streaming.
SCTP multi homing
Denna funktion stöder för en enda SCTP-slutpunkt att ha flera IP-adresser. Den främsta anledningen till detta är att upprätthålla tillgängligheten för slutpunkten via flera redundanta routingvägar.
Val av sökväg
En räknare upprätthålls för att hålla reda på misslyckade sändningsbekräftelser till en viss destination. Det finns ett tröskelvärde definierat och om det överskrider deklareras destinationsadressen som inaktiv och SCTP börjar skicka till alternativ adress.
Sammanfattning:
(1) TCP och SCTP stöder båda pålitliga transporttjänster.
(2) TCP stöder leverans av enkel dataström medan SCTP stöder leverans av flera dataströmmar.
(3) TCP stöder en enda TCP-slutpunkt för att ha en IP-adress, medan SCTP stöder en enda SCTP-slutpunkt kan ha flera IP-adresser för huvudsakligen redundansändamål.
(4) Snarare TCP, SCTP är säkrare.
(5) SCTP-initierings- och avstängningsprocesser skiljer sig från TCP.