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. Collegamento punto-punto A–B a R=100R=100 Mbit/s. L'applicazione genera una PDU da 12001200 B ogni 1010 ms; i livelli inferiori portano la PDU fisica a 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 →, 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 →, 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 →).

(1) Throughput e goodput.

  • Livello fisico: 1260⋅8=10 0801260\cdot8=10\,080 bit ogni 1010 ms, quindi SPHY=1,008S_{PHY}=1{,}008 Mbit/s (intestazioni incluse).
  • Livello applicazione: 1200⋅8=96001200\cdot8=9600 bit ogni 1010 ms, quindi goodput SAPP=960S_{APP}=960 kbit/s.

Il collegamento è usato per l'1,008%1{,}008\% della sua capacità: il ritmo è dettato dalla sorgente, non da RR.

(2) Overhead. 1260−12001200=5%\dfrac{1260-1200}{1200}=\mathbf{5\%} (equivalente a 1,008/0,96−11{,}008/0{,}96-1). Il rapporto goodput/throughput è 1200/1260=0,9521200/1260=0{,}952: le intestazioni fisse di 6060 B pesano di più sui pacchetti piccoli.

Risultati ufficiali. 1,0081{,}008 Mbit/s, 960960 kbit/s e overhead 5%5\%: coincidono. Riferito al pacchetto fisico, l'overhead sarebbe 4,76%4{,}76\%, ma la soluzione usa la prima definizione.

Errori tipici.

  • Dire che il throughput è 100100 Mbit/s: è il bitrate, cioè la capacità massima.
  • Calcolare il goodput con 12601260 B, che comprende le intestazioni.
  • Dimenticare di convertire i byte in bit (fattore 88).

Teoria collegata