Il modello OSI

In questa pagina, i termini computer, nodo, host, calcolatore saranno usati come sinonimi.

In questa pagina, si da per scontata la conoscenza delle principali topologie di rete (topologia a bus, a stella, a maglia) e il concetto di commutazione di pacchetto, i principali tipi di rete (LAN, WAN)

  1. Introduzione
    1. La struttura a strati
    2. Comunicazione tra livelli
    3. Perché una struttura a strati?
  2. Livello 1: fisico
  3. Livello 2: collegamento
    1. Ethernet
  4. Livello 3: rete
    1. Internet Protocol (IP)
    2. L’indirizzo IP
    3. IPv4
      1. Indirizzo IPv4
      2. Saturazione di IPv4
    4. IPv6
      1. Indirizzi IPv6
    5. Network Address Translation (NAT)
    6. Maschera di sottorete
    7. Indirizzi riservati
      1. Indirizzo di rete
      2. Indirizzo di broadcast
      3. Indirizzi privati
      4. Indirizzo di loopback
    8. IPv4: indirizzi unicast, broadcast, multicast
    9. Distribuzione degli indirizzi IP
      1. Il router
      2. L’Internet Service Provider (ISP)
      3. Il Regional Internet Registry (RIR)
      4. Internet Assigned Numbers Authority (IANA)
  5. Livello 4: trasporto
    1. Transmission Control Protocol (TCP)
      1. Porte
      2. Apertura di una connessione TCP
    2. User Datagram Protocol (UDP)
  6. Livello 5: sessione
  7. Livello 6: presentazione
  8. Livello 7: applicazione
    1. HTTP: Hyper Text Transfer Protocol
    2. DNS: Domain Name System
    3. Tor
    4. Mail
  9. Fonti
  10. Header di protocolli popolari

Introduzione

Il modello OSI (acronimo di Open Systems Interconnection) è uno standard architetturale per reti di calcolatori interoperabili.

La struttura a strati

Tale modello stabilisce una struttura a strati composta da una pila di protocolli di comunicazione di rete suddivisa in 7 livelli.

In sostanza, il modello OSI è uno schema utile a classificare dei protocolli di comunicazione. Se un protocollo appartiene a un certo strato della pila OSI, significa che esso è utile a risolvere un problema generalmente affidato a tale strato. Ad esempio, il protocollo Ethernet si occupa di garantire una connessione affidabile tra nodi della rete connessi a uno stesso canale di comunicazione. Poiché tale funzionalità è affidata al livello 2 (livello di collegamento), si dice che: “Ethernet è un protocollo di livello 2”.

Il modello OSI

Per ciascun livello del modello OSI, la seguente tabella fornisce:

Livello Unità di dato Esempi di protocolli
1 Fisico Bit USB, Bluetooth, Wi-Fi, Ethernet
2 Collegamento Trama Wi-Fi, Ethernet, MAC
3 Rete Pacchetto IP
4 Trasporto Segmento TCP, UDP
5 Sessione Dato -
6 Presentazione Dato TLS
7 Applicazione Dato HTTP, DNS, DHCP, SMTP

Comunicazione tra livelli

Ogni livello comunica solo con i livelli adiacenti.

Perché una struttura a strati?

Questa struttura a strati presenta ha una grande qualità: quando si sta lavorando a un protocollo di un livello X, si può dare per scontato il funzionamento di tutti i livelli soprastanti e sottostanti, rendendo più semplice lo studio e la risoluzione di un determinato problema.

Livello 1: fisico

Il livello fisico si occupa di instaurare una connessione hardware tra due dispositivi di una rete. Tale collegamento fisico prende il generico nome di mezzo trasmissivo.

Le connessioni fisiche si possono distinguere in due categorie:

Lasciamo ai corsi di laurea di Elettronica e Fisica il compito di indagare ulteriormente i segreti del funzionamento del livello fisico 😇

Livello 2: collegamento

Il livello di collegamento (o datalink) si occupa di fare:

Talvolta, due nodi di una rete non sono direttamente collegati: tra di essi vi sono dei dispositivi, ad esempio degli hub o degli switch. [da approfondire]

Ethernet

Ethernet è il nome comune di un insieme di protocolli di comunicazione che agisce sia a livello fisico, sia a livello di collegamento.

