Reti e Tempo di Risposta
52 Questions
1 Views

Reti e Tempo di Risposta

Created by
@CheaperOsmium

Podcast Beta

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Qual è la definizione di Round-Trip Time (RTT)?

  • Tempo di trasmissione di un file
  • Tempo necessario per chiudere una connessione TCP
  • Tempo di propagazione di andata e ritorno tra due host (correct)
  • Tempo impiegato per inviare una richiesta HTTP
  • Qual è uno svantaggio delle connessioni non persistenti?

  • Non consentono il caricamento di oggetti referenziati
  • Richiedono 2 RTT per ogni oggetto (correct)
  • Non possono gestire più richieste simultanee
  • Richiedono più risorse di rete
  • Cos'è un messaggio di richiesta HTTP?

  • Un messaggio di errore del server
  • Un messaggio ASCII che richiede un'azione (correct)
  • Un formato binario non leggibile
  • Un'informazione per la chiusura della connessione
  • Quale metodo HTTP NON è incluso in HTTP/1.1?

    <p>OPTIONS</p> Signup and view all the answers

    Qual è la somma totale del tempo per la risposta comprensivo di RTT?

    <p>2 RTT + tempo di trasmissione</p> Signup and view all the answers

    In un messaggio HTTP, cosa indica la riga di stato?

    <p>Il protocollo, il codice di stato e l'espressione di stato</p> Signup and view all the answers

    Cosa avviene nelle connessioni persistenti?

    <p>La connessione TCP rimane aperta per più richieste</p> Signup and view all the answers

    Qual è il vantaggio delle connessioni persistenti rispetto a quelle non persistenti?

    <p>Richiedono meno tempo totale per elaborare una richiesta</p> Signup and view all the answers

    Quale tra i seguenti NON è un tipo di messaggio HTTP?

    <p>Errore</p> Signup and view all the answers

    Quali sono i componenti principali dei cookie?

    <p>Una riga di intestazione nel messaggio di risposta HTTP</p> Signup and view all the answers

    Cosa specifica un cookie all'interno di una richiesta HTTP?

    <p>L'ID dell'utente e le sue preferenze</p> Signup and view all the answers

    Qual è lo scopo principale della cache web?

    <p>Soddisfare richieste del client senza coinvolgere il server d'origine</p> Signup and view all the answers

    Cosa NON è una funzione dei cookie?

    <p>Fornire supporto per la crittografia</p> Signup and view all the answers

    In che modo la cache web gestisce le richieste quando un oggetto non è presente?

    <p>Richiede l'oggetto al server d'origine</p> Signup and view all the answers

    Quali dati possono essere memorizzati nei cookie?

    <p>Autorizzazione e stato della sessione</p> Signup and view all the answers

    Quale affermazione sui cookie è vera?

    <p>I cookie possono essere utilizzati per tracciare gli utenti tra diverse sessioni</p> Signup and view all the answers

    Cosa non è un risultato di un sistema di caching web?

    <p>Maggiore sicurezza delle comunicazioni</p> Signup and view all the answers

    Qual è il ruolo del database sul sito in relazione ai cookie?

    <p>Memorizzare gli ID e le entry per i cookie</p> Signup and view all the answers

    Qual è il principale vantaggio del multiplexing in HTTP/2?

    <p>Permette di inviare richieste simultanee su una singola connessione</p> Signup and view all the answers

    Che cosa implica la priorità delle richieste in HTTP/2?

    <p>Ogni richiesta può essere assegnata un peso che influenza la sua elaborazione</p> Signup and view all the answers

    In HTTP/2, cos'è un frame?

    <p>La più piccola unità di comunicazione per i dati</p> Signup and view all the answers

    Cosa accade se un client HTTP/1.x cerca di comunicare con un server HTTP/2?

    <p>Il client riceverà un messaggio di errore</p> Signup and view all the answers

    Qual è l'effetto della compressione dell'header HTTP in HTTP/2?

    <p>Riduce la latenza e i byte trasmessi</p> Signup and view all the answers

    Come vengono gestite le comunicazioni in HTTP/2?

    <p>In una singola connessione TCP con flussi multipli</p> Signup and view all the answers

    Cosa rappresenta un identificativo univoco in un stream?

    <p>Un modo per differenziare tra diversi flussi di dati</p> Signup and view all the answers

    Qual è l'obiettivo del framing binario in HTTP/2?

    <p>Incapsulare e trasferire messaggi HTTP in modo più efficiente</p> Signup and view all the answers

    Che ruolo hanno le dipendenze tra stream in HTTP/2?

    <p>Determinano l'ordine in cui i frame vengono elaborati</p> Signup and view all the answers

    Qual è il significato di pesi assegnati agli stream?

    <p>Influiscono sulla priorità di elaborazione delle richieste</p> Signup and view all the answers

    Qual è la principale differenza tra HTTP/1.1 e HTTP/2 riguardo alle connessioni TCP?

    <p>HTTP/1.1 utilizza più connessioni TCP per stream paralleli.</p> Signup and view all the answers

    Qual è la funzione principale del server push nel contesto di HTTP/2?

    <p>Il server può inviare risorse aggiuntive senza richiesta esplicita.</p> Signup and view all the answers

    Quali sono le tre fasi principali del protocollo TLS?

    <p>Negoziazione, scambio delle chiavi, e cifratura simmetrica.</p> Signup and view all the answers

    Qual è il miglioramento principale fornito da HTTPS rispetto a HTTP?

    <p>HTTPS cripta solo le informazioni di protocollo HTTP.</p> Signup and view all the answers

    Qual è l'effetto della 'S' in HTTPS sulla latenza di connessione?

    <p>Aumenta il ritardo a causa dell'inizializzazione della sessione TLS.</p> Signup and view all the answers

    Che tipo di sistema utilizza FTP per il trasferimento di file?

    <p>Modello client/server.</p> Signup and view all the answers

    Quale porta è normalmente utilizzata per la connessione di controllo in FTP?

    <p>Porta 21.</p> Signup and view all the answers

    Come si stabilisce una connessione dati in FTP dopo l'autenticazione?

    <p>Il server apre una connessione dati su una porta casuale.</p> Signup and view all the answers

    Qual è una limitazione di TLS rispetto a HTTPS?

    <p>Non cripta gli header dei protocolli superiori.</p> Signup and view all the answers

    Qual è il principale vantaggio dell'uso di HTTP/3 e QUIC rispetto a TLS?

    <p>Ridurranno il numero di RTT richiesti per la connessione.</p> Signup and view all the answers

    Qual è il ruolo principale delle Content Delivery Networks (CDN)?

    <p>Servire contenuti a diverse reti ISP dalla stessa infrastruttura</p> Signup and view all the answers

    Quale comando si utilizza per trovare l'indirizzo IP di un nodo della CDN di Facebook?

    <p>ping <a href="http://www.fbcdn.net">www.fbcdn.net</a></p> Signup and view all the answers

    Quale delle seguenti informazioni è necessaria per il client per connettersi a un server tramite una socket TCP?

    <p>Numero di porta e indirizzo IP</p> Signup and view all the answers

    Quale tipo di socket è associato a un trasferimento inaffidabile di dati?

    <p>Datagram socket</p> Signup and view all the answers

    Quale affermazione sui servizi TCP è vera?

    <p>Stabilisce una connessione tra client e server</p> Signup and view all the answers

    Cos'è una socket nel contesto di applicazioni client/server?

    <p>Una porta virtuale per la comunicazione</p> Signup and view all the answers

    Qual è uno dei principali vantaggi delle socket API?

    <p>Consente comunicazione tra diversi sistemi operativi</p> Signup and view all the answers

    Cosa si intende per 'stream socket' in TCP?

    <p>Trasferimento di dati ordinati e affidabili</p> Signup and view all the answers

    Quale affermazione è falsa riguardo al processo server durante la comunicazione TCP?

    <p>Non ha bisogno di un processo in esecuzione</p> Signup and view all the answers

    Qual è la funzione della variabile 'buffer' in una socket TCP?

    <p>Memorizza temporaneamente i dati in transito</p> Signup and view all the answers

    Cosa deve fare il server quando riceve una richiesta di connessione da un client?

    <p>Creare una nuova socket per il client</p> Signup and view all the answers

    Quale delle seguenti è una caratteristica distintiva delle socket Unix?

    <p>Forniscono comunicazione locale tra processi</p> Signup and view all the answers

    La comunicazione tra client e server in un'architettura client/server avviene tramite:

    <p>Socket TCP o UDP</p> Signup and view all the answers

    Un client è responsabile della creazione della socket per:

    <p>Contattare il server e stabilire una connessione</p> Signup and view all the answers

    Study Notes

    Definizione di Round-Trip Time (RTT)

    • Il RTT è il tempo impiegato da un pacchetto per viaggiare da un host a un altro e tornare indietro.
    • Questo tempo include la propagazione di andata e ritorno.
    • Un esempio è il tempo necessario a un piccolo pacchetto per viaggiare da un client a un server e tornare al client.

    Il Tempo di Risposta

    • Include il tempo per l'inizializzazione della connessione TCP;
    • un RTT per la richiesta del file;
    • un RTT per il ritorno della richiesta HTTP e dei primi byte della risposta HTTP;
    • il tempo di trasmissione del file.
    • Il tempo totale è di 2 RTT più il tempo di trasmissione.

    Connessioni non persistenti

    • Richiedono 2 RTT per oggetto.
    • Hanno un overhead del sistema operativo per ogni connessione TCP.
    • I browser spesso aprono connessioni TCP parallele per caricare gli oggetti referenziati.

    Connessioni persistenti

    • Il server mantiene la connessione TCP aperta dopo aver inviato una risposta.
    • I messaggi successivi tra gli stessi client / server vengono trasmessi sulla connessione aperta.
    • Il client invia le richieste non appena incontra un oggetto referenziato.
    • Solo un RTT per tutti gli oggetti referenziati.

    Messaggi HTTP

    • I messaggi HTTP sono di due tipi: richiesta e risposta.
    • I messaggi di richiesta HTTP sono in formato ASCII (leggibile dall'utente).
    • La riga di richiesta include comandi come GET, POST, HEAD.

    Formato generale del messaggio di richiesta HTTP

    • La riga di richiesta indica il comando, l'oggetto richiesto e il protocollo.
    • Le righe di intestazione forniscono informazioni aggiuntive come il nome host o l'agente utente.
    • Un ritorno a capo e un avanzamento riga indicano la fine del messaggio.

    Upload dell'input di un form

    • Il metodo POST utilizza il corpo dell'entità per inviare l'input al server.
    • Il metodo URL utilizza il campo URL della riga di richiesta per inviare l'input al server.

    Tipi di metodi HTTP

    • HTTP/1.0 supporta i metodi GET, POST e HEAD.
    • HTTP/1.1 supporta inoltre i metodi PUT e DELETE.
    • PUT include il file nel corpo del messaggio e lo invia al percorso specificato nel campo URL.
    • DELETE cancella il file specificato nel campo URL.

    Messaggio di risposta HTTP

    • La riga di stato include il protocollo, il codice di stato e l'espressione di stato.
    • Le righe di intestazione forniscono informazioni aggiuntive come la data, il server o l'ultima modifica.
    • I cookie sono utilizzati da molti siti web per memorizzare informazioni sull'utente.
    • Comprendono una riga di intestazione nel messaggio di risposta HTTP, una riga di intestazione nel messaggio di richiesta HTTP, un file cookie mantenuto sul sistema terminale dell'utente e un database sul sito.
    • Il server crea un identificativo unico per l'utente e una voce nel database per quell'ID.
    • L'ID è inviato al client attraverso il campo Set-cookie: nel messaggio di risposta HTTP.
    • Il client memorizza l’ID nel file cookie e lo aggiunge alla richiesta successiva nel campo cookie:.
    • Il server può utilizzare questo ID per personalizzare l'esperienza dell'utente.
    • Autorizzazione
    • Carta di credito
    • Raccomandazioni
    • Stato della sessione dell'utente
    • I cookie possono consentire ai siti di raccogliere informazioni sull'utente.
    • L'utente può fornire al sito il nome e l'indirizzo email.

    Cache web (server proxy)

    • La cache web è un server proxy che memorizza le copie delle pagine web.
    • Questa memorizzazione consente di soddisfare le richieste del client senza coinvolgere il server d'origine.
    • Il browser trasmette tutte le richieste HTTP alla cache.
    • Se l'oggetto è già in cache, la cache lo fornisce direttamente al client.
    • In caso contrario, la cache richiede l'oggetto al server d'origine e poi lo inoltra al client.

    Perché il caching web?

    • Riduce il tempo di risposta per il client.
    • Riduce il carico sul server d'origine.
    • Migliora le prestazioni del sito web.

    HTTP/2.0

    • Consente di trasportare dati web con latenza minima grazie al multiplexing dei flussi e alla priorità delle richieste.
    • HTTP/2 si basa sul protocollo SPDY.

    Multiplexing di flussi

    • Supporta un numero illimitato di flussi su una singola connessione TCP.
    • Aumenta l'efficienza della connessione.

    Priorità delle richieste

    • Il client può inviare quante richieste desidera e assegnarle una priorità.
    • Evita la congestione.

    Compressione dell'header HTTP

    • Diminuisce i byte trasmessi.

    Framing binario

    • È un nuovo livello che codifica e trasferisce i messaggi HTTP.
    • HTTP/2 mantiene la semantica HTTP ma ne cambia la codifica in transito.

    Stream, messaggi e frame

    • Le comunicazioni vengono eseguite all'interno di una singola connessione TCP.
    • Ogni stream ha un identificativo univoco e informazioni opzionali di priorità.
    • Ogni messaggio HTTP è costituito da uno o più frame.
    • Ciascun frame ha un tipo di dati specifico (es. intestazioni HTTP, payload dei messaggi).
    • I frame di diversi stream possono essere intervallati e riassemblati tramite l'identificativo di flusso incorporato.

    Multiplexing di richiste e risposte

    • In HTTP/1.x, più connessioni TCP erano necessarie per eseguire richieste parallele.
    • HTTP/2 elimina questa limitazione, permettendo di eseguire richieste e risposte in parallelo su una sola connessione.
    • Il messaggio HTTP può essere diviso in frame indipendenti, intervallarli e ricomporli dall'altra parte.

    Priorità degli stream

    • L'ordine in cui i frame vengono intervallati e consegnati dal client e dal server influenza le prestazioni.
    • HTTP/2 assegna un peso e una dipendenza a ciascun, consentendo di costruire un "albero di priorità" che indica come ricevere le risposte.

    Connessione HTTP/2

    • Non ha più bisogno di più connessioni TCP per eseguire stream in parallelo.
    • Ogni stream è diviso in frame e gestito con priorità diverse.
    • Tutte le connessioni HTTP/2 sono persistenti.
    • È necessaria solo una connessione per origine.

    Server push

    • Il server può inviare più risposte per una singola richiesta del client.
    • Invia risorse associate senza che il client le richieda esplicitamente.
    • Il server può inviare le risorse associate alla risposta originale in anticipo.

    Transport Layer Security (TLS)

    • È un protocollo crittografico che consente una comunicazione sicura.
    • Fornisce autenticazione, integrità dei dati e confidenzialità.
    • Ha tre fasi principali: negoziazione dell'algoritmo, scambio delle chiavi e autenticazione, cifratura simmetrica e autenticazione dei messaggi.

    HTTPS

    • Invia tutte le richieste e le risposte attraverso una comunicazione cifrata.
    • Utilizza TLS sulla porta 443.
    • Il browser capisce automaticamente che deve usare TLS e invia richieste criptate.
    • Cripta solo le informazioni del protocollo HTTP, non gli header dei protocolli inferiori.
    • Più del 50% dei siti usa HTTPS.

    La "S" aumenta il ritardo di connessione

    • L'inizializzazione di una sessione TLS richiede tempo.
    • Richiede 2 RTT più 1 RTT per la connessione TCP.
    • Le soluzioni includono protocolli più moderni come HTTP/3 e QUIC.

    Capitolo 2: Livello applicazione

    • Tratta i principi delle applicazioni di rete, il web e HTTP, FTP, la posta elettronica (SMTP, POP3, IMAP), DNS, le applicazioni P2P e il cloud computing.

    FTP: file transfer protocol

    • Consente il trasferimento di file da/verso un host remoto.
    • Utilizza il modello client/server.
    • Il client FTP contatta il server FTP alla porta 21 usando TCP.
    • Il server FTP apre una seconda connessione dati usando TCP per trasferire un file.

    Contenuto Delivery Networks (CDN)

    • Facebook ha la propria CDN.
    • È possibile identificare i nodi CDN di Facebook utilizzando l'indirizzo fbcdn.net all'interno del codice HTML di una pagina web.
    • Il comando "ping www.fbcdn.net" restituisce l'indirizzo IP di un nodo CDN.
    • L'indirizzo IP può essere utilizzato per localizzare geograficamente il nodo tramite una ricerca online.

    Programmazione delle Socket

    • Le socket sono interfacce di comunicazione tra il processo di un'applicazione locale e il sistema operativo.
    • Le socket sono aperte, utilizzate e chiuse dalle applicazioni, ma sono gestite dal sistema operativo (SO).
    • Ci sono diversi tipi di socket, inclusi: DARPA Internet Address (Internet Socket), Unix Socket e indirizzi X.25 (X.25 Socket).
    • Il paradigma client/server si basa sulle socket.
    • Le socket API offrono due tipi di servizi di trasporto: datagramma inaffidabile e affidabile, orientato ai byte.

    Programmazione delle Socket con TCP

    • Una socket è una porta tra il processo di un'applicazione e il protocollo di trasporto end-to-end (UDP o TCP).
    • TCP fornisce un trasferimento affidabile di byte tra i processi, chiamato socket di stream (SOCK_STREAM).
    • La connessione TCP passa attraverso buffer e variabili gestite dal sistema operativo e dall'applicazione.
    • Per comunicare, il client deve contattare il server con una socket TCP e specifiche di indirizzo IP e numero di porta del server.
    • Il server, una volta contattato, crea una nuova socket per comunicare con il client.
    • Il server può gestire connessioni con più client utilizzando numeri di porta distinti.
    • TCP offre un trasferimento di byte affidabile e ordinato tra il client e il server, come una "pipeline".

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    reti_cap2.pdf

    Description

    Scopri il concetto di Round-Trip Time (RTT) e il suo impatto sulle prestazioni di rete. Questo quiz esplora il tempo di risposta delle connessioni TCP, sia persistenti che non persistenti, e come questi influenzano il caricamento delle risorse. Testa le tue conoscenze su questi importanti aspetti delle reti di computer.

    More Like This

    Use Quizgecko on...
    Browser
    Browser