Tipi di instradamento
Per poter instradare un pacchetto, un router deve conoscere almeno quanto segue:
- Indirizzo di destinazione a cui è destinato il pacchetto. I protocolli di livello 3 come un IP si prendono cura di questo.
- Router adiacenti da cui è possibile conoscere le reti remote e trasferire i pacchetti verso la destinazione.
- Percorsi verso reti remote e un modo per determinare il percorso migliore per ciascuna di esse.
- Modo per apprendere, verificare e gestire le informazioni di instradamento. Le informazioni di routing incomplete, errate o instabili sono peggiori che non avere informazioni di routing. Se un router non dispone di informazioni di instradamento, lascerà cadere i pacchetti e informerà la fonte. Se un router ha informazioni di instradamento errate, i loop possono formarsi e interrompere le reti.
Come avresti già capito, l’essenza del routing è il modo in cui il router apprende le reti remote. Le informazioni di instradamento vengono memorizzate nella tabella di instradamento chiamata anche Routing Information Base (RIB) . Il RIB è costituito da rotte verso le reti di destinazione. Ogni percorso è una combinazione dell’indirizzo di rete di destinazione, della maschera di sottorete e del salto successivo verso la destinazione. Ci sono tre modi in cui un router può apprendere i percorsi:
- Instradamento statico : questo è il metodo con cui un amministratore aggiunge manualmente le rotte alla tabella di instradamento di un router. Questo è un metodo per piccole reti ma non è scalabile per reti più grandi.
- Routing predefinito : questo è il metodo in cui tutti i router sono configurati per inviare tutti i pacchetti verso un singolo router. Questo è un metodo molto utile per piccole reti o per reti con un unico punto di ingresso e di uscita. Di solito viene utilizzato in aggiunta al routing statico e / o dinamico.
- Routing dinamico : questo è il metodo in cui vengono utilizzati protocolli e algoritmi per propagare automaticamente le informazioni di routing. Questo è il metodo di instradamento più comune e più complesso. Ogni protocollo di instradamento può avere capitoli o persino interi libri scritti su di esso. La maggior parte di loro ha uno o più RFC dedicati. Infatti, l’intero capitolo successivo è dedicato al routing dinamico.
Le sezioni seguenti esaminano ciascuno di questi tipi di routing durante l’implementazione dei primi due tipi nella nostra rete di esempio.
Instradamento statico
Quando si aggiungono manualmente percorsi alla tabella di instradamento, viene chiamato instradamento statico. Ci sono vantaggi e svantaggi nell’utilizzo del routing statico. I vantaggi sono:
- Non vi è alcun sovraccarico in termini di utilizzo della CPU del router e larghezza di banda tra i router. Quando viene utilizzato il routing dinamico, i pacchetti vengono scambiati tra i router e questo utilizza la larghezza di banda. Ciò può essere costoso quando attraversano collegamenti WAN. Anche i router devono elaborare questi pacchetti e ciò consuma anche alcuni cicli della CPU.
- Aggiunge un certo grado di sicurezza poiché l’amministratore controlla quali percorsi i router possono conoscere e apprendere.
Gli svantaggi del routing statico sono:
- L’amministratore ha bisogno di conoscere l’internetwork così bene da sapere dove si trova ogni rete di destinazione e qual è il prossimo salto verso di essa.
- Ogni modifica deve essere eseguita manualmente su ogni router nella rete.
- Nelle reti di grandi dimensioni questo può essere ingestibile.
Per aggiungere una route statica, utilizzare il seguente comando nella modalità di configurazione globale:IP route destination_network mask {next_hop_address | exit_interface}
Come puoi vedere, il comando è piuttosto semplice. È necessario specificare l’indirizzo di rete di destinazione, la sua maschera e l’indirizzo del salto successivo verso la destinazione. È inoltre possibile specificare l’interfaccia di uscita invece dell’indirizzo dell’hop successivo. L’utilizzo dell’interfaccia di uscita farà sì che il router risponda o la query ARP e la risposta dal router dell’hop successivo e non è generalmente consigliato.
Figura 4-2 Instradamento statico
Configuriamo la nostra rete di esempio mostrata nella Figura 4-2 (la Figura 4-1 è ripetuta come nella Figura 4-2 in modo che sia più facile da capire), usando il routing statico. Per configurare il routing statico, è necessario esaminare il percorso del traffico dall’origine alla destinazione e di nuovo dalla destinazione all’origine. Ogni router nel percorso dovrebbe conoscere la rete di origine e di destinazione. Quindi, supponendo che la nostra sorgente sia nella rete 192.168.1.0/24 (Host1) e la nostra destinazione sia nella rete 192.168.5.0/24 (Host3), diamo un’occhiata al percorso dalla sorgente alla destinazione, che è Router1-> Router2-> Router3.
- Router1 non conosce la rete di destinazione. Quindi dobbiamo aggiungere una rotta. Il salto successivo per Router1 verso la destinazione è l’interfaccia fa0 / 0 del Router2. Il percorso può essere aggiunto utilizzando il seguente comando:
- Router1 (config) #ip route 192.168.5.0 255.255.255.0 10.1.1.2
- Router2 inoltre non conosce la rete di destinazione. Quindi dobbiamo aggiungere un percorso che gli dica che il prossimo salto verso 192.168.5.0/24 è l’interfaccia fa0 / 0 del Router3. Il seguente comando può essere utilizzato per aggiungere la rotta:
- Router2 (config) #ip route 192.168.5.0 255.255.255.0 10.1.2.2
- Router3 conosce la rete di destinazione poiché è direttamente connesso ad essa. Quindi non è necessario aggiungere un percorso.
Seguendo il percorso di ritorno dalla destinazione alla sorgente, che è Router3-> Router2-> Router1:
- Router3 non conosce la rete 192.168.1.0/24, quindi è necessario aggiungere un percorso utilizzando il seguente comando:
- Router3 (config) #ip route 192.168.1.0 255.255.255.0 10.1.2.1
- Router2 inoltre non conosce la rete 192.168.1.0/24, quindi è necessario aggiungere un percorso utilizzando il seguente comando:
- Router2 (config) #ip route 192.168.1.0 255.255.255.0 10.1.1.1
- Il router1, essendo collegato direttamente a 192.168.1.0/24, conosce già la rete.
Per visualizzare la tabella di routing e verificare il routing statico, è possibile utilizzare il comando show ip route . Di seguito è riportato l’output di tutti e tre i router nel nostro esempio:
Router1#sh ip route
Codes: C – connected, S – static, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2
i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2
ia – IS-IS inter area, * – candidate default, U – per-user static route
o – ODR, P – periodic downloaded static route
Gateway of last resort is not set
S 192.168.5.0/24 [1/0] via 10.1.1.2
10.0.0.0/24 is subnetted, 1 subnets
C 10.1.1.0 is directly connected, FastEthernet0/1
C 192.168.1.0/24 is directly connected, FastEthernet0/0
Router2#sh ip route
-output truncated–
S 192.168.5.0/24 [1/0] via 10.1.2.2
10.0.0.0/24 is subnetted, 2 subnets
C 10.1.2.0 is directly connected, FastEthernet0/1
C 10.1.1.0 is directly connected, FastEthernet0/0
S 192.168.1.0/24 [1/0] via 10.1.1.1
Router3#sh ip route
-output truncated–
Gateway of last resort is not set
CÂ Â Â 192.168.5.0/24 is directly connected, FastEthernet0/1
10.0.0.0/24 is subnetted, 1 subnets
CÂ Â Â Â Â Â 10.1.2.0 is directly connected, FastEthernet0/0
SÂ Â Â 192.168.1.0/24 [1/0] via 10.1.2.1
Sebbene l’output del comando show ip route sarà discusso in dettaglio più avanti nel capitolo e nel prossimo capitolo, ecco alcune cose che devi sapere ora:
- La lettera all’inizio di ogni riga mostra come è stato appreso il router. Il significato di ogni lettera è dato all’inizio dell’output come si può vedere dall’output del Router1. C sta per percorsi collegati direttamente. Queste sono le reti a cui il router è direttamente connesso. S sta per percorsi statici. Come puoi vedere, i percorsi che hai aggiunto vengono visualizzati in righe che iniziano con S.
- Dovresti verificare la rete e la subnet mask nell’output per vedere se hai digitato le informazioni corrette.
- L’indirizzo IP dopo “via” mostra l’indirizzo hop successivo per questa destinazione.
Gli output mostrano che tutti i percorsi che hai aggiunto sopra hanno avuto effetto e il traffico può fluire tra le reti 192.168.1.0/24 e 192.168.5.0/24 in entrambe le direzioni ora. Avrai notato che il Router1 ancora non conosce la rete tra Router2 e Router3 (10.1.2.0/24) e Router3 non conosce la rete tra Router1 e Router2 (10.1.1.0/24). Sebbene non sia necessario che conoscano queste reti, dal punto di vista della risoluzione dei problemi è meglio aggiungere percorsi per queste reti anche come mostrato di seguito:
Router1 (config) #ip route 10.1.2.0 255.255.255.0 10.1.1.2
Router3 (config) #ip route 10.1.1.0 255.255.255.0 10.1.2.1
Dopo che queste route sono state aggiunte, la rete di esempio ha una raggiungibilità completa utilizzando il routing statico.
Routing predefinito
Il routing predefinito può essere considerato un tipo speciale di routing statico. La differenza tra una normale rotta statica e una rotta predefinita è che una rotta predefinita viene utilizzata per inviare pacchetti destinati a qualsiasi destinazione sconosciuta a un singolo indirizzo hop successivo. Per capire come funziona, si consideri il Router1 del nostro esempio (Figura 4-2), senza alcuna route statica in esso. Quando riceve un pacchetto destinato a 192.168.5.0/24 lo rilascia poiché non sa dove si trova la rete di destinazione. Se una route predefinita viene aggiunta nel Router1 con l’indirizzo del salto successivo del Router2, tutti i pacchetti destinati a qualsiasi destinazione sconosciuta, come 192.168.5.0/24 verranno inviati al Router2.
Le rotte predefinite sono utili quando si ha a che fare con una rete con un unico punto di uscita. È anche utile quando una massa di reti di destinazione deve essere instradata a un singolo dispositivo dell’hop successivo. Quando si aggiunge un percorso predefinito, è necessario assicurarsi che il dispositivo del salto successivo possa instradare ulteriormente il pacchetto, altrimenti il ​​dispositivo del salto successivo lascerà cadere il pacchetto.
Un altro punto da ricordare è che quando nella tabella di instradamento è presente una rotta più specifica verso una destinazione, il router utilizzerà quella rotta e non quella predefinita. L’unico caso in cui il router utilizzerà il percorso predefinito è quando non esiste un percorso specifico.
Il comando per aggiungere una route predefinita è uguale a quello per l’aggiunta di una route statica, ma con l’indirizzo di rete e la maschera impostati su 0.0.0.0 come mostrato di seguito:
ip route 0.0.0.0 0.0.0.0Â next-hop
Nella nostra rete di esempio, l’unico punto di uscita per le reti 192.168.1.0/24 e 192.168.5.0/24 è verso Router2. Quindi, possiamo rimuovere le rotte statiche da Router1 e Router3 e aggiungere rotte predefinite come mostrato di seguito:
Router1 (config) # no ip route 10.1.2.0 255.255.255.0 10.1.1.2
Router1 (config) #no ip route 192.168.5.0 255.255.255.0 10.1.1.2
Router1 (config) #ip route 0.0.0.0 0.0.0.0 10.1.1.2
Router3 (config) # no ip route 10.1.1.0 255.255.255.0 10.1.2.1
Router3 (config) #no ip route 192.168.1.0 255.255.255.0 10.1.2.1
Router3 (config) #ip route 0.0.0.0 0.0.0.0 10.1.2.1
Ricorda che dal momento che Router2 ha più esistenti, non puoi utilizzare il routing predefinito lì. Ha ancora bisogno delle rotte statiche.
Dai un’occhiata alla tabella di instradamento su Router1 e Router3 dopo le modifiche precedenti:
Router1#sh ip route
–output truncated–
Gateway of last resort is 10.1.1.2 to network 0.0.0.0
10.0.0.0/24 is subnetted, 1 subnets
C 10.1.1.0 is directly connected, FastEthernet0/1
C 192.168.1.0/24 is directly connected, FastEthernet0/0
S* 0.0.0.0/0 [1/0] via 10.1.1.2
Router3#sh ip route
–output truncated–
Gateway of last resort is 10.1.2.1 to network 0.0.0.0
CÂ Â Â 192.168.5.0/24 is directly connected, FastEthernet0/1
10.0.0.0/24 is subnetted, 1 subnets
CÂ Â Â Â Â Â 10.1.2.0 is directly connected, FastEthernet0/0
S*Â Â 0.0.0.0/0 [1/0] via 10.1.2.1
istanza è ora il salto successivo come specificato nella rotta predefinita.
Un secondo modo per aggiungere una rotta predefinita sarebbe specificare l’interfaccia di uscita invece dell’indirizzo dell’hop successivo. Ad esempio, su Router1, puoi usare il seguente comando al posto di quello usato sopra:
Router1 (config) #ip route 0.0.0.0 0.0.0.0 fa0 / 0
Questo dice alla rotta di inoltrare tutti i pacchetti, destinati a destinazioni sconosciute, fuori fa0 / 0. Sebbene ciò compirà la stessa cosa, la grande differenza è che una rotta statica con un’interfaccia di uscita specificata avrà la preferenza su una rotta statica con il salto successivo specificato. Questo perché la distanza amministrativa di un percorso con interfaccia di uscita è inferiore rispetto all’altro. La distanza amministrativa è trattata più avanti nel capitolo.
Un terzo modo per definire un percorso predefinito è usare il comando ip default-network . Usando questo comando puoi dire al router di usare l’indirizzo next-hop di una rete conosciuta come gateway di ultima istanza. Ad esempio, sul Router1, puoi utilizzare i seguenti due comandi per impostare il gateway di ultima istanza:
Router1 (config) #ip route 10.1.2.0 255.255.255.0 10.1.1.2
Router1 (config) #ip default-network 10.1.2.0Â
Il secondo comando farà in modo che il router cerchi la rotta verso 10.1.2.0 e utilizzi 10.1.1.2 (indirizzo dell’hop successivo per 10.1.2.0) come gateway di ultima istanza.
La tabella di routing apparirà come mostrato di seguito, dopo aver immesso i due comandi precedenti:
Router1#sh ip route
Codes: C – connected, S – static, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2
i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2
ia – IS-IS inter area, * – candidate default, U – per-user static route
o – ODR, P – periodic downloaded static route
Gateway of last resort is 10.1.1.2 to network 10.1.2.0
SÂ Â Â 10.1.2.0/24 [1/0] via 10.1.1.2
   10.0.0.0/24 is subnetted, 1 subnets
