Reti - Livello Applicazione Flashcards

(23 cards)

1
Q

Con che struttura dati comunicano due processi su host diversi sulla rete?

A

Socket

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Com’è composto il socket address?

A

protocollo + indirizzo IP + numero di porta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quali sono i pro di TCP su UDP e quali caratteristiche non possono garantire?

A

Orientato alla connessione, affidabilità, controllo del flusso, gestione della congestione e non possono garantire, garanzie temporali, throughtput garantito e sicurezza

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Come si ottiene l’URL di una risorsa?

A

protocollo + nome host server + percorso

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Cosa vuol dire che HTTP è un protocollo stateless?

A

Ogni richiesta è indipendente dalle precedenti

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Descrivi brevemente HTTP 1.0

A

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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Che cosa aggiunge HTTP 1.1?

A

HTTP 1.1 introduce le connessioni persistenti, riducendo notevolmente l’overhead del sutup iniziale

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Com’è formata una richiesta HTTP?

A

Riga di richiesta + righe di intestazioni

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Com’è fatta una riga di richiesta HTTP e quali sono i metodi principali?

A

Metodo + URL + protocollo
I metodi principali sono:
-GET
-HEAD
-PUT
-POST
-TRACE
-DELETE
-CONNECT
-OPTIONS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Cosa possiamo trovare nelle righe di intestazione di una richiesta HTTP?

A

I campi principali sono:
-USER AGENT
-ACCEPT
-ACCEPT-CHARSET
-ACCEPT-ENCODING
-ACCEPT-LANGUAGE
-AUTHORIZATION
-HOST
-DATE
-UPGRADE
-COOKIE
-LAST-MODIFIED-SINCE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Com’è composto un messaggio di risposta HTML?

A

Riga di stato + Righe di intestazione + body del messaggio
Nelle righe di stato è presente solo il protocollo e il codice di stato

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Cosa si intende per negoziazione del contenuto e che modalità abbiamo analizzato?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

A che cosa servono e come sono composti i cookie?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Perchè si utilizzano le webcache e come possiamo sfruttarle al meglio?

A

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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Che cos’è l’HOL blocking?

A

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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Che cosa introduce HTTP 2.0

A

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

17
Q

Che cos’è Telnet e come funziona?

A

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

18
Q

Che cos’è NVT

A

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

19
Q

Cosa introduce SSH rispetto a Telnet?

A

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)

20
Q

Che cos’è FTP

A

File Trasfer Protocol è un’applicazione che permette di trasferire file tra due host

21
Q

Come sono strutturati FTP client e FTP server?

A

Hanno entrambi due processi rispettivamente per il controllo e il trasferimento dati mentre il client ha anche l’interfaccia utente

22
Q

Processi di controllo e dati in FTP

A

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