Salta al contenuto
Note per Studenti Esercizio - Throughput al livello fisico e goodput all'applicazione

Esercizio - Throughput al livello fisico e goodput all'applicazione

In questa pagina 5

Testo. Collegamento punto-punto tra l'host A e l'host B con bitrate fisico R=100R=100 Mbps. L'applicazione genera pacchetti a ritmo costante: PDU a livello applicazione di 12001200 B, un pacchetto ogni 1010 ms. I livelli inferiori aggiungono le loro intestazioni, così la PDU a livello fisico è di 12601260 B.

  1. Calcolare il throughput a lungo termine a livello fisico e il goodput a livello applicazione.
  2. Calcolare l'overhead a livello applicazione del ricevitore.

Teoria usata: Analisi delle prestazioni di reteLe prestazioni di una rete si misurano con tre famiglie di metriche: traffico (bitrate $R_0$ massimo del collegamento, throughput $S\le R_0$ dati consegnati con successo, goodput al livello applicazione), ritardo (end-to-end $d_{tot}=d_{proc}+d_{queue}+d_{trans}+d_{prop}$ con $d_{trans}=L/R$ e $d_{prop}=d/v$; jitter; RTT) e capacità del tubo (BDP $=R\cdot$ ritardo, bit che riempiono il collegamento), più l'affidabilità (PER, PDR, PLR). Il throughput di un percorso è quello del collegamento collo di bottiglia, $\min$ dei bitrate, ricordando che i collegamenti condivisi dividono la capacità.Analisi delle prestazioni di rete →, Modello ISO-OSI e pila TCP-IPUna comunicazione tra due calcolatori è un problema troppo vario (segnali, errori, accesso al mezzo, instradamento, controllo di flusso, rappresentazione dei dati) per un solo protocollo, quindi si divide in strati (layer). Il modello ISO/OSI ha 7 livelli (fisico, collegamento, rete, trasporto, sessione, presentazione, applicazione); la pila TCP/IP riunisce gli ultimi tre in un solo livello applicazione, quindi ne ha 5. Ogni livello offre un servizio a quello sopra e parla solo con il livello pari dell'altro nodo tramite PDU; scendendo si aggiunge un'intestazione (PCI): incapsulamento. Indirizzi: MAC (collegamento, locale), IP (rete, globale).Modello ISO-OSI e pila TCP-IP → (le intestazioni aggiunte a ogni livello), Livello di collegamento e framingIl livello di collegamento (DLL) consegna un frame da un nodo a un nodo adiacente su un collegamento. Servizi: framing, accesso al mezzo (MAC) con indirizzi MAC a 48 bit, controllo di flusso, rilevazione e correzione degli errori. Si divide in DLC (framing, controllo di errore e di flusso) e MAC (accesso al mezzo condiviso). Il framing delimita i frame con un flag: nei protocolli a byte (flag di 8 bit, ESC) si usa il byte stuffing, in quelli a bit (flag 01111110) il bit stuffing, che inserisce uno 0 dopo ogni cinque 1 consecutivi.Livello di collegamento e framing → (frame che incapsula il datagramma).

Idea

Il throughput al livello fisico conta tutti i bit effettivamente trasportati, intestazioni comprese; il goodput conta solo i bit utili, cioè quelli che arrivano all'applicazione (il carico utile). Il bitrate R=100R=100 Mbps è solo la capacità massima: qui la sorgente è molto più lenta, quindi il collegamento non è saturo e il throughput è dettato dal ritmo di generazione.

(1) Throughput e goodput

Un pacchetto ogni T=10T=10 ms, cioè 100100 pacchetti al secondo.

  • Livello fisico: 12601260 B =1260⋅8=10 080=1260\cdot8=10\,080 bit per pacchetto, quindi SPHY=10 080 bit10 ms=1 008 000 bit/s=1,008 Mbps.S_{PHY}=\frac{10\,080\ \text{bit}}{10\ \text{ms}}=1\,008\,000\ \text{bit/s}=\mathbf{1{,}008\ Mbps}.
  • Livello applicazione: 12001200 B =9600=9600 bit per pacchetto, SAPP=9600 bit10 ms=960 000 bit/s=960 kbps.S_{APP}=\frac{9600\ \text{bit}}{10\ \text{ms}}=960\,000\ \text{bit/s}=\mathbf{960\ kbps}. Il collegamento è usato solo all'1,008%1{,}008\% della sua capacità (1,008/1001{,}008/100): il tempo di trasmissione di un pacchetto è 10 080/108=100,810\,080/10^8=100{,}8 µs su un ciclo di 1010 ms.

