Protokoly TCP vs SCTP
TCP (Transmission Control Protocol) aj SCTP (Stream Control Transmission Protocol) ležia v transportnej vrstve a poskytujú transportné funkcie hlavne v internetových aplikáciách. TCP poskytuje spoľahlivý prenos dát s prísnym poradím doručenia paketov, ale niektoré aplikácie potrebujú spoľahlivý prenos, ale nie 100% postupnosť doručenia paketov. V týchto prípadoch môže TCP spôsobiť zbytočné oneskorenie v druhej možnosti, kde je dôležitá spoľahlivosť, ale nie 100% sekvenčné doručenie.
Pri preprave paketov existujú dve hlavné obmedzenia, jedna je spoľahlivosť a druhá je latencia. Spoľahlivosť je zaručená doručením paketu a latencia je včasná dodávka paketu. Nemožno dosiahnuť, aby vrchol dosiahli súčasne, ale dali by sa optimalizovať.
SCTP je vyvinutý v zásade na prenos signalizácie PSTN cez siete IP. (SIGTRAN). Ale v dnešnej dobe iné aplikácie tiež zisťujú, že SCTP je dobrým riešením pre ich požiadavky.
TCP:
Definované v RFC 793
TCP je spoľahlivý protokol orientovaný na pripojenie, ktorý podporuje zaručený prenos dát. Spoľahlivosť zaisťuje TCP už od samotného nadviazania spojenia. Niektoré z hlavných funkcií protokolu TCP sú 3-cestné podanie ruky (SYN, SYN-ACK, ACK), detekcia chýb, pomalý štart, kontrola toku, kontrola preťaženia.
TCP je spoľahlivý transportný mechanizmus, takže sa bude používať tam, kde je doručovanie paketov nevyhnutnosťou aj v prípade preťaženia. Typickým príkladom aplikácií TCP a čísel portov sú údaje FTP (20), FTP Control (21), SSH (222), Telnet (23), Mail (25), DNS (53), HTTP (80), POP3 (110), SNMP (161) a HTTPS (443). Toto sú dobre známe aplikácie TCP.
SCTP:
Definované v RFC4960
SCTP (Stream Control Transmission Protocol) je prenosový protokol IP, ako sú TCP a UDP. SCTP je protokol jednosmerového vysielania a podporuje doručenie údajov typu end-to-end presne v dvoch koncových bodoch. Koncové body však môžu mať viac ako jednu adresu IP.
SCTP je plne duplexný prenosový protokol s funkciami ako retransmisia, riadenie toku a údržba sekvencií.
Okrem protokolu TCP má SCTP ďalšie funkcie a niektoré sú uvedené nižšie
Funkcia viacerých streamov SCTP
SCTP umožňuje rozdelenie údajov do viacerých prúdov a každý prúd má svoju vlastnú postupnosť doručovania. Zvážte prípad telefónnej signalizácie, je potrebné zachovať postupnosť paketov, ktorá ovplyvňuje tú istú reláciu alebo zdroj. (Príklad: Rovnaký hovor alebo rovnaký telefónny hovor). Sledovanie sekvencie založené na streame je teda dostatočne dostatočné a bude mať lepší výkon ako jedno úplné streamovanie.
Viacnásobné navádzanie pomocou SCTP
Táto funkcia podporuje, aby jeden koncový bod SCTP mal viac adries IP. Hlavným dôvodom je udržanie dostupnosti koncového bodu prostredníctvom niekoľkých redundantných smerovacích ciest.
Výber cesty
Udržuje sa počítadlo na sledovanie neúspešných potvrdení o prenose do konkrétneho cieľa. Je definovaná prahová hodnota, a ak prekročí cieľovú adresu, je deklarovaná ako neaktívna a SCTP začne odosielať na alternatívnu adresu.
Zhrnutie:
(1) TCP aj SCTP podporujú spoľahlivé dopravné služby.
(2) TCP podporuje jeden prúd dodávania údajov, zatiaľ čo SCTP podporuje viac prúdov dodávania údajov.
(3) TCP podporuje jeden koncový bod TCP, aby mal jednu adresu IP, zatiaľ čo SCTP podporuje jeden koncový bod SCTP, môže mať viac adries IP, a to hlavne na účely redundancie.
(4) Skôr TCP, SCTP je bezpečnejšia.
(5) Procesy inicializácie a vypínania SCTP sa líšia od protokolu TCP.