Comments
Description
Transcript
Esame di Fondamenti di Informatica
Esame di Reti di Calcolatori 5 e 6 crediti Corso di Laurea in Ingegneria Informatica Anno Accademico 2009/2010 Prof. Vitaletti, 16 Novembre 2010 5 crediti: 100 minuti, 6 punti a domanda, 5 domande. 6 crediti: 120 minuti, 5 punti a domanda, 6 domande. Domanda 1. A cosa serve il TTL (Time-to-Live) nella fase di ricerca in una rete P2P (Peer-toPeer)? Per uqle motivo è importante? In una rete p2p un nodo manda un messaggio ai vicini, il quale mantiene un contatore che a ogni hop viende decrementato. Nel momento un cui vale 0 non viene piu inoltrato al prossimo nodo. Serve perché se non cifosse non ci sarebbe alcun controllo dell’inoltro dei messaggi, e la mole di traffico diventerebbe enorme. Domanda 2. In cosa consiste l'attacco man-in-the-middle, e come può essere evitato? (sarebbe meglio disegnarlo) Supponiamo avere E = Erminigilda e A = Asdrubale E e A vogliano comunicare tra loro Poi c’è MichaelJackson (MJ), che cantando ManInTheMirror, si vuole intrufolare nella comunicazione di E con A. E dice ad A che lei è Erminigilda, ma MJ che è il Man in the Middle, prende messaggio di E, e lo invia lui ad Asdrubale. A allora invia a MJ il nonce R e MJ gli invia R crittografato con la SUA chiave privata Kmj-, A riceve quindi Kmj-(R) credendo che sia di E, e chiede di avere la chiave pubblica di E, e MJ gli invia la sua (Kmj+). Ora A credendo di avere chiave pubblica e privata di E (Ka+ e Ka-), prova a decriptare R cosi: Kmj-(Kmj+(R)) ottenendo proprio R. Quindi per lui la comunicazione funziona, perché è riuscito a decriptare R ma non sa che le chiavi che ha usato non sono di Erminigilda. Dall’altra parte MJ, sempre cantando ManInTheMirror, invia ad E il R ricevuto all’inizio da A. E lei glielo reinvia criptato con la sua Ke-. Lui allora, fingendosi sempre Asdrubale, le chiede la sua Ke+ ( chiave pubblica di Erminigilda ). Dopodiche MJ cifra R con Ke+: e invia a Erminigilda Ke+(R). Erminigilda decripta tranquillamente. E tutti son contenti Poi MJ si accorge che l’attacco era ManINtheMiddle e non in the mirror e triste se ne va a casa. In questo modo il furbetto può visionare tutti i dati della conversazione senza farsi scoprire. Il tutto puo essere reso sicuro con la CERTIFICAZIONE della chiave pubblica. In questo modo esiste un’autorità garante della chiave pubblica Domanda 3. Si consideri un percorso fatto di 4 router che accettano pacchetti di dimensione 1Kb appartenenti a due classi di priorità P1 e P2. Tutti i router implementano la politica di scheduling weighted fair queueing e hanno la medesima banda in uscita di 10Mbps. La dimensione delle code assegnate a P1 e P2 è di 10 pacchetti. Assegnare il peso W1 alla classe P1 affinchè il ritardo massimo di un suo pacchetto nell' attraversare i tre router sia di 150ms. Qual'è in questo caso il ritardo massimo di un pacchetto che appartiene a P2? R=10Mbps, 10^7 b/s pck= 10^3 b code=10pck, 10^4bit/s 150ms = [3ROUTER*10^4 ] / [ 10^7*( w1/(w1+w2) )] 50ms=10^-3 * ( (w1+w2) /w1) w1*50s=w1+w2 => w2=49w1 w1=1, w2=49 w1/(w1+w2)= 1/50=0,02. W2/(w1+w2)=49/50=circa1=0,98 Ritardo Massimo=3*10^-3/0,98=3ms circa Domanda 4. Definire la sequenza corretta delle istruzione JAVA di un server mono-thread (es: ABCD) e completare le parti mancanti denotate con ____ Il numero di porta utilizzato è 7766 e l’indirizzo IP è x.y.z.w A) m1=fc.readLine(); B) Socket s2 = ss0.________________(); C) ServerSocket ss0 = new ServerSocket(_________); D) BufferedReader fc = new BufferedReader(newInputStreamReader(___.getInputStream())); c 7766 b accept d s2 a Domanda 5. Perché in HTTP sono necessari i cookie? Descrivere cosa sono e come si utilizzano attraverso un semplice esempio. Perché è un protocollo stateless, quindi è necessario il cookie che viene registrato in un database locale gestito dal proprio browsere Esempio l’utetn fa la prima connessione a un dato sito come amazon che gli asssegna un cookie L utente navia, setta delle preferenze dopodiche lascia il sito A una successiva connesisone presentera il proprio cookie e verranno recuperate le sue preferenze Domanda 6 (solo per 6 crediti). Per quale motivo il page-rank è “query independent”? Perché dipende solo dalla struttura dei link: infatti è possibile calcolare il vettore di probabilità e quindi assegnare il pagerank (preprocessing) prima dell'effettiva richiesta da parte di un client (query processing). Il pagerank utilizza il random walk con teleporting e cioè ad ogni nodo sceglie il prossimo nodo a caso (random walk) ed ogni tanto viene scelto in nodo casuale interno al grafo per non arrivare in nodo senza link uscenti (teleporting). Random Walk con teleporting può essere modellizzato tramite una catena di markov ergodica (presi due stati c'è sempre un cammino che li congiunge) e sotto queste condizioni esiste ed è unica la distrubuzione delle frequenze che è proprio il pagerank.