Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di...

21
Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di reti multiprotocollo Tesista: Lorenzo Colitti Relatore: Prof. Giuseppe Di Battista

Transcript of Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di...

Page 1: Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di reti multiprotocollo Tesista: Lorenzo Colitti Relatore:

Tesi di laurea in Ingegneria Elettronica

Università degli studi Roma Tre

Esplorazione automatica di reti multiprotocollo

Tesista: Lorenzo Colitti

Relatore: Prof. Giuseppe Di Battista

Page 2: Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di reti multiprotocollo Tesista: Lorenzo Colitti Relatore:

• Applicazioni:– Isolamento di guasti– Analisi delle prestazioni e pianificazione– Simulazione– Posizionamento efficace di servizi di rete

• Perché esplorazione automatica?• Le reti attuali, anche in ambito locale, sono

notevolmente complesse• La struttura di Internet rende impensabile

l’esplorazione manuale o il ricorso a informazioni statiche

– È costituita da centinaia di milioni di nodi– È gestita da decine di migliaia di soggetti diversi

con competenze locali– È in continuo mutamento

Esplorazione automatica di reti

Page 3: Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di reti multiprotocollo Tesista: Lorenzo Colitti Relatore:

• Approcci diversi:• Basato sui registri

– Hermes– Flap viewer

• Basato sull’interrogazione degli apparati di rete– Polyphemus

• Basato sul comportamento della rete– Utilizzo di traceroute– Skitter, Argus, Mercator, NetBird, NetHunter

Esplorazione: stato dell’arte

Page 4: Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di reti multiprotocollo Tesista: Lorenzo Colitti Relatore:

IPv6 e IPv4

• Perché IPv6? La scarsità degli indirizzi IPv4 limita le applicazioni

attuali Protocollo più semplice, razionale ed estendibile Caratteristiche di sicurezza, multicast, supporto

alla mobilità Supporto al “pervasive networking” del futuro L’interesse per IPv6 in questo momento è in

crescita

• IPv4 e IPv6 sono incompatibili. Per avere successo, IPv6 deve garantire

l’interoperabilità con IPv4 al livello di rete della pila OSI (livello 3)

Page 5: Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di reti multiprotocollo Tesista: Lorenzo Colitti Relatore:

Meccanismi di compatibilità

• Nodi bi-protocollo (dual stack)• Traduttori di protocollo (NAT-PT)• Tunnel IPv6 in IPv4

Router IPv4 Router IPv6 Router dual stack

Link IPv4 Link IPv6 Tunnel IPv6 su IPv4

Meccanismi di compatibilità a livello 3:

Configurati Automatici 6to4

Isola

IPv6

• Altri

Page 6: Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di reti multiprotocollo Tesista: Lorenzo Colitti Relatore:

• Se IPv6 prende piede, avremo, almeno per i primi anni, una rete mista fatta di zone IPv6 e zone IPv4

• Questo complica la rete e rende ancor più necessaria l’esplorazione automatica

• Abbiamo due topologie di livello 3 distinte– In linea di principio, si dovrebbero ispezionare

singolarmente– In realtà ci interessano maggiormente i rapporti tra le due

• L’ispezione della rete IPv6 è complicata dai tunnel– La topologia di livello 3 è diversa da quella dei

collegamenti fisici– I tunnel appaiono come un solo hop– Il traceroute non è più sufficiente

Lo sviluppo di IPv6: reti miste

Page 7: Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di reti multiprotocollo Tesista: Lorenzo Colitti Relatore:

• Determinare i nodi e il tipo (IPv4 o IPv6) dei collegamenti in una zona di Internet

• Rilevare l’incidenza dei tunnel nella rete IPv6

• Essere il meno invasivi possibile• Realizzare degli strumenti elementari che

possano essere usati in strumenti più sofisticati

Obiettivi

Page 8: Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di reti multiprotocollo Tesista: Lorenzo Colitti Relatore:

• Realizzazione di una rete IPv6 di test• La rete collega Roma Tre, CASPUR e una sottorete

privata• Piattaforme utilizzate: Cisco e Linux

