Il modello TCP/IP
(a cura del Dott. Greg)

Il TCP/IP è una sigla che indica propriamente i due protocolli principali di Internet, progetati nel 1974 da Robert E. Kahn e Vinton G. Cerf a Berkeley e da primo gennaio 1983 adottati come unico protocollo ufficiale di Internet. La sigla si riferisce più in generale ad una famiglia di protocolli che specificano i vari aspetti funzionali di Internet, quali posta elettronica, emulazione terminale, trasferimento file, sessioni di comunicazione, trasporto dei pacchetti e accesso del mezzo. Sono impiegati per lo più in ambiente UNIX e operano agli strati 3 e 4  del modello di riferimento OSI. Vediamo ora su cosa si basa il modello TCP/IP. Il modello a strati TCP/IP si basa su una rete a quattro strati:

Strato di Applicazione (4)

Strato di Trasporto (3)

Strato di Internet (2)

Strato di Rete (1)

Dettaglio degli Strati
 

Strato di Rete (1)

Lo strato di rete immette sulla rete i frame in partenza e raccoglie quelli in arrivo. Prima di immettere sulla rete i frame, aggiunge ad essi una testata ed un controllo ciclico di ridondanza (CRC) per assicurare che i dati non siano corrotti durante il trasferimento.

 

Strato della Internet (2)

Lo strato Internet svolge tre funzioni principali:
- Indirizzamento
- Suddivisione in pacchetti
- Instradamento
In questo strato risiede l’IP che offre la consegna di informazioni senza connessione e non garantita.



Strato della Trasporto (3)

Lo strato del trasporto fornisce una comunicazione tra host utilizzando i cosiddetti indirizzi di porta (port address), i quali sono dei numeri che identificano la locazione di un programma applicativo in esecuzione su un computer host di Internet..
In questo strato si trovano i due protocolli:
- TCP (Transmission Control Protocol)
- UPD (User Datagram Protocol)
Il cui compito è proprio quello di trasportare dati.

 

Strato dell’Applicazione (4)

Nello strato delle applicazioni si trovano infine le applicazioni che si basano sulla rete. Applicazioni di questo tipo sono le applicazioni Winsock dell’ambiente Windows quali FTP e Telnet.

Internet
Come sappiamo il protocollo IP non svolge alcun tipo di controllo per assicurarsi del buon esito dei trasferimento dei dati, di conseguenza i pacchetti possono andare perduti o non arrivare in sequenza. Il suo ruolo infatti è quello di aggiungere a ciascun pacchetto una intestazione contenente una serie di informazioni per poter effettuare il corretto instradamento dei dati. Ma quali sono queste informazioni?
Le informazioni presenti nell’intestazione dei pacchetti sono:

L’indirizzo IP dell’origine: è l’indirizzo IP assegnato al mittente;
L’indirizzo IP del destinatario: è l’indirizzo IP assegnato al destinatario;
Il protocollo di trasporto (TCP o UDP): serve ad indicare all’host destinatario il tipo di trasporto e di conseguenza il modo in cui manipolare i dati ricevuti;
Il Checksum: è il CRC calcolato sui dati trasferiti/da trasferire che permette di verificare l’integrità dei dati;
TTL (Time-To-Live): il tempo di durata in vita di un datagram; alla partenza viene assegnato un valore predefinito che diminuisce ad ogni attraversamento di un router; quando il TTL raggiunge il valore zero viene il datagram viene tolto dalla rete;



Trasporto
Nello strato del trasporto si trovano i due protocolli TCP e UDP che hanno il compito di trasportare i dati da un host all’altro.

Il TCP si occupa delle comunicazioni orientate alla connessione. Questo significa che quando due host comunicano utilizzando come trasporto il TCP, è necessario che tra di essi si instauri una sessione. Nel corso di trasmissioni di questo tipo ci si serve di numeri sequenziali e di conferme per assicurare il trasferimento con successo dei dati. In pratica ciascun frammento di dati viene numerato e spedito al destinatario, il quale una volta ricevuti i frammenti, provvede ad inviare al mittente un messaggio di avvenuta ricezione dei frammenti. In caso di mancata conferma dell’avvenuta ricezione da parte del destinatario il mittente provvede a spedire di nuovo i frammenti. Questo meccanismo ovviamente appesantisce la trasmissione, ma assicura un elevato grado di affidabilità.

Il protocollo UDP (User Datagram Protocol) invece non è affidabile, perché non vi è certezza dell’avvenuta ricezione da parte del destinatario dei dati spediti. Il suo compito è convertire i dati generati da un'applicazione in pacchetti trasmettendoli in maniera semplice e veloce. Quindi sacrifica l'affidabilità in favore dell'economicità e della velocità di trasmissione (per esempio in applicazioni real-time).

I N D I E T R O