Protocollo UDP: Caratteristiche e Struttura

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Qual è il significato del tasso di arrivo $𝜆$ in un sistema a coda?

  • Il tempo medio necessario per elaborare un pacchetto dal server
  • Il numero massimo di pacchetti che possono essere memorizzati nel buffer
  • Il numero totale di pacchetti già elaborati dal server
  • Il numero medio di pacchetti che entrano nella coda per unità di tempo (correct)

Cosa implica un ritardo lungo in un sistema a coda?

  • Una distribuzione uniforme dei tempi di servizio
  • Una bassa frequenza di arrivo di pacchetti
  • Un server che elabora i pacchetti troppo velocemente
  • Accodamento nei buffer dei router (correct)

Nella notazione M/M/1, cosa rappresenta il numero '1'?

  • Il numero di server disponibili nel sistema (correct)
  • Il numero totale di pacchetti in arrivo
  • Il tasso di arrivo massimo tollerato
  • Il numero medio di errori durante il servizio

Quale condizione deve essere soddisfatta per definire il carico del server $𝜌$ in un sistema M/M/1?

<p>$𝜌$ deve essere minore di 1 per garantire la stabilità del sistema (A)</p> Signup and view all the answers

Quale delle seguenti affermazioni è vera riguardo ai modelli di sistemi a coda?

<p>Un sistema M/M/1 presuppone una distribuzione esponenziale tanto per gli arrivi quanto per i tempi di servizio (A)</p> Signup and view all the answers

Quale caratteristica principale distingue UDP da TCP?

<p>Non mantiene stato di connessione tra mittente e destinatario (C)</p> Signup and view all the answers

Qual è uno degli utilizzi più comuni di UDP?

<p>Applicazioni multimediali che tollerano perdite (B)</p> Signup and view all the answers

In che modo UDP gestisce i segmenti durante la trasmissione?

<p>Ogni segmento è trattato in modo indipendente (D)</p> Signup and view all the answers

Qual è la funzione principale del checksum in UDP?

<p>Rilevare errori nei dati trasmessi (B)</p> Signup and view all the answers

Qual è il principale svantaggio dell'utilizzo di UDP per la trasmissione dei dati?

<p>Possibilità di perdita di pacchetti (A)</p> Signup and view all the answers

Cosa comprende l'header di un segmento UDP?

<p>Porta sorgente, porta destinazione, lunghezza e checksum (B)</p> Signup and view all the answers

Qual è la principale differenza fra il metodo 'best effort' di UDP e il trasferimento affidabile?

<p>UDP non effettua alcun tentativo di consegna di pacchetti (C)</p> Signup and view all the answers

Quali sono le caratteristiche che Boston UDP offre in termini di alert per le applicazioni?

<p>Basso overhead e tolleranza per perdite di pacchetti (C)</p> Signup and view all the answers

Qual è la principale limitazione del controllo della congestione in TCP tradizionale?

<p>Ritardo nel reagire alla congestione effettiva (B)</p> Signup and view all the answers

In che modo CUBIC bilancia scalabilità e velocità di convergenza?

<p>Variando la lunghezza della finestra secondo una funzione cubica (A)</p> Signup and view all the answers

Qual è uno degli obiettivi dell'algoritmo BBR?

<p>Stimare la larghezza di banda disponibile (B)</p> Signup and view all the answers

Per quale motivo le applicazioni multimediali preferiscono utilizzare UDP anziché TCP?

<p>Per evitare la latenza causata dal controllo di congestione (C)</p> Signup and view all the answers

Quale parametro NON è considerato nell'algoritmo BBR?

<p>Perdita di pacchetti (A)</p> Signup and view all the answers

Quale delle seguenti affermazioni è vera riguardo a CUBIC e TCP?

<p>CUBIC è progettato per migliorare la scalabilità su reti veloci (A)</p> Signup and view all the answers