– Parte della rete di Roma Tre è emulata attraverso User Mode Linux

• Presto sarà disponibile la rete IPv6 nativa del GARR (progetto 6net)

• Studio di metodologie e tecniche di esplorazione di reti miste

• Sviluppo di strumenti di supporto e tool di esplorazione • Script di configurazione automatica per la rete

virtuale• Implementazione su Linux della MIB IPv6• tunneltrace• findmtu

Fasi di realizzazione

Page 9: Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di reti multiprotocollo Tesista: Lorenzo Colitti Relatore:

IPv4

Router IPv4 Router IPv6 Router dual stack

Link IPv4 Link IPv6 Tunnel IPv6 su IPv4

2001:760:4::/642M

brunello

dns, www

Linux

dolcetto

client

Win2k

giga

UML

Linux

woodstock

DIA

2001:760:4:f010::/642001:760:4:ffff::/64

CASPUR

2001:760:2::/64

6net-gw

2001:760:2:ffff::/64

UML

2001:760:4:f000:/60

dia-v6

La rete di test

Page 10: Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di reti multiprotocollo Tesista: Lorenzo Colitti Relatore:

• Permette di far girare uno o più macchine virtuali (VM) Linux come processi su un sistema ospite Linux

• Virtualizzazione• Le VM sono sistemi Linux a tutti gli effetti• Il nucleo di una VM è un processo sul sistema ospite• I processi delle macchine virtuali girano direttamente

sul sistema ospite, sono intercettate solo le chiamate di sistema

• Emulazione dell’hardware• Dischi virtuali: file sul sistema ospite• Terminale utente• Rete

– Le macchine virtuali possono essere messe in rete tra loro

– Le capacità di Linux permettono di costruire reti complesse

– Le VM possono accedere alla rete esterna attraverso l’ospite

User Mode Linux

Page 11: Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di reti multiprotocollo Tesista: Lorenzo Colitti Relatore:

• 6 macchine virtuali IPv6 con Linux Red Hat 7.2• Rete 2001:760:4:f000::/60, ripartita in 6 sottoreti IPv6• Instradamento dinamico con protocollo RIPng e demone

di routing zebra• Collegamento alla rete IPv6 reale attraverso il sistema

ospite• Configurazione delle macchine virtuali e dei file DNS

effettuata automaticamente attraverso script

La rete IPv6 UML

Esempio: un traceroute parzialmente virtuale e parzialmente reale

Page 12: Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di reti multiprotocollo Tesista: Lorenzo Colitti Relatore:

• Obiettivo fondamentale: caratterizzazione dei tunnel IPv6 in IPv4• I tunnel sono l’unico meccanismo di transizione

utilizzato nelle aree interne (core) della rete

• Problema di base: ricerca di tunnel in un percorso• Dato un percorso, per ogni coppia di nodi

consecutivi vorremmo sapere:– Se il collegamento avviene per mezzo di un

tunnel– Quali sono gli indirizzi IPv4 degli estremi del

tunnel– Quali e quanti sono i nodi IPv4 intermedi

Esplorazione di reti miste

Page 13: Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di reti multiprotocollo Tesista: Lorenzo Colitti Relatore:

• Si possono ottenere informazioni da varie fonti:• Struttura degli indirizzi

– Indirizzi IPv4-compatibili(es. ::193.204.161.2)

– Indirizzi 6to4 (es. 2002:c1cc:a102:f:19::1)

• Dimensione massima dei pacchetti (MTU) permessa dal percorso

• Nomi associati agli indirizzi IP (DNS)• Comunicazione con gli apparati di rete (metodo

invasivo)– SNMP (Simple Network Management Protocol)– IPv6 Node Information Query

• Le fonti hanno diversi gradi di disponibilità e di affidabilità

• Spesso occorre fondere informazioni provenienti da più fonti

Fonti di informazioni sui tunnel

Page 14: Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di reti multiprotocollo Tesista: Lorenzo Colitti Relatore:

• Strumento sviluppato: tunneltrace• Funzionamento simile al comando traceroute

