Sei sulla pagina 1di 19

Unità di apprendimento 1

Il livello Applicazione
Unità di apprendimento1
Lezione 1

Il livello di applicazione nei


modelli ISO-OSI e TCP-IP
In questa lezione impareremo:
 Richiamo alla architettura stratificata
ISO-OSI e TCP-IP
 Il concetto di applicazione di rete
 Le tipologie di applicazioni
 I modelli Pear-To-Pear (P2P) e Client-
Server
Il modello OSI e il modello
TCP/IP (o Internet)
Dal messaggio
al frame
Ad ogni passaggio vengono aggiunte le informazioni
necessarie a ciascun protocollo per poter portare a termine i
proprio compiti:
 al livello applicazione viene elaborato il tipo di dato
messaggio;
 al livello trasporto viene elaborato il tipo di dato segmento;
 al livello rete viene elaborato il tipo di dato datagram;
 al livello collegamento (link) viene elaborato il tipo di dato
frame;
 al livello fisico non corrisponde alcun tipo di dato (ma solo un
segnale fisico).
Il livello Applicazione
 Nel livello applicazione la comunicazione
client-server avviene tramite una connessione
logica come se esistesse un collegamento
diretto tar client e server

 A gestire tutto il resto sono i livelli inferiori


Il livello Applicazione

Un programma (applicazione) che vuole comunicare con un altro


programma, deve gestire i primi quattro livelli TCP/IP per aprire la
connessione, inviare/ricevere dati e chiudere la connessione.
Blocchi di istruzioni di questo tipo vengono chiamate API
(Application Programming Interface) o Socket
Socket
Un socket è formato dalla coppia
<indirizzo IP:numero della porta>; si tratta di un
identificatore analogo a una porta, cioè a un
punto di accesso/uscita: un processo che vuole
inviare un messaggio lo fa uscire dalla propria
“interfaccia” (socket del mittente) sapendo che
un’infrastruttura esterna lo trasporterà
attraverso la rete fino alla “interfaccia” del
processo di destinazione (socket del
destinatario).
Multiplazione
Ogni canale virtuale è individuato da una coppia
SORGENTE <indirizzo_ip:porta>
DESTINAZIONE <indirizzo_ip:porta>
Quali sono i protocolli di
applicazione più usati?
 DSNMP: Simple Network Management Protocol;
 SMTP: Simple Mail Transfer Protocol;
 POP3: Post Office Protocol;
 FTP: File Transfer Protocol;
 HTTP: HyperText Transfer Protocol (porta 80);
 HTTPS: HyperText Transfer Protocol Secure (porta 443);
 DNS: Domain Name System;
 SSH: Secure Shell (porta 22);
 Telnet (porta 23).
 DHCP:Dynamic Host Configuration Protocol (porta 67, 68)
 DNS: Domain Name Service (porta 53)
Architetture delle applicazioni di
rete
 Client-server:
– Accesso ai siti tradizionali

 peer-to-peer (P2P)
– eMule, Gnutella (decentralizzato)
– napstes (centralizzato)

 architetture ibride (client-server e P2P).


Architettura client-server
Nella architettura client-server la caratteristica principale è
che deve sempre esserci un server attivo che offre un
servizio, restando in attesa che uno o più client si connettano
a esso per poter rispondere alle richieste che gli vengono
effettuate.
Architettura peer-to-peer (P2P)
Nelle architetture peer-to-peer (P2P) abbiamo coppie di host
chiamati peer (persona di pari grado, coetaneo) che
dialogano direttamente tra loro. Nei sistemi P2P gli host
possono essere visti come una comunità che collabora con il
binomio dare e ricevere: ogni peer fornisce una risorsa e
ottiene in cambio altre risorse.
P2P decentralizzato
Nella architettura completamente decentralizzata un peer ha
sia funzionalità di client che di server (funzionalità simmetrica
= servent), ed è impossibile localizzare una risorsa mediante
un indirizzo IP statico: vengono effettuati nuovi meccanismi di
indirizzamento, definiti a livello superiore rispetto al livello IP.
P2P centralizzato
Il P2P centralizzato è un compromesso tra il determinismo del
modello client server e la scalabilità del sistema puro: ha un
server centrale (directory server) che conserva informazioni
sui peer (index, cioè il mapping resorse-peer) e risponde alle
richieste su quelle informazioni effettuando quindi la ricerca in
modalità centralizzata.
P2P ibrido (o parzialmente
centralizzato)
Il P2P ibrido è un P2P parzialmente centralizzato dove sono
presenti alcuni peer (detti supernodi o super-peer o ultra-
peer) determinati dinamicamente (tramite un algoritmo di
elezione) che hanno anche la funzione di indicizzazione: gli
altri nodi sono anche chiamati leaf peer.
Applicazioni P2P
Servizi offerti dallo strato di
trasporto alle applicazioni
 Trasferimento dati affidabile (o quasi);
 Ampiezza di banda (bandwidth) o throughput
 Temporizzazione;
 Sicurezza
Servizi offerti dallo strato di
trasporto alle applicazioni
 A seconda dell’applicazione si può decidere se adottare un
protocollo di trasporto
– UDP senza connessione e la perdita dati accettabile
– TCP perdita dati inaccettabile, controllo di flusso se il
ricevente è più lento del mittente; non garantisce banda
minima o ritardo minimo