P2/2 Routing statico

2.0 Introduzione

2.0.1 benvenuto

2.0.1.1. static routing.

2.0.1.2. attività - che strada dobbiamo prendere.

2.1 implementare route statiche

2.1.1 routing statico

2.1.1.1 raggiungere reti remote. le route possono essere inserite in routing table manualmente (route statiche) o dinamicamente tramite programmi con protocolli di scambio dati tra i router.

2.1.1.2 perchè utilizzare routing statico?

attributo

dynamic routing

static routing

complessità della configurazione

indipendente dalla grandezza della rete

aumenta con la grandezza della rete

cambiamenti di topologia

automatico

manuale

scalabilità

buona

solo topologie semplici

sicurezza

inferiore

maggiore

uso delle risorse

serve CPU, RAM, banda passante

nessuna risorsa extra

predicibilità

la route dipende dalla topologia

costante

Le route statiche sono utili per piccole reti con un solo cammino verso l’esterno.

2.1.1.3 quando usare route statiche sopratutto in questi casi:

  • per reti piccole che non cresceranno, la manutenzione è semplificata;

  • routing di stub networks 1;

  • uso di una singola default route per indirizzi verso reti non conosciute.

2.1.1.4 attività - vantaggi e svantaggi dello routing statico

2.1.2 tipi di route statiche

2.1.2.1 applicazioni di route statiche in questi casi:

  • connettere reti specifiche;

  • connettere uno stub router;

  • formare una singola entry da un gruppo di entries di una routing table;

  • creare una route di backup rispetto una principale.

Si vedranno:

  • standard static route;

  • defualt static route;

  • summary static route;

  • floating static route.

2.1.2.2 standard static route usato per puntare ad una rete specifica. Sopratutto in router esterni verso stub network.

2.1.2.3 default static route nello stub router per uscire verso le reti esterne. Oppure in router di frontiera per uscire verso Internet tramite il router di un ISP.

2.1.2.4 summary static route per ridurre il numero di entries nella routing table, se vi sono le seguenti condizioni:

  • più reti di destinazione contigue, che possono essere identificate da una singola rete che le include;

  • le reti contigue utilizzano tutte la stessa interfaccia di uscita, o lo stesso next hop IP address;

in tal caso è possibile sostituire le reti contigue con una singola voce che le raggruppa.

2.1.2.5 floating static route. queste route forniscono un backup ad una route primaria, statica o dinamica.

Per ottenere ciò, si configura la floating static route con una AD più alta di quella della route primaria. In tal modo di solito il router non la utilizza.

Ad esempio se una route primaria è dinamica tramite protocollo EIGRP, avrà una distanza amministrativa con valore 90. In tal caso si può configurare la route di backup manualmente con AD di valore 91. In tal modo se la primaria sparisce per un guasto, il router sceglierà il backup.

2.1.2.6 attività - identificare il tipo di static route.

2.2.1 configurare una IPv4 static route

2.2.1.1 comando «ip route». ha la seguente struttura:

R(config)# ip route net-address subnet-mask {ip-address | exit-interface} [distance] [permanent]

distance è la distanza amministrativa. Mentre permanent fa sì che la route venga ricaricata al riavvio del router.

2.2.1.2 opzioni per next-hop è possibile configurare una route statica indicando il next-hop in tre diversi modi, che generano le seguenti route:

  • Next-hop route - quando si indica solo il next-hop;

  • Directly connected static route - se si indica solo l’interfaccia di uscita;

  • Fully specified static route - se si indicano sia il next-hop che l’interfaccia di uscita.

2.2.1.3 configurare un static route con next-hop si ottiene con un comando del tipo:

R1(config)# ip route 172.16.1.0 255.255.255.0 172.16.2.2

indicando prima la rete destinazione e la relativa subnet mask, quindi il solo next-op.

Questa configurazione, detta lookup ricorsivo, va evitata perché il router deve accedere due volte alla routing table:

  • la prima volta dalla rete destinazione risale al next-hop;

  • la seconda volta usa il next-hop per trovare l’interfaccia di uscita.

