Stream Control Transmission Protocol
# Stream Control Transmission Protocol

In informatica e telecomunicazioni lo Stream Control Transmission Protocol (SCTP) è un protocollo di livello trasporto standardizzato dall'IETF nell'ottobre del 2000. Il protocollo è definito nell'RFC 2960 mentre l'RFC 3286 ne fornisce una introduzione generale.

## Caratteristiche

SCTP svolge le funzioni del livello di trasporto (come TCP o UDP) appoggiandosi su un servizio di rete a pacchetto come IP. SCTP è un protocollo unicast in grado di fornire un servizio simile a quello offerto da TCP, effettuando la consegna ordinata ed affidabile dei dati. I controlli di flusso e congestione sono eseguiti nello stile di TCP, rendendo SCTP un protocollo TCP-friendly. Diversamente da TCP il flusso di informazioni non consiste in un unico bitstream, ma in una sequenza di messaggi utente frammentati in DATA chunk.

SCTP nasce con l'obiettivo di fornire uno strumento efficace per trasportare informazioni di segnalazione su reti IP ma può essere utilizzato anche per applicazioni diverse.

### Vantaggi

I principali benefici che derivano dall'uso di SCTP sono:

* Supporto al multi-homing, cioè la caratteristica di un personal computer di possedere diverse interfacce di rete. Quando uno o entrambi gli endpoint possiedono diversi indirizzi IP, ogni host stabilisce un indirizzo primario verso cui inviare i dati. Verso un secondo indirizzo vengono inviati i DATA chunk ritrasmessi mentre tutti i restanti indirizzi sono utilizzati per scopi di ridondanza.
* La consegna dei dati avviene attraverso stream indipendenti in maniera tale da evitare inutili problemi di head-of-line blocking. All'interno di ciascuno stream la sequenza può essere mantenuta oppure no.
* Un meccanismo di creazione dell'associazione SCTP basato su una four-way handshake, cioè con lo scambio di quattro pacchetti. Questo meccanismo permette al protocollo di essere invulnerabile agli attacchi di flooding.
* Una maggior resistenza agli errori grazie all'algoritmo di correzione cyclic redundancy check (CRC) a 32 bit.

## Implementazioni

SCTP è implementato nei seguenti sistemi operativi:

* kernel Linux 2.4/2.6
* Sun Solaris 10
* BSD con una patch del progetto KAME
* Sistema operativo Neutrino Realtime

## RFC

* 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
