• Non ci sono risultati.

Reti di calcolatoriProva scritta – 23 settembre 2016

N/A
N/A
Protected

Academic year: 2021

Condividi "Reti di calcolatoriProva scritta – 23 settembre 2016"

Copied!
4
0
0

Testo completo

(1)

Nome Cognome Matricola_______________________________

Reti di calcolatori

Prova scritta – 23 settembre 2016

Esercizio 1 [9 punti]

Si vuole realizzare un servizio Web per raccogliere le statistiche di uso delle stampanti in un dipartimento. Il servizio prevede le seguenti pagine:

1. Un form in cui si possono scegliere una o più stampanti da un menu a scelta multipla, l’account di stampa da un menu a scelta singola e inserire il numero di pagine stampate, in un campo di testo. Ad ogni invio, il form permette di specificare un insieme di stampanti per lo stesso account se il numero di pagine stampate è lo stesso. Le opzioni dei menù devono essere generate dinamicamente a partire da array. Si assuma un array che contiene la lista (“P01”, ”P02”, ”P03”, ”P04”) per le stampanti e (“123456”, “234567”, “345678”, “456789”) per gli account.

2. Una pagina di raccolta dei dati che memorizza sul server gli inserimenti fatti col form di cui al punto 1 nella stessa sessione di lavoro. Per ogni stampante e account si devono memorizzare il numero totale di pagine e il numero di stampe (inserimenti) registrati.

3. Una pagina di riepilogo che stampa una tabella con la media di pagine stampate ad ogni invio per ogni combinazione stampante-account, oppure il carattere “-” se non c'è un valore memorizzato per quella combinazione. Poi, per ogni stampante si riporta/riportano tutti gli account che hanno il totale di pagine stampate maggiore.

Si scrivano il form e le due pagine di raccolta dati e riepilogo usando HTML/PHP. Si supponga di utilizzare il metodo POST nel form.

Esercizio 2 [2 punti]

Dato il seguente codice PHP for($j=1;$j<6;$j+=2) $l[“0.$j”] = 0.1*$j;

foreach($l as $k=>$v) $x += $k+$v;

$z = “z=”.$x*10;

indicare quali sono le variabili definite nell’interprete dopo l’esecuzione del codice, con il loro tipo e valore (esclusi gli indici $j, $k e $v).

Esercizio 3 [punti 5]

Si vuole definire un formato per l’interscambio dati relativo alla condivisione di file in un insieme di server. Il file scambiato specifica la lista dei file. Ciascun file è identificato dal nome (string) ed ha associate la sua dimensione in kbyte (decimal), il formato (string, es. “jpg”, “mp3”,..) e la lista dei server su cui è disponibile. Per ogni server si specifica l’indirizzo IP (string), la data di creazione del file (date), il numero totale di download (integer) e la lista dei download. Per ogni download si riporta il timestamp (dateTime), l’indirizzo IP del client (string), il codice di esito della richiesta (integer) e la velocità di download in kbyte/s (decimal). Si proponga la struttura XML necessaria, mostrando un esempio, e si scriva il file XML schema associato.

(2)

Esercizio 4 [punti 4]

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 R1.

Esercizio 5 [punti 5]

Si scriva il codice javascript necessario ad implementare la seguente funzionalità in una pagina HTML: passando sopra (evento onmouseover) un paragrafo (tag HTML <p>), questo e tutti gli altri paragrafi della stessa classe (proprietà className) vengono evidenziati con un bordo di spessore definito da un menu a tendina con id assegnato (si assegna alla proprietà di stile border la stringa

“-size- solid green”, dove -size- è la stringa selezionata nel menu, es. “2px” per 2 pixel). Quando si passa sopra un nuovo paragrafo i bordi di tutti quelli della classe selezionata in precedenza ritornano al valore iniziale (si assegna la stringa “initial”).

Esercizio 6 [punti 5]

