TCP vs. SCTP protokoly
Jak TCP (Transmission Control Protocol), tak SCTP (Stream Control Transmission Protocol) leží v transportní vrstvě a zajišťují přenosové funkce především v internetových aplikacích. TCP poskytuje spolehlivý přenos dat s přísným pořadím doručení paketů, ale některé aplikace potřebují spolehlivý přenos, ale ne 100% posloupnost doručení paketů. V těchto případech může TCP způsobit zbytečné zpoždění u druhé možnosti, kde je důležitá spolehlivost, ale ne 100% sekvenční doručení.
Při přepravě paketů existují dvě hlavní omezení, jedním je spolehlivost a druhým je latence. Spolehlivost je zaručena doručením paketu a latence je včasné doručení paketu. Obojí nelze dosáhnout vrcholu současně, ale lze je optimalizovat.
SCTP je v podstatě vyvinut pro přenos signalizace PSTN přes IP sítě. (SIGTRAN). V dnešní době však i jiné aplikace zjišťují, že SCTP vyhovuje jejich požadavkům.
TCP:
Definováno v RFC 793
TCP je spolehlivý end-to-end protokol zaměřený na spojení, který podporuje garantovaný přenos dat. Od samotného navázání spojení TCP zajišťuje spolehlivost. Některé z hlavních funkcí TCP jsou 3-cestné handshake (SYN, SYN-ACK, ACK), detekce chyb, pomalý start, řízení toku, řízení přetížení.
TCP je spolehlivý transportní mechanismus, takže bude použit tam, kde je doručování paketů nutností i při přetížení. Typickým příkladem pro TCP aplikace a čísla portů jsou FTP data (20), FTP Control (21), SSH (222), Telnet (23), Mail (25), DNS (53), HTTP (80), POP3 (110), SNMP(161) a HTTPS(443). Toto jsou dobře známé aplikace TCP.
SCTP:
Definováno v RFC4960
SCTP (Stream Control Transmission Protocol) je přenosový protokol IP, jako je TCP a UDP. SCTP je protokol unicast a podporuje end-to-end doručování dat v rámci přesně dvou koncových bodů. Koncové body však mohou mít více než jednu IP adresu.
SCTP je plně duplexní přenosový protokol s funkcemi, jako je opakované vysílání, řízení toku a údržba sekvence.
Kromě TCP má SCTP více funkcí a některé jsou uvedeny níže
Funkce vícenásobného streamování SCTP
SCTP umožňuje rozdělit data do více streamů a každý stream má svou vlastní sekvenci doručení. Vezměme si případ telefonní signalizace, je nutné zachovat sekvenci paketů, které ovlivňují stejnou relaci nebo zdroj. (Příklad: Stejný hovor nebo stejná linka). Sledování sekvence založené na streamu je tedy dostatečně dostatečné a povede k lepšímu výkonu než jedno úplné streamování.
SCTP více nájezdů
Tato funkce podporuje, aby jeden koncový bod SCTP měl více IP adres. Hlavním důvodem je zachování dostupnosti koncového bodu prostřednictvím několika redundantních směrovacích cest.
Výběr cesty
Je udržováno počítadlo pro sledování neúspěšných potvrzení přenosu do konkrétního cíle. Je definována prahová hodnota a pokud tato překročí cílovou adresu, je prohlášena za neaktivní a SCTP začne odesílat na alternativní adresu.
Shrnutí:
(1) TCP i SCTP podporují spolehlivé transportní služby.
(2) TCP podporuje jeden tok doručování dat, zatímco SCTP podporuje doručování více toků dat.
(3) TCP podporuje jeden koncový bod TCP, aby měl jednu IP adresu, zatímco SCTP podporuje jeden koncový bod SCTP může mít více IP adres hlavně pro účely redundance.
(4) Spíše TCP, SCTP je bezpečnější.
(5) Procesy spouštění a vypínání SCTP se liší od TCP.