Il livello di applicazione nello stack TCP/IP

📋 Obiettivi di apprendimento
Collocare il livello di applicazione nello stack TCP/IP e confrontarlo con il modello ISO/OSI
Elencare i compiti principali del livello applicativo e i servizi che offre alle applicazioni utente
Distinguere protocolli basati su TCP da quelli basati su UDP, motivando la scelta in base alle esigenze del servizio
Riconoscere il ruolo della crittografia a livello applicativo per garantire riservatezza e autenticazione
📄
Slides
slide complete con diagrammi

Introduzione

Le reti di computer non si limitano a trasportare dati da un punto all’altro: forniscono servizi complessi che utilizziamo ogni giorno — navigazione Web, posta elettronica, streaming, cloud e applicazioni distribuite. Tutti questi servizi operano a livello software grazie al livello di applicazione (Application Layer), che rappresenta l’interfaccia tra l’utente e l’infrastruttura di rete.

Per uno studente di Sistemi e Reti, comprendere questo livello significa capire come funzionano realmente le applicazioni Internet, andando oltre l’hardware e i collegamenti fisici.

📌 Da tenere a mente

Il livello di applicazione è il più vicino all’utente. È qui che “vivono” HTTP, DNS, SMTP e tutti i protocolli che usi quotidianamente. Non studia il cavo o il router: studia le regole di comunicazione tra programmi.

Il livello di applicazione nello stack TCP/IP

Nello stack TCP/IP, il livello di applicazione è lo strato più alto dell’architettura e raccoglie tutte le funzionalità necessarie affinché un programma possa comunicare tramite la rete.

A differenza del modello ISO/OSI — che distingue tre strati superiori separati (presentazione, sessione, applicazione) — TCP/IP adotta un approccio più pratico e orientato all’implementazione reale: tutti questi compiti confluiscono in un unico livello.

Stack TCP/IP
Modello ISO/OSI
Applicazione
7 — Applicazione
6 — Presentazione
5 — Sessione
Trasporto
4 — Trasporto
Internet
3 — Rete
Accesso alla rete
2 — Collegamento
1 — Fisico

Compiti del livello di applicazione

Il livello di applicazione si occupa di quattro funzioni principali:

01 / Protocolli standard

Definisce protocolli applicativi standard che tutti i sistemi conformi devono rispettare (HTTP, DNS, SMTP…)

02 / Formati e semantica

Stabilisce il formato e il significato dei messaggi scambiati tra applicazioni su host diversi

03 / Comunicazione tra processi

Consente la comunicazione tra processi applicativi in esecuzione su macchine fisicamente diverse

04 / Servizi alle applicazioni

Offre servizi di rete alle applicazioni utente: ricerca di risorse, trasferimento dati, autenticazione

⚠️ Distinzione importante

Il protocollo definisce le regole; l’applicazione le utilizza. HTTP non è un browser — è il protocollo che il browser usa per comunicare con il server. Non confonderli.

Sicurezza e crittografia a livello applicativo

Con l’introduzione della crittografia, il livello applicativo può anche:

  • utilizzare algoritmi crittografici per garantire riservatezza e integrità dei dati in transito;
  • gestire autenticazione e controllo degli accessi tra client e server.

Un esempio concreto: HTTPS non è un protocollo separato, ma HTTP che opera sopra un livello crittografico TLS. Il canale di trasporto diventa cifrato, ma la logica applicativa rimane quella di HTTP.

Protocolli applicativi e trasporto: TCP vs UDP

I protocolli applicativi si appoggiano ai protocolli di trasporto TCP o UDP, scegliendo quello più adatto al servizio offerto.

TCP — Affidabilità

Garantisce ordine dei pacchetti, controllo degli errori e ritrasmissione. Usato quando l’integrità è fondamentale.

HTTP — trasferimento risorse Web
FTP — trasferimento file
SMTP / POP3 / IMAP — email
SSH / Telnet — accesso remoto
DHCP — assegnazione indirizzi
UDP — Velocità

Privilegia bassa latenza, senza handshake né ritrasmissioni. Usato quando la velocità conta più della correttezza.

DNS — risoluzione rapida dei nomi
Streaming — audio e video in tempo reale
VoIP — voice over IP
📌 Riepilogo — Punti chiave
  • Il livello di applicazione è il più alto nello stack TCP/IP ed è il più vicino all’utente
  • TCP/IP unifica in un solo strato ciò che ISO/OSI divide in tre (sessione, presentazione, applicazione)
  • I protocolli basati su TCP privilegiano l’affidabilità; quelli su UDP privilegiano la velocità
  • Il livello applicativo può integrare crittografia (es. TLS) per garantire sicurezza end-to-end

Lascia un commento