Analisi delle prestazioni di rete
In questa pagina 9
Unità di misura: la prima trappola
- bit/s (anche bps o b/s): bit trasmessi o ricevuti al secondo. kbit/s bit/s, Mbit/s bit/s, Gbit/s bit/s, Tbit/s bit/s. Nelle reti i prefissi sono potenze di 10, non di 2.
- byte/s (B/s o Bps): B bit, quindi kB/s kbit/s.
Nei compiti la maiuscola o minuscola nell'unità è spesso il tranello (MB contro Mb, kB contro kbit): convertire sempre tutto in bit e secondi prima di calcolare.
Esempio. Un file da MB (megabyte) vale Mbit; a Mbit/s richiede s, non s.
Le metriche principali
| Famiglia | Metriche |
|---|---|
| Traffico | bitrate, throughput, goodput |
| Ritardo | ritardo end-to-end, jitter, RTT |
| Capacità del tubo | prodotto banda-ritardo (BDP) |
| Affidabilità | PER, PDR, PLR |
Bitrate e larghezza di banda
La parola «banda» (bandwidth) ha due significati, da non confondere:
- larghezza di banda in hertz, [Hz]: intervallo di frequenze di un segnale modulato, o intervallo di frequenze che un canale lascia passare con attenuazione accettabile (Segnali deterministici - tempo, frequenza, banda pratica, energia e potenzaRipasso dei segnali per le comunicazioni. Un segnale ha un'energia $E=\int|s|^2dt$ e, se questa è infinita, una potenza media; il teorema di Parseval la riscrive in frequenza con la densità di energia $|S(f)|^2$. Un segnale a durata finita ha banda infinita, quindi si definisce una banda pratica (primo zero, ampiezza, energia). Un sistema LTI non distorce se nella banda del segnale ha $H(f)=A_0e^{-j2\pi ft_0}$. La modulazione moltiplica per una portante e trasla lo spettro.Segnali deterministici - tempo, frequenza, banda pratica, energia e potenza →);
- bitrate (o ancora «banda»), [bit/s]: velocità massima di trasmissione a livello di bit di un collegamento, cioè il miglior ritmo di trasporto che esso può offrire ai livelli superiori; tipicamente il massimo del livello fisico o MAC.
I due significati sono legati dalla capacità di canale: su un canale con rumore gaussiano bianco, con rapporto segnale-rumore SNR (rapporto tra potenza del segnale e del rumore, da usare in rapporto lineare e non in dB: Decibel, dBW e dBmIl decibel misura un rapporto tra due potenze su scala logaritmica: $[x]{dB}=10\log{10}x$ (per le ampiezze $20\log_{10}$). Prodotti diventano somme e rapporti differenze, quindi guadagni e attenuazioni in cascata si sommano. Per una potenza assoluta si usa un riferimento: $P_{dBW}=10\log_{10}P_W$, $P_{dBm}=10\log_{10}P_{mW}=P_{dBW}+30$. Valori da ricordare: $3\ \text{dB}\approx\times2$, $10\ \text{dB}=\times10$, $20\ \text{dB}=\times100$.Decibel, dBW e dBm →), si può trasmettere senza errori solo se (Capacità di canale - canale binario simmetrico, a cancellazione e AWGNLa capacità $C=\max_{p_x}I(x;y)$ è il massimo di informazione mutua tra ingresso e uscita del canale; per il teorema di Shannon si può comunicare con probabilità d'errore arbitrariamente piccola se e solo se il rate è minore di $C$. Per il canale binario simmetrico $C=1-H_2(p)$ bit per uso (ingresso uniforme), per il canale a cancellazione $C=1-\varepsilon$, per l'AWGN $C=\frac12\log_2(1+\text{SNR})$ per uso reale, cioè $C=B\log_2(1+\text{SNR})$ bit/s su una banda $B$. Il limite $R_b<C$ dà il minimo $\frac{E_b}{N_0}\ge\frac{2^\nu-1}\nu$ ($-1{,}59$ dB per $\nu\to0$).Capacità di canale - canale binario simmetrico, a cancellazione e AWGN →). Esempio: MHz e SNR dB (rapporto lineare): Mbit/s. Per avere più bitrate servono più banda o più SNR.
Throughput e goodput
Definizione (throughput). Il throughput [bit/s, pacchetti/s, pacchetti/slot] è il ritmo medio con cui le unità di informazione (PDU) dell'utente sono effettivamente consegnate con successo all'entità pari di destinazione. Dipende dall'intervallo di tempo su cui si calcola. Vale sempre .
Perché è minore di :
- l'utente può non saturare il collegamento (trasmette meno di quanto potrebbe);
- il collegamento può essere congestionato o condiviso tra più flussi;
- possono esserci ritrasmissioni di pacchetti già inviati (per affidabilità): i bit ritrasmessi occupano il collegamento ma non portano informazione nuova al destinatario;
- i protocolli di accesso al mezzo introducono tempi morti (Protocolli di accesso multiplo - ALOHA e CSMAQuando più stazioni condividono lo stesso mezzo serve un protocollo di accesso (MAC) che decida chi trasmette. Accesso casuale: ALOHA puro (si trasmette subito, tempo vulnerabile $2t_F$), slotted ALOHA (si parte solo a inizio slot, vulnerabile $t_F$), CSMA (si ascolta prima di parlare, vulnerabile $\tau_p$) con le varianti 1-persistent, non persistent e p-persistent, CSMA/CD (rileva la collisione mentre trasmette: serve $t_F\ge2\tau_p$, quindi un frame minimo) e CSMA/CA del Wi-Fi (IFS, finestra di contesa con backoff esponenziale, ACK, RTS/CTS e NAV). Accesso controllato: prenotazione, polling, token. Canalizzazione: FDMA, TDMA, OFDMA, CDMA, SDMA.Protocolli di accesso multiplo - ALOHA e CSMA →).
Esempio. Un protocollo sopra il livello fisico offre bit/s; se rivela errori e chiede di ritrasmettere bit ogni , il throughput scende a bit/s.
Definizione (goodput). Il goodput è il throughput al livello applicazione: conta solo i bit utili consegnati all'applicazione, senza le intestazioni aggiunte dai livelli inferiori e senza le ritrasmissioni. Il rapporto tra i bit aggiunti dalle intestazioni e i bit utili è l'overhead.
Esempio. L'applicazione genera un pacchetto da B ogni ms; i livelli inferiori aggiungono B, quindi al livello fisico passano B ogni ms. Throughput al PHY Mbit/s; goodput all'applicazione kbit/s; overhead . Si veda Esercizio - Throughput al livello fisico e goodput all'applicazione.
Collo di bottiglia (bottleneck)
Proprietà (throughput di un percorso). Su un percorso con collegamenti di bitrate in serie, il throughput è cioè quello del collegamento collo di bottiglia.
Perché: se i bit pompati dal server (a ) passano attraverso il router e arrivano al client a . Se il router non riesce a inoltrare i bit così in fretta come li riceve: escono a e quel che non esce si accumula in coda.
Esempio. Server Mbit/s, client Mbit/s: throughput Mbit/s.
Attenzione ai collegamenti condivisi. Se server e client scaricano attraverso un collegamento comune di capacità Mbit/s, con Mbit/s e Mbit/s, la risposta «il collo di bottiglia è l'accesso del client perché » è sbagliata: il collegamento comune divide la sua capacità in parti uguali tra i scaricamenti, quindi ognuno ne riceve Mbit/s Mbit/s, e il collegamento condiviso è il collo di bottiglia: ogni download ha kbit/s.
Il ritardo end-to-end
Formula (ritardo end-to-end). Il tempo per consegnare un messaggio al destinatario, dall'istante in cui il primo bit esce dalla sorgente, è la somma di quattro contributi:
Ognuno ha una causa e un rimedio diversi. (Nelle slide lo stesso ritardo si indica con .)
Ritardo di elaborazione : tempo con cui un router o l'host di destinazione riceve il pacchetto dalla porta di ingresso, ne toglie l'intestazione (PCI), fa il controllo d'errore e lo consegna alla porta di uscita (router) o al livello superiore (host). Può variare da pacchetto a pacchetto ma si calcola in media ed è spesso trascurabile. Si riduce con meccanismi di instradamento efficienti.
Ritardo di accodamento : tempo che un pacchetto passa nelle code di ingresso e di uscita di un router. Dipende non solo dalle caratteristiche dei collegamenti ma dall'intensità del traffico. È solo in parte controllabile (priorità del traffico, scheduling, controllo di ammissione delle chiamate). Per calcolarlo si modella il collegamento come un sistema a coda: Introduzione alla teoria delle codeUn sistema a coda (QS) è fatto da un processo di arrivi (di Poisson, tasso $\lambda$), una coda e uno o più servitori con tasso di servizio $\mu$. Carico offerto $G=\lambda/\mu$, fattore di carico $\rho=\lambda/(m\mu)$: il sistema è stabile solo se $\rho<1$, e allora il throughput è $\lambda$ (altrimenti è $m\mu$). Legge di Little: $E[x]=\lambda E[s]$, valida per qualsiasi disciplina. Coda M/M/1: $E[x]=\frac{\rho}{1-\rho}$, $E[s]=\frac{1/\mu}{1-\rho}$, $E[w]=\frac{\rho/\mu}{1-\rho}$. Con servizio deterministico (M/D/1, caso particolare di Pollaczek-Khinchin): $E[w]=\frac{\rho}{2\mu(1-\rho)}$. Il ritardo cresce senza limite quando $\rho\to1$.Introduzione alla teoria delle code →.
Formula (ritardo di trasmissione). Per mettere sulla linea tutti i bit di un pacchetto di lunghezza (un bit dopo l'altro, dal primo all'ultimo) a bitrate :
Esempio. Pacchetto di kbit su Fast Ethernet a Mbit/s: . (La slide scrive «10 Mbps» ma il calcolo s corrisponde a Mbit/s; a Mbit/s verrebbe ms.) Si riduce aumentando il bitrate del collegamento.
Formula (ritardo di propagazione). Tempo che un bit impiega per andare da un estremo all'altro del mezzo, a velocità su distanza : Nel vuoto m/s; nei mezzi cablati m/s (rame e fibra: la luce nel mezzo va a , con indice di rifrazione , quindi m/s; si veda Mezzi di trasmissione - cavi, fibre e collegamenti radioIl mezzo di trasmissione fissa l'attenuazione $a_{ch}$ nel link budget. Nei cavi $H_{ch}=e^{-\gamma d}$ e l'attenuazione in dB cresce con la distanza ($a=\tilde a,d$, dB/km) e con $\sqrt f$. Le fibre ottiche hanno banda larghissima (10¹⁴-10¹⁵ Hz), attenuazione bassa in tre finestre di lunghezza d'onda e limitazione dalla dispersione. Nei collegamenti radio vale la formula di Friis, $g_{ch}=g_{tx}g_{rx}\left(\frac\lambda{4\pi d}\right)^2$, cioè $a_{ch}=32{,}4+20\log_{10}d_{km}+20\log_{10}f_{MHz}-G_{tx}-G_{rx}$ dB.Mezzi di trasmissione - cavi, fibre e collegamenti radio →).
Esempio. Cavo transoceanico di km: ms. Il ritardo di propagazione non si può ridurre («è la fisica»); è trascurabile solo nelle reti terrestri corte, ma non nei collegamenti satellitari, nei cavi lunghi e nei collegamenti ad altissima velocità.
Quali termini tenere (regola pratica)
- Di solito si trascurano e .
- si trascura per le reti radio terrestri a corto raggio, non per i satelliti e per i cavi lunghi.
- Se il testo dà la lunghezza del collegamento o il ritardo di propagazione, quel termine va incluso.
Attraversare più collegamenti
Con collegamenti uguali in serie e un solo pacchetto, ogni router riceve tutto il pacchetto prima di inoltrarlo (store-and-forward, vedi Commutazione di circuito e di pacchettoUn nodo di commutazione (switch) può collegare ingresso e uscita in tre modi. Commutazione di circuito: si stabilisce prima un collegamento fisico dedicato (rete telefonica), tempo di consegna $T=3Nt_p+Nt_s+M/R$. Commutazione di pacchetto a datagramma: il messaggio è diviso in $K$ pacchetti con intestazione, ognuno è instradato indipendentemente con store-and-forward, $T=Nt_p+(N+K-1)\frac{M/K+H}{R}$, con $K_{ott}=\sqrt{(N-1)M/H}$. A circuito virtuale: tre fasi (setup, dati, chiusura), connessione logica dedicata ma senza risorse dedicate, identificatore locale che cambia a ogni salto.Commutazione di circuito e di pacchetto →), quindi ogni collegamento aggiunge :
Esempio. collegamenti da km a Mbit/s, pacchetto B (con m/s). Passo per passo, su un collegamento:
- il pacchetto vale bit (si converte prima in bit);
- trasmissione: s s;
- propagazione: s s;
- un collegamento: s; dieci in serie, perché ogni router aspetta il pacchetto intero: s.
Il ritardo cresce linearmente col numero di collegamenti, con pendenza per collegamento (Esercizio - Ritardo end-to-end su 10 collegamenti e BDP):
Grafico interattivo: Ritardo end-to-end d_tot = k·150,8 µs in funzione del numero k di collegamenti in serie (pacchetto da 1260 B, 100 Mbit/s, 10 km per collegamento): per k = 10 vale 1508 µs
Jitter
Definizione (jitter). Il jitter [s] è la variazione del ritardo tra pacchetti di uno stesso flusso: pacchetti diversi incontrano ritardi diversi (code diverse), e l'applicazione al ricevitore, se è sensibile al tempo, ne soffre.
Un ritardo costante non è un problema per un video in streaming, ma congelare l'immagine a metà riproduzione è molto fastidioso. Con un jitter grande occorrono un ritardo di riproduzione (playout delay) lungo e buffer di riproduzione grandi: il contenuto viene bufferizzato per un po' prima di partire. La variabilità del ritardo di coda si studia con la formula di Pollaczek-Khinchin per le code M/G/1 (Introduzione alla teoria delle codeUn sistema a coda (QS) è fatto da un processo di arrivi (di Poisson, tasso $\lambda$), una coda e uno o più servitori con tasso di servizio $\mu$. Carico offerto $G=\lambda/\mu$, fattore di carico $\rho=\lambda/(m\mu)$: il sistema è stabile solo se $\rho<1$, e allora il throughput è $\lambda$ (altrimenti è $m\mu$). Legge di Little: $E[x]=\lambda E[s]$, valida per qualsiasi disciplina. Coda M/M/1: $E[x]=\frac{\rho}{1-\rho}$, $E[s]=\frac{1/\mu}{1-\rho}$, $E[w]=\frac{\rho/\mu}{1-\rho}$. Con servizio deterministico (M/D/1, caso particolare di Pollaczek-Khinchin): $E[w]=\frac{\rho}{2\mu(1-\rho)}$. Il ritardo cresce senza limite quando $\rho\to1$.Introduzione alla teoria delle code →).
Round Trip Time (RTT)
Definizione (RTT). Il round trip time di una connessione è il tempo che passa da quando un pacchetto parte da a quando ad torna il corrispondente riscontro (ACK): Trascurando elaborazione e coda, con tempo di trasmissione del frame, dell'ACK e propagazione in un verso: . Se l'ACK è piccolo () e il frame piccolo: .
L'ACK è in genere molto più piccolo dei dati (altrimenti è inefficiente). Attenzione: RTT non è il ritardo end-to-end. Il ritardo end-to-end è il tempo che impiega qualcosa a andare da sorgente a destinazione; l'RTT è il tempo di una richiesta e della sua risposta.
Esempio. Frame di kbit su collegamento a Mbit/s ( ms), ACK di bit (s), propagazione ms: ms.
Capacità del tubo: prodotto banda-ritardo
Definizione (BDP). Il bandwidth-delay product è il massimo numero medio di bit che si possono trasferire in un intervallo pari al ritardo, cioè i bit che «riempiono» il collegamento: Spesso si definisce con l'RTT: allora è il numero di bit che si possono trasmettere senza aver ancora ricevuto riscontro (unacknowledged). In pacchetti: (capacità del tubo, pipe capacity).
Immagine: bitrate bit/s e ritardo s; dopo s il primo gruppo di bit arriva e nel tubo ce ne sono . Non sempre conviene «usare» tutto il BDP.
Esempio. Collegamento a Mbit/s con ms ( ms s): bit kbit (i secondi si semplificano e resta un numero di bit); con pacchetti da kbit la capacità del tubo è pacchetti. Cioè per tenere il canale pieno bisogna spedire pacchetti prima che torni il primo ACK: è il legame con la finestra dei protocolli Protocolli ARQ - Stop-and-Wait, Go-Back-N e Selective RepeatARQ (Automatic Repeat reQuest) rende affidabile un collegamento che sbaglia: il ricevitore conferma (ACK) i frame ricevuti bene, il trasmettitore ritrasmette allo scadere del timeout. Servono timeout (contro il deadlock) e numeri di sequenza (contro i duplicati). Con $t_G=t_F+2\tau_p+t_A$ e probabilità di errore $p$: Stop-and-Wait $\rho=\frac{t_F(1-p)}{t_G}$; Go-Back-N con finestra $N\ge t_G/t_F$ $\rho=\frac{1-p}{1+(N-1)p}$; Selective Repeat $\rho=1-p$. Efficienza $\eta=\rho,I/F$. La finestra ottima è la capacità del tubo in pacchetti. In Selective Repeat esiste anche una lunghezza ottima del frame: con overhead $o$ e probabilità di errore sul bit $P_b$, $x_{ott}\simeq\frac o2+\sqrt{o/P_b}$ (frame più corti se il canale sbaglia di più).Protocolli ARQ - Stop-and-Wait, Go-Back-N e Selective Repeat →.
Definizione (efficienza del collegamento). Se si trasmettono bit prima di ricevere un riscontro, l'efficienza (link utilization) è la frazione di tubo riempita:
Esempio. Se il tubo contiene kbit e si inviano kbit e poi si aspetta l'ACK: . Si veda Esercizio - Collegamento Terra-Luna, RTT, BDP ed efficienza.
L'efficienza di un protocollo stop-and-wait (Tecniche ARQ - stop-and-wait, go-back-N e selective repeatL'ARQ (automatic repeat request) usa un codice che rivela gli errori e fa ritrasmettere i pacchetti sbagliati, con conferme ACK/NACK. Con $p=1-(1-P_{bit})^L$ la probabilità che un pacchetto sia errato, $t_P$ il tempo di pacchetto, $t_A$ quello dell'ACK e $\tau_P$ il ritardo di propagazione: stop-and-wait $S=\frac{t_P(1-p)}{t_P+t_A+2\tau_P}$; go-back-N $S=\frac{(1-p),t_P}{1+(N-1)p}$ con $N-1=\left\lceil\frac{2\tau_P}{t_P+t_A}\right\rceil$; selective repeat $S=(1-p)\frac{t_P}{t_P+t_A}$. Il numero medio di trasmissioni di un pacchetto è $\frac1{1-p}$.Tecniche ARQ - stop-and-wait, go-back-N e selective repeat →; il protocollo è descritto in Protocolli ARQ - Stop-and-Wait, Go-Back-N e Selective RepeatARQ (Automatic Repeat reQuest) rende affidabile un collegamento che sbaglia: il ricevitore conferma (ACK) i frame ricevuti bene, il trasmettitore ritrasmette allo scadere del timeout. Servono timeout (contro il deadlock) e numeri di sequenza (contro i duplicati). Con $t_G=t_F+2\tau_p+t_A$ e probabilità di errore $p$: Stop-and-Wait $\rho=\frac{t_F(1-p)}{t_G}$; Go-Back-N con finestra $N\ge t_G/t_F$ $\rho=\frac{1-p}{1+(N-1)p}$; Selective Repeat $\rho=1-p$. Efficienza $\eta=\rho,I/F$. La finestra ottima è la capacità del tubo in pacchetti. In Selective Repeat esiste anche una lunghezza ottima del frame: con overhead $o$ e probabilità di errore sul bit $P_b$, $x_{ott}\simeq\frac o2+\sqrt{o/P_b}$ (frame più corti se il canale sbaglia di più).Protocolli ARQ - Stop-and-Wait, Go-Back-N e Selective Repeat →) si ricava così. Il trasmettitore invia un frame (occupa il canale per ) e poi aspetta l'ACK: in ogni ciclo di durata (ACK trascurabile) il canale è usato solo per . L'efficienza è il rapporto tra tempo utile e durata del ciclo; dividendo numeratore e denominatore per e ponendo (propagazione normalizzata): Crolla quando il collegamento è «lungo» rispetto al tempo di trasmissione. È lo stesso di prima: infatti e , e si semplifica.
Grafico interattivo: Efficienza dello stop-and-wait η = 1/(1+2a) in funzione di a = τp/tF: vale 1 per a = 0, 1/3 per a = 1, circa 0,05 per a = 10
Affidabilità
Il livello fisico può consegnare pacchetti con errori: rapporto segnale/rumore (SNR) basso al ricevitore (per l'attenuazione), forte interferenza o collisioni.
- PER (Packet Error Rate): pacchetti consegnati con errori / pacchetti trasmessi. Se ogni bit è sbagliato con probabilità (bit error rate, che dipende dall'SNR: Modello AWGN, SNR e link budget a banda strettaIl sistema di trasmissione si modella con un canale che filtra il segnale ($h_{ch}$), un rumore additivo bianco gaussiano $w_{rc}$ (AWGN) di densità bilatera $\frac{N_0}2$ e un filtro di ricezione. L'SNR è il rapporto tra potenza del segnale e del rumore. Con canale a banda stretta ($H_{ch}$ costante nella banda) il link budget dà $\Lambda=\frac{P_{tx}}{kT_{eff}B,a_{ch}}$, in dB $\Lambda_{dB}=P_{tx,dBm}-a_{ch,dB}+114-F_{dB}-10\log_{10}B_{MHz}$ (con sorgente a $T_0$).Modello AWGN, SNR e link budget a banda stretta →), in modo indipendente dagli altri, un pacchetto di bit arriva corretto solo se tutti gli bit lo sono (Indipendenza di eventiA e B sono indipendenti se P(A ∩ B) = P(A) P(B), cioè se sapere che uno si è verificato non cambia la probabilità dell'altro; l'indipendenza passa ai complementari, non va confusa con l'incompatibilità, e per più eventi va richiesta su ogni sottofamiglia.Indipendenza di eventi →, Prove ripetute e modello binomialen prove indipendenti, ciascuna con probabilità di successo p: una sequenza con k successi ha probabilità p^k (1−p)^(n−k), e la probabilità di esattamente k successi è (n su k) p^k (1−p)^(n−k) (modello binomiale); il primo successo alla prova k ha probabilità (1−p)^(k−1) p.Prove ripetute e modello binomiale →): .
- PDR o PRR (Packet Delivery/Reception Rate): pacchetti consegnati con successo / pacchetti trasmessi; .
- PLR (Packet Loss Rate): frazione di pacchetti trasmessi non consegnati per qualsiasi motivo (errori o overflow del buffer).
Esempio (dal bit al pacchetto). e bit ( B): , cioè l' dei pacchetti ha errori anche se solo un bit su centomila è sbagliato (per piccolo , dal limite notevole : Limiti notevoli di funzioniI limiti notevoli per le forme 0/0 (log(1+x)/x, (e^x − 1)/x, ((1+x)^α − 1)/x, sin x/x, (1 − cos x)/x², arctan x/x...) con le dimostrazioni, e la loro forma come asintoticità: log(1+f) ~ f, e^f − 1 ~ f, sin f ~ f, 1 − cos f ~ f²/2 quando f → 0.Limiti notevoli di funzioni →).
Esempio. Su pacchetti, arrivano con errori e vengono scartati per buffer pieno: , (se si contano solo gli errori), .
Versione ripasso
Unità di misura. B bit. I prefissi sono potenze di 10: kbit/s bit/s, Mbit/s bit/s, Gbit/s bit/s. Convertire tutto in bit e secondi prima di calcolare.
- Esempio: un file da MB vale Mbit; a Mbit/s richiede s, non s.
Traffico.
- Bitrate [bit/s]: velocità massima di trasmissione del collegamento. Non è la larghezza di banda in hertz .
- Throughput : bit delle PDU consegnati con successo all'entità pari. Cala per collegamenti non saturi, condivisi o congestionati, per ritrasmissioni e per i tempi morti del protocollo di accesso (Protocolli di accesso multiplo - ALOHA e CSMAQuando più stazioni condividono lo stesso mezzo serve un protocollo di accesso (MAC) che decida chi trasmette. Accesso casuale: ALOHA puro (si trasmette subito, tempo vulnerabile $2t_F$), slotted ALOHA (si parte solo a inizio slot, vulnerabile $t_F$), CSMA (si ascolta prima di parlare, vulnerabile $\tau_p$) con le varianti 1-persistent, non persistent e p-persistent, CSMA/CD (rileva la collisione mentre trasmette: serve $t_F\ge2\tau_p$, quindi un frame minimo) e CSMA/CA del Wi-Fi (IFS, finestra di contesa con backoff esponenziale, ACK, RTS/CTS e NAV). Accesso controllato: prenotazione, polling, token. Canalizzazione: FDMA, TDMA, OFDMA, CDMA, SDMA.Protocolli di accesso multiplo - ALOHA e CSMA →).
- Esempio: un protocollo a bit/s che ritrasmette bit ogni dà bit/s.
- Goodput: throughput al livello applicazione, senza intestazioni e ritrasmissioni. Overhead bit di intestazione bit utili.
- Esempio: pacchetto da B ogni ms, con B di intestazioni: al fisico Mbit/s; goodput kbit/s; overhead .
Collo di bottiglia.
- Collegamenti in serie: .
- Esempio: server Mbit/s, client Mbit/s: Mbit/s.
- Collegamento condiviso: con flussi ognuno riceve circa . Se download condividono Mbit/s, ognuno ha kbit/s: il collo di bottiglia è il collegamento comune, non l'accesso del client, anche se farebbe pensare il contrario.
Ritardo end-to-end.
- Formula: . Di solito si trascurano (elaborazione) e (coda, che dipende dal traffico: Introduzione alla teoria delle codeUn sistema a coda (QS) è fatto da un processo di arrivi (di Poisson, tasso $\lambda$), una coda e uno o più servitori con tasso di servizio $\mu$. Carico offerto $G=\lambda/\mu$, fattore di carico $\rho=\lambda/(m\mu)$: il sistema è stabile solo se $\rho<1$, e allora il throughput è $\lambda$ (altrimenti è $m\mu$). Legge di Little: $E[x]=\lambda E[s]$, valida per qualsiasi disciplina. Coda M/M/1: $E[x]=\frac{\rho}{1-\rho}$, $E[s]=\frac{1/\mu}{1-\rho}$, $E[w]=\frac{\rho/\mu}{1-\rho}$. Con servizio deterministico (M/D/1, caso particolare di Pollaczek-Khinchin): $E[w]=\frac{\rho}{2\mu(1-\rho)}$. Il ritardo cresce senza limite quando $\rho\to1$.Introduzione alla teoria delle code →).
- Trasmissione: , con lunghezza del pacchetto e bitrate.
- Esempio: kbit a Mbit/s: s. Cresce al diminuire di .
- Propagazione: , con m/s nel vuoto e m/s nei cavi. Non si riduce, è fisica.
- Esempio: cavo transoceanico di km: ms.
- Regola pratica: se il testo dà la distanza o il ritardo di propagazione, includere . Conta nei satelliti e nei cavi lunghi, meno nelle reti radio corte.
- collegamenti uguali in serie con store-and-forward: .
- Esempio: collegamenti da km, Mbit/s, pacchetto da B: ogni tratto s s, in tutto s.
Jitter. [s] è la variazione del ritardo tra pacchetti dello stesso flusso. Un ritardo costante non disturba; un jitter grande richiede un ritardo di riproduzione (playout delay) e buffer più grandi.
Round trip time (RTT).
- , con tempo di trasmissione del frame, dell'ACK e propagazione in un verso. Con frame e ACK piccoli .
- Esempio: ms, s, ms: ms.
- L'RTT è andata e ritorno (richiesta e riscontro). Non è il ritardo end-to-end, che è solo andata.
Capacità del tubo (BDP).
- throughput massimo ritardo [bit]: i bit che riempiono il collegamento. Con l'RTT è il numero di bit in volo senza riscontro. In pacchetti: .
- Efficienza : frazione del tubo riempita prima del riscontro.
- Esempio: tubo da kbit, si inviano kbit e si aspetta l'ACK: .
- Stop-and-wait con (ACK trascurabile): . Crolla quando il collegamento è lungo rispetto al tempo di trasmissione.
Affidabilità.
- = pacchetti consegnati con errori pacchetti trasmessi.
- = pacchetti consegnati con successo trasmessi.
- = frazione non consegnata per qualsiasi motivo, errori o buffer pieno.
- Esempio: pacchetti, con errori e scartati per buffer pieno: , , .
Errori tipici:
- dimenticare quando il testo dà la distanza;
- confondere RTT e ritardo end-to-end;
- scrivere MB al posto di Mb (fattore );
- scegliere come collo di bottiglia l'accesso più lento, dimenticando che il collegamento condiviso divide tra i flussi.
Esercizi su questo argomento
- Esercizio - ALOHA puro e slotted
- Esercizio - Bitrate oltre il quale CSMA-CD non rileva le collisioni
- Esercizio - capacita e ritardo di propagazione di un collegamento con due messaggi echo
- Esercizio - Cinque pacchetti da A e B e TCP da 18,75 KB su collegamenti da 100 a 1000 kbps
- Esercizio - Cinque pacchetti da A e trasferimento TCP di 50 KB con finestra persa
- Esercizio - Collegamento di 35 km, stop-and-wait e Go-Back-N con pacchetto perso
- Esercizio - Collegamento Terra-Luna, RTT, BDP ed efficienza
- Esercizio - Commutazione di pacchetto e numero ottimo di pacchetti
- Esercizio - Due collegamenti con switch, file da 1250 MB e ARQ stop-and-wait
- Esercizio - Due collegamenti da 10 e 2 Gbps, 1000 pacchetti con S&W e GBN
- Esercizio - Due pacchetti da R1 ad A con collegamenti 128, 256 e 512 kbps
- Esercizio - Due pacchetti da R1 ad A con collegamenti 512, 256 e 64 kbps
- Esercizio - Finestra scorrevole e buffer del ricevitore
- Esercizio - Frammentazione di un pacchetto su tre collegamenti
- Esercizio - Go-Back-N end-to-end su tre collegamenti
- Esercizio - Go-Back-N su ogni collegamento con finestre 15 e 6 e confronto con stop-and-wait
- Esercizio - Go-Back-N su un collegamento e stop-and-wait sull'altro, messaggio da 300 KB
- Esercizio - Indirizzi di tre LAN, tabelle di Router 1 e Router 2 e sottoreti di LAN B
- Esercizio - Messaggio da 225 KB con UDP e con TCP Reno, anche con il terzo segmento perso
- Esercizio - Pacchetti di C verso E e G con traffico concorrente
- Esercizio - Quattro pacchetti da A verso E e D in una rete store-and-forward
- Esercizio - Quattro pacchetti, UDP e ARQ GBN o stop-and-wait su ogni collegamento o end-to-end
- Esercizio - Ritardo end-to-end su 10 collegamenti e BDP
- Esercizio - RTT e swnd, TCP da 100 KB e stop-and-wait su ogni collegamento
- Esercizio - Satellite geostazionario e bit in volo prima dell'ACK
- Esercizio - Scelta del protocollo MAC su bus di 5 km
- Esercizio - Sei pacchetti con traffico concorrente e TCP con rwnd limitata
- Esercizio - Stima di capacità e ritardo del collegamento R3-D con due ping
- Esercizio - TCP con finestra del ricevitore di 4 segmenti su tre collegamenti
- Esercizio - Tempo di consegna in commutazione di circuito
- Esercizio - Throughput al livello fisico e goodput all'applicazione
- Esercizio - Traffico massimo con bridge in una LAN 10Base-T
- Esercizio - Trasferimento di 1,5 MB con handshake, stop-and-wait e limite di pacchetti per RTT
- Esercizio - Tre pacchetti del server S verso C con traffico concorrente
- Esercizio - UDP e TCP su tre collegamenti, messaggio da 225 kB
Lezioni in cui compare
Teoria collegata
- Elementi di rete - hub, switch e router
- Firewall
- Introduzione alla teoria delle code
- LAN - Ethernet e Wi-Fi
- Livello applicazione - DNS
- Livello applicazione - HTTP
- Modello ISO-OSI e pila TCP-IP
- Posta elettronica - SMTP, POP3 e IMAP
- Protocolli ARQ - Stop-and-Wait, Go-Back-N e Selective Repeat
- Protocolli di accesso multiplo - ALOHA e CSMA
- Router CISCO
- Storia e struttura di Internet