(2) Overhead

L'overhead è il carico aggiunto dalle intestazioni dei livelli inferiori rispetto al dato utile: 1260−1200=601260-1200=60 B. overhead=601200=5%\text{overhead}=\frac{60}{1200}=\mathbf{5\%} (equivalentemente SPHY/SAPP−1=1,008/0,96−1=0,05S_{PHY}/S_{APP}-1=1{,}008/0{,}96-1=0{,}05).

Il rapporto tra goodput e throughput è l'efficienza di intestazione, 12001260=0,952\dfrac{1200}{1260}=0{,}952. Dipende dalla dimensione del pacchetto: le intestazioni sono fisse (6060 B) e pesano di più sui pacchetti piccoli.

Grafico interattivo: Efficienza di intestazione goodput/throughput = D/(D + 60) in funzione del carico utile D (in byte) con 60 B di intestazioni: 0,952 per D = 1200 B, solo 0,5 per D = 60 B

Confronto con la soluzione ufficiale

Ufficiale: throughput 1,0081{,}008 Mbps, goodput 960960 kbps, overhead 5%5\%. Coincide. L'overhead è riferito al dato utile (60/120060/1200); se lo si riferisse al pacchetto fisico (60/126060/1260) si avrebbe 4,76%4{,}76\%, ma la soluzione usa la prima definizione.

Errori comuni

  • Dire che il throughput è 100100 Mbps: è il bitrate, cioè la capacità massima, non il traffico effettivo.
  • Calcolare il goodput con 12601260 B (comprende le intestazioni) o con RR al posto del ritmo della sorgente.
  • Dimenticare di convertire i byte in bit (fattore 88).

(Verificato con Python: SPHY=1 008 000S_{PHY}=1\,008\,000 bit/s; SAPP=960 000S_{APP}=960\,000 bit/s; overhead =0,05=0{,}05 (60/1260=0,047660/1260=0{,}0476 come alternativa).)

Versione ripasso

Dati. R=100R=100 Mbps; PDU app 12001200 B ogni 1010 ms; PDU fisica 12601260 B (Analisi delle prestazioni di reteLe prestazioni di una rete si misurano con tre famiglie di metriche: traffico (bitrate $R_0$ massimo del collegamento, throughput $S\le R_0$ dati consegnati con successo, goodput al livello applicazione), ritardo (end-to-end $d_{tot}=d_{proc}+d_{queue}+d_{trans}+d_{prop}$ con $d_{trans}=L/R$ e $d_{prop}=d/v$; jitter; RTT) e capacità del tubo (BDP $=R\cdot$ ritardo, bit che riempiono il collegamento), più l'affidabilità (PER, PDR, PLR). Il throughput di un percorso è quello del collegamento collo di bottiglia, $\min$ dei bitrate, ricordando che i collegamenti condivisi dividono la capacità.Analisi delle prestazioni di rete →).

  • SPHY=1260⋅8/10 ms=1,008S_{PHY}=1260\cdot8/10\text{ ms}=1{,}008 Mbps (throughput, intestazioni incluse).
  • SAPP=1200⋅8/10 ms=960S_{APP}=1200\cdot8/10\text{ ms}=960 kbps (goodput).
  • Overhead =(1260−1200)/1200=5%=(1260-1200)/1200=5\% (ufficiale; sul pacchetto fisico sarebbe 4,76%4{,}76\%).
  • Il collegamento non è saturo: 1,008%1{,}008\% di RR.
  • Errore tipico: scambiare il bitrate RR con il throughput.

Lezioni in cui compare

Teoria collegata