Una static route ricorsiva è valida solo se la rete del suo next-hop è registrata direttamente o indirettamente nella routing table con una interfaccia di uscita abilitata (up/up).

2.2.1.4 configurare un static route direttamente connessa.

Gli esempi in questa pagina e nelle successive di static route si possono confrontare con il seguente diagramma topologico:

_images/08_static_route.svg

Una stati route direttamente connessa si ottiene con un comando del tipo:

R1(config)# ip route 192.168.2.0 255.255.255.0 s0/0/0

e nella routing table è indicata come:

S   192.168.2.0/24 is directly connected, Serial0/0/0

In questo caso il router deve fare un unico accesso alla routing table per risolvere la modalità d’inoltro del pacchetto. In ogni caso la DA vale 1, non 0.

Usualmente per le interfacce punto punto si usa questa modalità di configurare una static route. Invece per le interfacce multipunto/broadcast si usa il next-hop per configurare una static route.

Nota. L’uso del Cisco Express Forwarding (CEF) supera il problema del lookp ricorsivo. Infatti costruisce allo startup tutte le informazioni necessarie per il routing in due tabelle: la Forwarding Information Base (FIB) e una tabella di adiacenze associata che contiene anche i MAC. In tal modo anche inoltri a entry con il solo next-hop sono risolti con un unico accesso.

CEF è configurato di default in Cisco IOS v.12 e successivi.

2.2.1.5 configurare una fully specified static route.

Nel diagramma di rete topologico illustrato in 2.2.1.4, si sostituisca il collegamento punto-punto tra R1 ed R2 con una Gigabit Ethernet diretta tra i due sistemi. In queste condizioni in R1 si deve configurare una fully specified static route. Si ottiene con un comando del tipo:

R1(config)# ip route 192.168.2.0 255.255.255.0 g0/1 172.16.2.2

ottenendo nella routing table:

S   192.168.2.0/24 [1/0] via 172.16.2.2, GigabitEthernet 0/1

Va usato se CEF non è abilitato e l’interfaccia di uscita è multipoint/broadcast, come ad es. le interfacce Ethernet 2.

Se CEF è abilitato, basta indicare il next-hop.

2.2.1.6 verificare una route statica. Oltre ping e traceroute, altri comandi utili per verificare router statiche sono:

  • show ip route

  • show ip route static

  • show ip route network

2.2.2 configurare IPv4 default route

2.2.2.1 default static route. Questa non richiede il match dei bit dell’indirizzo di rete (quelli a sinistra) con gli analoghi dell’indirizzo destinazione.

Una default static route viene utilizzata quando non vi sono route alternative deducibili dalla route table.

Comunemente la default route route viene utilizzata per connettere:

  • un router di confine alla rete di un service provider;

  • uno stub router.

Per impostarla si usa:

R(config)# ip route 0.0.0.0 0.0.0.0 {next-hop | exit-intf}

I quattro zeri 3 dell’indirizzo indicano che non è richiesto match.

Il next-hop è l’indirizzo da chiamare per instradare il pacchetto: è il prossimo router. Questo crea un lookup ricorsivo. Tipicamente è utilizzato quando il media di connessione al prossimo router è di tipo broadcast (ad es. Ethernet).

exit-intf è l’interfaccia di uscita del router corrente per l’inoltro del pacchetto. Questa si usa quando si ha un collegamento punto-punto. Chiamata anche directly attached static route.

2.2.2.2 configurare una default static route. Prendendo nuovamente il router R1 del diagramma i rete in 2.2.1.4. Con il comando:

R(config)# ip route 0.0.0.0 0.0.0.0 172.16.2.2

si imposta una default route che indirizza tutto il traffico non altrimento routabile verso il router R2.

2.2.2.3 verificare una default static route. Si deve analizzare l’uscita del comando show ip route static.

In particolare il router imposterà un asterisco nella linea della default route, vicino l’indicatore del tipo (la S di static).

Inoltre evidenzierà la dicitura:

