Le rotte statiche sono voci di routing configurate manualmente dall’amministratore. A differenza dei protocolli dinamici (OSPF, EIGRP, BGP) non generano traffico di controllo e non reagiscono automaticamente ai cambi di topologia, ma restano la scelta ideale per reti piccole, stub network e link verso Internet, dove il comportamento è deterministico e prevedibile.

Anatomia di una rotta statica IPv4

La sintassi essenziale su IOS/IOS-XE è:

ip route <rete-destinazione> <subnet-mask> <next-hop | exit-interface> [AD]

Esistono tre tipi principali:

Tipo Esempio Uso tipico
Rotta di rete ip route 10.1.0.0 255.255.0.0 192.168.1.2 Raggiungere una subnet remota
Rotta host ip route 10.1.1.5 255.255.255.255 192.168.1.2 Un singolo host (/32)
Default route ip route 0.0.0.0 0.0.0.0 192.168.1.2 “Gateway of last resort” verso Internet/upstream

La default route (quad-zero) matcha qualsiasi destinazione non presente in tabella ed è la rotta meno specifica: viene usata solo quando nessun’altra voce corrisponde, per via del principio del longest prefix match.

Next-hop, exit-interface e recursive lookup

Il modo in cui specifichi la rotta cambia il comportamento del router:

  • Solo next-hop (ip route 10.1.0.0 255.255.0.0 192.168.1.2): il router deve fare un recursive lookup, cioè cercare in tabella come raggiungere 192.168.1.2 prima di poter inoltrare. Se quel next-hop non è risolvibile, la rotta non viene installata.
  • Solo exit-interface (ip route 10.1.0.0 255.255.0.0 GigabitEthernet0/1): niente ricorsione, il router assume la destinazione direttamente raggiungibile dall’interfaccia. Su link point-to-point (seriale, PPP) funziona bene, ma su segmenti multiaccesso (Ethernet) è pericoloso: il router genera una richiesta ARP per ogni host di destinazione, sovraccaricando il vicino (proxy ARP) o fallendo l’inoltro.
  • Fully specified (ip route 10.1.0.0 255.255.0.0 GigabitEthernet0/1 192.168.1.2): combina interfaccia e next-hop, elimina la ricorsione e la dipendenza da proxy ARP. È la best practice su Ethernet.

Floating static route (backup)

L’Administrative Distance (AD) misura l’affidabilità della sorgente di una rotta. Valori chiave di default:

Sorgente AD
Connected 0
Static 1
EIGRP (internal) 90
OSPF 110
RIP 120

Una floating static route è una rotta statica di backup con AD aumentata manualmente oltre quella della rotta primaria. Finché la primaria è attiva e ha AD inferiore, il router usa solo quella; la floating resta fuori dalla tabella. Se la primaria cade (link down o next-hop non risolvibile), la floating “galleggia” verso l’alto e viene installata.

Esempio: primaria via ISP-A (AD default 1), backup via ISP-B con AD 5:

ip route 0.0.0.0 0.0.0.0 203.0.113.1
ip route 0.0.0.0 0.0.0.0 198.51.100.1 5

Il valore chiave è che l’AD del backup deve essere maggiore di quello della primaria ma coerente: se per errore la floating ha AD uguale o inferiore, il router farebbe load-balancing o preferirebbe il backup, vanificando lo scopo.

Static routing IPv6

La logica è identica; cambia solo la sintassi e l’abilitazione del routing:

ipv6 unicast-routing
ipv6 route 2001:db8:acad::/48 2001:db8:1::2
ipv6 route ::/0 2001:db8:1::2          ! default route IPv6
ipv6 route 2001:db8:acad::/48 Gig0/1 fe80::2   ! fully specified con link-local

Attenzione: con un next-hop link-local (fe80::/10) è obbligatorio specificare anche l’exit-interface, perché lo stesso indirizzo link-local può esistere su più interfacce e non è globalmente univoco.

Trappole tipiche d’esame

  • Recursive lookup fallito → se il next-hop di una rotta statica non è raggiungibile (non esiste una rotta per arrivarci), la statica non compare nella routing table, anche se configurata: verificane sempre la risolvibilità.
  • Exit-interface su Ethernet → uno scenario con ip route ... Gig0/0 su segmento multiaccesso causa ARP flooding / dipendenza da proxy ARP: la risposta corretta è usare la forma fully specified (interfaccia + next-hop).
  • AD del floating troppo bassa → se la floating static ha AD ≤ della primaria, viene installata subito (o si crea load-balancing indesiderato). La soluzione giusta è un valore maggiore dell’AD della rotta primaria (es. 5 vs 1).
  • Default route IPv6 → il prefisso di default in IPv6 è ::/0, non 0.0.0.0/0; una domanda che propone quad-zero per IPv6 è errata.
  • Link-local senza interfaccia → una ipv6 route con next-hop fe80::... senza exit-interface viene rifiutata: va sempre fully specified.
  • Longest prefix match → in presenza di una rotta specifica e di una default, il traffico segue sempre la più specifica; la default è solo “of last resort”.