Stream Control Transmission Protocol
Stream Control Transmission Protocol (SCTP)je transportní vrstva, kterou navrhla v roce 2000pracovní 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ří 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.
· Doručení dat v balících (chunks) pomocí proudů eliminuje nechtěné chybějící bloky dat, jako je tomu v případě TCP.
· Výběr a sledování cesty - Můžete si 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:
· Mac OS X: instalátor s SCTP jaderným síťovým rozšířením sctp.fh-muenster.de/sctp-nke.html