• Parte dai risultati del comando traceroute6, analizzandoli una riga alla volta

• Evidenzia la presenza di tunnel tra due nodi• Cerca di stabilire gli indirizzi degli estremi del

tunnel

• Architettura modulare– È possibile aggiungere altre fonti di informazioni

in maniera semplice– Attualmente utilizza MTU, DNS, e SNMP– In futuro potrà utilizzare anche ICMPv6 Node

Information query ed eventuali altri

Tunneltrace

Page 15: Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di reti multiprotocollo Tesista: Lorenzo Colitti Relatore:

• MTU• Funzionamento:

– Un tunnel IPv6-in-IPv4 aggiunge ad ogni pacchetto una intestazione IPv4, che riduce la dimensione massima di pacchetto trasportabile (MTU) di 20 byte

– È sufficiente verificare che tra un nodo e il successivo la dimensione massima del pacchetto trasportabile scenda di 20 byte

• Caratteristiche:– Sempre disponibile– Media affidabilità– Non ci dice gli indirizzi IPv4 degli estremi– Permette di scoprire solo il primo tunnel in un

percorso

Tunneltrace: fonti informative

Page 16: Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di reti multiprotocollo Tesista: Lorenzo Colitti Relatore:

• DNS• Funzionamento:

– Si cerca nel DNS il nome corrispondente all’indirizzo IPv6 e, se esiste, l’indirizzo IPv4 corrispondente al nome. Se esiste l’indirizzo IPv4, è probabile che ci sia un tunnel

• Caratteristiche:– La disponibilità dipende da come l’amministratore

della rete che si attraversa ha definito i nomi– Bassa affidabilità

– Le informazioni possono essere vecchie o non esatte

– Non assicura la presenza di un tunnel: potrebbe essere invece un collegamento nativo IPv6

– Ci dice solo l’indirizzo IPv4 dell’estremo remoto del tunnel

Tunneltrace: fonti informative (2)

Page 17: Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di reti multiprotocollo Tesista: Lorenzo Colitti Relatore:

• SNMP• Funzionamento:

– Interrogazioni SNMP direttamente ai nodi del percorso con opportuni accorgimenti per dedurre la presenza di tunnel e gli indirizzi IPv4 degli estremi

• Caratteristiche:– Utilizzabile solo su reti a cui si ha accesso

amministrativo– Ottima affidabilità– Può essere usato su trasporto IPv6 o IPv4 (ma in

questo caso dipende dal metodo DNS per ottenere l’indirizzo IPv4 da interrogare)

– Le informazioni che fornisce dipende da quali funzionalità sono supportate dal nodo che viene interrogato

– Cisco non fornisce informazioni sui tunnel– Linux fornisce le informazioni su IPv6 grazie ad una

estensione sviluppata nel corso della tesi

Tunneltrace: fonti informative (3)

Page 18: Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di reti multiprotocollo Tesista: Lorenzo Colitti Relatore:

sh-2.05$ ./tunneltrace –q 2 2001:760:4:f005::2

traceroute to 2001:760:4:f005::2 (2001:760:4:f005::2) from 2001:760:4:f010:250:daff:fedf:b56b, 30 hops max, 16 byte packets

1 2001:760:4:f010:: (2001:760:4:f010::) 0.345 ms 0.239 ms

|

| v6-in-v4 X.X.X.X->X.X.X.X (mtu)

|

2 2001:760:4:ffff:: (2001:760:4:ffff::) 41.499 ms 39.268 ms

3 2001:760:4:0:204:76ff:fe22:5ba0 (2001:760:4:0:204:76ff:fe22:5ba0) 40.567 ms 52.182 ms

4 2001:760:4:f000::2 (2001:760:4:f000::2) 39.989 ms 38.18 ms

|

| v6-in-v4 10.0.0.1->10.0.0.2 (snmp)

|

5 2001:760:4:f002::1 (2001:760:4:f002::1) 40.127 ms 39.014 ms

6 2001:760:4:f005::2 (2001:760:4:f005::2) 41.93 ms 38.626 ms

