TCP/IP: come funziona internet

TCP/IP: come funziona internet

TCP/IP, una rapida spiegazione che illustra di che si tratta, a cosa serve e come faccia la “magia” di far funzionare internet.

Introduzione

Quando ci connettiamo alla rete spesso non pensiamo a tutto quello che c’è dietro per farla funzionare: alla base di tutto, in effetti, è più che corretto che sia così! Pensa a come sarebbe terribile se internet richiedesse complicati parametri di connessione da parte di ogni client per funzionare: non sarebbe proprio possibile utilizzarla. Per fortuna le cose ad oggi, grazie all’uso della tecnologia, non sono così: questo perchè alla base del funzionamento di internet vi sono dei protocolli, delle regole e dei modelli di riferimento di cui il modello TCP/IP e quello ISO/OSI sono un po’ i “padri”.

Struttura ISO/OSI: cos’è

Il modello OSI (detto anche Open Systems Interconnection) è un po’ di modello di fondo di internet e del web, una vera e propria idea progettuale di riferimento ideato dalla ISO (International Organization for Standardization) che in qualche modo ha definito la struttura logica della rete internet così come la conosciamo e la usiamo ogni giorno.

Per capire come funziona il tutto, è necessario inquadrare prima di ogni altra cosa due “dimensioni” che entrano in gioco:

  • la prima è relativa ai cosiddetti livelli;
  • la seconda riguarda invece le unità di dato.

La struttura a livelli potrebbe sembrare ridondante o poco utile, ma alla prova dei fatti non è così: mantenendo i livelli o layer separati, infatti, si segue una logica strutturale e gerarchica che facilita le interconnessioni e le rende, soprattutto, indipendenti dall’hardware e dal software che ne fa uso. Il modello di internet per come la conosciamo anche oggi, del resto, si basa proprio su questa indipendenza a cui nemmeno facciamo caso, a volte: sia che ci connettiamo ad internet con un iPad o un PC, sia che utilizziamo un browser o un’app di incontri, per dire, internet è sempre e comunque a disposizione senza costringerci a cambiare o commutare parametri o fare operazioni di configurazione troppo complesse.

Internet è strutturata, ad oggi, nei 7 layer o livelli distinti che vedremo nel dettaglio a breve.

Il protocollo TCP/IP (che definiremo anch’esso con precisione tra un attimo) entra in gioco nel modello ISO/OSI stabilendo delle regole di comunicazione vere e proprie, degli standard che permettono di effettuare cose come:

  • assegnare un indirizzo IP ad ogni dispositivo connesso;
  • stabilire un formato di comunicazione basato su pacchetti;
  • decidere delle regole perchè i pacchetti possano essere trasmessi e ricevuti dai rispositivi stessi, sulla base di determinate logiche.

Unità di dato: cos’è un pacchetto dati

In genere, poi, un pacchetto dati è fatto da due componenti separati:

  • l’header, ovvero l’intestazione del pacchetto, contenente meta-informazioni sullo stesso (data, destinazione, origine, ecc.);
  • i dati, ovvero un campo che contiene il frammento di dati che stiamo trasmettendo in quel momento, pronto ad essere elaborato a destinazione ed in formato prestabilito.

Cos’è il TCP/IP

TCP/IP corrisponde con un insieme di protocolli di rete, che i dispositivi di ogni genere (smartphone, PC, tablet e via dicendo) usano per comunicare su Internet e sulle reti private, a vari livelli di complessità e riservatezza. TCP/IP include, ad oggi, la bellezza di circa 500 protocolli differenti, pensati per gli usi più svarianti – e non solo per il web, come verrebbe da pensare a prima vista.

Senza scendere troppo nel dettaglio:

  • TCP è considerato un protocollo molto affidabile per la comunicazione integra, al contrario di UDP che invece è più veloce e senza garanzie;
  • prima di poter trasmettere dati, come prima cosa TCP deve stabilire la comunicazione, negoziando una connessione tra client e server (o tra mittente e destinatario, più in generale), che rimane attiva per un po’ di tempo: questo è alla base del suo essere, come si dice in gergo tecnico, orientato alla connessione
  • TCP trasporta un flusso di byte tra host differenti, e su larga scala questo garantisce il funzionamento di internet
  • TCP offre inoltre varie funzionalità di controllo e verifica da errori di ogni genere, sfruttando checksum e vari meccanismi interni di check.

Cos’è un protocollo

Esempi di protocolli sono:

  • Internet Protocol (IP), che si occupa di instradamento dei messaggi in ingresso ed in uscita sui vari host
  • TCP (Transmission Control Protocol) è lo standard che delinea con quali modalità comunicare e mantenere la comunicazione in termini di host. TCP ovviamente lavora in cooperazione con IP secondo lo standard internaziona IETF noto col numero 793. Il protocollo TCP è orientato alla connessione, cioè dura finchè lo scambio tra i programmi non è terminato e questo serve a garantire affidabilità e correttezza alla comunicazione. Stabilisce anche la politica di smistamento e suddivisione dei pacchetti, riduce la possibilità di errori di rete, ed occupa pertanto il livello 4 (trasporto) e anche quello 5 (sessione)

A livello di applicazione, ad esempio, possono essere protocolli che potrebbero rivelarsi più familiari all’operatore medio su internet:

  • HTTP 1.0, che corrisponde con l’HyperText Transfer Protocol che faceva funzionare tutti i siti fino a qualche anno fa;
  • HTTPS, che corrisponde con l’HyperText Transfer Protocol Secured che permette di mantenere sicura, autenticata e riservata la comunicazione;
  • FTP (File Transfer Protocol), utile per trasferire file su vari hosting (per inviare o ricevere i file PHP, ASP, HTML, CSS, JS dei siti web, ad esempio);

Come funziona il TCP/IP?

Il TCP/IP funziona, pertanto, in modo non dipendente dal software specifico e dall’hardware in questione, ragionando ad alto livello questo aiuta i programmatori a realizzare le app e i siti più diversi tra loro, indipendentemente dal sistema operativo, dall’hardware montato e via dicendo. La cosa essenziale è che il protocollo sottostante venga usato in modo corretto.

Esempio di connessione TCP/IP

Connessione client-server: un client richiede una pagina (URL univoco) ad un server web, sfruttando il protocollo HTTPS: esso impone a livello TCP di impostare la connessione ed inviare i dati richiesti. TCP suddivide i dati in vari pacchetti e li numera, in modo tale che possano essere ricostruiti e mostrati correttamente dal client destinazione. Vengono anche definite delle rotte, o route, per questo percorso, in modo tale che la trasmissione avvenga nel più  breve tempo possibile.

0 voti


Informazioni sull'autore

Redazione

Articolo scritto in collaborazione con Trovalost.it