A livello di collegamento, Ethernet identifica i dispositivi connessi tramite degli indirizzi, detti indirizzi Ethernet o indirizzi MAC: sono sequenze di 48 bit che identificano univocamente un dispositivo in grado di collegarsi ad altri mediante il protocollo Ethernet. Con ogni probabilità, il tuo computer, il tuo smartphone… qualsiasi tuo dispositivo elettronico è dotato del proprio indirizzo MAC.

L’indirizzo MAC distingue un dispositivo da tutti gli altri a livello di collegamento. Come vedremo, ci sono degli indirizzi che servono a distinguere un dispositivo da un altro ad altri livelli: ad esempio, a livello di rete, i dispositivi collegati tramite il protocollo IP saranno distinti tramite un indirizzo IP.

Sempre a livello di collegamento, il protocollo Ethernet si occupa dell’attività di framing, tipica di questo livello OSI. Il seguente è un esempio di frame Ethernet:

Un frame Ethernet

Un frame Ethernet contiene:

Il funzionamento del checksum è del tutto analogo a quello dell’ultima lettera del codice fiscale. Essa infatti viene generata tramite un certo algoritmo a partire dalle lettere precedenti. Nel comunicare il codice fiscale potrebbe capitare che qualche lettera venga alterata. Il destinatario perciò può ricalcolarsi il checksum (cioè l’ultima lettera). Se il risultato del calcolo è diverso da quanto scritto nel codice fiscale allora c’è stato un errore e il codice è sbagliato.

Livello 3: rete

Il livello di rete si occupa della trasmissione logica di dati tra due host arbitrari, che in generale non sono direttamente connessi (ovvero non hanno un collegamento diretto tra di loro).

Nota bene: il livello di collegamento, al contrario del livello di rete, si occupa di gestire la trasmissione di informazione tra due nodi direttamente connessi allo stesso mezzo di comunicazione.

L’informazione scambiata a livello di rete è suddivisa in pacchetti (in inglese, packets). Il payload di un pacchetto contiene uno o più segmenti del soprastante livello di trasporto.

Il livello di rete si occupa di:

Internet Protocol (IP)

IP è il protocollo di rete per eccellenza: si occupa dell’instradamento di pacchetti nella rete. IP è un protocollo:

Insomma: l’unico - fondamentale! - compito del protocollo IP è quello di consentire la trasmissione di pacchetti tra due nodi non direttamente connessi, a prescindere dal tipo di connessione fisica sottostante.

L’indirizzo IP

All’interno di una rete IP, ad ogni interfaccia connessa alla rete fisica viene assegnato un indirizzo univoco.

Nota bene: un nodo può avere molteplici interfacce di rete e, quindi, essere associato a più indirizzi IP.

I protocolli di collegamento, al livello 2 del modello ISO/OSI, indirizzano i calcolatori utilizzando l’indirizzo MAC.

Quando su una rete locale si utilizza IP, ad ogni calcolatore deve essere assegnato anche un indirizzo IP, per permettergli di comunicare con i calcolatori anche al di fuori della sua rete locale.

IPv4

IPv4 - Internet Protocol version 4 - è la quarta revisione dell’Internet Protocol, pubblicato dalla IETF nel settembre 1981, ed è il più usato a livello di rete.

Indirizzo IPv4

Un indirizzo IPv4 è costituito da 32 bit, ovvero 4 byte. Spessissimo, esso è rappresentato in notazione decimale puntata:

Indirizzo IPv4

Nota bene: ciascuno dei quattro numeri decimali, rappresenta 8 bit. In binario puro, qual è il più piccolo numero intero rappresentabile con 8 bit? E il più grande?

Saturazione di IPv4

Per utilizzare il protocollo IPv4, ogni dispositivo connesso a una stessa rete IPv4 deve essere associato a un indirizzo IPv4 univoco.

Un indirizzo IPv4 è costituito da 32 bit. Perciò, possono esistere al massimo 232 (~ 4,3 miliardi) indirizzi IPv4 univoci. Inoltre, alcuni di questi 232 indirizzi sono riservati per gli scopi indicati nelle sezioni precedenti: la reale disponibilità di indirizzi è minore di 232.

In sintesi, IPv4 non consente di costruire un’unica rete, completamente pubblica, in cui ciascun nodo possiede un proprio indirizzo univoco, poiché oggi il numero di nodi contemporaneamente connessi tramite il protocollo IPv4 sarebbe maggiore del numero di indirizzi IPv4 disponibili. Questo problema è noto come “saturazione di IPv4”.

Per risolvere questo problema, sono state seguite strade diverse:

IPv6

IPv6 - Internet Protocol version 6 - è la versione di IP designata come successore dell’IPv4.