Qual è il valore utilizzato da CUBIC per il parametro C, secondo RFC 8312?

<p>0.4 (A)</p> Signup and view all the answers

Qual è il principale vantaggio di utilizzare più connessioni TCP per un'applicazione?

<p>Ottenere una maggiore larghezza di banda complessiva (C)</p> Signup and view all the answers

Quale algoritmo è stato adottato da Windows solo nel 2017?

<p>CUBIC (D)</p> Signup and view all the answers

Quale caratteristica distingue il TCP loss-based dai nuovi approcci di controllo della congestione?

<p>Risponde solo ai pacchetti persi (D)</p> Signup and view all the answers

Quale tra queste affermazioni descrive meglio l'obiettivo della stima di RTT?

<p>Offrire una stima 'livellata' e reattiva del RTT. (A)</p> Signup and view all the answers

Cosa determina l'impostazione dell'RTO?

<p>EstimatedRTT più un margine di sicurezza. (C)</p> Signup and view all the answers

Qual è la formula utilizzata per calcolare DevRTT?

<p>DevRTT = (1-b)<em>DevRTT + b</em>|SampleRTT - EstimatedRTT|. (C)</p> Signup and view all the answers

Qual è un effetto di un SampleRTT troppo grande?

<p>Reazione lenta alla perdita di segmenti. (D)</p> Signup and view all the answers

Come viene calcolato il valore di RTO?

<p>RTO = EstimatedRTT + 4*DevRTT. (D)</p> Signup and view all the answers

Quale affermazione meglio descrive il controllo di flusso in TCP?

<p>Non consente al mittente di inviare dati senza limiti. (C)</p> Signup and view all the answers

Cosa significa un margine di sicurezza maggiore nell'impostazione dell'RTO?

<p>Deriva da una grande variazione in EstimatedRTT. (D)</p> Signup and view all the answers

Qual è il valore tipico per la costante 'a' nella formula di EstimatedRTT?

<p>0.125 (A)</p> Signup and view all the answers

Cosa implica la comunicazione del valore di RWND nel TCP?

<p>Il ricevitore limita la quantità di dati che il mittente può inviare. (B)</p> Signup and view all the answers

Che conseguenza ha un timeout prematuro nella comunicazione TCP?

<p>Può determinare ritrasmissioni non necessarie. (B)</p> Signup and view all the answers

Che cosa accade se il buffer del ricevitore TCP va in overflow?

<p>Pacchetti corretti possono essere scartati. (C)</p> Signup and view all the answers

Quale dichiarazione riguardo alla congestione è corretta?

<p>Si riferisce a un eccesso di trasmettitori sulla rete. (B)</p> Signup and view all the answers

Qual è l'effetto di una stima di RTT troppo piccola?

<p>Aumento delle ritrasmissioni e della congestione. (C)</p> Signup and view all the answers

Cosa indica la ricezione di tre ACK duplicati durante la trasmissione di segmenti TCP?

<p>Il segmento deve essere ritrasmesso. (A)</p> Signup and view all the answers

Qual è l'obiettivo principale della fase di fast recovery in TCP?

<p>Continuare a trasmettere durante la congestione. (C)</p> Signup and view all the answers

Cosa succede al valore di CWND quando si riceve un ACK valido in fase di fast recovery?

<p>CWND diventa uguale a SSTHRESH. (C)</p> Signup and view all the answers

Cosa rappresenta il valore WUP nella gestione della fase di fast recovery?

<p>Il numero di segmenti attualmente 'in volo'. (C)</p> Signup and view all the answers

Quale affermazione è vera riguardo alla modifica di SSTHRESH durante il fast recovery?

<p>SSTHRESH viene impostato a CWND / 2. (A)</p> Signup and view all the answers

Qual è l'azione corretta da intraprendere quando si riceve un ACK parziale?

<p>Ritransmettere il primo segmento non ACKed. (A)</p> Signup and view all the answers

