TCP vs SCTP
TCP (Transmission Control Protocol) istnieje już od dłuższego czasu i dostarczył nam protokół do przenoszenia danych z jednego punktu do drugiego w naszych sieciach komputerowych. Pomimo sukcesu TCP ma także wiele ograniczeń. SCTP (Stream Control Transmission Protocol) robi wszystko, co robi TCP, jednocześnie dodając nowe funkcje, których TCP nie ma.
Pierwszą funkcją, którą SCTP dodaje do miksu, jest funkcja homing. Multi-homing pozwala dwóm punktom końcowym połączenia deklarować wiele interfejsów (adresów IP). Zapewnienie i alternatywną trasę dla danych na wypadek, gdyby z jakiegoś powodu nie działał bieżący używany interfejs. Transfer z jednego interfejsu do drugiego jest płynny; dlatego połączenie nie zostanie przerwane.
Drugą funkcją jest wielostrumieniowość. Zamiast używać pojedynczego strumienia danych, SCTP może tworzyć wiele strumieni, z których można korzystać niezależnie. To tak naprawdę nie poprawia prędkości nośnika, ale pozwala na równoczesne dostarczanie danych; minimalizując czas oczekiwania na pełne załadowanie stron. Ta funkcja zapobiega także blokowaniu pakietów kontrolnych przez pakiety danych, jak to zwykle dzieje się w TCP; poprawiając tym samym kontrolę danych.
TCP jest bardzo podatny na ataki typu „odmowa usługi”, które blokują zasoby serwera i uniemożliwiają innym korzystanie z niego. Zamiast trójstronnej inicjacji uzgadniania TCP, SCTP używa czterokierunkowej uzgadniania, która przydziela zasoby pod koniec całego uzgadniania. Z tego powodu SCTP nie są podatne na ataki DoS.
Dane w TCP są dostarczane w pakietach. Pakiety mają określony rozmiar i długi strumień byłby podzielony, aby pasował, podczas gdy krótkie były łączone ze sobą. Oznacza to, że ramka wiadomości musi być zapewniona w warstwie aplikacji, aby w pełni zidentyfikować osobne wiadomości. SCTP implementuje ramkowanie wiadomości i każda wiadomość zawsze będzie miała ten sam rozmiar, kiedy wyjdzie w momencie jej dostarczenia.
Wreszcie SCTP uczyniła zamówienie dostawy nieobowiązkowym. W wielu przypadkach konieczne jest zamówienie dostawy. Dlatego jest to obowiązkowe w TCP. Ale w niektórych przypadkach, gdy zamówienie nie jest potrzebne, zasoby można zwolnić, wyłączając tę funkcję. SCTP zapewnia elastyczność dopasowaną do każdej sytuacji z opcjonalną zamówioną dostawą.
SCTP jest pod wieloma względami lepszy od TCP. Ale ze względu na nasze długotrwałe korzystanie z TCP, przejście do wersji wyższej jest dość trudne. Niemniej jednak zalety SCTP stopniowo przyciągałyby uwagę i użytkowników.
Streszczenie:
1. SCTP jest lepszy w obsłudze wielu baz danych niż TCP
2. SCTP ma wiele strumieniowania, podczas gdy TCP nie
3. SCTP ma ochronę inicjującą, podczas gdy TCP nie
4. SCTP ma ramkowanie wiadomości, podczas gdy TCP nie
5. Dostawa zamówiona jest opcjonalna z SCTP, ale nie z TCP