Indice
Ringraziamenti...5
Indice ...8
Introduzione...13
Capitolo 1 ...16
Protocollo Mobile IPv6 ...16
1.1 Panoramica del protocollo...17
1.2 Terminologia ...20
1.3 Funzionamento di MIPv6...22
1.3.1 Movement Detection...22
1.3.2 Acquisizione del CoA ...25
1.3.3 Home Registration ...26
1.3.4 Deregistrazione ...27
1.3.5 Dynamic Home Agent Address Discovery...27
1.4 Messaggi e opzioni per MIPv6...29
1.4.1 Mobility Header ...29
1.4.2 Binding Update ...31
1.4.3 Binding Acknoledgement ...32
1.4.4 Mobility Option ...34
1.4.5 Type 2 Routing Header...36
1.4.6 Home Address Destination Option ...37
1.5 Strutture dati...38
1.5.1 Binding Cache...39
1.5.2 Binding Update List...40
1.5.3 Home Agent List...41
1.6 Bidirectional Tunneling...42
1.7 Route Optimization ...44
1.8 Sicurezza in MIPv6 ...46
Indice
9
1.8.2 Protezione messaggi di segnalazione e
traffico dati ... 48
Capitolo 2 ... 51
MIPL Mobile IPv6 for Linux ... 51
2.1 Caratteristiche funzionali ... 52
2.1.1 Funzionalità supportate... 52
2.2 Introduzione al codice MIPL-v.2.0.2 ... 54
2.2.1 Struttura del codice sorgente ... 54
2.2.2 Avvio ed arresto della mobilità ... 57
2.2.3 La gestione delle interfacce reali e virtuali in Linux .. 62
2.2.4 Classificazione dei file sorgenti... 64
2.3 Strutture dati... 68
2.3.1 Strutture dati di supporto ... 68
2.3.1.1 List Head... 68
2.3.1.2 Tq elem ... 72
2.3.1.3 Hash ... 73
2.3.2 Binding Cache ... 81
2.3.3 Binding Update List... 89
2.3.4 Home Agent List ... 93
2.4 Messaggi di Binding Management ... 97
2.5 Le procedure di segnalazione... 100
2.5.1 Movement Detection ... 100
2.5.2 Home Registration ... 122
2.5.3 Deregistrazione... 126
2.5.4 Duplicate Address Detection ... 128
2.5.5 Return Routability Procedure ... 129
2.5.6 Procedura di DHAAD ... 131
2.5.7 Messaggi d’errore ICMPv6 ... 132
Capitolo 3 ... 135
Soluzioni per la gestione dei flussi in Mobile IPv6... 135
3.1 Scenario di riferimento ... 136
3.2 Vantaggi... 138
3.3 Proposte in ambito IETF ... 141
3.3.1 Il draft Wakikawa ... 142
Indice
10
3.3.3 Il draft Nomadv6...149
3.3.4 Il draft Soliman ...154
3.4 Proposte in ambito Daidalos ...158
3.4.1 Architettura MTC-MBC ...159
Capitolo 4 ...166
Lavoro di sviluppo...166
4.1 Implementazione dell’architettura MTC-MBC...167
4.2 Descrizione generale della soluzione ...171
4.2.1 Registrazione di un’interfaccia ...172
4.3 Modifiche alle strutture dati ...176
4.3.1 Creazione della BID e della FID Option...176
4.3.2 Modifiche alla Binding Cache ...182
4.3.3 Implementazione della Flow Cache...188
4.4 Funzioni per la gestione dei flussi...194
4.4.1 Flow Definition...196
4.4.2 Flow Association ...198
4.4.3 Flow Disassociation ...201
4.5 Funzioni di ricerca...204
4.6 I file mipv6-2.0.2 modificati ...209
Conclusioni...213
Appendice A ...216
IPv6...216
A.1 Indirizzi IPv6 ...216
A.2 Header IPv6 ...218
A.3 Extension Headers ...219
A.4 Il protocollo di Neighbor Discovery ...220
A.4.1 Duplicate Address Detection ...221
A.4.2 Neighbor Unreachability Detection ...222
A.4.3 Address Resolution ...222
A.5 Autoconfigurazione di rete ...223
A.6 UDP e TCP ...224
Appendice B ...227
Installazione del software ...227
B.1 Installazione del kernel e della patch ...228
Indice 11 B.3 Debian package... 231 Appendice C... 235 Test effettuati... 235 C.1 Il Testbed utilizzato ... 235 C.2 Test dell’MBC ... 238 C.2.1 Interface Bootstrap... 242 C.2.2 Flow Definition... 244 C.2.3 Flow Association ... 247 C.2.4 Flow Disassociation... 251 C.3 Funzioni di ricerca ... 254
C.4 Contenuto nuove opzioni ... 258