Il Modello TCP / IP rappresenta lo standard delle comunicazioni via internet, basato sul modello ISO/OSI.
Il Modello TCP/IP si basa, appunto, sui protocolli TCP e IP, che mettono in comunicazione più dispositivi nella rete. Si usano sia nelle connessioni cablate che nelle connessioni wireless.
Come il modello ISO/OSI, anche il modello TCP/IP è composto da livelli, detti “stack di protocolli“. I protocolli TCP/IP sono sempre presenti nei vari livelli, ma all’interno di ogni livello sono presenti altri protocolli, ognuno che svolge separatamente il proprio compito.
La differenza con il modello ISO/OSI sta nel fatto che il modello TCP/IP unisce i 3 livelli applicativi (Applicazione, Presentazione e Sessione) in un unico livello detto “Applicazione”.
Inoltre, unisce i livelli Collegamento e Fisico in un unico livello detto “Accesso“
I livelli sono 4:
Accesso [1]
Si occupa di trasferire i bit dei pacchetti da inviare o ricevuti dalla rete. Riguarda l’aspetto legato all’hardware delle schede di rete.
I protocolli impiegati dipendono dal mezzo con cui il dispositivo si connette alla rete: Ethernet, Wi-Fi, LTE, ecc. In questo livello i pacchetti vengono definiti “trame“.
Rete [2]
Trasferisce i pacchetti di dati dal dispositivo di origine a quello di destinazione (e viceversa). La trasmissione dei dati in questo livello non è affidabile, per varie motivazioni: congestionamento della rete stessa, router malfunzionanti, pacchetti corrotti, ecc.
L’unico protocollo utilizzato è il protocollo IP (link ai protocolli qui). In questo livello i pacchetti vengono definiti “datagrammi“.
Trasporto [3]
Si occupa di creare una connessione virtuale tra 2 dispositivi per instaurare una connessione. Il livello di trasporto si occupa anche di individuare e di correggere errori dei dati.
Grazie al protocollo TCP impiegato, il controllo e correzione degli errori rende il trasporto affidabile, al contrario di altri protocolli alternativi (come quello UDP, che non controlla la presenza di errori).
In questo livello i pacchetti vengono definiti “segmenti“.
Applicazione [4]
L’ultimo livello del modello TCP/IP, si occupa dello scambio di dati tra applicazioni. Ad esempio, leggendo questo articolo sul sito l’applicazione caricata sul server (Sito Web) scambia dati (testo della pagina) con il client (browser con cui stai navigando).
I protocolli utilizzati in questo livello sono moltissimi, ed ognuno si occupa di un determinato servizio. I più famosi ed utilizzati sono:
- HTTP (connessione ai siti web, porta 80)
[HyperText Transfer Protocol]
- SMTP (invio di email, porta 25)
[Simple Mail Transfer Protocol]
- POP3 (ricezione di email, porta 110)
[Post Office Protocol]
- IMAP (sincronizzazione di email, porta 143)
[Internet Message Access Protocol]
- FTP (invio / ricezione di file, porta 21)
[File Transfer Protocol]
- DNS (risoluzione del dominio, associandolo ad un indirizzo IP, porta 53)
[Domain Name System]
- DHCP (assegnazione automatica di indirizzi IP e altri parametri, porta 67 server e 68 client)
[Dynamic Host Configuration Protocol]
con le loro versioni sicure (cioè applicando un certificato SSL alla comunicazione, quindi proteggendo e crittografando i nostri dati sensibili scambiati con un server).
- HTTPS (con cui stai visualizzando questo sito web, porta 443)
- SMTPS (porta 465)
- POP3S (porta 995)
- IMAPS (porta 993)
- SFTP (porta 22)
Una porta è un’interfaccia attraverso la quale i dispositivi comunicano tra loro. Le porte vengono utilizzate per consentire l’accesso e il trasferimento di dati tra un dispositivo e un’applicazione o un’altra rete.
Ogni porta è associata a un numero di protocollo univoco, consentendo ai dati di essere instradati correttamente verso la destinazione desiderata.