Tunneltrace: risultati (1)

• L’affidabilità dei risultati ottenuti dipende molto da quali fonti sono disponibili• SNMP permette di ottenere ottimi risultati• DNS tende a fornire falsi positivi

Page 19: Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di reti multiprotocollo Tesista: Lorenzo Colitti Relatore:

colitti@giga:~/tesi/tunneltrace/v1.0$ ./tunneltrace -q 2 www.6bone.nettraceroute to 6bone.net (3ffe:b00:c18:1::10) from 2002:c1cc:a102:0:204:76ff:fe22:5ba0, 30 hops max,

16 byte packets 1 2002:c1cc:a102:: (2002:c1cc:a102::) 2.241 ms 1.03 ms | | v6-in-v4 X.X.X.X->X.X.X.X guess (mtu) | 2 swi6T1-A1-0-2.switch.ch (2001:620:0:39::2) 60.913 ms 73.437 ms 3 2001:798:12:200::2 (2001:798:12:200::2) 73.86 ms 71.112 ms 4 * it.ch6.ch.6net.org (2001:798:0:3::1) 70.641 ms 5 de.at6.at.6net.org (2001:798:0:9::2) 72.297 ms * 6 nl.uk6.uk.6net.org (2001:798:0:6::2) 61.244 ms nl.de6.de.6net.org (2001:798:0:5::1) 71.012 ms 7 surfnet.nl6.nl.6net.org (2001:798:22:200::1) 59.663 ms 71.958 ms 8 2001:798:22:200::2 (2001:798:22:200::2) 72.186 ms * | | v6-in-v4 X.X.X.X->145.145.166.37 guess (dns) | 9 Gi5-1-2.BR2.Amsterdam1.surf.net (2001:610:16:6036::37) 60.024 ms * | | v6-in-v4 X.X.X.X->193.148.15.48 guess (dns) |10 ams-ix.sara.xs4all.net (2001:7f8:1::a500:3265:1) 69.241 ms 59.881 ms | | v6-in-v4 X.X.X.X->194.109.5.13 guess (dns) |11 0.ge-0-3-0.xr1.pbw.xs4all.net (3ffe:8280:0:201::) 71.764 ms 73.968 ms12 xs4all-edt.ipv6.edisontel.it (2001:750:e::3) 70.973 ms 59.367 ms13 rap.ipv6.viagenie.qc.ca (3ffe:b00:c18:1:290:27ff:fe17:fc0f) 400.171 ms 388.05 ms | | v6-in-v4 X.X.X.X->131.243.129.43 guess (dns) |14 www.6bone.net (3ffe:b00:c18:1::10) 389.526 ms 392.516 ms

Tunneltrace: risultati (2)

Page 20: Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di reti multiprotocollo Tesista: Lorenzo Colitti Relatore:

• L’MTU del percorso verso una destinazione ci dice se tra i due punti della rete c’è un tunnel

• È possibile realizzare una sonda che data una lista di reti ci dica quali di esse sono raggiunte tramite un tunnel e quali tramite IPv6 nativo

• I risultati forniscono una misura del grado di transizione tra IPv4 e IPv6 della porzione di Internet intorno al nodo che effettua i rilevamenti

• Disponendo un insieme di sonde in punti strategici della rete IPv6 è possibile ottenere informazioni sul grado di transizione ad IPv6 di Internet nel suo complesso

FindMTU

Page 21: Tesi di laurea in Ingegneria Elettronica Università degli studi Roma Tre Esplorazione automatica di reti multiprotocollo Tesista: Lorenzo Colitti Relatore:

• Realizzazione della rete mista IPv4/IPv6, in parte reale e in parte virtuale

• Sviluppo degli strumenti di configurazione automatica della rete virtuale

• Realizzazione su Linux del software nativo necessario per fornire via SNMP informazioni relative a IPv6

• Sviluppo di metodologie di esplorazione di reti miste

• Implementazione di un sistema di esplorazione e test dei risultati

Conclusione. Punti salienti