TCP/IP

Cosa significa TCP/IP

TCP/IP è una serie di protocolli. La sigla TCP/IP significa «Transmission Control Protocol/Internet Protocol» e si pronuncia «T-C-P-I-P». Esso proviene dai nomi dei due protocolli maggiori della serie di protocolli, cioè i protocolli TCP e IP).

TCP/IP rappresenta in un certo modo l'insieme delle regole di comunicazione su internet e si basa sulla nozione d'indirizzamento IP, cioè il fatto di fornire un indirizzo IP ad ogni terminale di rete per poter inviare dei pacchetti di dati. Dato che la serie protocollare TCP/IP in origine è stata creata per scopi militari, essa è concepita per rispondere ad un certo numero di criteri fra i quali:

Frazionamento dei messaggi in pacchetti;

Uso di un sistema di indirizzi;

Invio di dati sulla rete (routing);

Controllo degli errori di trasmissione di dati.

La conoscenza dell'insieme dei protocolli TCP/IP non è essenziale per un semplice utente, nello stesso modo in cui un telespettatore non ha bisogno di conoscere il funzionamento del suo televisore, né delle reti audiovisive. Tuttavia, la sua conoscenza è necessaria per le persone che desiderano amministrare o occuparsi della manutenzione di una rete TCP/IP.

Differenza tra standard e implementazione

TCP/IP raggruppa globalmente due nozioni:

La nozione di standard, ovvero che il TCP/IP rappresenta il modo in cui le comunicazioni si effettuano su una rete;

La nozione di implementazione, cioè la denominazione TCP/IP è spesso estesa ai software basati su questo protocollo. TCP/IP è infatti un modello sul quale gli sviluppatori di applicazioni di rete si basano. Le applicazioni sono quindi delle implementazioni del protocollo TCP/IP.

TCP/IP è un modello a livelli

Per poter applicare il modello TCP/IP a tutti i terminali, cioè indipendentemente dal sistema operativo, il sistema di protocollo TCP/IP è stato scomposto in più moduli ciascuno con un compito preciso. Questi moduli svolgono inoltre i compiti gli uni dopo gli altri in un ordine preciso, con un sistema stratificato, ragione per cui si parla di modello a livelli.

Il termine livello è usato per evocare il fatto che i dati che transitano sulla rete attraversano più livelli di protocolli. Così, i dati (pacchetti di informazioni) che circolano sulla rete sono trattati successivamente per ogni livello, che aggiunge un elemento d'informazione (detto intestazione) e poi li trasmette al livello successivo.

Il modello TCP/IP è molto simile al modello OSI (con 7 livelli) che è stato elaborato dall'organizzazione internazionale degli standard (ISO, organizzazione internazionale di standardizzazione) per standardizzare le comunicazioni tra computer.

Presentazione del modello OSI

OSI significa Open Systems Interconnection, tradotto con interconnessione di sistemi aperti. Questo modello è stato realizzato dall'ISO per attuare uno standard di comunicazioni tra i computer di una rete, cioè le regole che gestiscono le comunicazioni tra i computer. In effetti, alle origini delle reti ogni costruttore aveva un proprio sistema (si parla di sistema proprietario). Esistevano quindi numerose reti incompatibili. Stabilire un norma era quindi diventata una necessità.

Il ruolo del modello OSI consiste nello standardizzare la comunicazione tra i terminali affinché i differenti costruttori possano mettere a punto dei prodotti (software o hardware) compatibili (per quanto poco essi rispettino scrupolosamente il modello OSI).

Il vantaggio di un sistema a livelli

Lo scopo di un sistema a livelli è di separare il problema in differenti parti (i livelli) secondo il loro livello di astrazione. Ogni livello del modello comunica con un livello adiacente (quello sopra o quello sotto). Ogni livello usa inoltre i servizi dei livelli inferiori e ne fornisce a quelli superiori.

Il modello OSI