La sua caratteristica più importante è l’ampio spazio di indirizzamento (ovvero, il numero di indirizzi distinti resi disponibili):

Quantificando con un esempio, per ogni metro quadrato di superficie terrestre, ci sono 655.570.793.348.866.943.898.599 indirizzi IPv6 unici (cioè circa 655 triliardi), ma solo 0,000007 IPv4 (cioè solo 7 IPv4 ogni chilometro quadrato).

IPv6 consentirebbe di creare un’unica rete pubblica, in cui ciascun nodo possiede un proprio indirizzo univoco. Tuttavia, IPv6 non è retro-compatibile con IPv4: se esistesse una sola rete IPv6, un vecchio dispositivo, che conosca solo il protocollo IPv4, non sarebbe in grado di connettersi alla rete.

Indirizzi IPv6

Gli indirizzi IPv6 sono composti di 128 bit e sono rappresentati come 8 gruppi, separati da due punti, di 4 cifre esadecimali in cui le lettere vengono scritte in forma minuscola. Ad esempio 2001:0db8:85a3:0000:1319:8a2e:0370:7344 rappresenta un indirizzo IPv6 valido.

Se uno dei gruppi – come nell’esempio – è composto da una sequenza di quattro zeri può essere contratto ad un solo zero: 2001:0db8:85a3:0:1319:8a2e:0370:7344

Inoltre, una sequenza di zeri contigui composta da 2 o più gruppi può essere contratta con la semplice sequenza :: ovvero 2001:0db8:0000:0000:0000:8a2e:0370:7344 corrisponde a 2001:0db8:0:0:0:8a2e:0370:7344 o ancora più sinteticamente a 2001:0db8::8a2e:0370:7344.

Network Address Translation (NAT)

Network Address Translation (NAT) è una tecnica messa a punto per ovviare alla saturazione di IPv4.

Abbandonando l’idea di un’unica rete pubblica globale, NAT organizza i nodi in sottoreti. I nodi presenti in una stessa sottorete hanno un indirizzo IPv4 univoco. Ogni sottorete ha un proprio indirizzo IPv4 univoco a livello globale.

In altri termini, secondo la “filosofia” di NAT, gli indirizzi IPv4 non sono più utilizzati per distinguere globalmente dei dispositivi, bensì per distinguere globalmente delle sottoreti. In ogni sottorete, lo ripetiamo, i dispositivi sono poi associati a un indirizzo IPv4 univoco per quella sottorete.

Questa organizzazione ha delle conseguenze:

In sintesi, NAT non consente di creare un’unica rete pubblica, in cui ciascun nodo possiede un proprio indirizzo univoco. Tuttavia, NAT è compatibile con IPv4: un vecchio dispositivo, che conosca solo il protocollo IPv4, continua a essere in grado di connettersi alla rete.

Fino a oggi (7 marzo 2025), la retrocompatibilità di NAT ha avuto la meglio sulla semplicità di IPv6. Tuttavia, si ritiene che nei prossimi anni il passaggio da IPv4/NAT a IPv6 sarà completato.

Ma come fa a funzionare NAT? Ad esempio: se sono un nodo della sottorete A, come posso conoscere l’indirizzo di un nodo della sottorete B e comunicare con esso? La risposta, potrà essere data solo dopo aver studiato il livello di trasporto. NAT, infatti, risolve il problema della saturazione di IPv4, ma richiede delle modifiche non solo al livello di rete, ma anche a quello di trasporto, come vedremo.

Maschera di sottorete

Concettualmente, l’indirizzo IP può essere diviso in due parti:



Come sapere qual è l’ultimo bit del net ID e qual è il primo bit dell’host ID? Bisogna accompagnare l’indirizzo IP con una maschera di sottorete, o subnet mask.

Per rappresentare la maschera di sottorete, esistono diverse notazioni. Eccone due molto diffuse:

  1. notazione compatta: dopo l’indirizzo IP, si pone uno / seguito da un numero X tra 1 e 32. X indica quanti sono i bit utilizzati come net ID. I rimanenti 32 - X bit sono utilizzati come host ID. Ad esempio, in 192.168.1.58/24:
    • i primi 24 bit sono utilizzati come net ID
    • i restanti 8 bit (8 == 32 - 24) sono usati come host ID
  2. notazione estesa: l’indirizzo IP è accompagnato da una sequenza di bit lunga quanto l’indirizzo (nel caso di IPv4: 32 bit). In questa sequenza, i primi X bit sono posti uguali a 1, i rimanenti bit sono posti uguali a zero. I bit posti uguali a 1, indicano la net ID, i bit posti a 0 indicano l’host ID. Ad esempio, se l’indirizzo 192.168.1.58 è accompagnato dalla maschera di sottorete 11111111.11111111.11111111.00000000, significa che:
    • i primi 24 bit sono utilizzati come net ID
    • i restanti 8 bit (8 == 32 - 24) sono usati come host ID

