Il Router: architettura hardware, tabella di routing e routing statico
Dal livello 2 al livello 3: come un router inoltra i pacchetti, come legge la routing table (LPM, Administrative Distance) e come configurare route statiche, default route e floating static su Cisco IOS.
1. Cos'è un router e perché esiste
Uno switch connette dispositivi all'interno della stessa rete logica — usa indirizzi MAC, opera al livello 2 e non sa nulla di IP. Un router invece connette reti diverse tra loro: prende un pacchetto IP, guarda l'indirizzo di destinazione e decide su quale interfaccia spedirlo affinché raggiunga la sua rete di destinazione. È il dispositivo che rende possibile Internet.
La metafora classica: uno switch è il corridoio di un palazzo (muovi i pacchi da una stanza all'altra sullo stesso piano), un router è l'ufficio postale (ricevi una busta, leggi il CAP, la smisto verso la città giusta).
Un router è un dispositivo di rete che opera al livello 3 (Network) del modello OSI. Riceve pacchetti IP, consulta la propria routing table per determinare il percorso verso la rete di destinazione e li inoltra sull'interfaccia appropriata. Ogni interfaccia appartiene a una subnet distinta.
2. Architettura hardware di un router
Un router Cisco (e la maggior parte dei router enterprise) è essenzialmente un computer specializzato con componenti dedicati al forwarding dei pacchetti:
| Componente | Funzione | Analogia PC |
|---|---|---|
| CPU | Esegue il sistema operativo (IOS), processa i protocolli di routing, gestisce la CLI | CPU |
| RAM | Contiene routing table, running-config, buffer pacchetti. Volatile: si cancella al riavvio | RAM |
| Flash | Memorizza l'immagine IOS. Persistente | SSD/HDD |
| NVRAM | Contiene startup-config (caricata al boot). Persistente | UEFI storage |
| Interfacce | Porte fisiche (Ethernet, seriali, fibre). Ogni porta = interfaccia = subnet diversa | NIC |
| ROM | Bootstrap: POST e mini-IOS di emergenza (ROMMON) | BIOS chip |
Le modifiche in CLI modificano la running-config in RAM — operative subito ma perse al riavvio. Per renderle permanenti esegui copy running-config startup-config (o wr). Dimenticarlo è l'errore #1 in laboratorio.
3. Il processo di routing – MAC cambia, IP resta
Quando un pacchetto arriva su un'interfaccia del router, il processo è:
Riceve frame L2
Decapsula il frame Ethernet ed estrae il pacchetto IP dal payload.
IP destinazione
Legge l'IP di destinazione dall'header IP.
Lookup routing table
Cerca longest prefix match per quell'IP.
Interfaccia + next-hop
Determina interfaccia di uscita e IP del prossimo router.
Decremento TTL
TTL--, se 0 scarta + ICMP Time Exceeded.
Nuovo frame L2
Riscrive MAC src/dst del next-hop e trasmette.
Ad ogni hop il router riscrive gli indirizzi MAC di sorgente e destinazione (livello 2), ma gli indirizzi IP restano invariati per tutto il percorso end-to-end. Questo è il principio chiave del modello a strati.
4. La routing table e i codici sorgente
La routing table è il cuore di ogni router. Lista ordinata di voci che associano prefissi di rete ai percorsi per raggiungerli.
Struttura di una voce
| Campo | Descrizione | Esempio |
|---|---|---|
| Codice sorgente | Come è stata appresa la route | C S R O B |
| Rete destinazione | Indirizzo + maschera (prefisso) | 192.168.10.0/24 |
| AD | Affidabilità sorgente (minore = preferita) | [1] |
| Metrica | Costo percorso (hop, bw, delay...) | [0] |
| Next-hop | IP prossimo router o interfaccia | via 10.0.0.1 |
| Interfaccia uscita | Porta da cui inviare | GigabitEthernet0/1 |
| Timestamp | Da quanto tempo nota | 00:05:43 |
Codici sorgente IOS
| Codice | Significato | AD predefinita |
|---|---|---|
C | Connected — rete direttamente connessa su interfaccia attiva | 0 |
L | Local — IP dell'interfaccia stessa (host /32) | 0 |
S | Static — configurata manualmente | 1 |
R | RIP — appresa via RIP | 120 |
O | OSPF — appresa via OSPF | 110 |
D | EIGRP — appresa via EIGRP | 90 |
B | BGP — appresa via BGP esterno | 20 |
* | Candidate default route | — |
Output reale: show ip route
5. Longest Prefix Match
Quando un pacchetto deve essere instradato verso 192.168.1.50 e la routing table contiene sia 192.168.1.0/24 che 192.168.1.48/28, quale vince?
Quando più voci corrispondono all'IP di destinazione, il router seleziona quella con la maschera più lunga (più specifica). /28 batte /24, /24 batte /16, tutte battono /0.
Routing table: 10.0.0.0/8, 10.1.0.0/16, 10.1.5.0/24. Arriva pacchetto per 10.1.5.77. Tutte matchano, ma /24 è la più lunga → vince. È come cercare un indirizzo: prima la nazione (/8), poi città (/16), poi via (/24).
6. Administrative Distance e metrica
Cosa succede se la stessa rete è appresa da due sorgenti diverse — es. statica e OSPF verso 10.0.0.0/8? Il router usa l'Administrative Distance.
AD confronta sorgenti diverse (statico vs OSPF vs RIP). Metrica confronta percorsi diversi appresi dalla stessa sorgente (due OSPF verso stessa rete). Sequenza: prima AD, poi metrica.
| Sorgente | AD | Quando preferita |
|---|---|---|
| Connected (C) | 0 | Sempre la più affidabile |
| Static (S) | 1 | Piccole reti, controllo manuale |
| EIGRP internal | 90 | Cisco interno |
| OSPF | 110 | Reti enterprise |
| RIP | 120 | Reti legacy |
| Floating static es. 200 | 200 | Solo se la primaria sparisce → backup |
7. Routing statico, default route e floating static
Il routing statico significa configurare manualmente ogni route. Nessun protocollo scambia informazioni: sei tu a dire “per X passa per Y”.
Reti piccole
1-3 router, stub network con un solo percorso uscita, controllo totale, default verso ISP.
Cisco IOS
ip route dest mask next-hop|interface [AD]
show + ping
show ip route static, ping, traceroute, show ip int brief.
Configurazione IOS – Sintassi
Esempi pratici
Floating Static Route
Una floating static route è configurata con AD più alta della route principale (dinamica). Entra in RIB solo se la primaria scompare. Failover manuale economico.
Route principale via OSPF AD 110: O 10.0.0.0/8 [110/20] via 192.168.1.2
FLoating static AD 200: ip route 10.0.0.0 255.0.0.0 192.168.2.2 200
Finché OSPF funziona, la floating non appare. Se OSPF cade, diventa attiva automaticamente.
Verifica e troubleshooting
8. Limitazioni del routing statico
Il routing statico non scala e non si adatta automaticamente.
- Non scala: con 50 reti → 50 route su ogni router. Con 500 → ingestibile.
- Non si adatta: se un link cade, il router continua a tentare su quel percorso.
- Errori umani: refuso → blackhole silenzioso difficile da trovare.
- Manutenzione: ogni cambio topologia richiede update manuale su tutti i router.
Per reti complesse o con topologie che cambiano si usano i protocolli di routing dinamico — argomento della prossima lezione.
9. Verifica e laboratorio
🔬 Attività Packet Tracer + CLI
Usa i file PKT in risorse. Topologia: 2 router, 2 switch, 2 LAN 192.168.10.0/24 e 192.168.20.0/24, link seriale 10.0.0.0/30.
- Configura IP su interfacce,
no shutdown, verificashow ip interface brief. Perché C e L compaiono solo se interfaccia up/up? - Aggiungi su R1:
ip route 192.168.20.0 255.255.255.0 10.0.0.2e su R2 viceversa. Verifica conshow ip route staticeping. - Configura default route verso ISP:
ip route 0.0.0.0 0.0.0.0 203.0.113.1. Cosa mostraGateway of last resort? - Simula longest prefix match: aggiungi
192.168.20.64/26via altro next-hop. Pinga .10.0.70 vs .10.0.75, quale percorso viene scelto? - Configura floating static AD 200 come backup di una route OSPF. Spegni interfaccia OSPF: cosa succede nella RIB?
- IPv6: ripeti con
ipv6 route 2001:db8:20::/64 2001:db8:12::2e::/0. Usa PKT IPv6.
LPM: .70 in /24 e /26? /26 (.64-.127) è più lunga → vince. .75 → stesso, va via /26. AD: se hai S AD 1 e O AD 110 per stessa rete, in RIB compare solo S. La O è nel database OSPF ma non installata. Per farla diventare backup, crea S con AD 200: finché O è presente (110 < 200), O vince; se O cade, la S con AD 200 viene installata automaticamente.
10. Riepilogo e concetti chiave
ip route rete mask next-hop. Default: 0.0.0.0 0.0.0.0. Floating: AD alta es. 200 → backup automatico.📚 Prossimo passo – Routing dinamico: algoritmi e protocolli RIP e OSPF
Il routing statico non scala né si adatta ai guasti. Nella prossima lezione vedremo distance-vector vs link-state, RIP (hop count) e OSPF (Dijkstra, metric cost, aree). Prepara i PKT e ripassa AND binario e LPM!