09-10-2001

per commenti
osservazioni
critiche
e ringraziamenti
       
scrivi all'autore

Chiedi all'esperto -  Home
ViaLattea home

Di cosa si occupa esattamente il protocollo di rete TCP/IP e quali sono le differenze sostanziali con il riferimento ISO/OSI? esistono attualmente altri protocolli di rete dello stesso tipo?

(risponde Luca Fini)


Comincerò col rispondere all'ultima parte della domanda. Esistono protocolli di rete diversi dal TCP/IP, e fra questi si possono citare SNA (System Network Architecture) definito dalla IBM e alcune implementazioni dei protocolli OSI fra cui la più matura è sicuramente Decnet/OSI della Digital Equipment. Va notato comunque che la diffusione del protocollo TCP/IP dovuta al successo di Internet ha relegato tutti gli altri protocolli ad applicazioni di nicchia.

La risposta alla parte principale della domanda richiederebbe uno spazio ed un livello di approfondimento assolutamente inadatti a queste pagine, mi limiterò quindi a dare uno sguardo ali aspetti "funzionali" di TCP/IP rimandando per i dettagli ai riferimenti in fondo alla pagina.

Si chiamano con il nome generico di TCP/IP un insieme di protocolli che consentono lo scambio di dati fra due programmi in funzione su due computer diversi connessi da una rete di trasmissione dati.

Per descrivere le caratteristiche dei protocolli di trasmissione dati si utilizza universalmente un modello introdotto dall' International Standards Organization e chiamato Open-Systems Interconnection (Modello di interconnessione dei sistemi aperti), da cui la sigla ISO/OSI. Il modello descrive le funzioni necessarie all'interconnessione di due sistemi mediante una gerarchia di sette livelli:

Nome del livello
Funzione
1. Fisico Descrive le modalità di trasmissione e ricezione dei segnali (elettrici, ottici) che trasportano le informazioni.
2. Data link Descrive come viene controllato il flusso di dati fra due nodi intercomunicanti, le modalità di condivisione del mezzo trasmissivo da parte di più utilizzatori, ecc.
3. Rete Descrive le modalità di instradamento (Routing) ovvero specifica come avviene l'attraversamento delle reti interconnesse.
4. Trasporto Comprende tutte le operazioni necessarie al corretto trasferimento dei dati dal nodo sorgente al nodo destinazione provvedendo al controllo degli errori, alla ritrasmissione in caso di errore, ecc.
5. Sessione Controlla la connessione fra le due applicazioni intercomunicanti ovvero attiva e disattiva il canale virtuale di interconnessione fra i due programmi che si scambiano i dati.
6. Presentazione Effettua la conversione dei protocolli, l'interpretazione dei dati su base sintattica, la cifratura e decifratura, ecc.
7. Applicazione Descrive i protocolli al livello della particolare applicazione ossia stabilisce la struttura ed il significato dei messaggi che i due programmi intercomunicanti si scambiano.

Nell'interpretazione del modello si considera ciascun livello come un "servizio" fornito al livello superiore; il livello 7 del nodo che trasmette i dati interpreta le richieste dell'utilizzatore, prepara i dati necessari e li trasferisce al livello inferiore che a sua volta esegue la parte del compito che gli spetta e passa il risultato al livello ancora inferiore, e cosí via. Nel nodo ricevente si svolge il processo contrario.

I protocolli TCP/IP id base, ovvero il protocollo TCP (Transfer Control Protocol) ed IP (Internet Protocol) definiscono le operazioni che sono comprese nei livelli da 3 a 5 nel modello ISO/OSI. Ovvero consentono lo scambio di dati mediante un canale logico fra due programmi operanti su due nodi di una rete, ma non stabiliscono quale sia il significato dei dati trasmessi (compito dei livelli superiori) né specificano quali sono le caratteristiche delle linee fisiche di interconnessione (compito dei livelli inferiori).

Nella pratica comunque sotto il nome generico di TCP/IP sono compresi per ragioni storiche anche alcuni protocolli dei livelli 6 e 7 (ad esempio: SMTP per lo scambio di posta elettronica, ftp per il trasferimento di files, etc.) ed un protocollo di livello 2 per l'accesso alla rete ethernet (arp). Altri protocolli sono invece nati successivamente e non si considerano parte della "suite" TCP/IP (ad esempio il protocollo http per l'accesso alle pagine Web o il protocollo SNMP per il controllo remoto delle apparecchiature di rete, ai livelli superiori, ed i protocolli ppp e slip al livello 2)

