Stream Control Transmission Protocol

protocollo di livello trasporto standardizzato dall'IETF nell'ottobre del 2000
Versione del 20 set 2005 alle 16:35 di 151.44.150.69 (discussione)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Stream Control Transmission Protocol

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. SCTP svolge le funzioni del livello 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.

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

  • Supporto al multi-homing, cioé la caratteristica di un personal computer di possedere diverse interfaccie 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 CRC a 32 bit.

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.

Implementazioni

SCTP è implementato nei seguenti sistemi operativi:

  • Linux kernel 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