Descrivere come è definito l’indirizzamento degli endpoint a livello di trasporto nel TCP/IP, spiegando come è garantita la distinzione fra i diversi canali di scambio dati.

--- Recupero prima prova --- Svolgere

 Esercizio 1 (PHP) [14 punti]

 Esercizio 2 (PHP) [4 punti]

Rispondere alle seguenti domande

1. Illustrare i vantaggi della struttura a strati dei protocolli di rete. [6 punti]

2. Motivare l’utilità dei campi di intestazione previsti in HTTP, facendo degli esempi di uso. [6 punti]

--- Recupero seconda prova --- Svolgere

 Esercizio 3 (XML) [punti 8]

 Esercizio 4 (indirizzi IP) [punti 6]

 Esercizio 5 (javascript) [punti 8]

 Esercizio 6 (domanda) [punti 8]

Host 1 Host 2

Host 3 Host 4

Host 5

Host 6

Host 7 Host 8 Host 9

Host 10

Internet

R4

R2

R3 R1

172.24.88.0/22 serial 0

serial 0

serial 0 eth 0

eth 0

eth 0

eth 0 eth 1

eth 1 eth 1

Host 11

eth 1 192.168.7.93

34.160.0.1

172.24.88.1

196.3.22.0/25

196.3.22.1

192.168.7.92/30

34.160.0.0/12 172.24.88.3

172.24.88.2

192.168.7.94

196.3.22.128/25 196.3.22.129

34.96.0.0/12 34.96.0.1

34.48.0.0/12 34.48.0.1

(3)

Nome Cognome Matricola_______________________________

Reti di calcolatori

Prova scritta – 23 settembre 2016

Esercizio 1 [9 punti]

Si vuole realizzare un servizio Web per raccogliere i dati relativi al download di file da una server farm. Il servizio prevede le seguenti pagine:

4. Un form in cui si possono scegliere uno o più server da un menu a scelta multipla, il formato del file da un menu a scelta singola e inserire il numero di kbyte trasferiti, in un campo di testo. Ad ogni invio, il form permette di specificare un insieme di server per lo stesso formato di file se il numero di kbyte trasferiti è lo stesso. Le opzioni dei menù devono essere generate dinamicamente a partire da array. Si assuma un array che contiene la lista (“S01”, ”S02”, ”S03”, ”S04”) per i server e (“jpg”, “mp3”, “avi”, “pdf”) per i formati di file.

5. Una pagina di raccolta dei dati che memorizza sul server gli inserimenti fatti col form di cui al punto 1 nella stessa sessione di lavoro. Per ogni server e fromato di file si devono memorizzare il numero totale di kbyte trasferiti e il numero di download (inserimenti) registrati.

6. Una pagina di riepilogo che stampa una tabella con la media di kbyte trasferiti ad ogni invio per ogni combinazione server-formato, oppure il carattere “-” se non c'è un valore memorizzato per quella combinazione. Poi, per ogni server si riporta/riportano tutti i formati che hanno il numero di download minore.

Si scrivano il form e le due pagine di raccolta dati e riepilogo usando HTML/PHP. Si supponga di utilizzare il metodo POST nel form.

Esercizio 2 [2 punti]

Dato il seguente codice PHP for($i=5;$i>0;$i-=2) $m[“1.$i”] = 0.5*$i;

foreach($m as $k=>$v) $a += $k+$v;

$b = “b=”.$a*10;

indicare quali sono le variabili definite nell’interprete dopo l’esecuzione del codice, con il loro tipo e valore (esclusi gli indici $i, $k e $v).

Esercizio 3 [punti 5]

