cerca
Temi d'esame di Sistemi - 11/11/2005
modifica cronologia stampa login logout

Wiki

UniCrema


Materie per semestre

Materie per anno

Materie per laurea


Help

Temi d'esame di Sistemi - 11/11/2005

Torna alla pagina di Sistemi per l'elaborazione delle informazioni


 :: Temi d'esame di Sistemi - 11/11/2005 ::

Esercizio 1

Calcolate il tempo effettivo (in secondi) necessario per recapitare un file tra un computer A e un computer B, supponendo che non vi sia traffico generato da altre stazioni. Ipotesi: Dimensione File: 10 Mbyte, Banda nominale della rete 10 Mbps. Trasporto: Ethernet/UDP.

SOLUZIONE

Ricapitoliamo i dati:
Banda: 10 Mbps = 107 bit/s
PDU: 10 Mbyte = 80 Mbit = 8 * 107 bit
v: 2 * 108 m/s

So inoltre che:

  • l'overhead di un frame Ethernet è composto da 38 byte (8 di preambolo + 6 per l'indirizzo destinazione + 6 per l'indirizzo mittente + 14 di header + 4 di trailer)
  • l'overhead di un pacchetto UDP è composto da 28 byte (20 di header IP + 8 di header UDP)

CASO ETHERNET
Considero il payload più grande che posso inviare in un frame ethernet (1500 byte) e calcolo il payload data rates: 1500 / (1500 + 38) = 97,5293 % che mi consente di ottenere la banda effettiva, al netto dei byte di overhead. Ovvero: Banda effettiva = (107 bit / 97,5293) * 100 = 9,75 Mbps

Uso ora la banda effettiva per calcolare il tempo di invio: t = PDU / Banda effettiva = 80 (Mbit) / 9,75 (Mbit/s) = circa 8,20 s

CASO UDP
Dal payload più grande che posso inviare in un frame ethernet (1500 byte) tolgo i byte di overhead dell'UDP e faccio il rapporto con i byte occupati da un frame ethernet (overhead compresi): (1500 - 28) / (1500 + 38) = 95,70 % che mi consente di ottenere la banda effettiva, al netto dei byte di overhead (del frame ethernet, dell'IP e dell'UDP). Ovvero: Banda effettiva = 9,57 Mbps

Uso ora la banda effettiva per calcolare il tempo di invio: t = PDU / Banda effettiva = 80 (Mbit) / 9,57 (Mbit/s) = circa 8,35 s


Esercizio 2

Dite se le coppie indirizzo IP/maschera di sottorete 172.16.17.30/20 e 172.16.28.15/20 si riferiscono alla stessa subnet oppure no. MOTIVATE LA RISPOSTA.

SOLUZIONE

La notazione CIDR specifica che sono 20 i bit destinati alla maschera di sottorete, quindi i primi due byte e 4 bit del terzo byte.

172.16.17.30/20 -> il terzo byte in binario è .00010001.
172.16.28.15/20 -> il terzo byte in binario è .00011100.

Quindi i due indirizzi sono sulla stessa sottorete, perché hanno tutti e 20 i primi bit uguali.


Esercizio 3

Dato l’indirizzo di classe C 198.15.6.0/24, subnettatelo con la tecnica FLSM per creare la rete in figura. Precisate per ciascuna sottorete subnetID, spazio d’indirizzamento e indirizzo di broadcast per ciascuna sottorete. Quantificate la percentuale di spazio d’indirizzamento inutilizzato, globalmente e per ciascuna sottorete.

SOLUZIONE

Con la tecnica FLSM ho una maschera di dimensioni fisse per ogni sottorete. In questo caso ne ho cinque da indirizzare, quindi ho bisogno di almeno 3 bit (infatti 23 = 8). E' poi meglio evitare di utilizzare subnet id composte da tutti 0 o tutti 1, quindi quelle valide per il nostro esercizio sono:

A: 198.15.6.32 /27
B: 198.15.6.64 /27
C: 198.15.6.96 /27
D: 198.15.6.128 /27
E: 198.15.6.160 /27

L'intervallo degli indirizzi di host, per ogni sottorete, è:

A: da 33 al 62
B: da 65 al 94
C: da 97 al 126
D: da 129 al 158
E: da 161 al 190