Proprio come l’indirizzo IPv4, anche la maschera di sottorete IPv4 può essere rappresentata in notazione decimale puntata. Ad esempio, anziché 11111111.11111111.11111111.00000000, avrei potuto scrivere: 255.255.255.0

Esercizio: dato l’indirizzo IPv4 93.38.127.179 con maschera di sottorete in notazione compatta /30, come si rappresenta la stessa subnet mask in notazione estesa, decimale puntata?

Esercizio: dato l’indirizzo IPv4 93.38.127.179 con maschera di sottorete in notazione estesa 11111111.11111111.11000000.00000000, come si rappresenta la stessa subnet mask in notazione compatta? Come si rappresenta la stessa subnet mask in notazione estesa, decimale puntata?

Il concetto di maschera di sottorete esiste, analogo a IPv4, anche per il protocollo IPv6.

Indirizzi riservati

Sia in IPv4 sia in IPv6 ci sono degli indirizzi riservati per scopi precisi, i quali non possono essere utilizzati come indirizzo IP di un qualsiasi dispositivo. Vediamone alcuni.

Indirizzo di rete

All’interno di ogni rete, esiste l’indirizzo di rete: è l’indirizzo ottenuto ponendo uguali a 0 tutti i bit dell’host ID.

Non è possibile inviare un pacchetto IP che abbia un indirizzo di rete come destinatario.

L’indirizzo di rete non può essere assegnato a un nodo della rete, essendo riservato allo scopo suddetto.

Il concetto di indirizzo di rete esiste, identico a IPv4, anche per il protocollo IPv6.

Indirizzo di broadcast

All’interno di ogni rete IPv4, esiste inoltre l’indirizzo di broadcast: è l’indirizzo ottenuto ponendo uguali a 1 tutti i bit dell’host ID.

Quando un pacchetto IP ha come destinatario l’indirizzo di broadcast, significa che tale pacchetto deve essere inviato a tutti i nodi della sottorete.

L’indirizzo di broadcast non può essere assegnato a un nodo della rete, essendo riservato allo scopo suddetto.

IPv6 non permette comunicazioni broadcast, perciò per IPv6 l’indirizzo di broadcast non esiste.

Indirizzi privati

A partire dal 1996, Tra tutti i possibili indirizzi IPv4, ce ne sono alcuni che possono essere utilizzati solo come indirizzi privati. Non è possibile usare un indirizzo IP privato come destinatario di un pacchetto su una rete pubblica.

Gli indirizzi privati IPv4 sono dati da tre blocchi di indirizzi:

Blocco di indirizzi Primo indirizzo Ultimo indirizzo Numero di indirizzi
10.0.0.0/8 10.0.0.0 10.255.255.255 224
172.16.0.0/12 172.16.0.0 172.31.255.255 220
192.168.0.0/16 192.168.0.0 192.168.255.255 216

IPv6 non ha indirizzi privati, non avendo alcuna necessità di NAT. In IPv6 esistono i concetti di indirizzi unique local e indirizzi link-local, in qualche modo affini al concetto di “indirizzo privato” in IPv4, ma io per primo non ho mai ben capito a cosa servano, perciò non lo spiegherò certo a voi.

Indirizzo di loopback

L’indirizzo di loopback - o indirizzo localhost - è un indirizzo IP speciale, che gli host utilizzano per dirigere il traffico verso se stessi.

L’indirizzo di loopback crea un modo di comunicazione rapido per applicazioni TCP/IP e servizi che sono eseguiti sullo stesso dispositivo. Utilizzando l’indirizzo di loopback anziché l’indirizzo host IPv4 assegnato, due servizi sullo stesso host possono ignorare gli strati inferiori dello stack TCP/IP.

Il protocollo IPv4 riserva l’intero blocco di indirizzi 127.0.0.0/8 ai fini di loopback. Tuttavia, nella pratica, l’unico indirizzo IPv4 usato per il loopback è 127.0.0.1/32.

