Stream Control Transmission Protocol
Stream Control Transmission Protocol (SCTP) je protokol transportní vrstvy, který navrhla v roce 2000 pracovní skupina IETF Signaling Transport (SIGTRAN) zabývající přenosem telefonní signalizace (SS7) po IP. Odtud pochází požadavek na několik navzájem nezávislých kanálů, které jsou přepravovány paralelně. Právě tohle je zřejmě největší odlišností SCTP od stávajících transportních protokolů. Po navázání spojení, kterému se v terminologii SCTP říká asociace, po něm lze přenášet řadu navzájem nezávislých proudů (stream). V rámci každého z nich dokáže SCTP garantovat doručení všech dat ve správném pořadí. Případný výpadek (a pozdější opakování, čili zdržení) v některém z proudů se však nijak netýká proudů ostatních. Jejich komunikace pokračuje bez přerušení. Tento protokol je definován v RFC 2960, a úvodní text obstarává RFC 3286. SCTP je transportní protokol, mezi ně patří také TCP a UDP. Výhody SCTP:
- Multihoming – situace, kdy komunikující uzel má několik IP adres. Dostupné adresy si partneři vyměňují při vytvoření asociace a může se jednat o libovolnou směs IPv4 a IPv6 adres. Během komunikace je jedna z nich brána jako primární a na ni jsou odesílána data. Pro opakování však vybírá jinou a pokud má primární adresa častější problémy s dostupností, přejde odesilatel na jinou (je-li k dispozici). SCTP totiž monitoruje všechny cesty a udržuje si přehled o jejich stavu.
- Spolehlivý přenos řazených (sekvencovaných) i neřazených datagramů.
- Doručení dat v balících (chunks) pomocí proudů eliminuje blokování čela fronty, ke kterému dochází u TCP.
- Výběr a sledování cesty – je možné vybrat hlavní (primární) adresu a pokud má primární adresa častější problémy s dostupností, přejde odesilatel na jinou (je-li k dispozici).
- Ověřovací a potvrzovací mechanismy – SCTP komplikuje některé útoky směřující k nedostupnosti služeb (DoS). Zajišťuje ověření opakujících se a chybějících balíků.
Implementace
SCTP je implementován do následujících operačních systémů:
- Linux kernel 2.4/2.6
- Sun Solaris s externím patchem KAME
- QNX Neutrino OS
- AIX Verze 5
- FreeBSD Verze 7.x, 8.x
Implementace pro další operační systémy je dostupná od třetích stran:
- macOS, OS X, Mac OS X atd.: instalátor s SCTP jaderným síťovým rozšířením sctp.fh-muenster.de/sctp-nke.html
RFC
- RFC 4960 Stream Control Transmission Protocol
- RFC 3873 Stream Control Transmission Protocol (SCTP) Management Information Base (MIB)
- RFC 3758 Stream Control Transmission Protocol (SCTP) Partial Reliability Extension
- RFC 3554 On the Use of Stream Control Transmission Protocol (SCTP) with IPsec
- RFC 3436 Transport Layer Security over Stream Control Transmission Protocol
- RFC 3309 Stream Control Transmission Protocol (SCTP) Checksum Change
- RFC 3286 An Introduction to the Stream Control Transmission Protocol
- RFC 3257 Stream Control Transmission Protocol Applicability Statement
- RFC 2960 Stream Control Transmission Protocol
Externí odkazy
- http://www.sigtran.org
- https://web.archive.org/web/20050515080345/http://www.ietf.org/html.charters/sigtran-charter.html
- https://web.archive.org/web/20060206201712/http://www.openss7.org/
- http://www.sctp.de
- http://sourceforge.net/projects/lksctp/
- The Linux Kernel Stream Control Transmission Protocol (lksctp) project
Související články
- TCP/IP
- Signalizační systém č. 7
- SIGTRAN
- Struktura SCTP paketu