Strato 5 Flashcards
Come può essere l’architettura del livello applicazione?
P2P o server-client
Quali sono le caratteristiche i un’architettura client-server?
- server sempre attivo con IP fisso
- data center che permettono scappamento perchè non è auto-scalante
- i client si presentano con IP diversi ogni volta
- se aumentano i client deve aumentare il numero dei server -> si utilizzano i data center
Quali sono le caratteristiche i un’architettura P2P?
- peer che possono essere sia client che server
- auto-scalante -> aumentano client ma aumentano anche i server contemporaneamente
- struttura sì più complessa ma che si gestisce da sola
- non può utilizzare il DNS perchè gli IP cambiano continuamente
Come cresce il tempo di attesa in p2P e client-server?
- client-server: il tempo di attesa cresce linearmente con il numero di client
- P2P: aumenta molto poco perchè aumentano client ma contemporaneamente anche i server
Cos’è il BitTorrent?
è un protocollo P2P per il trasferimento di file
Come funziona il BitTorrent?
troppo lungo PAGINA 103
Come funziona il DHT?
pagina 103
Cos’è il DHT?
Distributed Hash Table -> database per architettura P2P
Cosa definiscono in generale i protocolli di livello applicazione?
- tipo
- sintassi e semantica dei messaggi
- regole di invio dei messaggi
- se sono protocolli aperti o privati
- su quali protocolli dei livelli sottostanti devono basarsi
- ritardo massimo -> ritardo gestito dal livello applicazione e non da qualche livello prima
- throughput: alcune applicazioni hanno bisogno di un th. minimo per funzionare (app multimediali) e altre no (app elastiche)
- sicurezza
Cosa si intende per securing TCP?
signfca proteggere le comunicazioni TCP da attacchi esterni o interni mediante il protocollo SSL - Secure Socket Layer che è una procedura dell’API avanzata che aumenta la sicurezza
cos’è l’SSL?
Secure Socket Layer: implementa procedure sicure per un TCP più sicuro
è offerto dal sistema operativo quindi è uguale per tutte le macchine
Su che architettura si base l’HTTP?
client-server
Per cosa sta HTTP?
HyperText Transfer Protocol
Quali sono le caratteristiche di HTTP?
- stateless
- basato su TCP per cui bisogna aprire e chiudere una connessione sulla porta 80
- può essere persistente (più oggetti possono essere mandati su una stessa connessione) o non persistente (un solo oggetto per ogni connessione che poi viene chiusa -> peri download di più oggetti è richiesta una connessione multipla)
- testuale -> più vicino al programmatore
com’è fatto un messaggio di request HTTP?
pagina 107
com’è fatto un messaggio di response HTTP?
pagina 107
Quali sono i metodi di upload di HTTP?
- POST: dati di input caricati tramite il campo di entità body
- URL: usa GET
- HEAD: serve a verificare che un server web sia funzionante quindi la risposta è un Mex vuoto
- PUT: per caricare un file nel filesystem specificato nel path
- DELETE: per eliminare il file specificato nel path
Come funziona la Web cache? Cosa è necessario per poterla utilizzare?
La cache HTTP non fa parte del protocollo originale ed è stata aggiunta successivamente, su più livelli, per soddisfare le richieste dei client senza coinvolgere il main server. Queste cache si trovano sui proxy server che, se contengono la risposta, la inoltrano al client, e se non la contengono inoltrano la richiesta al main server. Se l’oggetto è contenuto nel proxy viene risparmiata banda.
\underline{Nota} In senso logico non sono gli stessi proxy server del DNS; fisicamente si potrebbero trovare entrambi nello stesso ambiente fisico.
Per poter utilizzare i proxy è necessario sapere se l’oggetto in questione è ancora valido o è diventato obsoleto, soprattutto perchè a livello web le informazioni sono altamente dinamiche -> condizionale GET
Come funziona la conditional GET? Per cosa viene usata?
è usata per poter accedere ai proxy http
Per poter utilizzare i proxy è necessario sapere se l’oggetto in questione è ancora valido o è diventato obsoleto, soprattutto perchè a livello web le informazioni sono altamente dinamiche. $\$ Per controllare questo aspetto viene fatta una richiesta al server: si è introdotto il campo \textit{If-modified-since: <date>} nella HTTP request che può ricevere come risposta:
\begin{itemize}
\item se l'oggetto è stato modificato dalla data specificata nella richiesta il server risponde restituendo l'oggetto modificato, la nuova data e lo stato \textit{200 OK}
\item se invece non è stato modificato viene mandata una risposta vuota contenente lo stato \textit{304 Not Modified}
\end{itemize}</date>
Da cosa è composta l’app di posta elettronica?
user agent, mail server e SMTP
- lettura scrittura -> user agent
- contenere le caselle di posta -> mail server
- invio -> smtp
a cosa servono I mail server?
contengono le caselle di posta e le code di messaggi che devono essere spedite
ogni mail server si occupa di un dominio di posta
su che protocollo del livello 4 si basa SMTP?
tcp alla porta 25
come funziona smtp? come sono fatti i messaggi?
- handshaking
- invio messaggio
- chiusura
messaggi testuali di 7 bit
dove si trova smtp? (figura pagina 109)
si trova tra user agent e mail server del mittente e tra mail server e user agent del destinatario
qual è il paradigma di invio di un Mex di posta?
pagina 109
quale standard utilizza smtp per i messaggi di testo?
rfc 822
cosa prevede lo standard RFC 822?
header + body
header: to}, from, subject(to/from sono per esempio vanessalarivei@gmail.com e mattialarivei@gmail.com, mentre i campi omonimi di SMTP indicano quali due “interfacce” stanno comunicando attraverso il protocollo quindi per esempio C e S generici)
a cosa si appoggia smtp per messaggi non di tipo testuale?
estensione MIME
cosa prevede MIME?
SMTP si appoggia a questa estensione per poter inviare dati differenti da un messaggio di testo. MIME indica come devono essere interpretati i bit che seguono. Lo si specifica attraverso degli header addizionali.
I tipi supportati da MIME sono: text (html, ecc.), image (jpeg, gif, ecc.), audio (basic, 32kadpcm, ecc.), video (mpeg, ecc.), application (msword, ecc.).
è possibile anche una multi-mime
cosa sono i mail access protocol?
sono i protocolli che permettono allo user di leggere effettivamente una mail
quali sono i mail access protocol?
POP IMAP E HTTP
come funziona POP?
pop è un mail access protocol e sta per post office protocol
è un protocollo stateless e testuale quindi i messaggi sono in ascii
- prevede fase di autorizzazione: serve aprire una connessione tcp sulla porta 110 del mail server
- per la connessione il mail server risponde con +OK o +ERR
- la connessione si chiude quando il client manda quit
- se si crea la connessione il client usa i campi user per dire chi vuole leggere la mail e pass hungry per specificare la password
- per ottenere la mail il comando è list
- per scaricare realmente la mail sull’host si usa il comando retr id (dove id è quello assegnato automaticamente in modo crescente quando vengono scaricate con list) e per cancellare si usa dele id
cos’è imap?
internal mail access protocol
a differenza di POP, IMAP non è state-less e permette di organizzare le mail sul client in cartelle in modo tale che la struttura scelta sia adottata anche dal server e che possa essere riprodotta automaticamente su un client diverso dal primo.
come funziona http visto come mail access protocol?
il client utilizza un broser con cui accede a un web server (come Google) attraverso una comunicazione HTTP; il web server interagisce con il mail server (di Google) (\underline{esempio} gmail, Hotmail, ecc.). Utilizzando HTTP le mail non vengono scaricate in locale. (Non si può usare senza Internet! POP3 sì.)