Concetti Chiave
- Il livello applicazione del modello ISO/OSI gestisce le applicazioni di rete utilizzate dagli utenti, implementando protocolli come SNMP, SMTP, FTP, HTTP, DNS e Telnet.
- Il meccanismo dei socket identifica univocamente i processi su un host tramite una coppia Indirizzo IP/Numero di porta, supportando architetture client/server e peer-to-peer (P2P).
- Le applicazioni devono scegliere tra i protocolli di trasporto TCP e UDP per garantire un trasferimento dati affidabile o veloce, rispettando anche requisiti di ampiezza di banda e temporizzazione.
- Il protocollo FTP consente il trasferimento sicuro di file tra client e server attraverso due connessioni: una per il controllo e una per il trasferimento dei file.
- Il servizio di posta elettronica utilizza MUA e MTA insieme ai protocolli SMTP e POP3 per gestire l'invio e la ricezione dei messaggi, con IMAP come alternativa per la gestione offline.
Livello applicazione e protocolli
Modello ISO/OSI e TCP → Il livello applicazione si occupa di implementare applicazioni di rete usate poi dall’utente finale.
Il livello applicazione implementa vari protocolli:
-SNMP (Simple Network Management Protocol);
-SMTP (Simple Mail Transfer Protocol);
-FTP (File Transfer Protocol);
-HTTP (HyperText Transfer Protocol);
-DNS (Domain Name System);
-Telnet;
Meccanismo dei socket
Meccanismo dei socket → Serve per identificare univocamente un processo in esecuzione su un host: è formato da coppia Indirizzo IP/Numero di porta.
Client/server (Es: WWW)→ server sempre attivo che offre un servizio in attesa che uno o più client si connettano a esso:
Peer-to-peer (P2P) → Coppie di host (detti peer) che dialogano direttamente tra loro. Ci sono due tipi di P2P:
Decentralizzato: I peer comunicano direttamente tra loro, senza alcun server in mezzo;
Centralizzato: C’è un server al centro che si occupa di dirigere i file a destinazione;
Ibrido → Ci sono alcuni peer che fungono da server e che dirigono dunque i pacchetti in altri peer (è una via di mezzo tra centralizzato e decentralizzato);
Protocolli di trasporto
Ogni applicazione deve scegliere quale tra i protocolli di trasporto utilizzare, per soddisfare delle esigenze, che sono:
Trasferimento dati affidabile → Garantisce la consegna corretta dei dati. Due protocolli del livello di trasporto:
TCP (Transfer Data Protocol) → + Affidabile, - Veloce;
UDP (User Datagram Protocol) → - Affidabile, + Veloce;
Ampiezza di banda (o Throughput) → Deve essere garantita per alcune applicazioni prioritarie;
Temporizzazione → Tempo necessario per la risposta di un’applicazione (Es: VoIP hanno bisogno di tempi brevi);
World Wide Web → Ipertesto (Insieme di pagine ipermediali) Multimediale Distribuito
Browser → applicazioni di rete che permettono di navigare per il WWW (Es: Chrome).
Mediante indirizzo URL e URI le risorse presenti nella rete possono essere univocamente identificate.
FTP e trasferimento file
È un protocollo (liv. applicazione) che serve a trasferire i file. È basato sul modello client-server e sul trasferimento con TCP (sicuro).
Utilizza 2 connessioni:
Connessione di controllo → vengono spedite info di controllo tra client e server (Es: username, password);
Connessione di trasferimento file;
Per trasferire i file, entrambe le macchine devono aver installato un software FTP (Es: Filezilla).
FTP Server → Fornisce servizi all’utente per interagire con il proprio file system: per fare l’accesso, però, servono Credenziali e permessi di amministratore.
Posta elettronica e protocolli
Ogni utente è associato a una casella di posta: nomeutente@dominio;
-Il nome utente identifica l’interlocutore;
-Il dominio è il nome del provider oppure l’indirizzo IP;
La posta elettronica può essere di due tipi:
→ POP MAIL: è un software di posta (Es: icloud mail);
→ WEB MAIL: è un sito web (Es: gmail);
-Gratis
-Accesso da qualunque pc
-Password da ricordare
-MENO sicuro (password)
-Allegati di PICCOLE dimensioni
-Rischio SPAM
-Spesso a pagamento
-Accesso da UN pc
-Password rimane nel software
-PIÙ sicuro
-Allegati di GRANDI dimensioni
-POCO rischio spam
MUA e MTA
La realizzazione della posta elettronica viene attuata mediante due sottoinsiemi;
1) MUA (Mail User Agent) → Programma di gestione della posta (HOST):
-Invio e ricezione
-Composizione
-Lettura
-Usa il protocollo SMTP
2) MTA (Mail Transport Agent) → È un MAILSERVER che si occupa di ricevere messaggi, e fa da ponte tra due MUA:
-Per trasferire il pacchetto dal MUA al mail server MTA del mittente (sinistra) e dal MTA, viene utilizzato il protocollo SMTP;
-Tra i due MTA e Internet si usa sempre il SMTP;
-Per trasferire il pacchetto dal mail server MTA al MUA del destinatario, viene utilizzato il protocollo POP3;
Protocollo SMTP → Utilizza il TCP per consegnare in modo affidabile (viene usato per inviare);
Protocollo POP3 (Post Office Protocol) → Permette al client di posta di accedere al server ed effettuare il trasferimento dei messaggi dalla mailbox (viene usato per ricevere);
Tre fasi di conversazione POP3:
1. Autorizzazione;
2. Transazione (scarico i messaggi);
3. Aggiornamento (chiude la connessione);
Protocollo IMAP → Alternativa al POP3, usato per MOBILE (Internet Message Access Protocol). Permette l’accesso offline, non si possono manipolare i messaggi ricevuti.
DNS (Domain Name System) → Database distribuito che memorizza coppie Dominio-IP.
→ Funge da tramite tra HOST e NAME SERVER per convertire dominio in IP e viceversa.
Telnet → Protocollo applicativo client/server basato su TCP che permette ad un client di lavorare su una macchina remota come se fosse direttamente collegata (oggi è stato sostituito da SSH, più sicuro).
Domande da interrogazione
- Qual è il ruolo del livello applicazione nel modello ISO/OSI?
- Come funziona il meccanismo dei socket?
- Quali sono le differenze tra i protocolli di trasporto TCP e UDP?
- Quali sono le caratteristiche principali del protocollo FTP?
- Come funziona la posta elettronica attraverso MUA e MTA?
Il livello applicazione si occupa di implementare applicazioni di rete utilizzate dall'utente finale, utilizzando vari protocolli come HTTP, FTP e SMTP.
Il meccanismo dei socket identifica univocamente un processo in esecuzione su un host tramite una coppia Indirizzo IP/Numero di porta, e può operare in modalità client/server o peer-to-peer.
TCP è più affidabile ma meno veloce, mentre UDP è più veloce ma meno affidabile, e la scelta tra i due dipende dalle esigenze specifiche dell'applicazione.
FTP è un protocollo di trasferimento file basato su TCP, che utilizza due connessioni: una per il controllo e una per il trasferimento dei file, richiedendo software FTP su entrambe le macchine.
La posta elettronica utilizza MUA per la gestione della posta e MTA come mail server per il trasferimento dei messaggi, impiegando protocolli come SMTP e POP3 per inviare e ricevere email.