il modello OSI è un modello che prevede 7 livelli, mentre il modelli TCP/IP ne prevede solo 4. In realtà, il modello TCP/IP è stato sviluppato quasi nello stesso momento del modello OSI, ed è la ragione per cui ci si ispira ma non è totalmente conforme alle specifiche del modello OSI. I livelli del modello OSI sono i seguenti:

Livello Vecchio modello Nuovo modello
Livello 7 Strato Applicazione Livello Applicazione
Livello 6 Strato Presentazione Livello Presentazione
Livello 5 Strato Sessione Livello Sessione
Livello 4 Strato Trasporto Livello Messaggio
Livello 3 Strato Rete Livello Pacchetto
Livello 2 Strato Collegamento Dati Livello Frame
Livello 1 Strato Fisico Livello Fisico

Il livello fisico definisce il modo in cui di dati sono fisicamente convertiti in segnali digitali sui media di comunicazione (impulsi elettrici, modulazioni della luce, ecc.).

Il livello collegamento dati definisce l'interfaccia con la scheda di rete e la condivisione del media di trasmissione.

Il livello rete permette di gestire l'indirizzamento e il routing dei dati, cioè il loro invio tramite la rete.

Il livello trasporto è incaricato del trasporto dei dati, della loro divisione in pacchetti e della gestione degli eventuali errori di trasmissione.

Il livello sessione definisce l'apertura e la distruzione delle sessioni di comunicazione tra i terminali di rete.

Il livello presentazione definisce il formato dei dati manipolato dal livello applicativo (loro rappresentazione, eventualmente loro compressione e loro codifica) indipendentemente dal sistema.

Il livello applicazione assicura l'interfaccia con le applicazioni. Si tratta quindi del livello più vicino agli utenti, gestito direttamente da alcuni software.

Il modello TCP/IP

Il modello TCP/IP, ispirato al modello OSI, riprende l'approccio modulare (utilizzazione di modelli o livelli) ma ne contiene solo quattro:

Modello TCP/IP Modello OSI
Livello Applicazione Livello Applicazione
Livello Presentazione
Livello Sessione
Livello Trasporto (TCP) Livello Trasporto
Livello Internet (IP) Livello Rete
Livello accesso rete Livello Collegamento dati
Livello fisico

Come si può notare, i livelli del modello TCP/IP hanno dei compiti ben diversi da quelli del modello OSI, dato che alcuni livelli del modello TCP/IP corrispondono a più livelli del modello OSI. I ruoli dei differenti livelli sono i seguenti:

Livello Accesso di rete, che specifica la forma nella quale i dati devono essere inviati indipendentemente dal tipo di rete usata;

Livello Internet, che si incarica di fornire il pacchetto di dati (datagramma);

Livello Trasporto, che assicura l'invio dei dati, nonché i meccanismi che permettono di conoscere lo stato della trasmissione;

Livello Applicazione, che ingloba le applicazioni standard della rete (Telnet, SMTP,FTP, ecc.).

Qui di seguito i principali protocolli che fanno parte della serie TCP/IP:

Modello TCP/IP
Livello Applicazione
TCP o UDP
Livello Internet
IP, ARP, RARP
Livello accesso rete
FDDI, PPP, Ethernet, Token ring
Livello Fisico

Incapsulamento dei dati

Durante una trasmissione, i dati attraversano alcuni degli strati al livello del terminale emittente. Ad ogni livello, un'informazione viene aggiunta al pacchetto di dati, si tratta di un'intestazione, un insieme di informazioni che garantisce la trasmissione. A livello del terminale ricettore, al momento del passaggio in ogni livello, l'intestazione viene letta, poi cancellata, così, alla ricezione, il messaggio è nel suo stato originale:

Ad ogni livello, il pacchetto cambia aspetto, dato che gli si aggiunge un'intestazione, e quindi le denominazioni cambiano seguendo i livelli:

Il pacchetto di dati è detto messaggio al livello Applicazione;

Il messaggio in seguito è incapsulato sotto forma di segmento nel livello Trasporto;

Il segmento, una volta incapsulato, nel livello Internet prende il nome di datagramma;

