Esame di Reti di Calcolatori Corso di Diploma in Ingegneria Informatica Anno Accademico 2002/2003 Compito A 12 Dicembre 2002 120 Minuti Domanda 1, 5 punti. Possono coesistere un server dei nomi locali ed un server dei nomi assoluto all’interno dello stesso dominio? Perché? Quale è l’utilità delle richieste iterative per la risoluzione degli indirizzi? Domanda 2, 5 Punti. Si consideri uno schema di trasmissione con ritardo adattativo che utilizzi il protocollo RTP per il trasporto del segnale vocale campionato a 64 Kb/sec in cui viene emesso un pacchetto ogni 20 ms. Come si puo’ determinare il primo pacchetto di un periodo di parlato? Domanda 3, 5 punti. Descrivere brevemente le fasi della procedura di call admissione secondo il protocollo RSVP. A cosa servono i messaggi di percorso? Domanda 4, 5 punti. Descrivere graficamente un protocollo di autenticazione basato su chiave pubblica che risulta vulnerabile rispetto ad un attacco del tipo "uomo nel mezzo". Discutere brevemente inoltre le modalita' con cui è possibile rendere robusto il protocollo rispetto a questo tipo di attacchi. Domanda 5, 5 punti. Descrivere graficamente un metodo per il calcolo dell'impronta di un documento che utilizza DES (e calcola impronte di 64 bit). Infine spiegare in dettaglio perche' impronte di 64 bit non sono considerate sicure (indipendentemente dal metodo utilizzato per il calcolo). Domanda 6, 5 punti. Descrivere i blocchi fondamentali per il funzionamento di un applicazione Client/Server in Java per un sistema di workflow managment per la redazione di un articolo di giornale. Consideriamo un insieme di tre stati in cui un articolo si può trovare: scrittura, approvazione e pubblicazione. Il client si dovrà connettere al server e reperire lo stato di un articolo. Inoltre il Client potrà variare lo stato di un articolo facendolo passare da uno stato ad un altro. Il server dovrà gestire lo stato di un articolo e preoccuparsi di attuare eventuali variazioni di stato richieste dal client. Scrivere del codice Java che sia in grado di implementare il client e il server. Descrivere i soli aspetti di networking indicando come commenti gli altri aspetti del processo (es: /* passa allo stato di approvazione */). Giustificare brevemente le scelte effettuate. L’esercizio verrà valutato sulla base dei seguenti criteri: correttezza del codice java, correttezza del processo (potrei non ricordare l’istruzione java, ma aver chiaro cosa devo fare), giustificazione delle scelte effettuate.