Reti - Livello Applicazione Flashcards
(23 cards)
Con che struttura dati comunicano due processi su host diversi sulla rete?
Socket
Com’è composto il socket address?
protocollo + indirizzo IP + numero di porta
Quali sono i pro di TCP su UDP e quali caratteristiche non possono garantire?
Orientato alla connessione, affidabilità, controllo del flusso, gestione della congestione e non possono garantire, garanzie temporali, throughtput garantito e sicurezza
Come si ottiene l’URL di una risorsa?
protocollo + nome host server + percorso
Cosa vuol dire che HTTP è un protocollo stateless?
Ogni richiesta è indipendente dalle precedenti
Descrivi brevemente HTTP 1.0
Protocollo stateless con connessioni TCP non persistenti. Dopo un primo handshake TCP, il client fa la richiesta e il server fornisce la risposta a quella specifica richiesta (anche errore). Dopodichè viene terminata la connessione TCP e bisogna aprirne un’altra per richiedere nuove informazioni
Protocollo inefficente perchè richede di aprire molte connessioni TCP (T_risp = 2RTT + T_trasm)
Che cosa aggiunge HTTP 1.1?
HTTP 1.1 introduce le connessioni persistenti, riducendo notevolmente l’overhead del sutup iniziale
Com’è formata una richiesta HTTP?
Riga di richiesta + righe di intestazioni
Com’è fatta una riga di richiesta HTTP e quali sono i metodi principali?
Metodo + URL + protocollo
I metodi principali sono:
-GET
-HEAD
-PUT
-POST
-TRACE
-DELETE
-CONNECT
-OPTIONS
Cosa possiamo trovare nelle righe di intestazione di una richiesta HTTP?
I campi principali sono:
-USER AGENT
-ACCEPT
-ACCEPT-CHARSET
-ACCEPT-ENCODING
-ACCEPT-LANGUAGE
-AUTHORIZATION
-HOST
-DATE
-UPGRADE
-COOKIE
-LAST-MODIFIED-SINCE
Com’è composto un messaggio di risposta HTML?
Riga di stato + Righe di intestazione + body del messaggio
Nelle righe di stato è presente solo il protocollo e il codice di stato
Cosa si intende per negoziazione del contenuto e che modalità abbiamo analizzato?
Quando su un server sono presenti diverse rappresentazioni per la stessa risorsa, client e server si devono accordare.
Nella comunicazione server driven è il server che, una volta richiesta la risorsa dal client con le dovute restrizioni (righe di intestazione), sceglie in autonomia la modalità migliore di servire il client.
Nella comunicazione client driven invece il server fornisce la lista delle risorse richieste dal client e sarà lui a scegliere esattamente la risorsa più adatta
A che cosa servono e come sono composti i cookie?
Dato che HTTP è stateless servono per mantenere informazioni sull’attività dell’utente. Funzionano grazie a una riga d’intestazione nel messaggio di risposta e di richiesta HTTP, un coockie file sull’host client e il browser dell’utente e il database sul webserver del sito
Perchè si utilizzano le webcache e come possiamo sfruttarle al meglio?
Velocizzano notevolmente l’ottenimento delle risorse e riducono il carico sul server. Attrverso delle richiestae specifiche (come il GET condizionale) è possibile anche accertarsi devalidità del dato in copia sulla cache (controllando il last-modified-since)
Che cos’è l’HOL blocking?
L’head of line blocking è un problema di HTTP 1.1 che consiste nel fatto che un oggetto di piccole dimensioni potrebbe dover aspettare molto tempo prima di essere caricato (non fair)
Che cosa introduce HTTP 2.0
Per ridurre il numero di connessioni TCP parallele, divide il messaggio in frame e dà la possibilità al client si elencare una priorità sull’invio, in questo modo migliora significativamente la latenza percepita. Inoltre fa anche server pushing
Che cos’è Telnet e come funziona?
E’ un’applicazione che permette di accedere a una macchina remota. Il driver del terminale invia i tasti al client di Telnet che li codifica in maniera universale e li invia al server di telnet che li trasforma in input consumabile dalla macchina remota
Che cos’è NVT
Il network virtual terminal è un terminale virtuale utilizzato da Telnet per poter mantenere la codifica omogenea tra le due macchine. Durante l’utilizzo di telnet infatti entrambe le macchine operano su uno pseudoterminale
Cosa introduce SSH rispetto a Telnet?
Secure Shell permette di rendere sicura e privata la connessione tra due macchine remote. Si compone di 3 livelli:
-SSH-CONN
-SSH-AUTH
-SSH-TRANS
Permette anche di fare port forwarding e tunneling (ovvero può rendere sicure connessioni non sicure, come ad esepio FTP)
Che cos’è FTP
File Trasfer Protocol è un’applicazione che permette di trasferire file tra due host
Come sono strutturati FTP client e FTP server?
Hanno entrambi due processi rispettivamente per il controllo e il trasferimento dati mentre il client ha anche l’interfaccia utente
Processi di controllo e dati in FTP
Il processo di controllo utilizza NVT per scambiarsi semplici istruzione (GET -> RETR) e si aspetta in ritorno un numero di 3 cifre e un testo, il processo dati invece può essere attivo o passivo. Attivo significa che il server apre una connessione verso il client su una data porta e ascolta e specifiche del client. La modalità passiva invece permette al clinet di dirigere e contatta il server fornendogli prima la PASV e successivamente collegandosi alla porta PS1 aperta dal server