Livello Application

Livello 7: Application

Il livello Application, il più alto dello stack OSI, è responsabile della definizione dei servizi presentati all’utente finale.

I protocolli a livello Application variano a seconda del tipo specifico di dati che l’utente desidera trasferire. Il livello Application si occupa anche di definire i parametri QoS accettabili per ogni servizio. Ad esempio, la trasmissione di dati vocali richiede parametri QoS diversi rispetto al trasferimento di un’e-mail. La scelta degli aspetti di sicurezza da utilizzare, come l’autenticazione e il controllo degli accessi, spetta al livello Application. Anche la sincronizzazione delle applicazioni di comunicazione nei servizi connection oriented è responsabilità del livello Application.

Di seguito diamo una breve descrizione dei principali protocolli di questo livello.

  • SNMP: Simple Network Management Protocol. Consente la gestione della rete da parte dell’amministratore occupandosi di fornire una serie di misurazioni sullo stato della rete.
  • SMTP: Acronimo di Simple Mail Transfer Protocol. È uno dei protocolli standard per il trasferimento (invio) delle e-mail.
  • POP3: Post Office Protocol (versione 3). Uno degli standard più diffusi a livello client-server che consente l’accesso ad una casella di posta elettronica.
  • FTP/SFTP: File Transfer Protocol. Fornisce un protocollo standard per il trasferimento di file da un host all’altro, in modalità client-server o anche peer-to-peer. Esiste anche la sua versione più sicura (Secure FTP) che consente connessioni cifrate.
  • DNS: Domain Name System, è il sistema utilizzato per assegnare nomi ai nodi della rete, ovvero associa gli indirizzi IP dei vari host ad un nome (similmente ad una rubrica telefonica che associa un numero telefonico ad un nome).
  • HTTP/HTTPS: Hypertext Transfer Protocol. Sicuramente il più famoso dei protocolli di rete, oltre che uno tra i più utilizzati. Si usa universalmente come principale sistema per la trasmissione d’informazioni sul web ovvero in un’architettura tipica client-server. Esiste in versione Secure (HTTPS) che permette di instaurare connessioni cifrate.

Per un maggiore approfondimento dei protocolli del livello Application, si veda il corrispondente livello nella sezione di questa guida relativa alla suite di protocolli TCP/IP.

Durante il processo di comunicazione finalizzato all’ottenimento di uno dei servizi esposti sopra, vengono gestite delle regole che consentono di aprire, mantenere o terminare la connessione, a seconda delle richieste, attraverso delle API (Application Programming Interface) che utilizzano il sistema dei socket.

A seconda del servizio richiesto sarà quindi scelto il relativo protocollo, avendo cura di individuare il più adatto ad eseguire il compito richiesto. Dal momento che a livello Application una rete di comunicazione è costituita da un insieme di programmi che si possono trovare su differenti host, è necessario gestire l’accesso alle risorse comuni rispettando i principi di concorrenza, ad esempio nel caso di un database che viene acceduto da più processi.

Le applicazioni di rete di solito vengono eseguite su più macchine e quindi si definiscono anche applicazioni distribuite.