Protocollo UDP: Caratteristiche e Struttura
49 Questions
1 Views

Protocollo UDP: Caratteristiche e Struttura

Created by
@LowCostGlacier

Podcast Beta

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</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</p> Signup and view all the answers

    Quale caratteristica principale distingue UDP da TCP?

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

    Qual è uno degli utilizzi più comuni di UDP?

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

    In che modo UDP gestisce i segmenti durante la trasmissione?

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

    Qual è la funzione principale del checksum in UDP?

    <p>Rilevare errori nei dati trasmessi</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</p> Signup and view all the answers

    Cosa comprende l'header di un segmento UDP?

    <p>Porta sorgente, porta destinazione, lunghezza e checksum</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</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</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</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</p> Signup and view all the answers

    Qual è uno degli obiettivi dell'algoritmo BBR?

    <p>Stimare la larghezza di banda disponibile</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</p> Signup and view all the answers

    Quale parametro NON è considerato nell'algoritmo BBR?

    <p>Perdita di pacchetti</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</p> Signup and view all the answers

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

    <p>0.4</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</p> Signup and view all the answers

    Quale algoritmo è stato adottato da Windows solo nel 2017?

    <p>CUBIC</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</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.</p> Signup and view all the answers

    Cosa determina l'impostazione dell'RTO?

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

    Qual è la formula utilizzata per calcolare DevRTT?

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

    Qual è un effetto di un SampleRTT troppo grande?

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

    Come viene calcolato il valore di RTO?

    <p>RTO = EstimatedRTT + 4*DevRTT.</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.</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.</p> Signup and view all the answers

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

    <p>0.125</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.</p> Signup and view all the answers

    Che conseguenza ha un timeout prematuro nella comunicazione TCP?

    <p>Può determinare ritrasmissioni non necessarie.</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.</p> Signup and view all the answers

    Quale dichiarazione riguardo alla congestione è corretta?

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

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

    <p>Aumento delle ritrasmissioni e della congestione.</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.</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.</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.</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'.</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.</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.</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.</p> Signup and view all the answers

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

    <p>WLOW non viene spostato.</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.</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.</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.</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.</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.</p> Signup and view all the answers

    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

    Description

    Questo quiz esplora le caratteristiche del protocollo UDP, includendo la sua struttura e le sue applicazioni principali. Scoprirai come funziona questo protocollo di trasporto senza connessione e le implicazioni della sua semplicità. È ideale per chiunque voglia approfondire la conoscenza del networking e delle applicazioni multimediali.

    More Like This

    TCP vs UDP
    67 questions

    TCP vs UDP

    GreatAntigorite avatar
    GreatAntigorite
    Transport Layer in Networking
    27 questions

    Transport Layer in Networking

    TroubleFreeFluorine8764 avatar
    TroubleFreeFluorine8764
    Sem 2 Networking Week 10-2 UDP
    30 questions
    Use Quizgecko on...
    Browser
    Browser