Protokół transmisji sterowania strumieniem

SCTP (Stream Control Transmission Protocol)
Rodzina: Rodzina protokołów internetowych
Obszar działania: Niezawodny, zorientowany połączeniowo protokół transportowy
SCTP w stosie protokołów TCP / IP :
podanie Protokół przesyłania strumieniowego
transport SCTP
Internet IP ( IPv4 , IPv6 )
Dostęp do sieci Ethernet
Magistrala żetonowa
Token
ring
FDDI ...
Normy:

Stream Transmission Control Protocol ( SCTP ) to niezawodny , zorientowana na połączenie protokół sieciowy . Należy do warstwy transportowej i opiera się na potencjalnie zawodnej, bezpołączeniowej usłudze kurierskiej .

Cechy i funkcje

Został zaproponowany jako nowy protokół transportowy przez Internet Engineering Task Force (IETF) i opublikowany w standardowym dokumencie RFC 2960 w październiku 2000 r. I zastąpiony przez RFC 4960 we wrześniu 2007 r . Wprowadzenie można znaleźć w dokumencie RFC 3286 . Odpowiedzialnym organem w IETF jest grupa robocza ds . Transportu sygnalizacyjnego lub w skrócie SIGTRAN .

Jako protokół transportowy, SCTP znajduje się na tym samym poziomie modelu odniesienia TCP / IP, co TCP i UDP ( warstwa 4 modelu OSI ).

SCTP implementuje koncepcję asocjacji : tutaj jest ustanawiane połączenie, w którym kilka strumieni danych komunikatów jest transportowanych z zachowaniem sekwencji (między sobą, ale potencjalnie nie z zachowaniem sekwencji). Ponadto indywidualne, na przykład pilne, datagramy mogą być wysyłane oddzielnie i poza kolejnością, co może „wyprzedzać” strumienie danych w kolejności.

SCTP zna również multistreaming i multihoming (jeden host z kilkoma prawidłowymi adresami IP ). Istnieją pulsy używane do aktywnego testowania rozbiórki połączenia.

W przeciwieństwie do TCP, SCTP jest odporny na zalewanie SYN , atak typu „odmowa usługi”, w którym półotwarte połączenia zużywają zasoby serwera. W tym celu używa tak zwanego czterokierunkowego uzgadniania . W takim przypadku serwer nie zapisuje żadnych informacji o statusie w przypadku żądania połączenia (pakiet INIT), ale wysyła je do klienta w postaci ciasteczka (pakiet INIT-ACK). Klient musi wstawić ten plik cookie w swojej odpowiedzi (pakiet COOKIE-ECHO) i jest rozpoznawany przez serwer jako upoważniony do nawiązania połączenia, co serwer potwierdza (pakiet COOKIE-ACK). Podobna procedura jest również możliwa w przypadku protokołu TCP, patrz Pliki cookie SYN .

Pierwotnie SCTP został zdefiniowany jako protokół transportowy, aby móc przesyłać komunikaty sygnalizacyjne ( SS7 ) z sieci telefonicznych za pośrednictwem sieci IP . Wiarygodność protokołu była szczególnie ważna podczas opracowywania. SCTP nadaje się również do innych aplikacji, ponieważ łączy w sobie zalety TCP i UDP. Ważną aplikacją opartą na SCTP jest Reliable Server Pooling (RSerPool).

SCTP używa algorytmów podobnych do TCP do kontroli przepływu i przeciążenia , więc zachowuje się neutralnie w sieci mieszanej (SCTP i TCP).

Język programowania Java oferuje własny interfejs programowania (API) dla SCTP od wersji 7 .

Specyfikacje

  • RFC 2960 Stream Transmission Control Protocol (2000)
  • RFC 4960 Stream Transmission Control Protocol (2007)
  • RFC 6951 - enkapsulacja protokołu transmisji sterowania strumieniem UDP (2013)

linki internetowe

Indywidualne dowody

  1. http://tdrwww.exp-math.uni-essen.de/inhalt/forschung/atm2000.pdf ( Memento z 21 marca 2003 w archiwum internetowym ) , PDF
  2. http://www.oracle.com/technetwork/java/javamail/index-139946.html