Il protocollo IPv6, più ragionevolemnte, riserva un solo indirizzo IPv6 ai fini di loopback: ::1/128.

IPv4: indirizzi unicast, broadcast, multicast

In una rete IPv4, gli host possono comunicare in tre diversi modi:

La comunicazione unicast è utilizzata per il normale scambio di dati tra due nodi della rete.

I pacchetti unicast utilizzano l’indirizzo host del dispositivo di destinazione come indirizzo di destinazione e possono essere inoltrati attraverso la rete locale e verso altre reti. Broadcast e multicast, invece, utilizzano indirizzi speciali come indirizzo di destinazione. Utilizzando questi indirizzi speciali, le trasmissioni sono generalmente limitate alla rete locale.

Quando un host ha bisogno di informazioni e non sa quale sia il nodo della rete che detiene la risposta, l’host invia una richiesta sull’indirizzo di broadcast.

Tutti gli host della rete ricevono ed elaborano questa richiesta. Uno o più degli host con le informazioni richieste risponderanno, in genere utilizzando gli indirizzi unicast.

A differenza di unicast, dove i pacchetti possono essere indirizzati verso qualsiasi rete, i pacchetti broadcast sono solitamente limitati alla rete locale.

La trasmissione multicast è progettata per conservare la larghezza di banda della rete IPv4. Riduce il traffico permettendo a un host di inviare un pacchetto unico a un insieme selezionato di host.

Per raggiungere più host di destinazione mediante comunicazione unicast, un host avrebbe bisogno di inviare un pacchetto indirizzato a ciascun host. Con multicast, l’host di origine può inviare un pacchetto unico che può raggiungere migliaia di host di destinazione.

Alcuni esempi di trasmissione multicast sono:

In sintesi:

Distribuzione degli indirizzi IP

Ognuno dei nostri dispositivi connessi alla rete internet dispone di un indirizzo IP. Ma: chi lo ha assegnato?

Consideriamo uno smartphone connesso alla rete internet di casa. Esso potrebbe avere assegnato un indirizzo IPv4 privato e un indirizzo IPv6 (pubblico). Da dove arrivano?

Il router

Queste assegnazioni sono effettuate da un dispositivo chiamato router (hai presente la scatoletta ricevuta dal tuo fornitore di servizi internet? Ecco: quello è il router). Il router di casa ha a disposizione:

Il router:

Ma chi ha messo a disposizione del router l’indirizzo IPv4 pubblico e l’intervallo di indirizzi IPv6 pubblici?

L’Internet Service Provider (ISP)

Un Internet Service Provider - o “fornitore di servizi internet” - è un’azienda che si occupa di permettere ai propri utenti di connettersi a internet. Ovvero, fornisce ai propri utenti un indirizzo IPv4 pubblico e un intervallo di indirizzi IPv6 pubblici.

Ad esempio, in Italia, sono ISP: Fastweb, Tim, Vodafone, WindTre,…

Attenzione! Non tutti gli ISP supportano IPv6 (…).

Gli ISP hanno a disposizione intervalli di indirizzi IPv6 assegnabili ai propri clienti, così come intervalli di indirizzi IPv4 pubblici assegnabili ai propri clienti.

E chi fornisce questi indirizzi agli ISP?

Il Regional Internet Registry (RIR)

Un Regional Internet Registry è un’organizzazione che si occupa della distribuzione di indirizzi IPv4 e IPv6. Al momento, esistono cinque RIR al mondo, all’incirca uno per ogni continente:

Regional Internet Registries world map

E, infine, chi coordina i RIR?

Internet Assigned Numbers Authority (IANA)

La Internet Assigned Numbers Authority (IANA) è una società statunitense che si occupa della delega e della gestione degli indirizzi IP, v4 e v6. Parte tutto da lei!

In estrema sintesi, gli indirizzi pubblici affidati al notro router domestico seguono questo “viaggio”:

IANA ---> RIR ---> ISP ---> router ---> smartphone

Livello 4: trasporto

Il livello di trasporto, dando per scontata la comunicazione tra due nodi al livello di rete, si occupa di offrire dei servizi aggiuntivi. Nessuno dei seguenti servizi è obbligatoriamente fornito da un protocollo del livello di trasporto: perciò, per ogni applicazione, è possibile scegliere il protocollo più adatto allo scopo.

L’informazione scambiata a livello di trasporto è suddivisa in segmenti (in inglese, segments). Il payload di un segmento contiene dati del soprastante livello di sessione.

