Różnica między protokołami TCP i SCTP

Protokoły TCP a SCTP

Zarówno TCP (Transmission Control Protocol), jak i SCTP (Stream Control Transmission Protocol) leżą w warstwie transportowej i zapewniają funkcje transportowe głównie w aplikacjach internetowych. TCP zapewnia niezawodny transfer danych przy ścisłej kolejności dostarczania pakietów, ale niektóre aplikacje wymagają niezawodnego przesyłania, ale nie 100% sekwencji dostarczania pakietów. W takich przypadkach protokół TCP może powodować niepotrzebne opóźnienie w drugiej opcji, w której ważna jest niezawodność, ale nie 100% sekwencyjne dostarczanie.

W transporcie pakietów występują dwa główne ograniczenia, jeden to niezawodność, a drugi opóźnienie. Niezawodność jest gwarantowana podczas dostarczania pakietu, a opóźnienie jest dostarczane w odpowiednim czasie. Oba nie można osiągnąć szczytowo w tym samym czasie, ale można je zoptymalizować.

SCTP jest opracowany zasadniczo do transportu sygnalizacji PSTN przez sieci IP. (SIGTRAN). Ale w dzisiejszych czasach inne aplikacje również uważają, że SCTP jest dobrym rozwiązaniem dla ich wymagań.

TCP:

Zdefiniowane w RFC 793

TCP jest zorientowanym na połączenie niezawodnym protokołem obsługującym gwarantowaną transmisję danych. Od samego ustanowienia połączenia TCP zapewnia niezawodność. Niektóre z głównych funkcji TCP to uzgadnianie w 3 kierunkach (SYN, SYN-ACK, ACK), wykrywanie błędów, powolny start, kontrola przepływu, kontrola przeciążenia.

TCP jest niezawodnym mechanizmem transportowym, więc będzie używany tam, gdzie dostarczanie pakietów jest koniecznością, nawet w zatorach. Typowym przykładem aplikacji TCP i numerów portów są dane FTP (20), Kontrola FTP (21), SSH (222), Telnet (23), Poczta (25), DNS (53), HTTP (80), POP3 (110) , SNMP (161) i HTTPS (443). Są to dobrze znane aplikacje TCP.

SCTP:

Zdefiniowane w RFC4960

SCTP (Stream Control Transmission Protocol) to protokół transportowy IP, taki jak TCP i UDP. SCTP to protokół emisji pojedynczej i obsługiwane dostarczanie danych od końca do końca w dokładnie dwóch punktach końcowych. Ale punkty końcowe mogą mieć więcej niż jeden adres IP.

SCTP to protokół transmisji w pełnym dupleksie z funkcjami takimi jak retransmisja, kontrola przepływu i utrzymanie sekwencji.

Oprócz protokołu TCP SCTP ma więcej funkcji, a niektóre z nich wymieniono poniżej

  • Funkcja wielu strumieni SCTP

SCTP pozwala na podział danych na wiele strumieni, a każdy strumień ma własną sekwencję dostarczania. Rozważmy przypadek sygnalizacji telefonicznej, konieczne jest utrzymanie sekwencji pakietów wpływających na tę samą sesję lub zasób. (Np .: To samo połączenie lub ten sam łącznik). Tak więc śledzenie sekwencji na podstawie strumienia jest wystarczające i zapewni lepszą wydajność niż jedno pełne przesyłanie strumieniowe.

  • SCING multi-homing

Ta funkcja obsługuje pojedynczy punkt końcowy SCTP, który ma wiele adresów IP. Głównym tego powodem jest utrzymanie dostępności punktu końcowego poprzez kilka nadmiarowych ścieżek routingu.

  • Wybór ścieżki

Utrzymywany jest licznik, aby śledzić nieudane potwierdzenia transmisji do określonego miejsca docelowego. Zdefiniowano próg, a jeśli go przekroczy, adres docelowy zostanie zadeklarowany jako nieaktywny, a SCTP rozpocznie wysyłanie na adres alternatywny.

Streszczenie:

(1) Zarówno TCP, jak i SCTP obsługują niezawodne usługi transportowe.
(2) TCP obsługuje pojedynczy strumień dostarczania danych, podczas gdy SCTP obsługuje wiele strumieni dostarczania danych.
(3) TCP obsługuje pojedynczy punkt końcowy TCP, aby mieć jeden adres IP, ponieważ ponieważ SCTP obsługuje pojedynczy punkt końcowy SCTP, może mieć wiele adresów IP głównie w celu redundancji.
(4) Raczej TCP, SCTP jest bardziej bezpieczny.
(5) Procesy inicjowania i zamykania SCTP różnią się od TCP.