Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Fulvio Risso
25 ottobre 2011
Indice
I. Metodologia
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
5 5 5 6 6 7 8 10 12 12 13 14 15 15 16
1. Routing statico e aggregazione di route 1.1. Concetti principali . . . . . . . . . . . . . . . . . . . . . 1.1.1. Routing table . . . . . . . . . . . . . . . . . . . . 1.1.2. Reti IP direttamente connesse . . . . . . . . . . . 1.1.3. Reti IP remote . . . . . . . . . . . . . . . . . . . 1.1.4. Costi . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.5. Route aggregate . . . . . . . . . . . . . . . . . . 1.1.6. Route maggiormente speciche . . . . . . . . . . 1.1.7. Route di default . . . . . . . . . . . . . . . . . . 1.1.8. Route a costi diversi . . . . . . . . . . . . . . . . 1.2. Procedura per la denizione della routing table . . . . . 1.2.1. Lista e tipologia delle reti IP . . . . . . . . . . . 1.2.2. Denizione dellalbero di instradamento . . . . . 1.2.3. Determinazione della routing table . . . . . . . . 1.2.4. Determinazione di possibili aggregazioni di route
II. Esercizi
2. Esercizi 2.1. Esercizio 2.2. Esercizio 2.3. Esercizio 2.4. Esercizio 2.5. Esercizio 2.6. Esercizio 2.7. Esercizio 2.8. Esercizio 2.9. Esercizio 2.10. Esercizio 2.11. Esercizio 2.12. Esercizio 2.13. Esercizio 2.14. Esercizio n. n. n. n. n. n. n. n. n. n. n. n. n. n. 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 11 12 13 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
19 19 19 20 20 21 22 23 24 25 26 27 28 29 30
III. Soluzioni
3. Soluzioni 3.1. Soluzione per lesercizio n. 1 . . . . . . . . . . . . . . . . . . . . 3.2. Soluzione per lesercizio n. 2 . . . . . . . . . . . . . . . . . . . . 3.3. Soluzione per lesercizio n. 3 . . . . . . . . . . . . . . . . . . . . 3.3.1. Route con spazio di indirizzamento equivalente . . . . . 3.3.2. Route con massimizzazione dellaggregazione . . . . . . 3.4. Soluzione per lesercizio n. 4 . . . . . . . . . . . . . . . . . . . . 3.4.1. Route con spazio di indirizzamento equivalente . . . . . 3.4.2. Route con massimizzazione dellaggregazione . . . . . . 3.5. Soluzione per lesercizio n. 5 . . . . . . . . . . . . . . . . . . . . 3.5.1. Route con spazio di indirizzamento equivalente . . . . . 3.5.2. Route con massimizzazione dellaggregazione . . . . . . 3.6. Soluzione per lesercizio n. 6 . . . . . . . . . . . . . . . . . . . . 3.7. Soluzione per lesercizio n. 7 . . . . . . . . . . . . . . . . . . . . 3.7.1. Indirizzamento volto a massimizzare laggregazione delle 3.7.2. Indirizzamento volto a minimizzare gli indirizzi allocati 3.8. Soluzione per lesercizio n. 8 . . . . . . . . . . . . . . . . . . . . 3.9. Soluzione per lesercizio n. 9 . . . . . . . . . . . . . . . . . . . . 3.10. Soluzione per lesercizio n. 10 . . . . . . . . . . . . . . . . . . . 3.11. Soluzione per lesercizio n. 11 . . . . . . . . . . . . . . . . . . . 3.12. Soluzione per lesercizio n. 12 . . . . . . . . . . . . . . . . . . . 3.13. Soluzione per lesercizio n. 13 . . . . . . . . . . . . . . . . . . . 3.14. Soluzione per lesercizio n. 14 . . . . . . . . . . . . . . . . . . . 3.14.1. Caso 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.14.2. Caso 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.14.3. Caso 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.14.4. LAN 1 realizzata in tecnologia switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . route su . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
32 32 34 35 35 36 37 37 37 38 38 38 39 40 40 41 42 44 46 49 53 56 58 58 58 58 58
Parte I.
Metodologia
Costo: esprime, attraverso un valore numerico, la distanza di quella rete rispetto al router in esame. Ad esempio, una rete raggiungibile a costo 4 ` e pi` u distante di una rete raggiungibile a costo 2. Maggiori dettagli sul costo verranno forniti nella sezione 1.1.4. Un esempio di routing table pu` o essere visto in gura.
Type C C S S S Routing Network 10.0.2.0/25 10.0.2.128/30 10.0.2.132/30 10.0.0.0/24 10.0.1.0/24 table NextHop 10.0.2.1 10.0.2.129 10.0.2.130 10.0.2.130 10.0.2.130 Cost 0 0 1 2 2
R1
.1 .129
Network 10.0.2.128/30
R2
.130
Network 10.0.2.132/30
R3
Network 10.0.2.0/25
Network 10.0.0.0/24
Network 10.0.1.0/24
Mentre, a livello di numero di destinazioni presenti nella routing table non esistono dierenze tra una rete IP direttamente connessa al router e le reti IP remote (raggiungibili attraverso altri routers), esistono alcune dierenze relative a come sono ricavate le reti e come queste sono indicate nella routing table.
rete (che congura una route statica per quella destinazione) oppure attraverso la congurazione di un protocollo di routing dinamico (che si incarica di comunicare automaticamente al router corrente lelenco delle destinazioni remote). Solo a fronte di una di queste due azioni si vedranno le destinazioni remote comparire nella routing table. Ad esempio, le reti remote sono evidenziate in gura dalla lettera S nella corrispondente entry della routing table in quanto sono state impostate attraverso il routing statico. Per queste reti, il valore di next hop presente nella routing table identica lindirizzo dellinterfaccia del prossimo router che verr` a utilizzata per raggiungere quella destinazione. Ad esempio, nella rete in gura il router R1 raggiunger` a tutte le destinazioni 10.0.0.0/24 attraverso linterfaccia di sinistra del router R2, che ha indirizzo 10.0.2.130/30: il valore del campo next hop di quella route sar` a pertanto 10.0.2.130. La scelta di identicare come next hop linterfaccia del prossimo router anzich` e quella di uscita dal router corrente ` e determinato dal fatto che le due cose sarebbero equivalenti solamente nel caso di rete punto-punto. Infatti, dal disegno ` e evidente come un pacchetto che esca dallinterfaccia .129 di R1 non possa che essere ricevuto dallinterfaccia .130 di R2. Questo per` o non ` e vero nel caso di reti con capacit` a broadcast: ad esempio, un router R1 potrebbe generare due pacchetti in uscita da una sua interfaccia Ethernet, il primo destinato ad un router R2, il secondo destinato ad un router R3, ambedue collegati alla stessa rete Ethernet (e con indirizzi IP appartenenti alla stessa rete). Pertanto lindicazione dellinterfacca di uscita non ` e sempre una indicazione suciente per determinare il prossimo passo verso la destinazione, mentre lindicazione della prossima interfaccia di ingresso rende questa informazione non ambigua. Si noti inne che lindirizzo del next hop deve sempre essere raggiungibile attraverso instradamento diretto dalla macchina IP in esame. Qualora questo non fosse vericato, lo studente ha sicuramente fatto un errore.
1.1.4. Costi
Il costo di una rotta ` e necessario per privilegiare un percorso (a costo minore) rispetto ad un altro (a costo maggiore). In realt` a, questa informazione ` e presente nella tabella di routing prevalentemente per debugging, ma non viene utilizzata dal router in quanto non saranno mai presenti route per la stessa destinazione a costo diverso (il processo di creazione della routing table seleziona un solo percorso verso ogni destinazione, che ` e il percorso migliore, e quindi le route alternative a costo superiore non verranno visualizzate). Il valore del costo di una route ` e, purtroppo, fortemente dipendente dal sistema operativo in uso. Ad esempio, alcuni sistemi operativi (ad es. Windows) assegnano costi > 0 sia alle route connesse che a quelle statiche; altri (ad es. Cisco IOS) assumono che sia le route connesse che quelle statiche abbiano costo 0. In aggiunta, alcuni (ad es. Windows) permettono una sola metrica di costo (un numero puro), mentre altri (ad es. Cisco IOS) gestiscono il costo come una coppia distanza amministrativa/metrica, dove il primo numero esprime la bont` a del protocollo usato per imparare quella route (ad es. una route statica potrebbe essere considerata migliore di una route dinamica) mentre il secondo numero esprime il vero costo, fatto salvo che la distanza amministrativa ha la precedenza nella scelta della route migliore (ossia una route di costo 110/1 ` e sempre peggiore di una route a costo 1/12, ma una route 1/10 ha la precedenza su una route 1/12). Nei sistemi reali sia il costo delle route connesse che quello delle route statiche ` e sso e stabilito a priori. Il primo non pu` o nemmeno essere variato dallamministratore, mentre sul secondo ` e possibile 1 intervenire manualmente dierenziando il costo di varie route . La ragione di questo costo preimposta1
In realt` a ad esempio nel sistema Cisco IOS ` e possibile variare solamente la distanza amministrativa, ma non il costo vero e proprio. In questo caso ` e possibile denire una route statica con costo tale che viene prescelta solamente nel caso in cui un protocollo dinamico non apprenda una route per quella destinazione, lasciando cos` la preferenza al
to nel caso delle route statiche sta nellimpossibilit` a, da parte dellapparato, di conoscere leettiva distanza della rete da s` e stesso e quindi il costo viene preimpostato ad un valore di default. In questa dispensa ci si astrarr` a da ogni particolare dispositivo reale e si adotter` a la seguente convenzione: il costo ` e un numero singolo (non una coppia distanza amministrativa/costo ) ove non diveramente specicato, le route connesse hanno costo 0 (non modicabile), mentre quelle statiche hanno un costo che dipende dalla eettiva distanza rispetto al router in esame, ricavato sommando il costo di attraversamento dei link (e posto convenzionalmente pari a 1) verso la destinazione (ad esempio, la gura precedente mostra alcune route statiche a costo 1 e altre a costo 2). In ogni caso, il costo pu` o essere variato nel momento in cui lamministratore di rete abbia qualche necessit` a particolare. Si rammenta pertanto allo studente di controllare la convenzione in uso sul dispositivo reale per quanto riguarda i costi e procedere ai necessari adattamenti rispetto alla teoria presentata in questa dispensa.
protocollo dinamico ove possibile. Si vedr` a in seguito che questo requisito pu` o essere parzialmente rilassato.
Type C S S S S S S
Cost 0 2 1 2 2 3 3
10.0.4.0/29
10.0.4.10
10.0.0.0/22
10.0.4.10
R1
.9
10.0.4.8/30 .10
R2
10.0.4.4/30
R3
10.0.4.0/30
R4
Nelloperazione di aggregazione non ` e importante che le route abbiano lo stesso costo: il costo non viene infatti utilizzato dal router durante linstradamento, ma viene utilizzato a priori per determinare la route da usare in presenza di route multiple per la stessa destinazione. Pertanto ` e possibile aggregare insieme route con costi diversi assegnando alla route aggregata un costo convenzionale (deciso dalloperatore), con lunico vincolo che nel momento in cui ci siano rotte multiple per la stessa destinazione queste abbiano valori di costo tali da far prevalere la rotta che si ritiene essere migliore. Si noti come laggregazione della rete 10.0.4.0/29 sia stata resa possibile dalla particolare disposizione di quelle reti IP nella topologia in esame: se le reti fossero state assegnate in ordine crescente da sinistra a destra (10.0.4.0/30 tra R1 ed R2, 10.0.4.4/30 tra R3 ed R3, 10.0.4.8/30 tra R3 ed R4) non sarebbero state aggregabili. Infatti le reti remote 4.4/30 e 4.8/30 non possono essere aggregate in un singolo addressing range /29 (i range validi sono 4.0/29, che non comprende la rete 4.8/30, e 4.8/29, che non comprende la rete 4.4/30). Ne consegue che il modo con cui sono assegnati gli indirizzi allinterno della rete riveste unimportanza fondamentale nel permettere o meno laggregazione delle route. ` interessante notare che il concetto di aggregazione cambia la semantica delle informazioni presenti E in ogni route. Mentre la denizione originaria di route prevedeva che ogni route fosse associata ad una rete, a questo punto ogni route ` e associata ad un address range. In altre parole, lindicazione network/netmask presente in ogni route non identica pi` u una rete IP, ma pu` o identicare un insieme di reti IP aggregate, ossia un address range. In aggiunta, un indirizzo che nelle reti originali non era utilizzabile per un host (ad esempio perch` e indirizzo di rete oppure broadcast) diventa invece apparentemente usabile nel momento in cui si considerino gli address range aggregati (si veda ad esempio lindirizzo 10.0.1.255 che ` e un indirizzo broadcast nella rete originale in gura, mentre diventa apparentemente un indirizzo di un host nella rotta aggregata 10.0.0.0/22). Questo tuttavia non comporta particolari problemi perch` e` e vero che un eventuale pacchetto destinato a quel (presunto) host viene inoltrato verso la destinazione, ma ` e vero anche che questo pacchetto verr` a prima o poi scartato da uno dei prossimi router che, causa la sua prossimit` a con la rete di destinazione, non pu` o pi` u gestire gli indirizzi aggregati e deve pertanto avere le rotte maggiormente precise, secondo il principio per cui laggregazione ` e minore muovendosi dal centro della rete alla periferia. Inne, si ricorda che laggregazione ` e inecace per le reti direttamente connesse. In linea di principio sono route come le altre e potrebbero essere aggregate; in pratica, per` o, sono congurate in automatico dal router in quanto originate da reti IP direttamente connesse e non sono cancellabili dalla routing
table. Pertanto, a dierenza delle route di altro tipo (ad esempio quelle statiche), queste route non possono essere sostituite da altre route a causa dellimpossibilit` a di cancellarle dalla routing table.
NextHop 10.0.4.1
Cost 1 Cost 1
NextHop 10.0.4.6
Network 10.0.2.0/24 R3
.6
R1
.1
10.0.4.0/30 .2
R2
.5
10.0.4.4/30
Network 10.0.3.0/24
Network 10.0.0.0/24
Network 10.0.1.0/24
Il router R2 in gura ha due route: una per laddress range 10.0.0.0/22 verso R3, e una per laddress range 10.0.3.0/24 verso R1. Si supponga che il router R2 abbia un pacchetto IP da inoltrare verso lhost 10.0.2.2: questo indirizzo di destinazione ` e compreso nelladdress range 10.0.0.0/22 e pertanto verr` a inviato verso destra. Si supponga ora che R2 debba inoltrare un pacchetto allhost 10.0.3.3: questo host appartiene sia alladdress range della prima route (10.0.3.0/24) che a quello della seconda (10.0.0.0/22). Dal momento che le route possono riferirsi a percorsi diversi (infatti, la prima punta a sinistra, la seconda a destra) ` e necessario un criterio univoco per determinare la route vincente. Nel mondo IP, il criterio ` e che la route maggiormente specica vince. In questo caso, pertanto, il pacchetto verr` a inoltrato verso R1. Questo concetto apre la possibilit` a di eettuare aggregazioni di route in maniera molto pi` u ecace rispetto a quanto enunciato in precedenza, in quanto laggregazione di route IP pu` o in realt` a coinvolgere un address range maggiore rispetto a quello risultante dalla pura unione delle route coinvolte. Anche in questo caso ci sia aiuta con una gura per chiarire meglio il concetto.
10
Type C S S S S S S
Routing table (R1) Network NextHop 10.0.4.8/30 10.0.4.9 10.0.4.0/30 10.0.4.10 10.0.4.4/30 10.0.4.10 10.0.0.0/24 10.0.4.10 10.0.1.0/24 10.0.4.10 10.0.2.0/24 10.0.4.10 10.0.3.0/24 10.0.4.10
Cost 0 2 1 2 2 3 3
Routing table (R1) Type Network NextHop C 10.0.4.8/30 10.0.4.9 S 10.0.0.0/21 10.0.4.10
Cost 0 1
R1
.9
10.0.4.8/30 .10
R2
10.0.4.4/30
R3
10.0.4.0/30
R4
In questo esempio ` e possibile aggregare sotto una stessa route addirittura tutte le destinazioni che hanno lo stesso next hop router (ed evidenziate in gura), ad esempio sostituendole con una singola route per laddress range 10.0.0.0/21. Questo spazio di indirizzamento comprende gli indirizzi da 10.0.0.0 a 10.0.7.255 e quindi raggruppa tutte le destinazioni che erano precedentemente conosciute attraverso le singole route. Questo address range comprender` a anche le destinazioni 10.0.4.8/30 che invece non fanno capo al next hop 10.0.4.10: questo non rappresenta un problema in quanto per queste destinazioni ` e comunque presente un route maggiormente specica. ` E interessante notare come il nuovo address range 10.0.0.0/21 include in realt` a altre destinazioni che non sarebbero comprese dalla semplice unione degli spazi di indirizzamento delle singole route, ossia il range di indirizzi che va da 10.0.4.12 a 10.0.7.255. Questo normalmente non rappresenta un problema perch` e quelle destinazioni non sono comunque raggiungibili sulla rete e pertanto quello che solitamente succede ` e che un router inoltri pacchetti per quelle destinazioni in una certa direzione, ma prima o poi un router su quel percorso rilever` a che quella destinazione non ` e raggiungibile e pertanto scarter` a il pacchetto. Facendo riferimento allesempio della gura precedente, si evidenziano i comportamenti della rete a fronte di tre ipotetici pacchetti: Pacchetto destinato allhost 10.0.1.1: lindirizzo di destinazione ` e compreso nella route 10.0.0.0/21 e pertanto viene correttamente inoltrato verso R2. Pacchetto destinato allhost 10.0.4.10: lindirizzo di destinazione ` e compreso sia nello spazio di indirizzamento della route 10.0.0.0/21, che in quello della route 10.0.4.8/30. In questo caso vince la route maggiormente specica e pertanto il pacchetto viene correttamente inoltrato in instradamento diretto verso la destinazione 10.0.4.10. Pacchetto destinato allhost 10.0.7.7: lindirizzo di destinazione ` e compreso nella route 10.0.0.0/21 e pertanto viene inoltrato verso R2. Ovviamente quella destinazione non esiste nella rete, ma poco importa: il router R2 si accorger` a che quella rete non esiste e pertanto canceller` a il pacchetto dalla memoria senza inoltrarlo da nessuna altra parte. Ovviamente, il router R2 potrebbe non accorgersene (anche lui potrebbe avere una route che comprende anche lindirizzo 10.0.7.7) ma probabilmente prima o poi qualche router se ne accorger` a e dropper` a il pacchetto.
11
Uno dei problemi di che pu` o sorgere utilizzando la tecnica di aggregazione con route pi` u estese (spesso indicate come supernet routes ) rispetto allo spazio di indirizzamento delle route originali ` e la creazione di loop nellinoltro dei pacchetti. Si supponga ad esempio che R1 in gura abbia una route di default verso destra, mentre R2 abbia una route di default verso sinistra. In questo caso un pacchetto destinato allhost 20.2.2.2 non ` e compreso in nessuna route specica e deve pertanto seguire la strada indicata nella default route. A questo punto, per` o, R1 invier` a il pacchetto ad R2, che lo inoltrer` a nuovamente ad R1 e cos` via no a quando il pacchetto verr` a tolto dalla rete a causa dellesaurimento del suo tempo di vita. In generale il problema dei loop pu` o comparire quando si fa uso di supernets : ` e compito dellamministatore di rete progettare il routing in modo che questo non accada. Si ricorda inne che la tabella di routing ` e diversa su ogni router. Pertanto le modalit` a con cui si possono gestire le aggregazioni varia di router in router a seconda di come possono essere aggregati tra di loro gli spazi di indirizzamento delle varie reti.
La scelta di unopzione piuttosto dellaltra ` e determinata dal contesto e dalla sensibilit` a delloperatore. In generale, con una default route ` e possibile aggregare tutte le route in una certa direzione, sostituendo N route che convergono sullo stesso next hop con una sola. Tuttavia pu` o essere utilizzata una sola volta (ovviamente non possono esserci due default route). In pratica, la route di default ` e comunemente usata nel momento in cui una rete utente ` e collegata ad Internet, in quanto permette di raggiungere tutte le destinazione su internet senza doverle esplicitare una per una.
In questo caso, il router sceglier` a la prima route verso la rete 20.2.2.0 in quanto ha costo inferiore ed ignorer` a la seconda route. Tuttavia, nel caso in cui la prima route divenisse irraggiungibile (ad esempio linterfacca verso il next hop 30.3.3.3 subisse un guasto), la prima route diventerebbe inutile e verrebbe utilizzata la seconda route che presenta un percorso alternativo verso la stessa destinazione. Questa congurazione viene comununemente indicata come route di backup .
3
Si noti che questo esempio non ha nulla a che fare con la topologia utilizzata sin qui. Infatti, route alternative a costo diverso hanno senso solamente nel caso ci siano percorsi alternativi verso una certa destinazione, cosa qui impossibile dal momento che la topologia non presenta magliature.
12
Lutilit` a di questa congurazione ` e comunque molto limitata. Come si ` e visto dalla teoria, le route statiche di backup tendono a non funzionare in quanto il router non ` e in grado di rilevare guasti su reti non direttamente connese a s` e stesso (anzi, in certi casi non vengono rilevati perno alcuni di questi guasti; ad esempio il router in esame potrebbe non accorgersi quando linterfaccia 30.3.3.3 viene spenta) e questo pu` o provocare dei loops nei pacchetti. Infatti la prassi ` e di usare con molta parsimonia questa funzione nel caso di routing statico; con routing dinamico invece essa non ` e pi` u necessaria in quanto il protocollo di routing provvede a ricalcolare gli instradamenti senza la necessit` a della route di backup. In secondo luogo, con questa tipologia di congurazione si inserisce un ulteriore livello di ambiguit` a nelle route dopo quello introdotto dalle route sovrapposte, in quanto un pacchetto pu` o fare matching anche su regole con costi diversi. In caso di ambiguit` a lalgoritmo di scelta della route privilegier` a nellordine (1) la route maggiormente specica, quindi (2) quella a costo inferiore. Questo equivale a dire che le route a costo superiore devono avere lo stesso prex length di quelle a costo inferiore, altrimenti o non verranno mai scelte (se si riferiscono a supernets) oppure verranno scelte sempre (se sono maggiormente speciche). Ad esempio, con la seguente routing table: Type Network S 20.2.2.0/24 S 20.2.2.0/23 NextHop 30.3.3.3 40.4.4.4 Cost 2 3
la seconda route non verr` a mai scelta per le destinazioni 20.2.2.0/24 in quanto la prima route ` e maggiormente specica. Viceversa, con questa congurazione: Type Network S 20.2.2.0/24 S 20.2.2.0/25 NextHop 30.3.3.3 40.4.4.4 Cost 2 3
la seconda route verr` a sempre scelta per le destinazioni 20.2.2.0/25 in quanto maggiormente specica per queste destinazioni, indipendentemente dal costo. Lunico caso in cui il costo entra in gioco nella scelta della route ` e pertanto quando le due reti destinazioni sono identiche, ma la route dierisce per il valore del costo.
13
Determinazione della routing table, con una route per ogni rete Determinazione di possibili aggregazioni di route La spiegazione far` a uso della rete di esempio illustrata nella gura seguente.
Network: 10.0.1.0/24 Network: 10.0.1.0/24
R1
.1 .129
10.0.0.128/30 .130
R2
.133
10.0.0.132/30 .134
R3
.1
.1
Network: 10.0.2.0/25
Network: 10.0.0.0/24
` importante notare che la procedura di calcolo della routing table deve essere ripetuta per E ogni router; ad esempio nella rete precedente dovr` a essere ripetuta 3 volte (in quanto sono presenti 3 router). Infatti, anche se il percorso scelto da un router verso una destinazione D non ` e completamente svincolato dal percorso che faranno altri router per raggiungere la stessa destinazione (in altre parole, se R1 raggiunge la rete 10.0.0.0/24 mandando i pacchetti verso R2, R2 non pu` o raggiungere la stessa rete mandando i pacchetti verso R1), lalbero di instradamento denisce i percorsi migliori da un punto verso tutte le possibili destinazioni. Ne consegue che, cambiando il punto iniziale da cui vengono calcolati i percorsi (ossia il router di cui si sta calcolando la routing table) cambier` a la routing table e pertanto ogni router dovr` a calcolare autonomamente la sua tabella di instradamento.
R1
.1 .129
10.0.0.128/30 .130
R2
.133
10.0.0.132/30 .134
R3
.1
.1
Network: 10.0.2.0/25
Network: 10.0.0.0/24
14
R1 Net1
R2
Net2
Albero di instradamento
R1 1 Net3
1 Net1
1 Net4
Net2
Net5
Si noti come in questo risultato siano importanti i costi di raggiungimento delle varie reti, che sono determinati dai costi di attraversamento dei routers (supposti unitari nella rete desempio ed evidenziati con il loro valore 1 nellalbero di instradamento). Ad esempio, la rete Net5 sar` a raggiungibile a costo 3 a partire dal router R1. I costi sono necessari per poter privilegiare un percorso rispetto ad un altro (e scegliere quello a costo migliore) nel momento in cui percorsi multipli esistono per una stessa destinazione. Si noti anche come i routers non siano presenti nel grafo della topologia: lobiettivo ` e quello di determinare il percroso migliore verso ogni destinazione e i router intermedi non orono nessuna informazione utile nellalbero di instradamento. Pertanto possono essere tranquillamente omessi in questo passo.
15
avvertenza ` e relativa alla dierenza tra le reti connesse/remote a causa principalmente del diverso valore del next hop nei due casi. Cos` , ad esempio, per la rete Net2 (direttamente connessa) la entry nella routing table sar` a: Type Network C 10.0.2.0/25 NextHop 10.0.2.1 Cost 0
dove la tipologia della route ` e C (connected) e il next hop ` e linterfaccia del router stesso che viene utilizzata per raggiungere quelle destinazioni in instradamento diretto. Invece, per la rete Net5 (remota) la entry nella routing table sar` a: Type Network S 10.0.0.0/24 NextHop 10.0.2.130 Cost 2
dove la tipologia della route ` e S (static) e il next hop ` e linterfaccia del prossimo router che viene utilizzata per raggiungere quelle destinazioni in instradamento indiretto. Il risultato sulla rete di esempio ` e evidenziato nella gura seguente, che riporta la routing table di tutti i routers presenti nella topologia in esame.
Type C C S S S
Cost 0 0 1 2 2
Type C C C S S
Cost 0 0 0 2 1
R1
.1 .129
10.0.2.128/30 .130
R2
.133
10.0.2.132/30 .134
R3
.1
.1
Network: 10.0.2.0/25 C
Routing table (R2) Type Network NextHop 10.0.2.132/30 10.0.2.133 C 10.0.2.128/30 10.0.2.130 S 10.0.0.0/24 10.0.0.134 S 10.0.1.0/24 10.0.1.134 S 10.0.2.0/25 10.0.2.129
Cost 0 0 1 1 1
Network: 10.0.0.0/24
Anche se, come detto in precedenza, il costo non ` e particolarmente signicativo in una routing table, ` e fondamentale per calcolare il percorso migliore per raggiungere quella destinazione. Si noti pertanto come il costo di attraversamento per giungere alla rete Net1 sia pari a zero, quello per giungere alla rete Net3 sia pari a 1 e quello per giungere alla rete Net4 sia pari a 2. Il costo S vicino alla rete Net4 ` e pertanto ininuente alla soluzione dellesercizio ed entrerebbe in gioco solamente qualora ci fossero altre destinazioni raggiungibili oltre Net4.
16
Network: 10.0.1.0/24
quelle che condividono lo stesso valore di next hop, e queste route devono essere relative a reti non direttamente connesse (in quanto le route direttamente connesse non possono essere cancellate dalla routing table). La non oggettivit` a delloperazione sta nel numero di route da aggregare in un certo address range e nelladdress range da utilizzare. Loperatore pi` u fare scelte dierenti a seconda che privilegi le capacit` a di laggregazione e quindi utilizzi supernet anche molto ampie (no alla route di default), oppure che cerchi di minimizzarne i possibili eetti collaterali limitandosi a sostituire un certo numero di route con un nuovo address range che sia esattamente equivalente (ossia lunione degli address range originali deve essere uguale al nuovo address range). La gura seguente propone ambedue le soluzioni: nel caso dei routers R1 ed R2 vengono aggregate due reti /24 con lequivalente /23, mentre nel caso del router R3 due reti remote (appartenenti a due address range non aggregabili esattamente con un nuovo address range) vengono sostituite da una route di default. Le routing table risultanti sono riportate nella gura seguente.
4. Determinazione di possibili aggregazioni di route
S
Routing table (R1) Network NextHop 10.0.2.0/25 10.0.2.1 10.0.2.128/30 10.0.2.129 10.0.2.132/30 10.0.2.130 10.0.0.0/24 10.0.2.130 10.0.1.0/24 10.0.2.130
0.0.0.0/0
10.0.2.133
Type C C S S S
Cost 0 0 1 2 2
Type C C C S S
Routing table (R3) Network NextHop 10.0.2.132/30 10.0.2.134 10.0.0.0/24 10.0.0.1 10.0.1.0/24 10.0.1.1 10.0.2.0/25 10.0.2.133 10.0.2.128/30 10.0.2.133
Cost 0 0 0 2 1
10.0.0.0/23
10.0.2.130
R1
.1 .129
10.0.2.128/30 .130
R2
.133
10.0.2.132/30 .134
R3
.1
.1
Network: 10.0.2.0/25 C
Routing table (R2) Type Network NextHop 10.0.2.132/30 10.0.2.133 C 10.0.2.128/30 10.0.2.130 S 10.0.0.0/24 10.0.0.134 S 10.0.1.0/24 10.0.1.134 S 10.0.2.0/25 10.0.2.129 S 10.0.0.0/23
Cost 1 1 1 1 1
Network: 10.0.0.0/24
10.0.2.134
17
Network: 10.0.1.0/24
Parte II.
Esercizi
18
2. Esercizi
2.1. Esercizio n. 1
Denire lalbero di instradamento di tutti i nodi della rete in gura. Scrivere inoltre la tabella di routing di ogni router, in forma (router di destinazione - next hop router).
2 C 5 E 2
1 D 4
2.2. Esercizio n. 2
Denire lalbero di instradamento di tutti i nodi della rete in gura. Scrivere inoltre la tabella di routing di ogni router, in forma (router di destinazione - next hop router).
A 2 E 1 F 2
2 B
3
1 G
D 1 C 1 4 H
19
2.3. Esercizio n. 3
Data la rete in gura, ricavare la routing table di R1 aggregando le route in modo da: comprendere spazi di indirizzamento esattamente equivalenti a quelli originali (oppure) ottenere il minor numero possibile di entry nella routing table. I numeri in corsivo sulla rete rappresentano i costi di attraversamento dei link; si suppongano unitari i costi non esplicitamente indicati in gura.
R1
5 R3
R2
.0.254/24+ .1.126/25
.2.33/30
.1.254/25
2.4. Esercizio n. 4
Data la rete in gura, ricavare la routing table di R1 aggregando le route in modo da: comprendere spazi di indirizzamento esattamente equivalenti a quelli originali (oppure) ottenere il minor numero possibile di entry nella routing table. I numeri in corsivo sulla rete rappresentano i costi di attraversamento dei link; si suppongano unitari i costi non esplicitamente indicati in gura.
R1
2 R3
.1.254/25
20
2.5. Esercizio n. 5
Data la rete in gura, ricavare la routing table di R1 aggregando le route in modo da: comprendere spazi di indirizzamento esattamente equivalenti a quelli originali (oppure) ottenere il minor numero possibile di entry nella routing table. I numeri in corsivo sulla rete rappresentano i costi di attraversamento dei link; si suppongano unitari i costi non esplicitamente indicati in gura.
Internet
213.205.24.25/30 3 R1
3.194/30
3.182/29
3.126/25
21
2.6. Esercizio n. 6
Data la rete stessa rete dellesercizio precedente (e indicata in gura), ricavare la routing table di R4 ottenuta cercando di ottenere il minor numero possibile di entry nella routing table. Si evidenzi se il numero di route ` e maggiore o minore rispetto a quelle presenti nel router R1 e ne si spieghi il motivo.
Internet
213.205.24.25/30 3 R1
3.194/30
3.182/29
3.126/25
22
2.7. Esercizio n. 7
Data la rete in gura, denire un piano di indirizzamento che: massimizzi laggregazione delle route su R1 (oppure) minimizzi il numero di indirizzi allocati per la gestione della rete. I numeri in corsivo sulla rete rappresentano i costi di attraversamento dei link; si suppongano unitari i costi non esplicitamente indicati in gura.
R1
27 hosts
120 hosts
60 hosts
23
10 hosts
2.8. Esercizio n. 8
Data la rete in gura, denire un piano di indirizzamento che: massimizzi laggregazione delle route su R1 (sia nel caso in cui lo spazio di indirizzamento aggregato sia esattemente equivalente a quello originale, sia nel caso in cui vengano gestite route attraverso supernets ) (oppure) minimizzi il numero di indirizzi allocati per la gestione della rete. I numeri in corsivo sulla rete rappresentano i costi di attraversamento dei link; si suppongano unitari i costi non esplicitamente indicati in gura.
R1
25 hosts
80 hosts
70 hosts
24
14 hosts
2.9. Esercizio n. 9
Basandosi sullesercizio precedente e data la rete in gura (identica al caso precedente tranne per i costi assegnati ai links), si denisca un piano di indirizzamento che massimizzi laggregazione delle route su R1, sia nel caso in cui lo spazio di indirizzamento aggregato sia esattamente equivalente a quello originale, sia nel caso in cui vengano gestite route attraverso supernets. I numeri in corsivo sulla rete rappresentano i costi di attraversamento dei link; si suppongano unitari i costi non esplicitamente indicati in gura.
R1
1
R3
25 hosts
80 hosts
70 hosts
25
14 hosts
2.10. Esercizio n. 10
Realizzare un piano di indirizzamento per la rete in gura che massimizzi laggregazione di route sul router R2. Scrivere inoltre la routing table di tutti i routers, supponendo che si voglia massimizzare laggregazione delle route (sono ammesse supernets, ma non la route di default). Si noti che per le reti indicate con lasterisco in gura ` e prevista lesigenza di aggiungere un certo numero di hosts in futuro.
120 hosts* 120 hosts
160 hosts*
R1
R2
R4
248 hosts
27 hosts
26
2.11. Esercizio n. 11
Realizzare un piano di indirizzamento per la rete in gura che massimizzi laggregazione di route sul router R1. Scrivere inoltre la routing table di tutti i routers, supponendo che si voglia massimizzare laggregazione delle route (sono ammesse supernets). Si noti che per le reti indicate con lasterisco in gura ` e prevista lesigenza di aggiungere un certo numero di hosts in futuro.
50 hosts* 500 hosts 500 hosts
Internet
1 R1 R2 100 hosts* 4 10 hosts
33 hosts
R3
R4
210 hosts
5 hosts
120 hosts
27
2.12. Esercizio n. 12
Data la stessa topologia dellesercizio precedente (ma con diversi costi dei link), realizzare un piano di indirizzamento per la rete in gura che massimizzi laggregazione di route sul router R1. Scrivere inoltre la routing table di tutti i routers, supponendo che si voglia massimizzare laggregazione delle route (sono ammesse supernets). Si noti che per le reti indicate con lasterisco in gura ` e prevista lesigenza di aggiungere un certo numero di hosts in futuro.
50 hosts* 500 hosts 500 hosts
Internet
1 R1 R2 100 hosts* 1 10 hosts
33 hosts
R3
R4
210 hosts
5 hosts
120 hosts
28
2.13. Esercizio n. 13
Data la topologia dellesercizio precedente e le relative routing table degli apparati, il gestore della rete ha deciso di congurare alcune rotte statiche aggiuntive di backup per poter reagire automaticamente ad alcuni guasti che potrebbero vericarsi nella rete. In particolare, il gestore vuole garantire al router R1 la raggiungibilit` a delle LAN collegate ad R4 (raggiungibili di preferenza attraverso R3) anche a fronte del collegamento R3-R4 (in questo caso si vuole che il percorso sia attraverso R2). Il gestore ha pertanto modicato le routing table di R1 ed R3 come si vede dalla gura seguente (le route direttamente connesse vengono omesse per chiarezza):
50 hosts* 500 hosts 130.192.0.0/23 500 hosts 130.192.2.0/23 0.1/23 2.1/23 R2 130.192.4.0/24 4.1/24 7.221/30 100 hosts*
Internet
130.192.7.224/30 7.225/30
130.192.5.0/24
5.1/24 7.217/30
1 130.192.7.216/30
R1
130.192.7.128/26 1 130.192.7.228/30 7.230/30 7.129/26 6.1/24 130.192.6.0/24 210 hosts
R1 (only static routes) ==================================== S 130.192.0.0/21 130.192.7.218 1 S 130.192.6.0/23 130.192.7.230 1 S 130.192.7.220/30 130.192.7.218 1 S 0.0.0.0/0 130.192.7.224 10 S 130.192.7.0/25 130.192.7.218 2 S 130.192.7.192/28 130.192.7.218 2
1
130.192.7.220/30 R4
33 hosts
R3 7.233/30
7.209/29
130.192.7.232/30
7.1/25
7.193/28
130.192.7.208/29 5 hosts
130.192.7.0/25
120 hosts
130.192.7.192/28
10 hosts
R3 (only static routes) ================================== S 130.192.7.0/25 130.192.7.234 1 S 130.192.7.192/28 130.192.7.234 1 S 130.192.7.220/30 130.192.7.234 1 S 0.0.0.0/0 130.192.7.229 2
Determinare se la modica introdotta dal gestore ` e ecace; in caso negativo evidenziarne i problemi e proporre eventuali soluzioni migliorative.
29
2.14. Esercizio n. 14
Data la rete in gura, lhost H2 genera un pacchetto IP per lhost H1. Il pacchetto viene recapitato correttamente ad R2, il quale deve provvedere ad instradarlo verso la destinazione. Date le dierenti congurazioni del router R2 a livello di routing table ed ARP cache indicate in gura, determinare il percorso del pacchetto nei tre casi. Indicare inne se la soluzione cambierebbe nel caso in cui la rete LAN 1 fosse realizzata con degli switch di livello 2 anzich` e con una infrastruttura Ethernet condivisa.
LAN 1
IP: 192.168.3.254/24 MAC:00:00:00:DD:DD:DD IP: 192.168.4.254/24 MAC:00:00:00:EE:EE:EE
R1
IP: 1392.168.1.254/24 IP: 192.168.0.1/24 MAC:00:00:00:AA:AA:AA IP: 192.168.0.2/24 MAC:00:00:00:BB:BB:BB
R2
IP: 192.168.2.254/24 MAC:00:00:00:CC:CC:CC
R2 config (case 1)
Routing table (R2) ================================= Type Network Next Hop Cost S 0.0.0.0/0 192.168.0.1 2 D [... directly connected ...] ARP cache (R2) ================================== Type Address MAC S 192.168.0.1 00:00:00:DD:DD:DD
R2 config (case 2)
Routing table (R2) ================================= Type Network Next Hop Cost S 0.0.0.0/0 192.168.1.1 2 D [... directly connected ...] ARP cache (R2) ================================== Type Address MAC S 192.168.1.1 00:00:00:AA:AA:AA
R2 config (case 3)
Routing table (R2) ================================= Type Network Next Hop Cost S 0.0.0.0/0 192.168.4.1 2 D [... directly connected ...] ARP cache (R2) ================================== Type Address MAC S 192.168.4.1 00:00:00:DD:DD:DD
30
Parte III.
Soluzioni
31
3. Soluzioni
3.1. Soluzione per lesercizio n. 1
Lalbero di instradamento dei vari nodi ` e riportato in gura.
A 2 C
B 1 2
B 1 2
B 1
2 5
E 4
2 5
E 4
2 5
E 4
A 2 C 5
B 1 2
B 1
C 5
4
E
4
E
Lunica ambiguit` a` e riferita alle destinazioni che hanno strade multiple allo stesso costo (ad esempio il router A ha due strade equivalenti verso la destinazione D). Il disegno riporta una sola di queste soluzioni per questioni di chiarezza, mentre vengono riportate ambedue nelle routing table seguenti. Si precisa che nel caso di percorsi equivalenti, la scelta di uno o dellaltro (dal punto di vista puramente del routing) ` e completamente arbitraria. Le tabelle dei vari routers saranno le seguenti: Nodo A
Destinazione B C D E Next-hop B C B/C C
Nodo B
Destinazione A C D E Next-hop A D D D
32
Nodo C
Destinazione A B D E Next-hop A D D E
Nodo D
Destinazione A B C E Next-hop B/C B C E
Nodo E
Destinazione A B C D Next-hop C D C D
33
2
E 1 F 2
2 B
1 1 G 1
4 H C
2 B
C 4
A 2 E 1 F 2
2 B
3 1 G
D 1 C 1 4 H E 2
2 B
3 1 G
D 1 C 1 4
1 F
4
Si noti come alcuni router abbiano percorsi equivalenti per una stessa destinazione (ad esempio C ha due percorsi equivalenti a costo 6 verso A), ma questo non traspare dalla routing table in quanto ambedue fanno capo allo stesso next hop router (D). Nodo A
Destinazione B C D E F G H Next-hop B B/E B/E E E E E
Nodo B
Destinazione A C D E F G H Next-hop A D D A A D D
34
Nodo C
Destinazione A B D E F G H Next-hop D D D D D D D
Nodo D
Destinazione A B C E F G H Next-hop B/G B C G G G G
Nodo E
Destinazione A B C D F G H Next-hop A A G G F G G
Nodo F
Destinazione A B C D E G H Next-hop E E E E E E E/H
Nodo G
Destinazione A B C D E F H Next-hop E D D D E E H
Nodo H
Destinazione A B C D E F G Next-hop G G G G G G/F G
35
S S
130.192.0.0/23 130.192.2.32/30
130.192.2.38 130.192.2.38
1 1
36
In questo caso non ` e possibile aggregare molto in quanto i percorsi per giungere alle varie reti sono diversi (parte attraverso R2 e parte attraverso R3) e a causa del vincolo di utilizzare uno spazio di indirizzamento equivalente.
In questo caso di ` e fatto uso della default route in una direzione (quella che aveva il maggior numero di route singole) per minimizzare il numero di route.
37
Si noti che in questo caso la topologia in esame ` e collegata ad Internet e pertanto ` e ammesso utilizzare la default route anche nel caso di aggregazione con spazio di indirizzamento equivalente. Infatti, si assume che tutte le destinazioni non presenti nella topologia in esame saranno presenti su Internet; la default route sar` a pertanto una route verso tutte queste destinazioni.
Si noti che, essendo la topologia in esame collegata ad Internet, la default route viene tendenzialmente utilizzata per raggiungere quelle destinazioni e non pu` o pu` u essere utilizzata per aggregare le reti interne.
38
Si noti che in questo caso il numero di route statiche diminusce di due unit` a (grazie alla maggiore aggregazione) mentre cresce di una unit` a il numero di route relative a reti direttamente connesse (a causa del maggior numero di reti direttamente connese al router), route che non possono essere aggregate. La somma totale ` e comunque inferiore: il numero totale di route nella routing table di R4 diminuisce di una unit` a rispetto a quelle presenti nel router R1.
39
1
130.192.0.160/30 27 hosts R2 0.129/27 130.192.0.128/27
0.161/30
0.1/25
130.192.0.0/25
120 hosts
Area 1
Area 2
40
10 hosts
Tipo D D S S
Costo 0 0 1 2
1
130.192.0.240/30 27 hosts R2 0.193/27 130.192.0.192/27
0.241/30
0.1/25
130.192.0.0/25
120 hosts
Area 1
Area 2
Si noti che in questo caso ` e suciente uno spazio di indirizzamento /24 per gestire lintera topologia, mentre nel caso precedente si era resa necessario uno spazio /23. Ne deriva la seguente routing table di R1 (realizzata senza utilizzare la route di default):
Tipo D D S S S Rete destinazione 130.192.0.240/30 130.192.0.244/30 130.192.0.0/24 130.192.0.128/26 130.192.0.224/28 Next hop 130.192.0.242 130.192.0.246 130.192.0.241 130.192.0.245 130.192.0.245 Costo 0 0 1 2 2
41
10 hosts
1
130.192.0.240/30 0.241/30 0.161/27 130.192.0.160/27 R2
25 hosts
130.192.0.244/30 1
0.246/30
70 hosts
Per scrivere la routing table ` e possibile sfruttare il fatto che le destinazioni connesse ad R3 si possono raggiungere allo stesso costo sia attraverso il link diretto R1-R3, sia attraverso il percorso R1-R2-R3. Si sceglie pertanto questa seconda via che, a parit` a di costo, diminuisce il numero di route statiche presenti nella routing table. Nel caso in cui lo spazio di indirizzamento aggregato sia esattamente equivalente a quello originale, ` e necessario tenere in conto che la rete 130.192.0.252/30 non ` e allocata da nessuna parte e pertanto non pu` o essere parte dellaggregazione. Pertanto, ` e necessario scrivere un insieme di righe nella routing table in modo da non comprendere questo spazio. La routing table risultante sar` a pertanto la seguente:
Tipo D D S S S S S Rete destinazione 130.192.0.240/30 130.192.0.248/30 130.192.0.0/25 130.192.0.128/26 130.192.0.192/27 130.192.0.224/28 130.192.0.244/30 Next hop 130.192.0.242 130.192.0.250 130.192.0.241 130.192.0.241 130.192.0.241 130.192.0.241 130.192.0.241 Costo 0 0 2 2 2 2 1
Nel caso invece in cui lo spazio di indirizzamento aggregato possa comprendere anche destinazioni non originariamente presenti nella topologia in esame, ` e possibile aggregare tutte le destinazioni remote con la route 130.192.0.0/24, ottenendo una aggregazione decisamente pi` u ecace del caso precedente. In questo caso la tabella di routing risultante sar` a la seguente:
42
14 hosts
Tipo D D S
Costo 0 0 2
Si noti che in pratica si tender` a ad adottare la seconda tabella di routing, a maggior ragione dovuto al fatto che la rete 130.192.252.0/30 non ` e sicamente utilizzata sulla topologia in esame, ma ` e stata assegnata al gestore della rete (lo spazio di indirizzamento assegnato al gestore ` e 130.192.0.0/24) e ragionevolmente quindi questa rete non ` e presente altrove.
43
25 hosts
130.192.0.244/30 1
0.246/30
80 hosts
70 hosts
Area 1
Area 2
Massimizzazione dellaggregazione:
Tipo D Rete destinazione 130.192.0.240/30 Next hop 130.192.0.242 Costo 0
44
14 hosts
D S S
0 1 1
45
46
130.192.0.0 130.192.0.255 130.192.1.0 130.192.1.31 130.192.1.32 - 130.192.1.35 130.192.1.36 - 130.192.1.39 130.192.1.40 - 130.192.1.43 130.192.1.44 130.192.1.127 130.192.1.128 130.192.1.255
130.192.2.0 130.192.2.255
Reti connesse
1
130.192.1.36/30 1.38/30 1.41/30 130.192.1.40/30 2 1.42/30 1.129/25 R2
160 hosts*
1.33/30
130.192.1.32/30 3
1.34/30
R4 1.1/27 130.192.1.0/27 27 hosts
Area 2
Ne conseguono le seguenti routing table, ricavate in modo da massimizzare laggregazione delle route.
R1
47
Tipo D D D S
Costo 0 0 0 2
R2
Tipo D D D S S Rete destinazione 130.192.1.36/30 130.192.1.40/30 130.192.1.128/25 130.192.0.0/23 130.192.2.0/23 Next hop 130.192.1.38 130.192.1.41 130.192.1.129 130.192.1.42 130.192.1.37 Costo 0 0 0 2 1
R3
Tipo D D S Rete destinazione 130.192.1.32/30 130.192.0.0/24 130.192.0.0/22 Next hop 130.192.1.33 130.192.0.1 130.192.1.34 Costo 0 0 3
R4
Tipo D D D S S Rete destinazione 130.192.1.32/30 130.192.1.40/30 130.192.1.0/27 130.192.0.0/24 130.192.0.0/22 Next hop 130.192.1.34 130.192.1.42 130.192.1.1 130.192.1.33 130.192.1.41 Costo 0 0 0 3 2
48
Si ricordi che gli indirizzi relativi a reti direttamente connesse non sono mai aggregabili e pertanto compariranno sempre come reti esplicite allinterno della tabella di routing. Questo tuttavia fa s` che se le supernets sono ammesse (come ` e di solito) questi indirizzi possano essere ricavati allinterno di spazi di indirizzamento inusati da altre aree, in quanto essi saranno raggiungibili attraverso una route maggiormente specica.
49
50 hosts*
500 hosts
500 hosts
Internet
1 R1 100 hosts* 4
R2
33 hosts
R3
R4
Una possibile soluzione per questo esercizio consiste nel gestire laggregazione mediante supernets: in questo caso si pu` o immaginare di indirizzare tutte le reti in Area 1 con lindirizzo 130.192.0.0/21, sfruttando la route maggiormente specica 130.192.6.0/23 per tutte le destinazioni in Area 2. Ovviamente questo ` e possibile se gli indirizzi assegnati in Area 2 sono aggregabili (ossia se si assegnano gli indirizzi 130.192.6.0/24 e 130.192.7.0/24 e non, ad esempio, 130.192.5.0/24 e 130.192.6.0/24 che non sono aggregabili tra di loro). Il piano di indirizzamento risultante potr` a pertanto essere il seguente:
50 hosts* 500 hosts 130.192.0.0/23 500 hosts 130.192.2.0/23 0.1/23 2.1/23 130.192.4.0/24 4.1/24 7.221/30 100 hosts*
Internet
130.192.7.224/30 7.225/30 Address range: 130.192.0.0/21 130.192.7.128/26 7.229/30
130.192.5.0/24
5.1/24 7.217/30 R1
1 130.192.7.216/30
7.218/30 R2
130.192.7.228/30
7.230/30 7.129/26 6.1/24 R3 7.233/30 7.209/29
33 hosts
1
130.192.7.232/30
7.193/28
130.192.7.208/29 5 hosts
130.192.7.192/28
10 hosts
Ne conseguono le seguenti routing table, ricavate in modo da massimizzare laggregazione delle route (si ricorda lutilizzo della defaut route per raggiugnere tutte le destinazioni su Internet). R1
Tipo Rete destinazione Next hop Costo
50
D D D D S S S S
0 0 0 0 1 2 1 2
Si presti attenzione alla rete punto-punto tra R2 ed R4: il percorso migliore ` e attraverso il router R2, ma purtroppo ricade nello spazio di indirizzamento della route maggiormente specica 130.192.6.0/23 che punta nella direzione sbagliata. Pertanto in questo caso ` e necessario indirizzarla a sua volta con una route maggiormente specica. R2
Tipo D D D D D S Rete destinazione 130.192.7.216/30 130.192.7.220/30 130.192.0.0/23 130.192.2.0/23 130.192.4.0/24 0.0.0.0/0 Next hop 130.192.7.218 130.192.7.221 130.192.0.1 130.192.2.1 130.192.4.1 130.192.7.217 Costo 0 0 0 0 0 2
La tabella di routing di R2 ` e molto compressa in quanto, a causa dei costi dei links sulla topologia in esame, tutte le destinazioni non direttamente connesse si raggiungono attraverso il router R1. R3
Tipo D D D D D S S S S Rete destinazione 130.192.7.228/30 130.192.7.232/30 130.192.7.208/29 130.192.7.128/26 130.192.6.0/24 130.192.7.0/25 130.192.7.192/28 130.192.7.220/30 0.0.0.0/0 Next hop 130.192.7.229 130.192.7.233 130.192.7.209 130.192.7.129 130.192.6.1 130.192.7.234 130.192.7.234 130.192.7.234 130.192.7.229 Costo 0 0 0 0 0 1 1 1 2
R4
Tipo D Rete destinazione 130.192.7.220/30 Next hop 130.192.7.222 Costo 0
51
D D D S
0 0 0 2
52
Internet
1 R1 100 hosts* 1
Reti connesse
R2
Area 1
33 hosts
R3
R4
Area 2
210 hosts
5 hosts
120 hosts
10 hosts
Purtroppo, la particolare dislocazione delle reti IP non permette una aggregazione migliore rispetto a quella gi` a evidenziata nellesercizio precedente e pertanto il piano di indirizzamento risultante sar` a identico a quello precedente:
50 hosts* 500 hosts 130.192.0.0/23 500 hosts 130.192.2.0/23 0.1/23 2.1/23 130.192.4.0/24 4.1/24 7.221/30 100 hosts*
Internet
130.192.7.224/30 7.225/30 Address range: 130.192.0.0/21 130.192.7.128/26 7.229/30
130.192.5.0/24
5.1/24 7.217/30 R1
1 130.192.7.216/30
7.218/30 R2
130.192.7.228/30
7.230/30 7.129/26 6.1/24 R3 7.233/30 7.209/29
33 hosts
1
130.192.7.232/30
7.193/28
130.192.7.208/29 5 hosts
130.192.7.192/28
10 hosts
53
Ne conseguono le seguenti routing table ricavate in modo da massimizzare laggregazione delle route. Si noti come mediamente siano pi` u grandi dellesercizio precedente in quanto non esiste pi` u il link R2R4 a costo molto alto che, di fatto, impediva ai pacchetti di seguire quella direzione, il che consentiva di aggregare un maggior numero di destinazioni nelle route che seguivano le altre direzioni. R1
Tipo D D D D S S S S Rete destinazione 130.192.7.216/30 130.192.7.224/30 130.192.7.228/30 130.192.5.0/24 130.192.0.0/21 130.192.6.0/23 130.192.7.220/30 0.0.0.0/0 Next hop 130.192.7.217 130.192.7.225 130.192.7.229 130.192.5.1 130.192.7.218 130.192.7.230 130.192.7.218 130.192.7.224 Costo 0 0 0 0 2 2 1 2
R2
Tipo D D D D D S S S S Rete destinazione 130.192.7.216/30 130.192.7.220/30 130.192.0.0/23 130.192.2.0/23 130.192.4.0/24 130.192.7.232/30 130.192.7.192/28 130.192.7.0/25 0.0.0.0/0 Next hop 130.192.7.218 130.192.7.221 130.192.0.1 130.192.2.1 130.192.4.1 130.192.7.222 130.192.7.222 130.192.7.222 130.192.7.217 Costo 0 0 0 0 0 1 1 1 2
R3
Tipo D D D D D S S S S Rete destinazione 130.192.7.228/30 130.192.7.232/30 130.192.7.208/29 130.192.7.128/26 130.192.6.0/24 130.192.7.0/25 130.192.7.192/28 130.192.7.220/30 0.0.0.0/0 Next hop 130.192.7.229 130.192.7.233 130.192.7.209 130.192.7.129 130.192.6.1 130.192.7.234 130.192.7.234 130.192.7.234 130.192.7.229 Costo 0 0 0 0 0 1 1 1 2
54
R4
Tipo D D D D S S S S Rete destinazione 130.192.7.220/30 130.192.7.232/30 130.192.7.0/25 130.192.7.192/28 130.192.7.216/30 130.192.0.0/22 130.192.4.0/24 0.0.0.0/0 Next hop 130.192.7.222 130.192.7.234 130.192.7.1 130.192.7.193 130.192.7.221 130.192.7.221 130.192.7.221 130.192.7.233 Costo 0 0 0 0 2 1 1 2
55
Robustezza al guasto R3-R4 Il problema maggiore della soluzione ` e per` o il fatto che le route di backup per le reti 7.0/25 e 7.192/28 non sono assolutamente ecaci, in quanto R1 non ` e assolutamente in grado di reagire correttamente al guasto sul link R3-R4. Infatti, anche immaginando che il router R3 si accorga del guasto e che la sua routing table risulti essere quella indicata nella gura seguente (tutte le route che si appoggiavano sul next hop 130.192.7.234 vengono invalidate, e pertanto tutto il traco destinato a reti non direttamente connesse seguir` a la route di defalt che ` e lunica rimasta valida), nessuno comunica ad R1 lesistenza di questo guasto e pertanto il router non pu` o sapere che ` e necessario utilizzare le route a costo superiore per raggiungere quelle destinazioni. Il risultato, evidenziato in gura, sar` a che alla ricezione di un pacchetto destinato ad un host in una di queste due reti il router R1 continuer` a ad utilizzare le route a costo 1 verso R3, ma R3 utilizzer` a la default route e spedir` a quel pacchetto indietro ad R1 (le route utilizzate sono indicate nella gura in italic ). Il pacchetto entrer` a in loop e ci rimarr` a, rimbalzando tra R1 ed R3, no a che il suo tempo di vita scade (il valore del campo TTL nellheader IP diventa zero).
56
50 hosts*
500 hosts 130.192.2.0/23 0.1/23 2.1/23 R2 130.192.4.0/24 4.1/24 7.221/30 100 hosts*
Internet
130.192.7.224/30 7.225/30 130.192.7.128/26
130.192.5.0/24
5.1/24 7.217/30
1 130.192.7.216/30
R1
1
1
130.192.7.228/30 130.192.7.220/30 1 130.192.7.232/30
33 hosts
7.230/30 7.129/26
R3 7.233/30 7.209/29
R4
7.1/25 7.193/28
6.1/24
130.192.6.0/24 210 hosts
130.192.7.208/29 5 hosts
130.192.7.192/28 10 hosts
R1 (only static routes) =================================== S 130.192.0.0/21 130.192.7.218 1 S 130.192.6.0/23 130.192.7.230 1 S 130.192.7.220/30 130.192.7.218 1 S 0.0.0.0/0 130.192.7.224 10 S 130.192.7.0/25 130.192.7.218 2 S 130.192.7.192/28 130.192.7.218 2
R3 (only static routes) ================================== S 130.192.7.0/25 130.192.7.234 1 S 130.192.7.192/28 130.192.7.234 1 S 130.192.7.220/30 130.192.7.234 1 S 0.0.0.0/0 130.192.7.229 2
Purtroppo non c` e soluzione a questo problema in quanto ` e intrinseco allutilizzo delle route di backup con il routing statico. Non ` e pertanto possibile proporre soluzioni migliorative al gestore se non quella di adottare un protocollo di routing dinamico allinterno della sua rete.
57
3.14.2. Caso 2
Il router R2 rileva che il pacchetto deve seguire la default route e pertanto deve essere consegnato al next hop 192.168.1.1. Tuttavia, questo indirizzo non fa parte delle reti IP direttamente connesse ad R2 e pertanto R2 non ha idea di come inoltrare il pacchetto al next hop indicato nella tabella di routing. Il fatto che il MAC address relativo a questo indirizzo IP sia presente nella ARP cache non ` e di nessun aiuto, in quanto il router R2 abortir` a linvio del pacchetto prima di consultare lARP cache. Questa tabella viene infatti consultata quando si vuole scoprire lindirizzo MAC di un host direttamente raggiungibile, condizione che non vale per lindirizzo 192.168.1.1. Di conseguenza, anche in questo caso il pacchetto generato da H2 non arriver` a mai a destinazione e verr` a droppato da R2.
3.14.3. Caso 3
Il router R2 rileva che il pacchetto deve seguire la default route e pertanto deve essere consegnato al next hop 192.168.4.1. Questo indirizzo ` e direttamente raggiungibile attraverso la sua interfaccia ethernet con indirizzo 192.168.4.254; inoltre il suo indirizzo MAC associato (indirizzo a cui consegnare la trama a livello data-link) ` e gia` a conosciuto in quanto presente nella ARP cache. Pertanto, il router R2 inoltrer` a il pacchetto verso la LAN1, inserendo lindirizzo 00:00:00:DD:DD:DD come indirizzo Ethernet di destinazione. Tale trama verr` a pertanto ricevuta dal router R2 stesso ma sullinterfaccia 192.168.3.254, in quanto lindirizzo MAC presente come destinazione coincide con quello presente su quella interfaccia2 . A questo punto il pacchetto verr` a nuovamente esaminato da R2 che ri-prender` a le stesse decisioni gi` a applicate in precedenza. Di conseguenza, anche in questo caso il pacchetto generato da H2 non arriver` a mai a destinazione ma cicler` a sulla LAN 1 no a quando esaurir` a il suo tempo di vista (IP TTL) e verr` a nalmente droppato da R2.
Si noti come lindirizzo del next hop contenuto nella routing table (ossia 192.168.4.1) ` e assolutamente svincolato dallindirizzo eettivo dellinterfaccia che riceve questo pacchetto sulla LAN (ossia 192.168.3.254).
58