In che modo la ricezione di ACK duplicati influisce sulla finestra di congestione (CWND)?

<p>CWND aumenta di 1 MSS per ogni dup ACK. (B)</p> Signup and view all the answers

Cosa accade al puntatore WLOW durante la fase di fast recovery?

<p>WLOW non viene spostato. (D)</p> Signup and view all the answers

Quale delle seguenti affermazioni descrive correttamente il comportamento di CWND durante un timeout?

<p>CWND è impostato a 1 MSS. (B)</p> Signup and view all the answers

Cosa determina se trasmettere nuovi segmenti durante la fase di fast recovery?

<p>Il valore corrente di CWND. (D)</p> Signup and view all the answers

Che effetto ha la ricezione di più ACK duplicati sul valore di CWND?

<p>CWND può aumentare di 1 MSS per ogni ACK duplicato ricevuto. (A)</p> Signup and view all the answers

Qual è la relazione tra CWND e SSTHRESH durante il fast recovery?

<p>CWND può superare SSTHRESH in caso di ACK duplicati. (C)</p> Signup and view all the answers

Quale condizione deve essere vera perché si attivi la fase di congestion avoidance?

<p>Si deve ricevere un ACK valido. (A)</p> Signup and view all the answers

Flashcards are hidden until you start studying

Study Notes

UDP (User Datagram Protocol)

  • UDP è un protocollo di trasporto senza connessione, il che significa che non richiede l'instaurazione di una connessione tra mittente e destinatario.
  • I segmenti UDP possono essere persi o consegnati fuori sequenza.
  • UDP è un protocollo semplice: non prevede lo stato di connessione nel mittente e nel destinatario.
  • Gli header dei segmenti UDP sono brevi.
  • UDP non fornisce il controllo della congestione e può quindi inviare raffiche di pacchetti dati.
  • UDP è spesso utilizzato nelle applicazioni multimediali, perché tollera piccole perdite e è sensibile al tasso di frame.
  • Altri impieghi di UDP includono DNS e SNMP.
  • Per ottenere un trasferimento affidabile con UDP, è necessario aggiungere l'affidabilità al livello di applicazione.

