SCTP (protokół transmisji kontroli strumienia) działa poprzez dostarczanie niezawodnych usług transportowych zorientowanych na komunikaty pomiędzy dwoma punktami końcowymi w sieci. Oto jak działa SCTP:
SCTP ustanawia i utrzymuje powiązania między punktami końcowymi, podobnie jak połączenia TCP. Obsługuje komunikację zarówno unicast, jak i multicast. SCTP dzieli dane na wiadomości, każda z własnym numerem sekwencyjnym umożliwiającym śledzenie i zmianę kolejności u odbiorcy. Dzięki temu SCTP może niezależnie obsługiwać strumienie danych, zapewniając jednocześnie niezawodne dostarczanie w odpowiedniej kolejności. SCTP obsługuje także multi-homing, w którym każdy punkt końcowy może być powiązany z wieloma adresami IP, zapewniając odporność na awarie sieci.
Mechanizm pulsu SCTP służy do sprawdzania stanu i dostępności powiązania SCTP między dwoma punktami końcowymi. Heartbeats to małe komunikaty kontrolne wymieniane okresowo między punktami końcowymi SCTP w celu potwierdzenia, że połączenie jest nadal aktywne. Jeśli jeden punkt końcowy przestanie odbierać pulsy od drugiego, może zainicjować procedury odzyskiwania w celu ponownego ustanowienia powiązania lub bezpiecznego poradzenia sobie z awarią.
SCTP kontroluje przeciążenia przy użyciu kilku mechanizmów podobnych do protokołu TCP. Obejmuje algorytmy kontroli zatorów, takie jak powolny start, unikanie zatorów, szybka retransmisja i szybkie odzyskiwanie. SCTP dostosowuje szybkość transmisji w oparciu o warunki sieciowe i informacje zwrotne z odbierającego punktu końcowego, mając na celu utrzymanie wydajnego przesyłu danych bez powodowania przeciążenia sieci lub utraty pakietów.
Komunikacja między procesami w SCTP obejmuje aplikacje komunikujące się bezpośrednio przy użyciu gniazd SCTP. SCTP umożliwia wiele strumieni danych w ramach jednego powiązania, umożliwiając aplikacjom niezależne i wydajne wysyłanie i odbieranie wiadomości. Każda wiadomość jest dostarczana niezawodnie i sekwencyjnie, zapewniając, że aplikacja odbierająca otrzyma dane dokładnie takie, jakie wysłała aplikacja wysyłająca.
SCTP nie używa wyłącznie protokołu TCP ani UDP. Zamiast tego SCTP jest oddzielnym protokołem warstwy transportowej, który zapewnia funkcje zarówno TCP (niezawodność, kontrola zatorów), jak i UDP (zorientowanie na komunikaty, obsługa wielu strumieni). Działa niezależnie i jest identyfikowany poprzez własny numer protokołu (132) w zestawie protokołów IP. SCTP został zaprojektowany, aby zapewnić lepszą niezawodność, wydajność i elastyczność dla aplikacji wymagających niezawodnej transmisji danych i mechanizmów kontroli zatorów.