Per spiegare le funzioni descritte dai livelli del modello ISO/OSI e l'implementazione effettuata dai protocolli TCP/IP, mi servirò di un esempio. Supponiamo quindi di voler analizzare a livello di protocollo ciò che avviene quando si invia un messaggio di posta elettronica dal proprio Personal Computer; ovvero quando, una volta composto un messaggio ed impostato l'indirizzo di destinazione, si impartisce il comando di "invio".

Il PC è collegato ad un provider tramite modem su linea telefonica ed il messaggio si suppone diretto ad un corrispondente che ha una "casella di posta" presso lo stesso provider. Per semplicità supporremo che fra il PC ed il server che mantiene la "mailbox" del destinatario ci sia un solo router, mentre nella realtà il messaggio può attraversare parecchi router prima di arrivare a destinazione.

La situazione descritta è schematizzata nella seguente figura qui a fianco (ingrandisci con un click).

Perché il messaggio possa essere correttamente inviato e ricevuto il programma di invio e quello di ricezione devono concordare un linguaggio comune (protocollo) per descrivere tutte le caratteristiche del messaggio. Questa funzione si colloca al livello 7 e, nel caso particolare della posta elettronica, utilizza il protocollo SMTP.

In questo esempio il livello 6 non interviene, quindi il messaggio viene passato al livello 5, il quale ha il compito di aprire una connessione con il nodo di rete che deve ricevere il messaggio e con il particolare programma che e' in grado di comprenderne il contenuto.

Interviene poi il livello 4 che ha il compito di trasferire in modo corretto la sequenza di dati che compongono il messaggio al nodo destinazione. Si noti che il software ai livelli 5 e 4 non ha nessuna conoscenza del contenuto del messaggio, ma ha il solo compito che venga consegnato intatto al nodo di destinazione. La porzione TCP del protocollo svolge essenzialmente le funzioni dei livelli 4 e 5.

Il messaggio a questo punto passa al livello 3 che ha il compito di individuare quale è il nodo adiacente nel cammino per raggiungere la destinazione e di trasferire il messaggio a tale nodo utilizzando i servizi del livello 2. I servizi di livello 3 sono implementati dalla porzione IP del protocollo TCP/IP.

Nel nostro esempio al livello 2 dobbiamo considerare due casi: l'interconnessione fra il PC ed il router del provider e l'interconnessione fra il router ed il server di posta di destinazione, attraverso la LAN del provider. Nel primo caso i servizi del livello 2 sono svolti da un ulteriore protocollo il PPP (Point To Point Protocol), che consente il trasferimento di una sequenza di dati lungo la linea telefonica; nel secondo caso dal protocollo "Ethernet" implementato all'interno delle schede di rete del router e del server di posta.

Al livello 1 si collocano infine l'interfaccia hardware verso la linea telefonica ovvero l'insieme delle due schede modem e della rete telefonica che le interconnette, nel caso del collegamento fra PC utente e router di ingresso del provider e la circuiteria delle schede di rete con i relativi cablaggi di interconnessione nel collegamento LAN presso il provider.

Quando il messaggio viene ricevuto attraversa i livelli più bassi e viene quindi viene passato al livello 3 (IP) dove viene verificato se si tratta del nodo finale oppure se il messaggio deve essere ritrasmesso verso un nodo successivo. Nel nostro esempio quando il router riceve il messaggio dovrà ritrasmetterlo sulla LAN utilizzando l'appropriato protocollo di livello 2 che a sua volta utilizza la relativa interfaccia di trasmissione.

Quando invece il messaggio raggiunge il server e raggiunge il livello 3 viene passato al livello superiore per effettuare i controlli di validità e, per passi successivi, raggiunge il programma di livello 7, dove il messaggio che segue le direttive del protocollo SMTP, viene finalmente interpretato e collocato nella "casella postale" del destinatario, che non è altro che un file al quale vengono via via accodati i messaggi in arrivo.

Riferimenti

Quanto detto fino a qui dovrebbe essere sufficiente a dare un'idea del funzionamento del prtocollo TCP/IP, ma trascura una gran quatità di dettagli che non possono essere trattati in modo sintetico.

Una descrizione un po' più dettagliata può essere trovata nelle seguenti pagine Web:

Mentre per una trattazione completa al massimo livello tecnico rimando ai tre volumi:

  • D.E. Comer, "Internetworking with tcp/ip". Englewood Cliffs: Prentice-Hall, 1988.

  • D.E. Comer, D.L. Stevens, "Internetworking with tcp/ip vol.II: design, implementation and internals". Englewood Cliffs: Prentice-Hall, 1991

  • D.E. Comer, D.L. Stevens, "Internetworking with tcp/ip. vol.III: client server programming and applications". Englewood Cliffs: Prentice-Hall, 1988