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 ordning för leverans av paketen men vissa applikationer kräver tillförlitlig överföring men inte 100% sekvens för leverans av paket. I dessa fall kan TCP orsaka onödig fördröjning av det andra alternativet där tillförlitlighet är viktig men inte 100% sekventiell leverans.
Vid transport av paket finns det två stora begränsningar, en är tillförlitlighet och en annan är latens. Tillförlitlighet garanteras leverans av paketet och latens levererar paketet i rätt tid. Båda kan inte uppnås att toppa samtidigt men kan optimeras.
SCTP är i grunden utvecklad för att transportera PSTN-signalering över IP-nätverk. (SIGTRAN). Men idag tycker andra applikationer också att SCTP är en bra matchning för deras krav.
TCP:
Definierad i RFC 793
TCP är anslutningsorienterat slut-till-pålitligt protokoll för att stödja garanterad dataöverföring. Från anslutningen etablerar TCP tillförlitligheten. Några av huvudfunktionerna i TCP är 3-vägs handskakning (SYN, SYN-ACK, ACK), Felavkänning, långsam start, flödeskontroll, trängselskontroll.
TCP är en pålitlig transportmekanism så den kommer att användas där paketleverans är ett måste även vid trängsel. Typiskt 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:
Definierad i RFC4960
SCTP (Stream Control Transmission Protocol) är ett IP-transportprotokoll som TCP och UDP. SCTP är ett unicast-protokoll och stöds slut-till-slut-leverans av data inom exakt två slutpunkter. Men slutpunkter kan ha mer än en IP-adress.
SCTP är ett fullständigt duplexöverföringsprotokoll med funktioner som omsändning, flödeskontroll och sekvensunderhåll.
Ovanpå TCP har SCTP fler funktioner och några listas nedan
SCTP Multi-Streaming-funktion
SCTP tillåter att data delas in i flera strömmar och varje ström har sin egen leveranssekvens. Tänk på fallet med telefonisignalering, det är nödvändigt att behålla sekvensen av paket som påverkar samma session eller resurs. (Ex: Samma samtal eller samma bagageutrymme). Så strömbaserad sekvensspårning räcker tillräckligt och ger bättre prestanda än en fullständig streaming.
SCTP multi-homing
Denna funktion stöder att enstaka SCTP-slutpunkter har flera IP-adresser. Huvudskälet till detta är att upprätthålla tillgängligheten för slutpunkten via flera redundanta routningsvägar.
Sökväg
En räknare upprätthålls för att hålla reda på misslyckade överföringsbekräftelser till en viss destination. Det finns en tröskel definierad och om den överskrider måladressen deklareras som inaktiv och SCTP börjar sändas till alternativ adress.
Sammanfattning:
(1) TCP och SCTP stöder båda tillförlitliga transporttjänster.
(2) TCP stöder en enda ström av dataleverans där SCTP stöder flera strömmar av dataleverans.
(3) TCP stöder enstaka TCP-slutpunkt för att ha en IP-adress där SCTP stöder enstaka 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.