esercizi-0809-05-v5.doc Esercizio 1 a) Calcolare il diametro massimo di una rete ethernet operante a 10 Mb/s considerando esclusivamente il vincolo sul RTT massimo di 46.38 µs. (Si consideri una velocità di propagazione V pari a 200 m / µs) b) Si consideri quindi di utilizzare un mezzo fisico su fibra ottica che abbia un vincolo sulla lunghezza massima di ogni tratta pari a 2 km. Si ipotizzi che ogni repeater introduca un ritardo pari a 20 tempi di bit. Qual è il diametro massimo se si utilizza un numero di ripetitori pari a uno, due o tre? Esercizio 2 Si consideri una rete ethernet con CSMA-CD. Supponendo che si sia verificata una collisione tra due stazioni che provano a trasmettere una trama, qual è la probabilità che si verifichi una seconda collisione (ossia al “retry” 1) ? se si è verificata la seconda collisione, qual è la probabilità che si verifichi la terza? Si indichino con Pc(n) la probabilità che si verifichi una collisione al “retry” n, con Pes(n) la probabilità che si verifichino esattamente n “retry” dopo una collisione (ossia n-1 collisioni successive alla prima), con Pa(n) la probabilità che ci siano almeno n “retry” dopo una collisione, con Pac(n) la probabilità che ci siano almeno n collisioni dopo la prima collisione. Si provi ad esprimere Pc(n), Pes(n), Pa(n), Pac(n) in forma chiusa. Si esprima Pa(n) in funzione di Pes(n). Esercizio 3 Si valuti il ritmo massimo di pacchetti IP teoricamente trasportabili su ethernet 2 e 802.3 in funzione della lunghezza massima del pacchetto IP, nell’ipotesi di assenza di collisioni, considerando C= 10 Mb/s e 100Mb/s. Si valuti il throughput a livello IP. Esercizio 4 Si supponga di trasportare un flusso di pacchetti IP a 1 Mb/s che abbia il 50% dei pacchetti di dimensione 100 bytes e il 50% di dimensione 1000 bytes. Qual è il valore medio della lunghezza dei pacchetti ? Considerando di trasmettere i pacchetti su Ethernet 2 qual è il carico minimo da tenere in conto a livello ethernet (includendo quindi preambolo e IFS ed escludendo le collisioni). Si supponga poi di dover trasportare un flusso di 1 Mb/s a livello IP, in cui il 50% dei bytes a livello IP appartenga a pacchetti di dimensione 100 bytes e il 50% dei bytes appartenga a pacchetti di dimensione 1000 bytes e si ripeta l’esercizio. Esercizio 5 In un sistema CSMA, si assuma che la stazione A adotti la seguente regola di backoff. Se A trova il mezzo libero, trasmette una trama immediatamente. Se la stazione rivela il mezzo occupato, fa partire un contatore di backoff nel momento in cui il mezzo ritorna libero. La prima trasmissione è fatta scegliendo un contatore di backoff uniformemente nell’intervallo 01. In caso di insuccesso la seconda e terza trasmissione avvengono scegliendo un contatore di backoff uniformemente nell’intervallo 0-3; La trama è persa se anche la terza trasmissione 1 non ha successo. Dopo aver trasmesso un pacchetto, viene fatto partire il contatore di backoff come per la prima trasmissione. Si supponga ora che la stazione A competa per l’accesso al mezzo con una seconda stazione B, le cui regole per il backoff sono analoghe, ma viene scelto costantemente ad ogni trasmissione o ritrasmissione, un backoff nell’intervallo 0-1. Si assuma che la stazione B sia “greedy”, ovvero abbia sempre trame da trasmettere in successione (ovviamente seguendo le regole di backoff sopra specificate per la stazione B stessa). Si assuma che la stazione A debba trasmettere una singola trama, all’interno di un periodo in cui la stazione B stia operando in modo greedy. La lunghezza media dei pacchetti trasmessi da B sia L [bit] includendo i bit di preambolo e IFS, la capacità del mezzo fisico sia C [bit/s], la durata dello slot utilizzato nella procedura di backoff S [ms]. In queste condizioni, qual è la probabilità di perdita di una trama per la stazione A? Esercizio 6 Esprimere i seguenti numeri in decimale, esadecimale e binario. 147 163 11111110 11111100 11111000 11110000 11100000 0xFA 0x33 0xC0 Esercizio 7 Si abbia una rete switched LAN realizzata grazie a 8 switch da 32 porte. In ogni switch, due porte sono utilizzate per i collegamenti con gli altri switch. Sulla LAN sono attestati 5 router. Inoltre sulla LAN sono presenti un server di posta elettronica, un server web che funge da proxy), un server SIP. Il numero di porte collegate è l’90%, di queste si assuma che in un certo istante l’80% sia attiva (collegata ad un PC attivo). Ciascun PC si collega al server di posta elettronica ogni 10 minuti per scaricare la mail, in media ciascun utente naviga sul web 10 volte al giorno e invia 20 e-mail (si considerino 6 ore di lavoro). I PC sono utilizzati per fare voce su IP, ciascun PC ha un attività di 0,08 erlang e la durata media di una chiamata è di 2 minuti. Ogni volta che si inizia una sessione di comunicazione, deve essere risolto l’indirizzo IP nell’indirizzo MAC corrispondente. Si ipotizzi di effettuare una procedura ARP ogni volta che si inizia una sessione di comunicazione, quale è il carico totale (a livello ethernet) dovuto al broadcast delle richieste ARP? 2 SOLUZIONI Esercizio 1 a) Diametro massimo Dmax = V * RTT / 2 = 4638 metri b) Repeater delay Dr = 20 / (10*106) [s] = 20 / (10) [µs] = 2 µs Con un ripetitore, diametro massimo: Dmax = V * (RTT – 2*Dr) / 2 = V * (RTT / 2 – Dr ) = 4238 metri ma per il vincolo sulla lunghezza delle tratte in fibra Dmax = 2 * 2km = 4000 metri Con due ripetitori, diametro massimo: Dmax = V * (RTT – 4*Dr) / 2 = V * (RTT / 2 – 2 * Dr ) = 3838 metri Con due ripetitori si hanno tre tratte in fibra, quindi si possono raggiungere tranquillamente i 3838 metri. Con tre ripetitori, diametro massimo Dmax = V * (RTT – 6*Dr) / 2 = V * (RTT / 2 – 3 * Dr ) = 3438 metri Con tre ripetitori si hanno quattro tratte in fibra, quindi si possono raggiungere tranquillamente i 3438 metri. Esercizio 2 Entrambe le stazioni scelgono un numero casuale tra 0 e 1 Ci sono 4 possibilità: 0 0 : collisione 0 1 : no collisione 1 0 : no collisione 1 1 : collisione P (collisione al primo “retry”) = 1/2 Al secondo retry entrambi scelgono un numero tra 0 e 3 P (collisione al secondo “retry”) = 1/4 come la calcolo ? elencando tutti i 16 casi ? è più semplice ragionare in questo modo: qualunque numero scelga la prima stazione, la seconda stazione ha una possibilità su 4 di scegliere lo stesso numero ! P (collisione al terzo “retry”) = 1/8 per lo stesso ragionamento… Quindi Pc(n) la probabilità che, giunti al retry (n), ci sia una collisione vale: Pc(n ) = 1 2n Per valutare Pes(n) ossia la probabilità che ci siano esattamente n retry tracciamo l’albero delle probabilità: 3 1 Retry 1 No collision No 3 collision Retry 2 1 2 2 2 7 2 1 23 No collision Retry 4 Collision 1 2 No collision Retry 3 Collision 2 23 Collision 1 15 4 2 Collision … … … 24 Pes(1) = 1/2 Pes(2) = 1/2 * 3/4 Pes(3) = 1/2 * 1/4 * 7/8 Pes(4) = 1/2 * 1/4 * 1/8 * 15/16 Pes(n) = 1/2 * 1/4 * 1/8 * … * 1/(2n-1) * (2n-1)/2n 1 1 1 1 Considerato che 2 ⋅ 2 ⋅ 3 ⋅ ... ⋅ n = 2 2 2 Pes(n ) = 1 n 2 ∑i=1 i 1 = (n +1)n 2 2 2n − 1 2n − 1 ⋅ = n (n +1) n (n −1) 2n 2 2 2 2 1 La probabilità Pa(n) di avere almeno n retry dopo una collisione, esaminando l’albero delle probabilità è Pa(1) = 1 (dopo la prima collisione si ha sicuramente almeno un tentativo!) Pa(2) = 1/2 Pa(3) = 1/2 * 1/4 Pa(4) = 1/2 * 1/4 * 1/8 1 1 1 1 1 Pa (n ) = 0 ⋅ 1 ⋅ ... ⋅ n −1 = = n (n −1) n −1 i 2 2 2 2 ∑i=0 2 2 La probabilità Pac(n) di almeno avere almeno n collisioni dopo una collisione corrisponde alla probabilità di avere almeno n+1 retry: 1 Pac(n ) = Pa (n + 1) = n (n +1) 2 2 Per esprimere Pa(n) in funzione di Pes(n) si possono sommare tutte le probabilità di avere un numero di retry o superiore a n, oppure considerare il complemento ad uno delle probabilità che il numero di retry sia minore di n: 4 n −1 Pa (n ) = ∑ Pes(i) = 1 − ∑ Pes(i) i≥n i =1 Esercizio 3 Sia L la lunghezza in byte del pacchetto IP. Valutiamo la lunghezza a livello Ethernet aggiungendo anche il preambolo e IFS (caso ethernet 2) 8 byte (preambolo) + 14 bytes (indirizzi e type/lenght) + 4 (FCS) + L = L + 26 bytes considerando anche 96 bit di IFS: L+38 (caso 802.3) si aggiungono 8 bytes di header LLC/SNAP L + 46 bytes quindi il ritmo massimo in pacchetti IP è: C / (8*(L+38)) [s-1] C / (8*(L+46)) [s-1] Esercizio 4 Si supponga di trasportare un flusso di pacchetti IP a 1 Mb/s che abbia il 50% dei pacchetti di dimensione 100 bytes e il 50% di dimensione 1000 bytes. Considerando di trasmettere i pacchetti su Ethernet 2 qual è il carico minimo da tenere in conto a livello ethernet (includendo quindi preambolo e IFS ed escludendo le collisioni). Si supponga poi di dover trasportare un flusso di 1 Mb/s a livello IP, in cui il 50% dei bytes a livello IP appartenga a pacchetti di dimensione 100 bytes e il 50% dei bytes appartenga a pacchetti di dimensione 1000 bytes e si ripeta l’esercizio. r (100+38) + r (1000+38) r (Lmedio+38) Sia r il ritmo in pacchetti al secondo a livello IP. I pacchetti di dimensione 100 bytes avranno un ritmo pari a r/2, così come quelli di dimensione 1000 bytes. 1 Mb/s = r/2 (100*8) + r/2 (1000*8) = r/2 ( 100 + 1000) * 8 Ossia r = 1.000.000 / [8* (100+1000)/2] [pacch/s] Per ogni pacchetto IP si può considerare un overhead a livello Ethernet di 38 bytes per Ethernet 2 (vedi Esercizio 3) quindi il carico a livello Ethernet sarà: Reth = r/2 (100+38)*8 + r/2 (1000+38)*8 = r/2 (100 +1000 + 2 * 38) *8 = = r * [(100+1000)/2 + 38 ] * 8 Sostituendo r si ha 5 Reth = 1.000.000 / [8* (100+1000)/2] * [(100+1000)/2 + 38 ] *8 = = 1.000.000 * (LavgIP + 38) / LavgIP dove LavgIP = (100+1000)/2 è la lunghezza media del pacchetto a livello IP [bytes] NB Si poteva ragionare in termini di lunghezza media del pacchetto IP dall’inizio in questo modo: La lunghezza media dei pacchetti a livello IP è : LavgIP = (100+1000)/2 [bytes] quindi il ritmo in pacchetti al secondo è: r = 1.000.000 / (LavgIP * 8) Il carico a livello Ethernet sarà Reth = r (LavgIP + 38) * 8 [bit/s] e quindi sostiture r… Nel secondo caso, in cui in cui il 50% dei bytes a livello IP appartiene a pacchetti di dimensione 100 bytes e il 50% dei bytes appartiene a pacchetti di dimensione 1000 bytes, è sufficiente calcolarsi la nuova lunghezza media dei pacchetti: Valutiamo il ritmo in pacchetti al secondo dei pacchetti di dimensione 100 byte e di quelli di dimensione 1000 bytes: r100 = 500.000 / (100*8) [pacch/s] r1000 = 500.000 / (1000*8) [pacch/s] Il ritmo totale in pacchetti al secondo a livello IP sarà: r = r100 + r1000 [pacch/s] La lunghezza media dei pacchetti a livello IP sarà una media pesata con la frazione di pacchetti trasmessi: LavgIP = 100 * r100 / (r100 + r1000) + 1000 *r1000 / (r100 + r1000)= = 1 / [1 / 100 + 1 / 1000] + 1 / [1 / 100 + 1 / 1000] = = 2 (100*1000) / (100+1000) = 2 * 100000 / 1100 = 181,8 [bytes] Calcolata la lunghezza media dei pacchetti si può procedere come sopra Esercizio 5 Attenzione: affinché si possa risolvere come indicato nelle soluzione qui sotto, bisogna ipotizzare una cosa relativamente al funzionamento del meccanismo di backoff… ne riparliamo a lezione La stazione B trasmette le trame una dopo l’altra e tra una trama e l’altra ci può essere uno “slot” di distanza (se il backoff estratto da B vale 1) o nessuno slot (se il backoff estratto da B dopo la trasmissione vale 0). 6 Quindi ci sarà con probabilità 0,5 una coppia “slot vuoto / trama trasmessa” da B o (con probabilità 0,5) una trama trasmessa. In un intervallo di tempo arbitrario, in media il numero di trame trasmesse sarà il doppio degli slot lasciati liberi. La durata di uno slot vuoto è S. La durata media della trasmissione di una trama è L/C. La probabilità di trovare il canale libero è PCL = S/(S+2L/C) Se A inizia in un momento a caso, avrà una possibilità di trovare il canale libero pari a PCL. Nel caso in cui A trovi il canale occupato, aspetta la fine della trasmissione e seleziona casualmente il backoff tra 0 e 1. C’è una probabilità 0,25 che A riesca a trasmettere, una probabilità 0,25 che B riesca a trasmettere e una probabilità di 0,5 che si abbia una collisione. Nel caso in cui B riesce a trasmettere (B ha scelto 0 e A ha scelto 1), c’è un probabilità 0,5 che si abbia la collisione sulla trasmissione di A, perchè B sceglierà nuovamente il backoff tra 0 e 1. Quindi dopo la selezione del primo backoff da parte di A, le probabilità che la trama di A vada in collisione sono 0,5 + 0,25*0,25 (5/8), le probabilità che A riesca a trasmettere sono 0,25+0,25*0,25=3/8=P1 Dopo la prima collisione, A seleziona tra 0 e 3, B seleziona tra 0 e 1. 0,5 Se B sceglie 0 : 0,25 A ha scelto 0 collisione , 0,25 A ha scelto 1 : con probabilità 0,5 A trasmette con probabilità 0,5 collisione 0.25 A ha scelto 2 0,5 collisione (B sceglie 1) 0,25 collisione (B sceglie 0 e poi 0) 0,25 A trasmette (B sceglie 0 e poi 1) 0,25 A ha scelto 3 B sceglie 0, 0, 0 : collisione p= 1/8 B sceglie 0, 0, 1 no collisione p=1/8 B sceglie 0, 1 collisione p=1/4 B sceglie 1 , 0 collisione p= 1/4 B sceglie 1, 1 no collisione p= 1/4 0,5 Se B sceglie 1: 0,25 A ha scelto 0: A trasmette 0,25 A ha scelto 1: collisione 0,25 A ha scelto 2 con probabilità 0,5 A trasmette con probabilità 0,5 collisione 0,25 A ha scelto 3 0,5 collisione (B sceglie 1) 0,25 collisione (B sceglie 0 e poi 0) 0,25 collisione (B sceglie 0 e poi 1) P (ok dopo la prima collisione) = P2 = 1/64 + 1/32 + 1/32 + 1/16 = 5/64 Dopo la seconda collisione A seleziona nuovamente tra 0 e 3, B tra 0 e 1, di nuovo A ha una probabilità di 5/64 di poter trasmettere: P(ok dopo la seconda collisione) = P2 La probabilità che la trama venga trasmessa è: POK = PCL+ (1- PCL)* P1+(1- PCL)(1- P1)* P2+(1- PCL)(1- P1)* (1- P2) * P2 La probabilità di perdita della trama è Ploss=1-POK 7 Esercizio 6 147 – 128 = 19 128 + 19 = 128 + 16 + 2 +1 = 1001 : 0011 = 0x93 163 -128 = 35 163 = 128 + 35 = 128 + 32 + 2 +1 = 1010 : 0011 = 0xA3 11111110 = 0xFE = 255 – 1 = 254 11111100 = 0xFC = 255 -3 = 252 11111000 = 0xF8 = 255 - 7 = 248 11110000 = 0xF0 = 255 - 15 = 240 11100000 = 0xE0 = 255 -31 = 224 0xFA = 1111 : 1010 = 255-5 = 250 0x33 = 0011 : 0011 = 3*16 + 3 = 51 0xC0 = 1100 : 0000 = 12 * 16 = 192 Esercizio 7 Numero totale porte 32 * 8 = 256 Porte usate da router, server e collegamenti tra switch 5 + 3 + (2*5) = 18 Porte disponibili per i PC = 256 – 18 = 238 Numero medio di porte attive = NPC = 171,36 Frequenza di apertura delle sessioni (per PC) λ1 = scaricamento posta elettronica = 1/10 (min-1) λ2 = invio posta = 20 / (6*60) (min-1) λ3 = accesso web = 10 / (6*60) (min-1) Per calcolare la frequenza delle chiamata VoIP legge di little N=λT 0,08 = λ * 2 λ VoIP = 0,08 / 2 [min-1] Per le sessioni di scaricamento, invio posta e accesso web si consideri la risoluzione dell’indirizzo del server. Per le sessioni VoIP si consideri la risoluzione dell’indirizzo del server VoIP e la risoluzione dell’indirizzo del destinatario. λtot [s-1]= NPC (λ1 + λ2 + λ3 + 2* λVoIP ) / 60 Per ogni transazione ARP viene trasmesso in broadcast un pacchetto Ethernet di richiesta arp di lunghezza 8 byte (preambolo) + 14 bytes (indirizzi e type/lenght) + 46 byte + 4 FCS = 72 bytes se si considera anche IFS (interframe space) 96 bit = 12 bytes 8 84 bytes = 672 bit carico totale di broadcast ARP = 672 bit * λtot Sostituendo i valori numerici λtot = 45,12 min-1 = 0,7529 s-1 e il carico totale di broadcast risulta 505,4 bit/s. 9