Struttura del segmento UDP

  • Il segmento UDP contiene il numero di porta sorgente e destinazione, la lunghezza in byte del segmento UDP (incluso l'header), il checksum e i dati dell'applicazione.

Checksum UDP

  • Il checksum UDP serve a rilevare gli "errori" (bit alterati) nel segmento trasmesso.
  • Il mittente calcola il checksum sommando le parole di 16 bit del contenuto del segmento, incluso il checksum.
  • Il ricevente controlla se il risultato corrisponde a una parola di 16 bit tutti uguali a 1.

TCP (Transmission Control Protocol)

  • TCP è un protocollo di trasporto orientato alla connessione, che significa che richiede l'instaurazione di una connessione tra mittente e destinatario.
  • TCP fornisce un trasferimento dati affidabile, garantendo l'ordine di consegna dei segmenti.
  • TCP fornisce il controllo di flusso, che permette al ricevitore di controllare la velocità di trasmissione del mittente.
  • TCP gestisce la connessione tramite handshake: il mittente e il ricevitore si scambiano segmenti di sincronizzazione (SYN) e acknowledgment (ACK).
  • TCP fornisce il controllo della congestione per gestire il sovraccarico della rete.

RTT (Round Trip Time)

  • RTT è il tempo misurato dalla trasmissione di un segmento fino alla ricezione dell'ACK.
  • SampleRTT varia, è quindi necessario una stima "più livellata" di RTT.
  • La media di più misure recenti viene utilizzata per dare più stabilità alla stima di RTT.

Retransmission TimeOut (RTO)

  • RTO è l'intervallo di tempo in cui il mittente aspetta un ACK prima di ritrasmettere un segmento.
  • RTO è calcolato come EstimatedRTT più un "margine di sicurezza".
  • DevRTT è una stima della deviazione standard del SampleRTT rispetto all'EstimatedRTT.
  • RTO viene impostato in base all'EstimatedRTT e al DevRTT.

Inizializzazione di TCP

  • RTO viene inizializzato a 1 secondo.
  • La prima misura di RTT viene utilizzata per inizializzare EstimatedRTT e DevRTT.

Controllo di flusso TCP

  • Il ricevitore comunica al mittente quanto spazio libero è disponibile nel proprio buffer di ricezione, in modo che il mittente non invii troppi dati.
  • Il mittente limita la quantità di dati in volo al valore della RWND (Receive Window) indicata dal ricevitore.

Controllo di congestione TCP

  • Il controllo di congestione serve a gestire il sovraccarico della rete evitando di inviare troppi dati.
  • Il controllo di congestione è diverso dal controllo di flusso.
  • Se la rete è congestionata, TCP riduce la velocità di trasmissione dei dati.

Modelli per sistemi a coda

  • Un sistema a coda comprende una "fila d'attesa" e un server.
  • Il tasso di arrivo è il numero medio di pacchetti che entrano nella coda per unità di tempo.
  • Il tasso di servizio è il tempo medio richiesto dal server per servire un pacchetto.

Algoritmo di controllo di congestione TCP

  • L'algoritmo di congestione di TCP tiene traccia della dimensione della finestra di congestione (CWND).
  • TCP utilizza un algoritmo esponenziale per aumentare la CWND e un algoritmo lineare per diminuirla.
  • TCP entra in una fase di congestion avoidance quando la CWND è maggiore della SSTHRESH (Slow Start Threshold).
  • TCP passa alla fase di Slow Start quando la CWND è minore di SSTHRESH.
  • Durante la Slow Start, la CWND viene aumentata di un MSS (Maximum Segment Size) per ogni ACK ricevuto.
  • Durante la Congestion Avoidance, la CWND viene aumentata di un MSS per ogni RTT trascorso.
  • Durante la Fast Recovery, la CWND viene ridotta alla metà del suo valore precedente.
  • Quando un timeout si verifica, TCP rientra in Slow Start e resetta la CWND a 1 MSS.
  • Fast Retransmit e Fast Recovery sono meccanismi per gestire la perdita di segmenti in modo più efficiente rispetto al timeout.
  • Fast Retransmit ritrasmette immediatamente il segmento perso, senza attendere un timeout.

Prestazioni di TCP

  • Il controllo di congestione TCP è stato progettato per garantire la stabilità della rete.
  • Le prestazioni di TCP possono essere compromesse da fattori come il ritardo di latenza e la perdita di pacchetti.

Macchina a stati dell'algoritmo di controllo di congestione in TCP

  • L'algoritmo di congestione TCP può essere rappresentato con una macchina a stati.
  • La macchina ha diversi stati: Slow Start, Congestion Avoidance, Fast Recovery.
  • La macchina cambia stato in base alla ricezione di ACK, ACK duplicati, timeout.

Un'altra macchina a stati TCP

  • Esistono diverse varianti della macchina a stati di TCP.
  • La variante presentata nell'immagine mostra una macchina a stati più complessa con diversi stati aggiuntivi come Fast Retransmit, Fast Recovery e RTO.
  • La macchina cambia stato in base alla ricezione di ACK, ACK duplicati, timeout e altri eventi.

Formula approssimata per il throughput di TCP

  • Questa formula approssimata per il throughput di TCP è derivata da Mathis et al., "The macroscopic behavior of the TCP congestion avoidance algorithm", 1997.
  • La formula è: vThr 𝑅𝑇𝑇, 𝑝 [Gbit/s] < 4 -.. 0
  • Le variabili includono:
    • p = Probabilità di perdere un pacchetto
    • MSS = dimensione massima del segmento [Byte]
    • RTT = tempo di andata e ritorno [s]
  • Esempio: RTT = 220 ms, MSS = 1460 Byte, p = 10"## à THR = 2.1 Gbit/s

Problemi di equità (fairness) in TCP

  • Le applicazioni multimediali non usano quasi mai TCP perché non vogliono ridurre il tasso di trasmissione a causa del controllo di congestione.
  • Queste applicazioni usano UDP, inviando audio e video a un tasso costante e tollerando o compensando le perdite di pacchetti.
  • Le applicazioni TCP possono aprire più connessioni in parallelo.
  • Ad esempio, un web browser può aprire più connessioni TCP su un singolo host.
  • Se ci sono 9 connessioni TCP esistenti su un link con banda R e una nuova applicazione apre 1 TCP, questa otterrà una banda R/10.
  • Se la stessa applicazione apre 9 connessioni TCP, otterrà una banda R/2.

Futuro di TCP

  • La versione di TCP che abbiamo studiato è basata sulle perdite, il che significa che reagisce solo dopo che si verifica una perdita.
  • Questo può essere considerato "tardi" per rispondere alla congestione.

TCP e controllo di congestione

  • Il controllo della congestione di TCP rallenta la trasmissione in base solo alle informazioni sui pacchetti persi.
  • Questo ha funzionato bene per molti anni, specialmente con i buffer limitati degli switch e router Internet e le basse larghezze di banda dei collegamenti Internet.
  • Oggi è necessario un algoritmo che risponda alla congestione effettiva, non solo alla perdita di pacchetti.
  • Alcune soluzioni promettenti includono CubiC, BBR e QUIC.

CUBIC

  • CUBIC è un algoritmo di controllo della congestione di rete in TCP che fa variare la lunghezza della finestra di congestione in base a una funzione cubica del tempo.
  • Questo migliora la scalabilità e la stabilità su reti veloci e a lunga distanza.
  • CUBIC è stato utilizzato come impostazione predefinita nel kernel Linux per diversi anni e adottato da Windows solo nel 2017.

Principi di CUBIC

  • CUBIC utilizza sia profili concavi che convessi di una funzione cubica per aumentare la dimensione della finestra di congestione, ottimizzando l'utilizzo e la stabilità della rete.
  • Dopo una congestione, la finestra viene scalata di 𝛽 (0.7), non di 0.5, trovando un equilibrio tra scalabilità e velocità di convergenza.
  • CUBIC è "TCP-friendly", il che significa che non penalizza eccessivamente i flussi TCP standard che condividono lo stesso collegamento di bottleneck.

Funzione cubica per la CWND in CUBIC

  • Il grafico mostra la funzione cubica utilizzata per calcolare la CWND in CUBIC.
  • L'asse orizzontale rappresenta il tempo, mentre l'asse verticale rappresenta la CWND.
  • La curva mostra come la CWND aumenta nel tempo, seguendo un pattern cubico.

BBR

  • Bottleneck Bandwidth and Roundtrip propagation time (BBR) è un algoritmo di controllo della congestione sviluppato da Google nel 2016.
  • BBR non si basa più sulle perdite di pacchetti, ma stima due parametri:
    • la banda sul link di bottleneck
    • l'RTT (tempo di andata e ritorno)
  • L'obiettivo è trasmettere pacchetti a una velocità che non incontrerebbe accodamento.

BBR

  • BBR è progettato per rispondere alla congestione effettiva, invece di basarsi sulla perdita di pacchetti.
  • Modella la rete per garantire la velocità della larghezza di banda disponibile.
  • BBR è particolarmente vantaggioso in reti con prestazioni non ottimali.
  • È un algoritmo lato server.

Studying That Suits You

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

Quiz Team

Related Documents

More Like This

Sem 2 Networking Week 10-2 UDP
30 questions
TCP and UDP Comparison
20 questions

TCP and UDP Comparison

SweepingArcticTundra565 avatar
SweepingArcticTundra565
Use Quizgecko on...
Browser
Browser