TCP vs SCTP protokoli
I TCP (Transmission Control Protocol) i SCTP (Stream Control Transmission Protocol) leže u transportnom sloju i pružaju transportne funkcije uglavnom u internet aplikacijama. TCP obezbeđuje pouzdan prenos podataka sa striktnim redosledom isporuke paketa, ali nekim aplikacijama je potreban pouzdan prenos, ali ne i 100% redosled isporuke paketa. U ovim slučajevima TCP može uzrokovati nepotrebno kašnjenje u drugoj opciji gdje je pouzdanost važna, ali ne i 100% sekvencijalna isporuka.
U transportu paketa postoje dva glavna ograničenja jedno je pouzdanost, a drugo je kašnjenje. Pouzdanost je zagarantovana isporuka paketa, a kašnjenje je pravovremena isporuka paketa. Oboje se ne može postići do vrhunca u isto vrijeme, ali se može optimizirati.
SCTP je razvijen u osnovi za transport PSTN signalizacije preko IP mreža. (SIGTRAN). Ali ovih dana i druge aplikacije smatraju da SCTP dobro odgovara njihovim zahtjevima.
TCP:
Definirano u RFC 793
TCP je orijentisan na vezu pouzdan protokol koji podržava garantovani prenos podataka. Od samog uspostavljanja veze TCP osigurava pouzdanost. Neke od glavnih karakteristika TCP-a su 3-smjerno rukovanje (SYN, SYN-ACK, ACK), detekcija grešaka, spori početak, kontrola toka, kontrola zagušenja.
TCP je pouzdan transportni mehanizam tako da će se koristiti tamo gdje je isporuka paketa neophodna čak iu zagušenjima. Tipičan primjer za TCP aplikacije i brojeve portova su FTP podaci (20), FTP kontrola (21), SSH (222), Telnet (23), Mail (25), DNS (53), HTTP(80), POP3 (110), SNMP(161) i HTTPS(443). Ovo su dobro poznate TCP aplikacije.
SCTP:
Definirano u RFC4960
SCTP (Stream Control Transmission Protocol) je IP transportni protokol kao što su TCP i UDP. SCTP je unicast protokol i podržana isporuka podataka s kraja na kraj unutar tačno dvije krajnje tačke. Ali krajnje tačke mogu imati više od jedne IP adrese.
SCTP je potpuni dupleks protokol za prijenos sa funkcijama kao što su reemitovanje, kontrola toka i održavanje sekvence.
Povrh TCP-a, SCTP ima više funkcija, a neke su navedene ispod
SCTP Multi-Streaming funkcija
SCTP omogućava da se podaci podijele u više tokova i svaki stream ima svoj vlastiti redoslijed isporuke. Uzmimo u obzir slučaj telefonske signalizacije, potrebno je održavati slijed paketa koji utječe na istu sesiju ili resurs. (Primjer: Isti poziv ili isti trank). Dakle, praćenje sekvence zasnovano na streamu je dovoljno i rezultiraće boljim performansama od jednog potpunog prijenosa.
SCTP multi homing
Ova funkcija podržava da jedna SCTP krajnja tačka ima više IP adresa. Glavni razlog za to je održavanje dostupnosti krajnje tačke putem nekoliko redundantnih rutnih putanja.
Odabir putanje
Održava se brojač za praćenje neuspješnih potvrda prijenosa na određeno odredište. Definiran je prag i ako to premaši odredišna adresa se deklarira kao neaktivna i SCTP počinje slati na alternativnu adresu.
Sažetak:
(1) TCP i SCTP podržavaju pouzdane transportne usluge.
(2) TCP podržava jedan tok isporuke podataka dok SCTP podržava više tokova isporuke podataka.
(3) TCP podržava jednu TCP krajnju tačku da ima jednu IP adresu, dok pošto SCTP podržava jednu SCTP krajnju tačku može imati više IP adresa uglavnom za redundantne svrhe.
(4) Radije TCP, SCTP je sigurniji.
(5) SCTP procesi iniciranja i gašenja se razlikuju od TCP-a.