I bit dedicati all'indirizzamento degli host sono 5, quindi consentono di indirizzarne al più 25 - 2 = 30 (perché non ammetto gli indirizzi a tutti 0 e tutti 1). Lo spazio di indirizzamento sprecato per ciascuna sottorete è pari a:

A: 30 - 14 = 16 quindi 30 : 16 = 100 : x -> 53.33%
B: 30 - 28 = 2 quindi 30 : 2 = 100 : x -> 6.67%
C: 30 - 2 = 28 quindi 30 : 28 = 100 : x -> 93.33%
D: 30 - 7 = 23 quindi 30 : 23 = 100 : x -> 76.67%
E: 30 - 28 = 2 quindi 30 : 2 = 100 : x -> 6.67%

Lo spazio di indirizzamento sprecato globalmente si calcola considerando che utilizzo cinque reti da 30 host ciascuna (quindi posso indirizzare 150 host) e che normalmente avrei avuto 254 host indirizzabili col normale classe C. Ho così 254 - 150 = 104 host sprecati, in percentuale: 254 : 104 = 100 : x -> 40.95%


Esercizio 4

Nelle stesse ipotesi dell’esercizio precedente, definite uno schema di subnetting VLSM. Specificate le maschere di sottorete, e subnetID. Quantificate la percentuale di spazio d'indirizzamento inutilizzato, e paragonatela a quella dell’Esercizio 2.

SOLUZIONE

Con la tecnica di VLSM posso assegnare maschere di sottorete variabili a seconda delle sottoreti stesse, riservando di conseguenza ad ognuna uno spazio di indirizzamento diverso per gli host.

Avendo una classe C ho a disposizione l'ultimo ottetto per la subnet id e l' host id.

Per le reti con più host, la B e la E, utilizzo 3 bit per la subnet id, così che con i rimanenti 5 bit possa tranquillamente indirizzare i 28 host (25 -2 = 30). Per la C e la D, che hanno un numero inferiore di host, utilizzo invece 4 bit di subnet id; per la C che di host ne ha solo 2 (senza possibilità di crescita, dato che è un collegamento punto-punto) ne utilizzo 6 per la sottorete.

Ricapitolando, ecco le maschere di sottorete:

  • A: Maschera di Sottorete: 255.255.255.240 (11111111.11111111.11111111.11110000)
  • B: Maschera di Sottorete: 255.255.255.224 (11111111.11111111.11111111.11100000)
  • C: Maschera di Sottorete: 255.255.255.252 (11111111.11111111.11111111.11111100)
  • D: Maschera di Sottorete: 255.255.255.240 (11111111.11111111.11111111.11110000)
  • E: Maschera di Sottorete: 255.255.255.224 (11111111.11111111.11111111.11100000)

E qui abbiamo le subnet id, opportunamente assegnate in modo da non lasciare voragini di spazio inutilizzato tra una sottorete e l'altra:

  • B: 202.15.5.0 /27
  • E: 202.15.5.32 /27
  • A: 202.15.5.64 /28
  • D: 202.15.5.80 /28
  • C: 202.15.5.96 /30

L'host range in questo caso sarà dunque:

  • B: da 1 a 30 (30 host)
  • E: da 33 a 62 (30 host)
  • A: da 65 a 78 (14 host)
  • D: da 81 a 94 (14 host)
  • C: da 97 a 98 (2 host)

Lo spazio di indirizzamento sprecato per ciascuna sottorete è pari a:

A: 14 - 14 = 0 quindi 14 : 0 = 100 : x -> 0%
B: 30 - 28 = 2 quindi 30 : 2 = 100 : x -> 6.67%
C: 2 - 2 = 0 quindi 2 : 0 = 100 : x -> 0%
D: 14 - 7 = 7 quindi 14 : 7 = 100 : x -> 50%
E: 30 - 28 = 2 quindi 30 : 2 = 100 : x -> 6.67%

Quindi lo spreco appare decisamente diminuito rispetto alla tecnica FLSM.

NOTA: Nello svolgimento di questo esercizio ho utilizzato per B una subnet id composta di soli 0, garantendo però che non possano esistere omonimie tra sottoreti differenti.


Esercizio 5

Data la rete del laboratorio in figura, specificate la tabella di instradamento per il router A, interfaccia eth0.