Gateway of last resort is 172.16.2.2 to network 0.0.0.0
...
S* 0.0.0.0/0 [1/+] via 172.16.2.2
...

è basilare il fatto che la rete target 0.0.0.0/0 abbia il CIDR /0 ,ovvero il match dei bit di rete avviene con i primi 0 bit da sinistra (ovvero: non è richiesto il match). Tutti i pacchetti che non hanno un match migliore 4, fanno scattare questo, e quindi vengono inoltrati verso il gateway di last resort.

2.2.2.4 packet tracer - configuring IPv4 Static and default Routes

2.2.2.5 lab - configuring IPv4 Static and default Routes

2.2.3 configure IPv6 static routes

2.2.3.1 il comando ipv6 route. La configuraione di rotte IPv6 è analoga a IPv4. Il comando è il seguente:

R(config)# ipv6 ipv6-prefix/prefix-length {ipv6-next-hop | exit-intf}

gli argomenti hanno la stessa logica dell’analogo comando per IPv4. Gli indirizzi sono nel formato IPv6. Ad esempio:

R1(config)# ipv6 unicast-routing
R1(config)# ipv6 route 2001:DB8:ACAD:2::/64 s0/0/0/

2.2.3.2 opzioni next-hop. Come per IPv4, anche in questo caso il next-hop può essere:

  • next-hop static IPv6 route, se si specifica il solo indirizzo next-hop;

  • directly connected static IPv6 route, se si specifica solo l’interfaccia di uscita;

  • fully specified static IPv6 route, se si specificano sia next-hop che interfaccia d’uscita.

Nel seguito si fa riferimento al seguente diagramma topologico:

_images/09_ipv6_static_route.svg

2.2.2.3.3 configurare un Next-hop Static IPv6 route. Si specifica il solo next-hop. Esempio:

R1(config)# ipv6 route 2001:DB8:ACAD:2::/64 2001:DB8:ACAD:4::2

Come per IPv4 anche questo è un recursive loop. Se non vi è CEF attivo, servono due accessi per arrivare all’interfaccia d’uscita.

2.2.3.4 configurare un Directly connected static IPv6 route. In caso di connessioni punto-punto, meglio specificare l’interfaccia d’uscita:

R1(config)# ipv6 route 2001:DB8:ACAD:2::/64 s0/0/0/

2.2.3.5 configure a fully specified static IPv6 route. In questo caso si indicano sia next-hop che interfaccia d’uscita:

R1(config)# ipv6 route 2001:DB8:ACAD:2::/64 s0/0/0 2001:DB8:ACAD:4::2

Un altro caso in cui è necessario specificare l’interfaccia d’uscita, è quando si deve utilizzre un link-local come next-hop. I link-local non sono routabili, quindi non compaiono nella routing table. Da qui la necessità di indicare esplicitamente l’interfaccia d’uscita.

2.2.3.6 verificare IPv6 static routes. Come per IPv4, ma usando IPv6. Quindi:

* **show ipv6 route**
* **show ipv6 route static**
* **show ipv6 route** *network*
* **show running-config | section ipv6 route**

2.2.4 configurare default routes IPv6

2.2.4.1 default static IPv6 route.Come segue:

R(config)# ipv6 route ::/0 {ipv6-next-hop | exit-intf}

Il prefix length a 0 dell’indirizzo ::/0 forza il matching per zero bit del prefisso di rete (ovvero: no match, passa qualunque indirizzo).

2.2.4.2 configurare una default static IPv6 route. Ad esempio come segue:

R(config)# ipv6 route ::/0 2001:DB8:ACAD:4::2

2.2.4.3 verificare un default static IPv6 route. Utilizzare il comando:

R# show ipv6 route static
...
S ::/0 [1/0]
via
2001:DB8:ACAD:4::2

Ipv6 non usa l’asterisco per evidenziare la candidate default route.

2.2.4.4 packet tracer - configurare PIv6 Static e Default routes

2.2.4.5 lab - configurare PIv6 Static e Default routes

2.2.5.1 configurare floating static routes