Nota bene: il controllo di flusso si concentra su eventuali sovraccarichi degli host; il controllo di congestione si concentra su eventuali sovraccarichi dei collegamenti tra gli host.

Nella rete internet, i due protocolli del livello 4 più diffusi sono TCP e UDP.

Transmission Control Protocol (TCP)

Il Transmission Control Protocol (TCP) è un protocollo del livello di trasporto, con queste caratteristiche principali:

Porte

Le porte sono numeri utilizzati per identificare una particolare connessione del livello di trasporto tra quelle al momento attive su un nodo.

In TCP e UDP le porte sono rappresentae con 16 bit, per un totale di 216 = 65 536 porte possibili, che vanno da 0 a 65 535.

I segmenti appartenenti ad una connessione saranno quindi identificati dalla quadrupla <indirizzo IP sorgente>, <indirizzo IP destinazione>, <porta sorgente>, <porta destinazione>. I segmenti nella direzione opposta avranno ovviamente sorgente e destinazione scambiati.

In Internet, c’è una convenzione per cui ad alcuni numeri di porta sono associati determinati protocolli di livello applicativo. Ad esempio, se voglio contattare il server HTTP eventualmente in esecuzione su un certo calcolatore, so che devo tentare di stabilire una connessione verso la porta 80 (lista di porte standard).


Facciamo un esempio. Un host A, con indirizzo IP 192.168.1.1, vuole instaurare due connessioni TCP:

Per la prima connessione, il sistema operativo sceglie, in maniera casuale, una porta tra quelle non attualmente utilizzate: ipotizziamo 51830.

Per la seconda connessione, il sistema operativo sceglie, in maniera casuale, un’altra porta tra quelle non attualmente utilizzate: ipotizziamo 2188.

Le due connessioni, contemporaneamente attive, saranno identificate dalle seguenti quadruple:


Una coppia <indirizzo IP>, <porta> è comunemente chiamata socket.

Nota bene: l’indirizzo IP del mittente e l’indirizzo IP del destinatario sono indicati nell’header del pacchetto IP. La porta del mittente e la porta del destinatario, invece, sono indicate nell’header del segmento TCP/UDP.

Apertura di una connessione TCP

La procedura utilizzata per instaurare in modo affidabile una connessione TCP tra due host è chiamata three-way handshake (stretta di mano in 3 passaggi), indicando la necessità di scambiare 3 messaggi tra host mittente e host ricevente affinché la connessione sia instaurata correttamente. Consideriamo ad esempio che l’host A intenda aprire una connessione TCP con l’host B; i passi da seguire quindi sono:

TCP Handshake

Da questo momento in poi, i due host A e B possono scambiarsi segmenti tramite la connessione TCP appena instaurata.

User Datagram Protocol (UDP)

Lo User Datagram Protocol (UDP) è un protocollo del livello di trasporto. Esso non fornisce molti dei servizi garantiti invece da TCP, poiché il primo obiettivo di UDP è la velocità della comunicazione. Ecco una comparativa tra i due protocolli:

Servizio TCP UDP
Connessione
Affidabilità
Ordine dei pacchetti
Controllo di errore
Multiplazione
Controllo di flusso
Controllo di congestione

In genere, UDP è utilizzato per le applicazioni per le quali un pacchetto in ritardo ha validità nulla, per esempio la trasmissione audio-video in tempo reale (streaming o VoIP sono gli usi più comuni), oppure la trasmissione di altre informazioni sullo stato di un sistema, per esempio i giochi multiplayer online.

Livello 5: sessione

Livello 6: presentazione

Livello 7: applicazione

HTTP: Hyper Text Transfer Protocol

Fate riferimento alla pagina Wikipedia dedicata a HTTP, alla pagina Wikipedia dedicata a HTTPS.

Assicurati di saper rispondere in maniera corretta e completa alle seguenti domande:

Un video (in inglese) che, in circa quattro minuti, riassume lo sviluppo del protocollo HTTP dalla versione 1 alla versione 3, passando per le versioni 1.1 e 2.

Un sito di Google con alcune statistiche sulla diffusione del protocollo HTTPS.

DNS: Domain Name System

Fate riferimento alla pagina Wikipedia dedicata a DNS.

Assicurati di saper rispondere in maniera corretta e completa alle seguenti domande:

Tor

Mail

Diagramma del flusso mail
Tratto dalla pagina Wikipedia su MTA.

Fonti

Header di protocolli popolari

header IPv4

header IPv6

header TCP

header UDP