• Non ci sono risultati.

6.3 Codifica

6.3.4 Info authoritative e addizionali

I parametri aggiuntivi da calcolare per costruire l’header della risposta corrispondono alle informazioni Authoritative e le info Addizionali sui Do- main Name Servers.

6.4 Considerazioni 51

mo configurarlo ad ”1” in quanto si riferisce all’unico DNS Server del dominio principale, ovvero colui che effettua la delega al server virtuale HashDNS. Per calcolare il Domain Name del server Authoritative basta troncare le pri- me due etichette della stringa del nome di dominio risolta nella query in modo da poter compilare la sezione ”Autoritative Nameservers” del pacchet- to inserendo nome di dominio, classe, tipologia, TTL e lunghezza.

Per quanto riguarda la sezione ”Additional Information” basta eseguire una DNS query (di tipo ANY) al Server Authoritative per ottenere il suo/i suoi indirizzi IP. A questo punto configuriamo il parametro ”Additional RRs” con il numero dei record ottenuti dalla query al server Authoritative ed i campi della sezione ”Additional Information” con gli indirizzi IP appena risolti. Le sezioni Authoritative Nameservers e Additional Information vengono inserite in coda al pacchetto dopo la sezione ”Answer”.

6.4

Considerazioni

L’utilizzo della nuova libreria parsing tree integrata nel codice di hashDNS permette di gestire tutti i casi generali di pacchetti DNS, come ad esempio il caso di pacchetti con query multiple oltre che fornire un maggiore supporto durante il parsing e la decodifica dei nomi di dominio. La vecchia versione non disponeva di strutture dati ausiliarie in cui memorizzare le etichette dei nomi di dominio da risolvere, il risultato dell’integrazione della libreria `e un maggiore supporto ed un codice pi`u leggibile e modulare. L’implementazione descritta in questo capitolo `e ancora in fase di test e sperimentazione, non `e quindi da considerare applicabile in un contesto reale: `e necessario eseguire test sul nuovo codice ed apportare le modifiche necessarie prima di passare ad una fase di pacchettizzazione ed ufficializzazione della nuova libreria.

Conclusioni

L’obbiettivo di questo elaborato `e quello di fornire una documentazione dei sistemi virtuali del gruppo Virtual Square analizzandone il comporta- mento, l’esecuzione ed i vantaggi che possono portare al mondo reale. Non meno importante `e anche cercare di attirare l’attenzione di utenti all’utilizzo dei sistemi o di ricercatori/sviluppatori alla contribuzione nella crescita del progetto.

Lo studio apportato nella struttura dei pacchetti DNS e del funzionamen- to del protocollo di risoluzione dei nomi di dominio `e stata una fondamentale ricerca propedeutica alla comprensione del funzionamento dei sistemi stessi. Comprendere la struttura dei pacchetti ci ha permesso non solo di analizza- re le attuali implementazioni dei sistemi virtuali ma anche di visualizzarle in maniera critica al fine di evidenziarne le criticit`a e fornire intuizioni per miglioramenti e nuove implementazioni.

Come gi`a visto nei capitoli 2 e 3, i sistemi virtuali presi in analisi fa- voriscono il loro utilizzo in simbiosi in quanto permettono di costruire un environment di sistemi interconnessi che forniscano servizi automatizzati in modo da semplificare i processi di configurazione (nel caso di HashDNS e FQDNDHCP) ed apportare miglioramenti nel campo della sicurezza, come nel caso di OTIP.

I test eseguiti sulla rete sperimentale pubblica sono stati fondamentali in 53

54 Conclusioni

primo luogo per stendere una documentazione chiara e sintetica ed in secondo luogo per comprendere quali fossero i casi specifici non ancora gestiti dall’at- tuale implementazione per poi passare quindi alla fase di studio della nuova versione. A questo punto siamo stati in grado di comprendere che l’utilizzo di una nuova libreria con strutture dati adeguate avrebbe portato miglioramen- ti al flusso di esecuzione, alla semplicit`a del codice ed alla ”user experience” perci`o il focus `e stato spostato sull’implementazione di una struttura dati ad albero che permettesse l’inserimento e la decodifica automatica dei nomi di dominio contenuti nei pacchetti DNS.

L’albero di parsing, come visto nel capitolo 5, permette di semplificare il codice ed evitare ripetizioni durante la decodifica delle stringhe dei fqdn: l’u- tilizzo della libreria inoltre ha permesso ad HashDNS di poter gestire anche casi di query multiple (feature non ancora disponibile nella vecchia versio- ne). L’elaborato `e stato infine concluso fornendo uno schema di un algoritmo (partendo dalla vecchia versione) che integrasse la nuova libreria.

Il lavoro svolto ha permesso di produrre una documentazione dettagliata di un primo schema di base utile alla stesura di una nuova implementazio- ne; il codice descritto nel Capitolo 6 non `e quindi da considerare un’imple- mentazione effettiva ma una base di partenza su cui effetuare test, analisi al fine di comprendere quali siano gli effettivi miglioramenti che la libreria apporterebbe al sistema prima di implementarne un codice definitivo.

Bibliografia

Fonti

DNS Packet Structure and Standards:

https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml https://notes.shichao.io/tcpv1/ch11/

VDE: Virtual Distributed Ethernet Renzo Davoli, 2005

IPv6 Hash-Based Addresses for Simple Network Deployment Renzo Davoli, 2013

Internet of Threads Renzo Davoli, 2013

OTIP: One Time IP Address Renzo Davoli, 2013

Internet of Threads: Processes as Internet Nodes Renzo Davoli, 2014

Virtual Square (V2) in Computer Science Education

Renzo Davoli Michael Goldweber, University of Bologna Xavier University 55

56 Bibliografia

Virtual Square GitHub Repository https://github.com/virtualsquare

Virtual Square Wiki (Old Version)

http://wiki.v2.cs.unibo.it/wiki/index.php?title=Main Page

Virtual Square Official Wiki

Ringraziamenti

Mi `e doveroso dedicare questa sezione dell’elaborato alle persone che han- no contribuito non solo ad esso ma a tutto il percorso universitario vissuto in questi tre anni, senza le quali questa tesi non esisterebbe nemmeno.

In primis, un ringraziamento speciale va al mio relatore Renzo Davoli, per la sua pazienza e per i suoi indispensabili consigli che mi hanno accom- pagnato durante lo studio e la stesura dell’elaborato, senza i quali ci`o non sarebbe stato possibile.

Ringrazio infinitamente i miei genitori e la mia famiglia che mi hanno sempre sostenuto durante il percorso di studi e non solo.

Un grazie di cuore va a tutti i miei colleghi con i quali ho condiviso l’in- tero percorso universitario, sia nei momenti pi`u seri di studio, sia in quelli di divertimento necessari a rendere completa un’esperienza come questa.

Infine ma non meno importante, gli ultimi ringraziamenti vanno a tutti i miei amici, in particolare a tutti i membri di Alaska Records, ormai la mia seconda famiglia qui a Bologna, senza di voi non sarei mai riusciuto in tutto questo.

Documenti correlati