TCP срещу SCTP протоколи
Както TCP (Протокол за контрол на предаването), така и SCTP (Протокол за предаване на контрол на потока) се намират в транспортния слой и осигуряват транспортни функции главно в интернет приложения. TCP осигурява надежден трансфер на данни със строг ред на доставка на пакетите, но някои приложения се нуждаят от надежден трансфер, но не и 100% последователност на доставка на пакети. В тези случаи TCP може да причини ненужно забавяне във втората опция, където надеждността е важна, но не и 100% последователна доставка.
При транспортирането на пакети има две основни ограничения, едното е надеждността, а другото е латентността. Надеждността е гарантирана доставка на пакета, а забавянето е навременното доставяне на пакета. И двете не могат да бъдат достигнати до връх по едно и също време, но могат да бъдат оптимизирани.
SCTP е разработен основно за транспортиране на PSTN сигнализиране през IP мрежи. (SIGTRAN). Но в наши дни други приложения също намират, че SCTP е подходящ за техните изисквания.
TCP:
Дефинирано в RFC 793
TCP е ориентиран към връзката надежден протокол от край до край за поддържане на гарантирано предаване на данни. От самото установяване на връзка TCP гарантира надеждността. Някои от основните характеристики на TCP са 3-посочно ръкостискане (SYN, SYN-ACK, ACK), откриване на грешки, бавен старт, контрол на потока, контрол на задръстванията.
TCP е надежден транспортен механизъм, така че ще се използва там, където доставката на пакети е задължителна дори при задръствания. Типичен пример за TCP приложения и номера на портове са FTP данни (20), FTP Control (21), SSH (222), Telnet (23), Mail (25), DNS (53), HTTP(80), POP3(110), SNMP(161) и HTTPS(443). Това са добре известни TCP приложения.
SCTP:
Дефинирано в RFC4960
SCTP (Stream Control Transmission Protocol) е IP транспортен протокол като TCP и UDP. SCTP е unicast протокол и поддържа доставка на данни от край до край в точно две крайни точки. Но крайните точки може да имат повече от един IP адрес.
SCTP е пълен дуплексен протокол за предаване с функции като повторно предаване, контрол на потока и поддръжка на последователност.
В допълнение към TCP, SCTP има повече функции и някои са изброени по-долу
SCTP Multi-Streaming функция
SCTP позволява данните да бъдат разделени на множество потоци и всеки поток има своя собствена последователност на доставка. Помислете за случая на телефонно сигнализиране, необходимо е да поддържате последователността от пакети, които засягат една и съща сесия или ресурс. (Напр.: Същото повикване или същата връзка). Така че проследяването на последователност на базата на поток е достатъчно и ще доведе до по-добра производителност от един пълен стрийминг.
SCTP мултинасочване
Тази функция поддържа една SCTP крайна точка да има множество IP адреси. Основната причина за това е да се поддържа наличността на крайната точка чрез няколко излишни маршрута.
Избор на път
Поддържа се брояч, за да следи неуспешните потвърждения за предаване към определена дестинация. Има дефиниран праг и ако той надвиши, адресът на местоназначение се декларира като неактивен и SCTP започва да изпраща до алтернативен адрес.
Резюме:
(1) TCP и SCTP поддържат надеждни транспортни услуги.
(2) TCP поддържа единичен поток за доставка на данни, докато SCTP поддържа множество потоци за доставка на данни.
(3) TCP поддържа единична TCP крайна точка, за да има един IP адрес, където, тъй като SCTP поддържа една SCTP крайна точка, може да има множество IP адреси главно за целите на резервирането.
(4) По-скоро TCP, SCTP е по-сигурен.
(5) Процесите на стартиране и изключване на SCTP са различни от TCP.