TCP vs SCTP-protokoller
Både TCP (Transmission Control Protocol) og SCTP (Stream Control Transmission Protocol) ligger i transportlaget og leverer transportfunktioner hovedsageligt i internetapplikationer. TCP giver pålidelig dataoverførsel med streng rækkefølge for levering af pakkerne, men nogle applikationer har brug for pålidelig overførsel, men ikke 100% rækkefølge for levering af pakker. I disse tilfælde kan TCP forårsage unødvendig forsinkelse i den anden mulighed, hvor pålidelighed er vigtig, men ikke 100% sekventiel levering.
Ved transport af pakker er der to store begrænsninger, den ene er pålidelighed og den anden er latenstid. Pålidelighed er garanteret levering af pakken, og ventetid er rettidig levering af pakken. Begge kan ikke opnås til at toppe på samme tid, men kan optimeres.
SCTP er grundlæggende udviklet til at transportere PSTN-signalering over IP-netværk. (SIGTRAN). Men i disse dage finder andre applikationer også, at SCTP passer godt til deres krav.
TCP:
Defineret i RFC 793
TCP er forbindelsesorienteret ende til slut pålidelig protokol til understøttelse af garanteret datatransmission. Fra selve forbindelsen etablerer TCP pålideligheden. Nogle af hovedfunktionerne i TCP er 3-vejs håndtryk (SYN, SYN-ACK, ACK), Fejldetektion, Langsom start, Flow Control, Congestion Control.
TCP er en pålidelig transportmekanisme, så den vil blive brugt, hvor pakkeleveringen er et must selv i trængsel. Typisk eksempel på TCP-applikationer og portnumre er FTP-data (20), FTP-kontrol (21), SSH (222), Telnet (23), Mail (25), DNS (53), HTTP (80), POP3 (110), SNMP (161) og HTTPS (443). Disse er velkendte TCP-applikationer.
SCTP:
Defineret i RFC4960
SCTP (Stream Control Transmission Protocol) er en IP-transportprotokol som TCP og UDP. SCTP er en unicast-protokol og understøttet end-to-end-levering af data inden for nøjagtigt to slutpunkter. Men slutpunkter kan have mere end en IP-adresse.
SCTP er en fuld duplex-transmissionsprotokol med funktioner som genudsendelse, flowkontrol og sekvensvedligeholdelse.
Oven på TCP har SCTP flere funktioner, og nogle er angivet nedenfor
SCTP Multi-Streaming-funktion
SCTP gør det muligt at opdele data i flere streams, og hver stream har sin egen leveringssekvens. Overvej tilfældet med telefonisignalering, det er nødvendigt at opretholde rækkefølgen af pakker, der påvirker den samme session eller ressource. (Eks: Samme opkald eller samme bagagerum). Så streambaseret sekvenssporing er tilstrækkeligt nok og vil resultere i bedre ydeevne end en fuld streaming.
SCTP multi-homing
Denne funktion understøtter, at et enkelt SCTP-slutpunkt har flere IP-adresser. Hovedårsagen til dette er at opretholde tilgængeligheden af slutpunktet via flere overflødige rutestier.
Sti valg
En tæller opretholdes for at holde styr på mislykkede transmissionsbekræftelser til en bestemt destination. Der er defineret en tærskel, og hvis den overstiger destinationsadressen, erklæres den som inaktiv, og SCTP begynder at sende til en alternativ adresse.
Resumé:
(1) TCP og SCTP understøtter begge pålidelige transporttjenester.
(2) TCP understøtter enkelt strøm af datalevering, hvor SCTP understøtter multi-streams af datalevering.
(3) TCP understøtter et enkelt TCP-slutpunkt for at have en IP-adresse, hvor SCTP understøtter enkelt SCTP-slutpunkt kan have flere IP-adresser til hovedsagelig redundansformål.
(4) I stedet for TCP er SCTP mere sikker.
(5) SCTP-start- og lukningsprocesser adskiller sig fra TCP.