CÂ Â Â Â Â Â 10.1.1.0 is directly connected, FastEthernet0/1
CÂ Â Â 192.168.1.0/24 is directly connected, FastEthernet0/0
La differenza tra l’utilizzo del comando ip route e il comando ip default-network per l’aggiunta di una route predefinita è che la route aggiunta utilizzando il comando ip route è locale e non viene propagata attraverso un protocollo di routing, se abilitato. Il percorso aggiunto tramite il comando ip default-network verrà propagato da un protocollo di routing.
Un’altra cosa da ricordare è che prima della versione IOS 12.4, il comando ip classless non era abilitato per impostazione predefinita. Ricorderai dal Capitolo 2 che se il comando ip classless non viene utilizzato, il router eseguirà un routing di classe e si aspetterà una maschera predefinita su ciascuna interfaccia. Un effetto collaterale della mancanza di questo comando è che se la rete di destinazione non è nella tabella di instradamento, il router lascerà cadere il pacchetto. Se stai usando il routing predefinito, è possibile che tu non abbia percorsi specifici nella tabella. Quindi è necessario abilitare il routing senza classi utilizzando il comando ip classless affinché il routing predefinito funzioni.
Routing dinamico
Il routing dinamico si verifica quando i protocolli, chiamati protocolli di routing, vengono utilizzati per creare le tabelle di routing attraverso la rete. L’uso di un protocollo di routing è più semplice del routing statico e del routing predefinito, ma è più costoso in termini di utilizzo della CPU e della larghezza di banda. Ogni protocollo di routing definisce le proprie regole per la comunicazione tra i router e la selezione del percorso migliore.
I protocolli di routing sono ampiamente classificati come IGP (Interior Gateway Protocols) o EGP (Exterior Gateway Protocols). Gli IGP vengono utilizzati per scambiare informazioni di instradamento all’interno di reti interne che rientrano in un unico dominio amministrativo (chiamato anche sistemi autonomi). Gli EGP, d’altra parte, vengono utilizzati per scambiare informazioni di instradamento tra diversi sistemi autonomi. Esempi comuni di IGP sono Routing Information Protocol (RIP), Enhanced Interior Gateway Routing Protocol (EIGRP) e Open Shortest Path First (OSPF). Questi sono trattati in dettaglio nel prossimo capitolo. D’altra parte, Border Gateway Protocol (BGP) è un esempio di EGP. È il protocollo utilizzato per instradare lo scambio di informazioni su Internet. Va oltre lo scopo del CCNA, quindi non lo tratteremo in questo libro.
Mentre il prossimo capitolo copre gli IGP in dettaglio, il resto di questo capitolo è dedicato alle basi dei protocolli di routing che sono necessari per la comprensione prima di esaminare protocolli specifici.