TCP срещу SCTP протоколи
Както TCP (протокол за контрол на предаването), така и SCTP (протокол за предаване на потока) се намират в транспортния слой и осигуряват транспортни функции главно в интернет приложения. TCP осигурява надежден трансфер на данни при строг ред на доставка на пакетите, но някои приложения се нуждаят от надежден трансфер, но не и 100% последователност на доставка на пакетите. В тези случаи TCP може да причини ненужно забавяне във втория вариант, когато надеждността е важна, но не 100% последователна доставка.
При транспортирането на пакети има две основни ограничения, едната е надеждността, а другата е латентността. Надеждността е гарантирана доставка на пакета, а латентността е навременна доставка на пакета. И двете не могат да бъдат постигнати до върха си едновременно, но биха могли да бъдат оптимизирани.
SCTP е разработен основно за транспортиране на PSTN сигнализация през IP мрежи. (SIGTRAN). Но в наши дни други приложения също откриват, че SCTP е добро съответствие за техните изисквания.
TCP:
Определен в RFC 793
TCP е ориентиран към връзката надежден протокол за поддръжка на гарантирано предаване на данни. От самото установяване на връзка TCP гарантира надеждността. Някои от основните характеристики на TCP са трипосочно ръкостискане (SYN, SYN-ACK, ACK), откриване на грешки, бавен старт, контрол на потока, контрол на задръстванията.
TCP е надежден транспортен механизъм, така че ще се използва там, където доставката на пакети е задължителна, дори при задръствания. Типичен пример за TCP приложения и номера на портове са FTP данни (20), FTP контрол (21), SSH (222), Telnet (23), поща (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 позволява данните да бъдат разделени на множество потоци и всеки поток има своя собствена последователност на предаване. Обмислете случая на сигнализацията на телефонията, необходимо е да се поддържа последователността на пакетите, които засягат една и съща сесия или ресурс. (Например: Същият разговор или същият багажник). Така че проследяването на последователност на базата на потоци е достатъчно достатъчно и ще доведе до по-добра производителност от един пълен поток.
Тази функция поддържа за единична SCTP крайна точка да има множество IP адреси. Основната причина за това е запазването на наличността на крайната точка чрез няколко излишни маршрута за маршрутизиране.
Поддържа се брояч за следене на неуспешните потвърждения за предаване до определена дестинация. Определен е праг и ако този надвишава адреса на местоназначение се обявява за неактивен и SCTP започва да изпраща до алтернативен адрес.
Резюме:
(1) TCP и SCTP поддържат надеждни транспортни услуги.
(2) TCP поддържа единичен поток от данни, когато SCTP поддържа множество потоци от предаване на данни.
(3) TCP поддържа единична TCP крайна точка, за да има един IP адрес, където, тъй като SCTP поддържа единична крайна точка на SCTP, може да има множество IP адреси за главно съкращаване.
(4) По-скоро TCP, SCTP е по-сигурен.
(5) Процесите на стартиране и спиране на SCTP са различни от TCP.