Le interfacce del router sono mostrate nella figura che segue. Quale può essere il motivo per collegare i due router tra loro attraverso due coppie d’interfacce separate? Spiegate.

SOLUZIONE

DESTINAZIONE ROUTER INTERFACCIA
10.0.1.1/24 ... Eth0

(?) Motivi:

  • sicurezza, dal momento che se si rompe uno c'è anche l'altro
  • Eth0 è più lento e quindi posso utilizzarlo per mandare ICMP ed interoutin, mentre da sl0 passano frame più grossi.

Esercizio 6

Con riferimento alla figura spiegate: Quale tecnica di ritrasmissione viene adottata, qual è la dimensione della finestra e i contenuti della retransmission list all’invio del segmento 3.

SOLUZIONE

La tecnica di ritrasmissione adottata è una continuous RQ, in particolare una Go Back N.
La finestra ha dimensione 4.
Nella retransmission list ho: 2, 3, 4, 5 (ovvero i segmenti che sono stati ritrasmessi)


Esercizio 7

Calcolate i valori del timer di ritrasmissione di TCP (retransmission timeout - RTO), sapendo che RTS = 30 ms, e che gli ACK successivi arrivano con ritardi di 32, 24 e 26 ms. Fate le vostre ipotesi sui valori dei parametri.
Parte opzionale (fa guadagnare ulteriori 2 punti) L'algoritmo di Jakobson calcola RTO sulla base della media e della deviazione standard di RTT. Calcolate una stima di RTO con gli stessi dati dell'esercizio e con i parametri di smoothing g = 1/8, h = 1/4 e f =4.

SOLUZIONE

Puoi trovare un esercizio analogo risolto per esteso nel tema d'esame del 30/1/2007.

Risolviamo usando la formula per la variazione del Round Trip Time, ovvero:
EstimatedRTT = (1-x) * ERTT(t-1) + (x)*SampleRTT
con x = 0.1 (valore tipico di misura preso dalle sue dispense)

Risolviamo i vari casi:
(1) RTT'= 30ms * (0.9) + 32 ms * (0.1) = 30.2 ms
Il testo dell'esercizio però mi chiede di calcorare il timeout (RTO) per cui basta semplicemente raddoppiare l'RTT risultante (2 è ancora una volta un valore consigliato, una sorta di margine di sicurezza) per cui: Timeout=2 * 30.2ms = 60.4 ms

Si procede allo stesso modo per l'ACK2 e ACK3:

(2) RTT = 30.2 * 0.9 + 24 * 0.1 = 29.6 ms
Timeout = 59.2 ms

(3) RTT = 29,6 * 0.9 + 26 * 0.1 = 29.2 ms
Timeout= 58.4 ms

Parte opzionale

Manca la soluzione!


Esercizio 8

Un client di emulazione terminale usa TCP per inviare a un server remoto i codici dei tasti premuti dall’utente. Il client manda ogni carattere generato dall’utente al server in un segmento separato, e il server rimanda ogni carattere ricevuto all’applicazione in un segmento separato. Supponiamo di monitorare il traffico in TCP transito tra client e server, e che l’utente digiti i caratteri “A” e “C”.

  1. Quanti pacchetti vedremo transitare? Per quale motivo non quattro?
  2. Quale sarà il payload di ciascuno?
  3. Quando il client riceve l’eco dal server, aspetta un po’ prima di inviare l’ACK. Per quale motivo? Quanto è il ritardo?

SOLUZIONE

Leggendo sulle dispense alla voce controllo di flusso TCP, riesco a fare la prima domanda dell'esercizio.
NOTA: non ha mai fatto esercizi di questo tipo, ma si sa mai.
Innanzi tutto si parla di un echo. E' una specie di ping pong tra client e server. Il client manda un numero di sequenza puramente casuale, un ACK (che sembra casuale anche quello) e dicendogli il dato che vuole, in questo caso 'C'. Il server per far capire che gli è arrivata la risposta manda un ACK col numero di ACK mandato dal client al posto del numero di sequenza incrementato di uno e viceversa. Quando al client è arrivata la risposta ricomincia. Per finire la sequenza il server manda un ACK finale al client. Perciò, quanti pacchetti transitano? La risposta è 5


Torna alla pagina di Sistemi per l'elaborazione delle informazioni