Nome Cognome Matricola_______________________________ Reti di calcolatori – Tecnologie Web Prova in itinere 2 – 16 giugno 2010 1. [punti rdc: 12 - taw: 15] Dato il seguente schema di rete Host 3 Host 2 Host 4 Host 5 Host 6 Host 7 143.9.0.0 198.123.7.65 eth 1 198.123.7.160/27 eth 1 198.123.7.161 R3 143.9.1.1 eth 0 R1 Host 1 198.123.7.64/27 serial 0 192.168.3.16/30 serial 0 Internet serial 0 192.168.3.8/30 Host 8 R2 serial 1 198.123.7.128/27 eth 0 198.123.7.129 serial 0 R4 81.1.1.2 eth 0 81.1.1.1 eth 0 eth 0 81.0.0.0 81.1.1.3 R5 198.123.7.97 eth 1 198.123.7.96/27 Host 9 Host 10 scegliere la configurazione di rete dell’host 6 (IP, netmask e configurazione di routing) e indicare il contenuto delle tabelle di routing del router R3. Si disegni infine il grafo che rappresenta la rete precedente secondo le tipologie di collegamento (punto-punto, transienti, foglia) previste dal protocollo OSPF. 2. [punti rdc: 12 - taw: 15] Scrivere in linguaggio C o Java le istruzioni necessarie per implementare un client TCP che si collega alla porta 6666 di un server assegnato (si assuma che l’IP venga passato come parametro del programma) e realizza il seguente protocollo di comunicazione una volta aperta la connessione. 1. Il client attende che il server invii una stringa che rappresenta una domanda per l’utente. 2. Viene chiamata la funzione String getUserReply(String d) per Java – char * getUserReply(char *d) per C dove d è la stringa ricevuta dal server. La stringa ottenuta dalla funzione è inviata al server. 3. Si attende una stringa dal server. a. Se la stringa ricevuta è “OK” si chiama la funzione playAgain() che ritorna 1 se l’utente vuole giocare di nuovo. In tal caso si invia la stringa “NEW” al server e si itera l’esecuzione dal punto 1. Se invece playAgain() ritorna 0 si invia la stringa “BYE”, si chiude la connessione e si esce dal programma. b. Se la stringa è “RETRY” si torna al punto 2. 4. SOLO PER RETI DI CALCOLATORI 3. [punti 6 ] Sia dato il seguente schema di rete LAN ethernet Host 5 Host 6 SWITCH HUB HUB SWITCH Host 1 Host 2 Host 3 Host 10 Host 11 Host 12 Host 4 Host 7 Host 8 Host 9 Host 1 2 3 4 5 6 MAC Address 0a:3b:7e:f1:5b:44 3b:c7:45:56:7b:22 0b:aa:5b:89:13:56 03:12:34:09:22:34 0a:45:22:03:65:10 0b:44:10:05:22:af Host 7 8 9 10 11 12 MAC Address 01:33:5c:d6:a4:37 02:bb:3d:fe:32:87 00:e5:d5:43:11:75 0b:34:54:fe:de:aa 12:3d:3d:ab:cd:53 04:40:21:33:af:ee Se l’host 7 invia un pacchetto con indirizzo destinazione 03:12:34:09:22:34 indicare quali host lo vedono. Se l’host destinatario invia un pacchetto di risposta quali host vedono tale pacchetto? Supponendo di considerare solo la sottorete formata dagli host 10, 11 e 12 e assumendo una probabilità di trasmettere p=0.4 per tali host calcolare la probabilità di collisione, il numero medio di slot di contesa e l’efficienza della rete supponendo una lunghezza media dei frame di 900 byte. Nome Cognome Matricola_______________________________ Reti di calcolatori – Tecnologie Web Prova in itinere 2 – 16 giugno 2010 1. [punti rdc: 12 - taw: 15] Dato il seguente schema di rete Host 3 Host 4 Internet eth 0 serial 1 203.65.88.48/28 Host 6 Host 5 203.65.88.49 R5 serial 0 Host 2 172.16.6.132/30 serial 0 152.131.1.1 eth 1 Host 1 R1 eth 0 203.65.88.193 203.65.88.128/28 203.65.88.129 eth 1 R2 eth 1 eth 0 75.1.1.1 203.65.88.143 eth 1 152.131.1.4 75.0.0.0 R4 Host 7 eth 0 Host 8 Host 9 Host 11 R3 152.131.1.3 152.131.1.2 203.65.88.192/28 eth 0 152.131.0.0 203.65.88.144/28 Host 10 scegliere la configurazione di rete dell’host 5 (IP, netmask e configurazione di routing) e indicare il contenuto delle tabelle di routing del router R2. Si disegni infine il grafo che rappresenta la rete precedente secondo le tipologie di collegamento (punto-punto, transienti, foglia) previste dal protocollo OSPF. 2. [punti rdc: 12 - taw: 15] Scrivere in linguaggio C o Java le istruzioni necessarie per implementare un client UDP che si collega alla porta 2203 di un server assegnato (si assuma che l’IP venga passato come parametro del programma) e realizza il seguente protocollo di comunicazione. 1. Viene chiamata la funzione String getUserQuery() per Java – char * getUserQuery() per C che produce l’interrogazione da inviare al server. Si invia al server la stringa “Q “ concatenata con la stringa ottenuta. 2. Si attende un pacchetto di risposta. a. Se il pacchetto contiene la stringa “MISS” si chiama la funzione int queryAgain(). Se il valore prodotto da tale funzione è 1 si itera dal punto 1, altrimenti si chiude il socket e si esce dal programma. b. Se il pacchetto contiene una stringa che inizia con la stringa “HIT” si estrae la sottostringa successiva che rappresenta l’ID con cui ottenere le risposte dal server. A questo punto si itera l’invio della stringa “H “ concatenata con ID seguito dalla ricezione di una stringa di risposta fino a che non si riceve una stringa di lunghezza nulla. Infine si chiude il socket e si esce dal programma. SOLO PER RETI DI CALCOLATORI 3. [punti 6 ] Sia dato il seguente schema di rete LAN ethernet Host 5 Host 6 SWITCH HUB SWITCH HUB Host 1 Host 2 Host 3 Host 10 Host 11 Host 12 Host 4 Host 7 Host 8 Host 9 Host 1 2 3 4 5 6 MAC Address 0a:3b:7e:f1:5b:44 3b:c7:45:56:7b:22 0b:aa:5b:89:13:56 03:12:34:09:22:34 0a:45:22:03:65:10 0b:44:10:05:22:af Host 7 8 9 10 11 12 MAC Address 01:33:5c:d6:a4:37 02:bb:3d:fe:32:87 00:e5:d5:43:11:75 0b:34:54:fe:de:aa 12:3d:3d:ab:cd:53 04:40:21:33:af:ee Se l’host 7 invia un pacchetto con indirizzo destinazione 0b:34:54:fe:de:aa indicare quali host lo vedono. Se l’host destinazione invia un pacchetto di risposta quali host vedono tale pacchetto? Supponendo di considerare solo la sottorete formata dagli host 7, 8, e 9 e assumendo una probabilità di trasmettere p=0.7 per tali host, calcolare la probabilità di collisione, il numero medio di slot di contesa e l’efficienza della rete supponendo una lunghezza media dei frame di 1200 byte. Nome Cognome Matricola_______________________________ Reti di calcolatori – Tecnologie Web Prova in itinere 2 – 16 giugno 2010 1. [punti rdc: 12 - taw: 15] Dato il seguente schema di rete Host 3 Host 2 Host 4 Host 5 Host 6 Host 7 211.9.7.0/26 211.9.7.65 eth 1 Host 1 211.9.7.128/26 211.9.7.129 211.9.7.1 eth 0 eth 1 R1 211.9.7.64/26 serial 0 172.45.6.32/30 serial 0 Internet 97.0.0.0 serial 0 172.45.6.128/30 Host 8 serial 0 R2 serial 1 eth 0 97.1.1.1 R3 R4 154.11.1.2 eth 0 154.11.1.1 eth 0 eth 0 211.9.7.193 154.11.1.3 154.11.0.0 . R5 eth 1 211.9.7.192/26 Host 9 Host 10 scegliere la configurazione di rete dell’host 3 (IP, netmask e configurazione di routing) e indicare il contenuto delle tabelle di routing del router R5. Si disegni infine il grafo che rappresenta la rete precedente secondo le tipologie di collegamento (punto-punto, transienti, foglia) previste dal protocollo OSPF. 2. [punti rdc: 12 - taw: 15] Scrivere in linguaggio C o Java le istruzioni necessarie per implementare un server TCP che si mette in ascolto sulla porta 6666 e realizza il seguente protocollo di comunicazione una volta accettata una connessione. 1. Il server chiama la funzione String nextQuery() per Java – char * nextQuery() per C che genera una stringa che rappresenta una domanda. La stringa viene inviata al client. 2. Si attende una stringa di risposta dal client. 3. Si verifica la risposta ricevuta chiamando la funzione int verifyReply(String r) per Java – int verifyReply(char *r) per C. a. Se verifyReply() produce il valore 1 si invia la stringa “OK” e si attende una stringa dal client. Se la stringa ricevuta è “NEW” si itera dal punto 1. Se è “BYE” si chiude la connessione. b. Se verifyReply() produce il valore 0 si invia la stringa “RETRY” e si torna al punto 2. SOLO PER RETI DI CALCOLATORI 3. [punti 6 ] Sia dato il seguente schema di rete LAN ethernet Host 5 Host 6 SWITCH HUB HUB SWITCH Host 1 Host 2 Host 3 Host 10 Host 11 Host 12 Host 4 Host 7 Host 8 Host 9 Host 1 2 3 4 5 6 MAC Address 0a:3b:7e:f1:5b:44 3b:c7:45:56:7b:22 0b:aa:5b:89:13:56 03:12:34:09:22:34 0a:45:22:03:65:10 0b:44:10:05:22:af Host 7 8 9 10 11 12 MAC Address 01:33:5c:d6:a4:37 02:bb:3d:fe:32:87 00:e5:d5:43:11:75 0b:34:54:fe:de:aa 12:3d:3d:ab:cd:53 04:40:21:33:af:ee Se l’host 5 invia un pacchetto con indirizzo destinazione 12:3d:3d:ab:cd:53 indicare quali host lo vedono. Se l’host destinazione invia un pacchetto di risposta quali host vedono tale pacchetto? Supponendo di considerare solo la sottorete formata dagli host 1, 2, 3 e 4 e assumendo una probabilità di trasmettere p=0.2 per tali host, calcolare la probabilità di collisione, il numero medio di slot di contesa e l’efficienza della rete supponendo una lunghezza media dei frame di 600 byte. Nome Cognome Matricola_______________________________ Reti di calcolatori – Tecnologie Web Prova in itinere 2 – 16 giugno 2010 1. [punti rdc: 12 - taw: 15] Dato il seguente schema di rete Host 3 Host 4 Internet eth 0 serial 1 199.43.108.96/27 199.43.108.97 Host 6 Host 5 R5 serial 0 Host 2 192.169.3.48/30 serial 0 Host 1 199.43.108.32/27 199.43.108.33 57.1.1.1 eth 1 R1 eth 0 199.43.108.161 eth 1 eth 1 199.43.108.65 eth 0 R2 133.24.1.1 eth 1 57.1.1.4 133.24.0.0 R4 Host 7 eth 0 Host 8 Host 9 Host 11 R3 57.1.1.3 57.1.1.2 199.43.108.160/27 eth 0 57.0.0.0 199.43.108.64/27 Host 10 scegliere la configurazione di rete dell’host 2 (IP, netmask e configurazione di routing) e indicare il contenuto delle tabelle di routing del router R2. Si disegni infine il grafo che rappresenta la rete precedente secondo le tipologie di collegamento (punto-punto, transienti, foglia) previste dal protocollo OSPF. 2. [punti rdc: 12 - taw: 15] Scrivere in linguaggio C o Java le istruzioni necessarie per implementare un server UDP che si mette in ascolto sulla porta 2203 e realizza il seguente protocollo di comunicazione. 1. Per ogni pacchetto ricevuto si controlla la stringa contenuta. a. Se inizia con “Q” si chiama il metodo String doQuery(String q) per Java – char * doQuery(char *q) per C dove q è la sottostringa a partire dal carattere 2. Se la stringa prodotta da doQuery ha lunghezza nulla si invia al client un pacchetto che contiene la stringa “MISS” altrimenti si invia la stringa “HIT “ concatenata con la stringa prodotta dal doQuery(). b. Se inizia con “H” si chiama il metodo String nextQueryHit(String ID) per Java – char * nextQueryHit(char *ID) per C dove ID è la sottostringa estratta da quella ricevuta a partire dal carattere 2. Si invia in risposta la stringa ottenuta. SOLO PER RETI DI CALCOLATORI 3. [punti 6 ] Sia dato il seguente schema di rete LAN ethernet Host 5 Host 6 SWITCH HUB SWITCH HUB Host 1 Host 2 Host 3 Host 10 Host 11 Host 12 Host 4 Host 7 Host 8 Host 9 Host 1 2 3 4 5 6 MAC Address 0a:3b:7e:f1:5b:44 3b:c7:45:56:7b:22 0b:aa:5b:89:13:56 03:12:34:09:22:34 0a:45:22:03:65:10 0b:44:10:05:22:af Host 7 8 9 10 11 12 MAC Address 01:33:5c:d6:a4:37 02:bb:3d:fe:32:87 00:e5:d5:43:11:75 0b:34:54:fe:de:aa 12:3d:3d:ab:cd:53 04:40:21:33:af:ee Se l’host 4 invia un pacchetto con indirizzo destinazione 0b:44:10:05:22:af indicare quali host lo vedono. Se l’host destinazione invia un pacchetto di risposta quali host vedono tale pacchetto? Supponendo di considerare solo la sottorete formata dagli host 7, 8, e 9 e assumendo una probabilità di trasmettere p=0.5 per tali host, calcolare la probabilità di collisione, il numero medio di slot di contesa e l’efficienza della rete supponendo una lunghezza media dei frame di 800 byte.