2.2.5.1 floating static routes. Sono configurazioni di rotte alternative, usualmente non utilzzate dal router, ma configurate come backup se la rotta principale dovesse cadere.

Per consentire l’uso nel modo descritto è necessario impostare la distanza amministrativa esplicitamente perché le rotte statiche hanno distanza amministrativa inferiore a quelle dinamiche, e sarebbero preferite a queste ultime.

Si ricordino le principali AD delle rotte dinamicem dipendenti dal meccanismo di apprendimento:

  • EIGRP = 90

  • IGRP = 100

  • OSPF = 110

  • IS-IS = 115

  • RIP = 120

Quindi se la rotta principale viene appresa con EIGRP (AD = 90), si deve impostare la AD del backup a più di 90. In tal modo usualmente il router usa la rotta principale. Ma se il link cade, allora utilizza di backup.

2.2.5.2 configurare una IPv4 floating static route. Considerando una AD per la rotta principale uquale a 1 (manuale), si può impostare la AD del backup a 5, come segue:

R(config)# ip route 0.0.0.0 0.0.0.0 s0/0/0 172.16.2.2
R(config)# ip route 0.0.0.0 0.0.0.0 s0/0/1 10.10.10.2 5

Per verificare:

R# show ip route static
...
S* 0.0.0.0/0 [1/0] via 172.16.2.2

2.2.5.3 provare la IPv4 floating static route. Una traceroute a regime deve mostrare rotta di default. Ad esempio:

R# traceroute 192.168.2.1
...
  1 172.16.2.2 ...
  2 192.168.1.1 ...

mostra che i pacchetti passano da 172.16.2.2 (exit interface s0/0/0) e poi da 192.168.1.1 per poi raggiungere la destinazione 192.168.2.1.

Se si spegne l’interfaccia di uscita di default:

R(config)# interface s0/0/0 R(config-if)# shutdown

si simula un guasto verso 172.16.2.2. In queste condizioni la routing table cambia:

R# show ip route static
...
S* 0.0.0.0/0 [5/0] via 10.10.10.2

2.2.5.4 configurare una IPv6 floating static route. Similmente al precedente ma usando IPv6:

R(config)# ipv6 route ::/0 2001:db8:acad:4::2
R(config)# ipv6 route ::/0 2001:db8:acad:6::2 5

Il test è analogo al precedente. Basta spegnere (shutdon) l’interfaccia di default per verificare che il router inserisce nella tabella di IPv6 routing la linea di backup.

2.2.5.5 packet tracer - configuring float static routes

2.2.6 configurare static host routes

2.2.6.1 host routes installate automaticamente. Una host route è un indirizzo IPv4 con mask di 32 bits, o un IPv6 con mask di 128 bits.

Una host route può essere aggiuta alla route table in tre modi:

  • installata automaticamente quando viene configurato un IP address nel router (local host router, marcata con L 5);

  • configuato come static route;

  • indirizzi ottenuti con altri metodi, che saranno discussi in altri corsi.

2.2.6.2 configurare static host routes IPv4 e IPv6. La configurazione manuale di una rotta è utile per indirizzare il traffico verso destinazioni precise, ad esempio un server di autenticazione.

Per IPv6 il next-hop può essere un local-link, a patto di indicare la exit-interface.

2.3 troubleshoot di static e default route

2.3.1 processamento dei pacchetti con le static routes

