Ultimo aggiornamento: Aprile 2003.

Livello IV - Lo Strato Trasporto


1. Introduzione

Lo strato trasporto OSI si basa su cinque protocolli, di cui quattro operanti su un livello 3 connesso ed uno su livello 3 sia connesso ne non. Quest'ultimo è molto simile al protocollo TCP della suite TCP/IP. I due protocolli più utilizzati dagli applicativi a questo livello sono il TCP e l'UDP. Il protocollo TCP crea un cosidetto circuito virtuale tra i due ES (è un tipo di comunicazione Host-to-Host).
Il compito di questo livello è sostanzialmente quello di nascondere la complessità di tutto ciò che deve essere realizzato e contrattato con i livelli sottostanti alla applicazioni dei livelli superiori come Telnet, FTP, etc. Questo è un livello dove è più chiara la corrispondenza (1:1) tra modello OSI e le suite commercializzate a partire dalla rete DARPA (TCP/IP).

L'imbustamento di livello 4 porta alla creazione di una struttura dati chiamata segmento, con una forma diversa secondo il tipo di protocollo utilizzato, TCP oppure UDP. Queste modalità di trasmissione a livello 4 sono utilizzabili ormai da chiunque voglia scrivere un programma che comunichi via rete tramite degli oggetti chiamati Socket, disponibili in tutti i linguaggi di programmazione. La comunicazione a questo livello necessita di una informazione relativa sia all'applicazione mittente che a quella destinataria, identificata in una cosidetta porta. Una applicazione può avere associata una o più porte, per ciascuna comunicazione di livello 4 che vuol gestire contemporaneamente. L'uso del livello 4 tramite Socket è di fatto obbligatorio.
Torna a inizio pagina

2. TCP e UDP


Transmission Control Protocol (TCP):
Il TCP è un protocollo di tipo connection-oriented che fornisce un servizio full-duplex (possibilità di trasmettere e ricevere contemporaneamente), con conferma (acknowledge) e controllo di flusso tramite windows (finestre). Il TCP viene utilizzato quindi per comunicazioni affidabili.
Inoltre le informazioni ricevute dal livello superiore vengono imbustate in segmenti e un messagio di livello superiore può essere suddiviso in più segmenti o addirittura riassemblato, prima di una trasmissione.
TCP utilizza un protocollo di trasmissione di tipo sliding window, con meccanismi di time-out e ritrasmissione. Queste finestre dimensionano, in bytes, un'area di memoria che immagazzina i pacchetti in ricezione e viene concordata al momento della instaurazione della comunicazione, ma può essere modificata durante la stessa se richiesto dal ricevente (se non riesce a spedire gli ACK entro il time-out). Una sliding window di dimensione 1 corrisponde ad un metodo "Simple ACK": viene confermata la ricezione di ogni byte spedito. Ogni ACK contiene il valore della prossima sequenza che si aspetta di ricevere. In genere la finestra può contenere un multiplo della dimensione di segmento e il numero di sequenza corrisponde col numero di segmento spedito.
TCP usa un metodo di inizializzazione della connessione chiamato 3-way handshake che sincronizza i numeri di sequenza iniziale dei due trasmittenti (con dimensione iniziale della finestra pari a 1).
Segue una scheda descrittiva di un segmento TCP:

User Datagram Protocol (UDP):
UDP è un protocollo di trasporto alternativo a TCP e di tipo connectionless (non connesso). Ovviamente è meno complesso di TCP ed è utilizzato quando l'affidabilità e le funzionalità di riordino dei pacchetti ricevuti (incluse nei protocolli orientati alla connessione) non sono richieste. Utilizzando UDP qualche segmento può quindi arrivare corretamente o no (il checksum opzionale non è utilizzato), nell'ordine sbagliato o non arrivare affatto.
Segue una scheda descrittiva di un segmento UDP:

Torna a inizio pagina
Livello IV: