Livello applicativo Flashcards
Cos’è un applicazione?
è un sofware capace di interagire con la rete ed essere eseguito su terminali diversi. Il software non è legato alla rete per quanto riguarda la sua creazione e i nodi di una rete non hanno software applicativo –> le app sono solo nei terminali
Cos’è un host? E un processo?
L’Host è il dispositivo di ciascun utente.
Il processo è l’applicazione in esecuzione sull’host.
Quali sono i 2 fattori necessari alla comunicazione tra processi?
- Conoscenza dell’indirizzo dell’interlocutore
- Scelta del protocollo di scambio dei dati
A Cosa servono i SAP?
I Service Access Point permettono l’utilizzo dei livelli inferiori durante lo scambio di messaggi: ogni processo è associato a un SAP
Cosa serve per identificare un processo su un host?
- Indirizzo IP dell’host
- Indirizzo del SAP del processo in esecuzione sull’host (numero di porta)
L’insieme di queste due componenti forma la SOCKET: si tratta di una porta di comunicazione che mettono in rete il messaggio, che viene raccolto e trasportato alla SOCKET del destinatario.
Quali sono i 3 tipi di Architetture applicative?
1) CLIENT - SERVER:
- I dispositivi coinvolti nella comunicazione implementano o solo il processo client o solo il processo server
- I dispositivi client e server hanno caratteristiche diverse
- I client possono solo eseguire richieste
- I server possono solo rispondere a richieste ricevute
2) PEER-TO-PEER
- I dispositivi implementano tutti sia il processo client che quello server
3) IBRIDA
Quali sono le caratteristiche dell’architettura client-server?
SERVER:
- Host sempre attivo
- Indirizzo IP permanente
- Possibilità di utilizzo di macchine in cluster (= server costituito da più terminali)
- Ricevono richieste da più client
CLIENT:
- Comunicano con il server
- Possono essere connessi in modo discontinuo
- Possono cambiare indirizzo IP
- Non comunicano con altri client
- Inviano più richieste allo stesso server
Quali sono le caratteristiche dell’architettura peer-to-peer?
- Non ci sono server sempre connessi
- I terminali comunicano direttamente
- I terminali sono collegati in modo intermittente e possono cambiare indirizzo IP
Come avviene la comunicazione tramite protocollo HTTP?
HHTP si appoggia su TCP livello di trasporto:
1) Il client HTTP inizia una connessione TCP verso il server
2) Il server HTTP accetta connessioni TCP da client HTTP
3) Client e server HTTP si scambiano informazioni
4) La connessione TCP tra client e server viene chiusa
NOTA BENE:
Come funziona la connessione HTTP non persistente?
Qual è un esempio di connessione non persistente?
- Tale tipo di connessione consiste in una connessione TCP per una sola sessione richiesta-risposta: inviato l’oggetto il server chiude la connessione TCP
- La procedura viene ripetuta per tutti i file collegati al documento HTML base
- Le connessioni TCP per più oggetti possono essere aperte in parallelo per minimizzare il ritardo
ESEMPIO: Richiesta home PoliMi
NOTA BENE:
Come funziona la connessione HTTP persistente?
- La connessione TCP rimane aperta e può essere usata per trasferire più oggetti della stessa pagina web o di più pagine web
with pipelining: richieste inviate in parallelo
without pipelining: richieste inviate in serie
Cos’è l’RTT?
Round Trip Time = tempo per trasferire un messaggio dal client al server e ritorno
Cosa hanno rimosso i cookies?
Hanno rimosso la caratteristica stateless del protocollo HTTP: in questo modo possono essere fatte richieste mirate, basate sugli interessi dimostrati in passato
Qual è la sua funzione e come funziona un proxy?
L’obiettivo di un proxy è quello di rispondere alle richieste HTTP senza coinvolgere il server HTTP
Il client HTTP invia tutte le richieste HTTP a un proxy
- Se l’oggetto richiesto è disponibile nella chace del proxy server, il proxy server risponde con l’oggetto
- Altrimenti il proxy recupera l’oggetto dal server d’origine e lo restituisce al client
I proxy sono quindi instradatori di messaggi di livello applicativo: sono sia client che server.
Su che tipo di struttura si basa il servizio di posta elettronica?
La sua caratteristica principale è che vi è sempre un server interposto tra client utente e server destinatario: in questo modo è sempre possibile inviare messaggi anche quando il destinatario non è connesso
Da quali server viene usato e in cosa consiste il protocollo SMTP?
- E’ il protocollo usato tra mail server nel servizio di posta elettronica, e inoltre è il protocollo usato in uplink
- E’ un protocollo applicativo client-server
- Quando un mail server riceve un messaggio da un client d’utente: mette il messaggio in coda, apre una connessione TCP con la porta 25 del mail server del destinatario, trasferisce il messaggio, chiude TCP
- Tale interazione è di tipo comando/risposta, entrambi testuali
Quali sono i due protocolli di accesso al mailbox?
POP3 e IMAP
NB Perchè è stato sviluppato il DNS?
Domain Name System
Tale sistema si prefigura lo scopo di creare una mappatura fra indirizzi IP (utilizzati dalle macchine di rete) e i nomi simbolici (usati dagli esseri umani)
NB Quali sono i due ingredienti del DNS?
- Database distribuito costituito da molti name servers con organizzazione gerarchica –> Ogni livello nella gerarchia ha diversa “profondità” di informazione
- Protocollo applicativo tra name server e host per risolvere nomi simbolici (= tradurre nomi simbolici in indirizzi IP)
Nel mondo sono infatti distribuiti i RNS, Root Name Server
Cosa sono i LNS?
Local Name Servers
- Ogni Internet Server Provider ha un NS locale, direttamente collegato agli host, che viene usato ogni volta che un host deve risolvere un indirizzo simbolico. I LNS sono in grado di contattare i RNS nella gerarchia
Come si articola il mappaggio DNS?
1) Ogni host ha configurato l’indirizzo del LNS
2) Le applicazioni che richiedono un mappaggio usano le funzioni del DNS
3) Una richiesta viene inviata al server DNS
4) Il server reperisce l’informazione e restituisce la risposta
Come funziona il Caching delle informazioni (argomento: DSN)?
- Un server, dopo aver reperito un’nformazione su cui non è authoritative può memorizzarla temporaneamente
- All’arrivo di una nuova richiesta può fornire l’informazione senza risalire sino al server authoritative
- Il TTL (Time To Live) è deciso dal server authoritative ed è un indice di quanto stabile nel tempo è l’informazione relativa
-I TLD server sono generalmente “memorizzati” nei LNS - I server non-authoritative usano il TTL per decidere un time-out
Come funzionano le applicazioni peer-to-peer?
Sono servizi in cui i terminali partecipano alla pari: L’utente terminale non è solo client, ma si può comportare anche da server.
Cos’è una directory centralizzata? Quali problemi presenta?
1) Quando i peer si connettono, informano il server centrale
2) Il peer interroga il server centrale per uno specifico file
3) Il file viene scaricato direttamente
Problemi dell’architettura centralizzata:
- Problema principale: Il trasferimento dei file è distribuito, ma la ricerca dei contenuti è fortemente centralizzata
- Se il server si rompe il sistema si blocca
- Il server è un collo di bottiglia per il sistema
- Chi gestisce il server può essere accusato di infrangere regole sul copyright