2.3.1.1 static routes e packet forwarding. Riassumendo la gestione del pacchetto:

  1. il client (PC1) chiede una destinazione (PC3), il pacchetto arriva all’interfaccia Gigabit Ethernet 0/= del router R1;

  2. R1 non ha rotta per PC3, usa il default static route;

  3. R1 incapsula il pacchetto in una nuova frame, la destinazione layer 2 è «tutti 1» perché è una seriale punto-punto;

  4. R1 invia la frame tramite la seriale 0/0/0- Il pacchetto arriva alla seriale 0/0/0 di R2.

  5. R2 de-incapsula la frame e controlla la rotta per destinazione. R2 ha una rotta statica verso 192.168.2.0/24 passando dalla seriale 0/0/1.

  6. R2 incapsula il pacchetto in una nuov rame. essendo un link punto-punto R2 aggiunge al layer 2 la destinazione «tutti 1».

  7. R2 inoltra la frame dalla seriale 0/0/1, ,il pacchetto arriva alla seriale 0/0/1 di R3.

  8. R3 de-incapsula la frame e controlla la rotta per la destinazione. R3 ha una connected route per 192.168.2.0/24 attraverso l’interfaccia GigabitEthernet 0/0.

  9. R3 cerca la entry in ARP table per l’indirizzo 192.168.2.10 per trovare il MAC layer 2 di PC3. Se non la trova, invia una ARP request dalla GigabitEthernet 0/0 e PC3 risponde con un ARP reply che comunica il MAC di PC3.

  10. R3 incasula il pacchetto in una nuova frame. A layer 2 la sorgente è il MAC address di GigabitEthernet 0/0, e la destinazione è il MAC address di PC3.

  11. R3 inoltra la frame attraverso GigabitEthernet 0/0. Il pacchetto arriva alla NIC di PC3.

2.3.2.1 troubleshoot di una route mancante. Le reti dati possono cambiare stato piuttosto spesso, ad esempio:

  • per fallimento di una interfaccia;

  • caduta della connessione di un service provider;

  • il link viene sovraccaricato;

  • un amministratore entra una configurazione errata.

Questi, e altri, motivi possono portare a perdite di connessione, e gli amministratori devono rilevarle e risolverle. A questo scopo devono conoscere tool che aiutino a isolare rapidamente i problemi di routing.

Tra i tool principali vi sono:

  • ping,

  • traceroute,

  • show ip route,

  • show ip interface brief,

  • show cdp neighbors detail.

In IOS il ping può avere la seguente forma:

R1# ping 192.168.2.1 source 172.16.3.1

dove il parametro source indica la sorgente del ping. In questo caso si è indicata l’interfaccia gigabitethernet invece della seriale affacciata verso R2.

Traceroute mostra quali router vengono attraversati, e di conseguenza dove si può interrompere la trasmissione.

show ip route mostra la routing table del router.

show ip interface brief da” una sintesi dello stato delle interfacce del router.

show cdp neighbors detail mostra l’elenco dei device connessi direttamente al router. Questo comando valida la connetività a Layer 2. Ad es. se un device qui è elencato ma il ping non funzione, si deve indagare l’indirizzamento IP (layer 3).

2.3.2.2 risolvere un problema di connessione. Trovare una route mancante è abbastanza lineare.

Ad esempio se PC1 non può accedere alle risorse della LAN R3, fallisce il seguente ping:

R1# ping 192.168.2.1 source 172.16.3.1

Una traceroute rivela che R2 non risponde come atteso: rimanda a R1 invece di inoltrare a R3.

Quindi si controlla la routing table di R2, e si osserva che 192.168.2.0/24 è mal configurata. Il suo next-hop è 172.16.2.1, rimandano a R1. Ciò innesca un loop tra R1 e R2. R2 deve essere connesso a R3, il next-hop corretto è 192.168.1.1.

R2# show running-config permette di osservare cil comando che ha impostato la route errata. Va cancellata e reintrodotta con il valore corretto.

Infine verificare l’efficacia della correzione.

2.3.2.3 packet tracer - troubleshooting static routes

2.3.2.4 lab - troubleshooting static routes

2.4 summary

2.4.1 conclusioni

2.4.1.1 attività - make it static

2.4.1.2 capitolo 2: static routing


1

Una stub network ha un unico router con un singolo link verso l’esterno.

2

Perché in questi casi il router deve conoscere non solo (il tipo del)l’interfaccia di uscita, ma anche il MAC address cui inviare la frame.

3

Una default static route è detta anche quad-zero route.

4

Si ricordi: si sceglie la route il cui match è composto dal maggior numero di bit di network. Questo perché è la rotta con l’indirizzo più specifico.

5

Introdotta con IOS versione 15.