• Non ci sono risultati.

Reti di calcolatori

N/A
N/A
Protected

Academic year: 2021

Condividi "Reti di calcolatori"

Copied!
4
0
0

Testo completo

(1)

Nome Cognome Matricola_______________________________

Reti di calcolatori

Prova in itinere 2 – 21 gennaio 2011 1. [punti 10] Dato il seguente schema di rete

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 12] 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 dell’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.

3. [punti 8] Dato il polinomio generatore G(x)=x4+x2+1, calcolare il CRC per la sequenza di bit 011011100011. Inoltre verificare se il CRC calcolato con G(x) è in grado di rilevare due errori a distanza 6 fra di loro.

Host 1 Host 2

Host 3 Host 4

Host 5 Host 6 Host 7

Host 8

Host 9 Host 10

Internet

R1

R2

R3

R4

R5

81.0.0.0 192.168.3.8/30 192.168.3.16/30

198.123.7.128/27 198.123.7.160/27

143.9.0.0

198.123.7.64/27

198.123.7.96/27 serial 0

serial 0

serial 0 serial 0 serial 1

eth 0

eth 0 eth 0

eth 0 eth 0

eth 1 eth 1

eth 1

81.1.1.1 81.1.1.2

81.1.1.3

198.123.7.97

198.123.7.129 198.123.7.161

198.123.7.65 143.9.1.1

(2)

Nome Cognome Matricola_______________________________

Reti di calcolatori

Prova in itinere 2 – 21 gennaio 2011 1. [punti 10] Dato il seguente schema di rete

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 12] 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.

3. [punti 8] Dato il polinomio generatore G(x)=x4+x+1, calcolare il CRC per la sequenza di bit 001100101011. Inoltre verificare se il CRC calcolato con G(x) è in grado di rilevare due errori a distanza 5 fra di loro.

Host 1 Host 2

Host 3 Host 4

Host 5 Host 6

Host 7

Host 8

Host 9 Host 10

Internet

R1

R2

R3

R4 R5

75.0.0.0

203.65.88.128/28

152.131.0.0 serial 0

serial 0 serial 1 eth 0

eth 0

eth 0 eth 0 eth 0

eth 1 eth 1

eth 1 75.1.1.1

203.65.88.129

Host 11

eth 1 152.131.1.4

152.131.1.3 152.131.1.2

152.131.1.1

203.65.88.144/28 203.65.88.145

203.65.88.48/28 203.65.88.49

203.65.88.192/28

203.65.88.193

172.16.6.132/30

(3)

Nome Cognome Matricola_______________________________

Reti di calcolatori

Prova in itinere 2 – 21 gennaio 2011 1. [punti 10] Dato il seguente schema di rete

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 12] 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.

3. [punti 8] Dato il polinomio generatore G(x)=x4+x3+1, calcolare il CRC per la sequenza di bit 010111010110. Inoltre verificare se il CRC calcolato con G(x) è in grado di rilevare due errori a distanza 7 fra di loro.

Host 1 Host 2

Host 3 Host 4

Host 5

Host 6 Host 7

Host 8

Host 9 Host 10

Internet

R1

R2

R3

R4

R5

154.11.0.0 .

172.45.6.128/30 172.45.6.32/30

97.0.0.0 211.9.7.128/26

211.9.7.0/26

211.9.7.64/26

211.9.7.192/26 serial 0

serial 0

serial 0 serial 0 serial 1

eth 0

eth 0 eth 0

eth 0 eth 0

eth 1 eth 1

eth 1

154.11.1.2

211.9.7.193

97.1.1.1 211.9.7.129

211.9.7.65 211.9.7.1

154.11.1.1

154.11.1.3

(4)

Nome Cognome Matricola_______________________________

Reti di calcolatori

Prova in itinere 2 – 21 gennaio 2011 1. [punti 10] Dato il seguente schema di rete

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 12] 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.

3. [punti 8] Dato il polinomio generatore G(x)=x4+x3+x+1, calcolare il CRC per la sequenza di bit 000111011011. Inoltre verificare se il CRC calcolato con G(x) è in grado di rilevare due errori a distanza 6 fra di loro.

Host 1 Host 2

Host 3 Host 4

Host 5 Host 6

Host 7

Host 8

Host 9 Host 10

Internet

R1

R2

R3

R4 R5

133.24.0.0

199.43.108.32/27

57.0.0.0 serial 0

serial 0 serial 1 eth 0

eth 0

eth 0 eth 0 eth 0

eth 1 eth 1

eth 1 133.24.1.1

199.43.108.33

Host 11

eth 1 57.1.1.4

57.1.1.3 57.1.1.2

57.1.1.1

199.43.108.64/27 199.43.108.65

199.43.108.96/27 199.43.108.97

199.43.108.160/27

199.43.108.161

192.169.3.48/30

Riferimenti

Documenti correlati

Un form in cui si può scegliere il prodotto da ordinare da un menù a scelta singola, le date di consegna da un menù a scelta multipla e inserire la quantità richiesta in

Un form in cui si può scegliere il negozio a cui deve essere fatta la consegna da un menù a scelta singola, i prodotti da consegnare da un menù a scelta multipla e

Un form in cui si può scegliere l’edificio da un menu a scelta singola, il numero della stanza da un menù a scelta multipla e inserire la matricola dell’impiegato che

Un form in cui si può scegliere l’impianto da un menu a scelta singola, i depositi su cui è stato rilevato il valore misurato da un menù a scelta multipla e inserire il

 Quando il terminale ricevente (il server) riceve il segmento iniziale proveniente dal client gli invia un acknowledge, cioè un segmento il cui flag ACK è a 1 e il

© 2001 Pier Luca Montessoro (si veda la nota a pagina 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei

© 2001 Pier Luca Montessoro (si veda la nota a pagina 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei

© 2001 Pier Luca Montessoro (si veda la nota a pagina 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei