English version of guide to TCP/IP protocol, modello OSI and tcpip models Versione italiana della guida al protocollo TCP/IP, modello OSI e tcpip models


Modello OSI e TCP/IP

La suite di protocolli Internet è un insieme di protocolli di rete che implementa la pila di protocolli su cui funziona Internet. A volte, è chiamata suite di protocolli TCP/IP o tcpip models, in funzione dei due più importanti protocolli in essa definiti: il Transmission Control Protocol (TCP) e l'Internet Protocol (IP).

Tale suite può essere descritta per analogia con il modello OSI, che descrive i livelli della pila di protocolli. In una pila di protocolli ogni livello risolve una serie di problemi che riguardano la trasmissione di dati e fornisce un ben definito servizio ai livelli più alti. I livelli più alti sono logicamente più vicini all'utente e funzionano con dati più astratti lasciando ai livelli più bassi il compito di tradurre i dati in forme mediante le quali possono essere fisicamente manipolati.

Il modello Internet è stato prodotto come una soluzione ad un problema ingegneristico pratico. Il modello OSI, in un altro senso, è stato l'approccio più teorico ed è stato anche prodotto nel più vecchio modello di rete.

Modello OSI e Storia del TCP/IP

Nei primi anni '70, la Defence Advanced Research Project Agency (DARPA) finanziò l'Università di Stanford e la BBN (Bolt, Beranek and Newman) per lo sviluppo di un insieme di protocolli di comunicazione da utilizzarsi per lo sviluppo di reti a commutazione di pacchetto, per l'interconnessione di calcolatori eterogenei. Fu così che nacque l'Internet Protocol Suite i cui due protocolli più noti sono il TCP (Transmission Control Protocol) e l'IP (Internet Protocol).

Si fa riferimento a questa architettura di rete con la sigla TCP/IP, tcpip models o IP/TCP (quest'ultima non è quasi mai usata). I creatori di tali protocolli di trasmissione, tuttora utilizzati nel web, sono nello specifico Robert Kahn e Vinton Cerf, a cui l'ex Presidente degli Stati Uniti George W. Bush ha consegnato la Presidential Medal of Freedom, ovvero la più alta tra le onorificenze civili a stelle e strisce, il 9 novembre 2005. I due studiosi non sono nuovi a questo genere di premiazioni: all?inizio del 2005 è stato assegnato loro il prestigioso 2004 A.M. Turing Award, equivalente del Premio Nobel nel settore dell?Information Technology. Cerf e Kahn hanno sviluppato lo standard per la trasmissione di pacchetti via rete nel lontano 1973, mentre lavoravano a un progetto di sviluppo dei sistemi di comunicazione voluto dalla DARPA (Defense Advanced Research Projects Agency). Attualmente Vint Cerf, collabora con Google alla creazione degli standard per le future applicazioni e nel frattempo si dedica allo sviluppo di nuovi protocolli di comunicazione interplanetaria per il Jet Propulsion Lab della Nasa. Robert Kahn, invece, dopo 13 anni di servizio presso la DARPA è diventato presidente della Corporation for National Research Initiatives (CNRI).

Questi protocolli, utilizzabili gratuitamente da tutti perché di pubblico dominio fin dall'inizio, ottennero un elevato successo (utilizzati da un gruppo di ricercatori per ARPAnet).

Questo genera alcune ambiguità dovute al fatto che il nome più corretto sarebbe Internet Protocol Suite. Per esempio succede di sentir parlare di servizi basati su TCP/IP anche quando in realtà, invece di TCP, viene usato un protocollo alternativo, UDP, anch'esso appartenente all'Internet Protocol Suite. In genere il TCP viene utilizzato per quelle applicazioni che richiedono un servizio orientato alla connessione, come ad esempio la posta elettronica e il file sharing, mentre l'UDP prende sempre più piede per le applicazioni in tempo reale come l'on-line gaming o lo streaming audio e video; la differenza fra i due protocolli risiede nella maggiore affidabilità nel trasporto dei dati di TCP, che offre una serie di servizi appositamente pensati (gestione del flusso, della congestione...), mentre UDP punta molto sulla velocità di trasmissione a scapito della sicurezza. Si tenga quindi sempre presente che la sigla TCP/IP è di utilizzo talmente comune da essere utilizzata, talvolta, anche quando esistono termini alternativi più corretti.

TCP/IP è l'architettura adottata dalla rete internet. Negli anni '90, nonostante la sua età, è stata (più o meno paradossalmente) l'unica architettura che ha interessato il mercato, al punto che gli enti di standardizzazione, di fronte al fatto compiuto della sua massiccia diffusione hanno dovuto darle la stessa dignità di ISO/OSI.

Modello OSI - Come funziona il TCP/IP

L'IP (Internet Protocol) è uno dei principali protocolli del livello internetWorking del modello DOD/DARPA (o nel caso del modello OSI nel livello network), serve per la comunicazione su una rete a commutazione di pacchetto.
Un indirizzo IP identifica ogni nodo della rete ed è sostanzialmente un identificativo numerico che viene utilizzato in combinazione con l'indirizzo MAC, questo per identificare in modo univoco ogni scheda di rete. Il TCP fornisce al protocollo FTP, che lavora a livello di applicazione, un canale di trasferimento dati che sia affidabile. Il TCP nell'invio dei pacchetti usa il meccanismo della Window. Una serie di pacchetti viene inviata seguendo delle regole ben precise:

  1. Ad ogni pacchetto spedito il trasmettitore fa partire un timeOut.
  2. Il Ricevitore invia per ogni pacchetto ricevuto un ACK indicando la sequenza dell'ultimo pacchetto ricevuto correttamente.
  3. Il trasmettitore considera quindi spediti tutti i pacchetti successivi.

Questa è una tecnica molto importante perché affidabile e fa un buon uso della banda.

Quando ci vogliamo collegare con il nostro browser a un server web, stabiliamo un collegamento (virtuale) a livello applicazione. Il livello di trasporto si occupa dei dettagli del livello applicazione.

Al livello di trasporto il protocollo TCP mette in coda i messaggi delle applicazioni (browser e server) li trasmette sotto forma di pacchetti; il buon fine della spedizione è attestato da una ricevuta di ritorno. Anche questo è un collegamento virtuale tra le due applicazioni, i cui dettagli sono demandati al livello di rete.

Al livello di rete il protocollo IP decide quale strada seguire per trasmettere effettivamente i messaggi da un computer all?altro. Un computer spedisce, l?altro riceve, ma è un collegamento virtuale tra i due computer remoti, dei cui dettagli si occupa il livello di collegamento.

Al livello di collegamento si decide come fare il trasferimento del messaggio per ogni singolo tratto del percorso: dal computer del browser al primo router, dal primo router al secondo, dal secondo al terzo e dal terzo al computer del server. Questo è un collegamento virtuale tra due computer (o router) adiacenti. I dettagli fisici sono lasciati all?ultimo livello.

Il livello fisico, che è l'ultimo, trasmette il messaggio sul cavo sotto forma di impulso elettrico. Questo è l?unico livello in cui avviene una trasmissione effettiva.

Per consentire queste comunicazioni, viene assegnato un indirizzo per ogni livello: Un indirizzo MAC per ogni scheda di rete (livello di collegamento), un indirizzo IP (livello di rete), un numero di porta (livello di trasporto); questa è la configurazione di ogni singola macchina sulla rete TCP/IP.

Nel modello OSI ci sono i livelli Presentation e Session, i quali sono stati inglobati nel livello Application del tcpip models.

Modello OSI - Comunication through TCP/IP protocol