Infine, si parla di frame sul livello Accesso di rete.

Il livello Accesso di rete

Il livello Accesso di rete è il primo livello della pila TCP/IP capace di accedere ad una qualsiasi rete fisica, cioè rappresenta i mezzi per realizzare una trasmissione di dati attraverso una rete. Così, il livello Accesso di rete contiene tutte le specifiche riguardo la trasmissione di dati su una rete fisica, che si tratti di rete locale (Token ring, Ethernet, FDDI), di connessione ad una linea telefonica o a qualsiasi tipo di collegamento di rete. Si incarica delle nozioni seguenti:

Invio dei dati sul collegamento;

Coordinamento della trasmissione dei dati (sincronizzazione);

Formato dei dati;

Conversione dei segnali (analogico/digitale);

Controllo degli errori all'arrivo.

Fortunatamente tutte queste specifiche sono trasparenti per l'utente, dato che l'insieme di questi compiti è in effetti realizzato dal sistema operativo, come per altro i driver dell'hardware che permettono la connessione alla rete (ad esempio driver della scheda di rete).

Il livello Internet

Il livello internet è il livello "più importante" (sono tutti importanti) dato che è quello che definisce i datagrammi, e che gestisce le nozioni d'indirizzamento IP. Esso permette l'invio dei datagrammi (pacchetti di dati) verso dei terminali remoti nonché la gestione della loro frammentazione e riassemblaggio alla ricezione.

Il livello internet contiene 5 protocolli:

Protocollo IP;

Protocollo ARP;

Protocollo ICMP;

Protocollo RARP;

Protocollo IGMP.

I primi tre sono i protocolli più importanti di questo livello.

Il livello Trasporto

I protocolli dei livelli precedenti permettevano di inviare delle informazioni da un terminale all'altro. Il livello Trasporto permette a delle applicazioni che girano su terminali remoti di comunicare. Il problema consiste dell'identificare queste applicazioni. In effetti, a seconda del terminale e del suo sistema operativo, l'applicazione potrà essere un programma, un compito, un processo, ecc. Inoltre, la denominazione dell'applicazione può variare da un sistema all'altro, ed è la ragione per cui un sistema di numero è stato realizzato per poter associare un tipo di applicazione ad un tipo di dati; questi identificativi sono detti porte.

Il livello Trasporto contiene due protocolli che permettono alle due applicazioni di scambiare dei dati indipendentemente dal tipo di rete scelta (cioè indipendentemente dai livelli inferiori, ecc.). Si tratta dei seguenti protocolli:

TCP, un protocollo orientato connessione che assicura il controllo degli errori;

UDP, un protocollo senza connessione il cui controllo d'errore è obsoleto.

Il livello Applicazione

Il livello Applicazione è quello situato alla sommità dei livelli dei protocolli TCP/IP. Esso contiene le applicazioni di rete che permettono di comunicare grazie ai livelli inferiori. I software di questo livello comunicano quindi grazie ad uno dei due protocolli del livello inferiore (il livello trasporto) cioè TCP o UDP.

Le applicazioni di questo livello sono di differenti tipi, ma la maggior parte sono dei servizi di rete, cioè delle applicazioni fornite all'utente per assicurare l'interfaccia con il sistema operativo. Possiamo classificarli secondo i servizi che offrono: servizi di gestione (trasferimento) di file e di stampa; servizi di connessione alla rete; servizi di connessione remota; le diverse utility di Internet.

Foto: © Pixabay.

I nostri contenuti sono creati in collaborazione con esperti di high-tech, sotto la direzione di Jean-François Pillou, fondatore di CCM.net. CCM è un sito di high-tech leader a livello internazionale ed è disponibile in 11 lingue.
Il documento intitolato « TCP/IP » dal sito CCM (it.ccm.net) è reso disponibile sotto i termini della licenza Creative Commons. È possibile copiare, modificare delle copie di questa pagina, nelle condizioni previste dalla licenza, finché questa nota appaia chiaramente.