Si vuole definire un formato per l’interscambio dati relativo alla gestione dei dispositivi condivisi sulla rete di un’azienda. Il file scambiato specifica la lista dei dispositivi. Ciascun dispositivo è identificato dall’indirizzo IP (string) ed ha associate la sua posizione nell’edificio (string), il tipo (string, es. “stampante”, “NAS”,..) e la lista degli account. Per ogni account si specifica il codice (integer), la data di scadenza (date), il massimo uso totale consentito per la risorsa (decimal) e la lista dei job inviati. Per ogni job si riporta il timestamp (dateTime), la quota di uso della risorsa (decimal), il codice di esito della richiesta (integer) e un messaggio che descrive l’esito (string, es.

“quota exceeded”). Si proponga la struttura XML necessaria, mostrando un esempio, e si scriva il file XML schema associato.

(4)

Esercizio 4 [punti 4]

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 R4.

Esercizio 5 [punti 5]

Si scriva il codice javascript necessario ad implementare la seguente funzionalità in una pagina HTML: cliccando su una immagine (tag HTML <img>), questa e tutte le altre immagini della stessa classe (proprietà className) vengono evidenziate con un bordo di colore definito da un menu a tendina con id assegnato (si assegna alla proprietà di stile border la stringa “2px solid -color-”, dove -color- è la stringa selezionata nel menu). Quando si clicca su una nuova immagine i bordi di tutte quelle della classe selezionata in precedenza ritornano al valore iniziale (si assegna la stringa

“initial”).

Esercizio 6 [punti 5]

Descrivere cosa è un NameSpace e la sua utilità nella specifica della struttura dei documenti XML, facendo qualche esempio.

--- Recupero prima prova --- Svolgere

 Esercizio 1 (PHP) [14 punti]

 Esercizio 2 (PHP) [4 punti]

Rispondere alle seguenti domande

1. Illustrare i vantaggi della struttura a strati dei protocolli di rete. [6 punti]

2. Motivare l’utilità dei campi di intestazione previsti in HTTP, facendo degli esempi di uso. [6 punti]

--- Recupero seconda prova --- Svolgere

 Esercizio 3 (XML) [punti 8]

 Esercizio 4 (indirizzi IP) [punti 6]

 Esercizio 5 (javascript) [punti 8]

 Esercizio 6 (domanda) [punti 8]

Host 1 Host 2

Host 3 Host 4

Host 5

Host 6

Host 7 Host 8 Host 9

Host 10

Internet

R4

R2

R3 R1

172.22.208.0/20 serial 0

serial 0

serial 0 eth 0

eth 0

eth 0

eth 0 eth 1

eth 1 eth 1

Host 11

eth 1 192.168.1.149

43.56.0.1

172.22.208.1

194.2.33.128/26

194.2.33.129

192.168.1.148/30

43.56.0.0/13 172.22.208.3

172.22.208.2

192.168.1.150

194.2.33.192/26 194.2.33.193

43.152.0.0/13 43.152.0.1

43.24.0.0/13 43.24.0.1

Riferimenti

Documenti correlati

Si scriva il codice javascript necessario ad implementare la seguente funzionalità in una pagina HTML: clickando su un elemento di tipo &lt;div&gt; se la sua classe è

Si scriva il codice javascript necessario ad implementare la seguente funzionalità in una pagina HTML: clickando su un elemento di tipo &lt;div&gt; questo viene

Un form in cui si può scegliere il nome del peschereccio da un menu a scelta singola, il/i tipo/i di pesce da un menù a scelta multipla e la quantità in kg (un numero) in un campo

Per ciascun batterio sono specificati un codice identificativo (integer), il nome scientifico (string), la dimensione media (decimal), il tipo di forma (string, es. “cocchi”) e la

Si scriva il codice javascript necessario ad implementare la seguente funzionalità in una pagina HTML: data una tabella con celle con contenuto di testo assegnato,

Si scriva il codice javascript necessario ad implementare la seguente funzionalità in una pagina HTML: entrando con il cursore in un elemento di tipo &lt;p&gt;

Si scriva il codice javascript necessario ad implementare la seguente funzionalità in una pagina HTML: quando si passa sopra una riga di una tabella (elemento

Si scriva il codice javascript necessario ad implementare la seguente funzionalità in una pagina HTML: scrivendo in un campo di testo predefinito il nome di una