Il Router: architettura, tabella di routing e routing statico

// obiettivi di apprendimento
Descrivere l’architettura hardware di un router e il ruolo di ciascun componente
Leggere e interpretare una tabella di routing con tutti i campi (AD, metrica, next-hop)
Configurare route statiche e la default route su un router Cisco IOS
Applicare il principio del longest prefix match per la selezione del percorso migliore
🎬
Video
Routing statico con subnetting e IPv6
Guarda →
📄
Slides
Routing statico
🧪
Lab
Configurazione Routing statico
GitHub →
🧪
Lab
Configurazione Routing statico IPv6
GitHub →
🧪
Lab
Configurazione Routing statico VLAN Subnetting IPv6
GitHub →
🔗
Risorse
PKT Routing statico
PKT →
🔗
Risorse
PKT Routing statico IPv6
PKT →
🔗
Risorse
PKT Routing statico Subnetting VLAN IPv6
PKT →

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).

// definizione formale
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 inoltro sull’interfaccia appropriata. Ogni interfaccia appartiene a una subnet distinta.

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:

ComponenteFunzioneAnalogia PC
CPUEsegue il sistema operativo (IOS), processa i protocolli di routing, gestisce la CLICPU
RAMContiene la routing table, la running-config, i buffer dei pacchetti. Volatile: si cancella al riavvioRAM
FlashMemorizza l’immagine del sistema operativo (IOS). PersistenteSSD/HDD
NVRAMContiene la startup-config (la configurazione che viene caricata al boot). PersistenteBIOS/UEFI storage
InterfaccePorte fisiche (Ethernet, seriali, fibre). Ogni porta = un’interfaccia = una subnetNIC
ROMBootstrap: POST e mini-IOS di emergenza (ROMMON)BIOS chip
// attenzione — running vs startup config

Le modifiche fatte in CLI modificano la running-config in RAM — sono operative immediatamente ma si perdono al riavvio. Per renderle permanenti devi eseguire copy running-config startup-config (o wr). Dimenticarti di farlo è l’errore più comune in laboratorio.

Il Processo di Routing

Quando un pacchetto arriva su un’interfaccia del router, il processo è il seguente:

// processo di forwarding — passo per passo
1. Il router riceve un frame Ethernet: decapsula il frame L2 ed estrae il pacchetto IP dal payload
2. Legge l’IP di destinazione dall’header del pacchetto IP
3. Cerca nella routing table la corrispondenza più specifica (longest prefix match) per quell’IP
4. Determina l’interfaccia di uscita e il next-hop IP (il prossimo router da raggiungere)
5. Decrementa il TTL di 1 (se TTL=0 scarta il pacchetto e invia ICMP Time Exceeded)
6. Rincapsula il pacchetto in un nuovo frame L2 con i MAC address del prossimo hop e trasmette sull’interfaccia di uscita
// nota — il MAC cambia, l’IP no

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 da sorgente a destinazione. Questo è un concetto fondamentale del modello a strati.

La Routing Table

La routing table (o tabella di instradamento) è il cuore di ogni router. È una lista ordinata di voci che associano prefissi di rete ai percorsi per raggiungerli.

Struttura di una voce nella routing table

Ogni riga della routing table contiene:

CampoDescrizioneEsempio
Codice sorgenteCome è stata appresa la routeC S R O B
Rete di destinazioneIndirizzo di rete + maschera (prefisso)192.168.10.0/24
Administrative DistanceAffidabilità della sorgente (valore minore = preferita)[1] per statica
MetricaCosto del percorso (hop count, bandwidth, delay…)[0]
Next-hopIP del prossimo router, oppure “via [interfaccia]”via 10.0.0.1
Interfaccia di uscitaPorta fisica da cui inviare il pacchettoGigabitEthernet0/1
TimestampDa quanto tempo la route è nota00:05:43

Codici sorgente delle route (IOS)

CodiceSignificatoAD predefinita
CConnected — rete direttamente connessa su un’interfaccia attiva0
LLocal — IP dell’interfaccia stessa del router (host route /32)0
SStatic — route configurata manualmente1
RRIP — appresa tramite RIP120
OOSPF — appresa tramite OSPF110
DEIGRP — appresa tramite EIGRP90
BBGP — appresa tramite BGP esterno20
*Indica la default route (candidate)

Output reale: show ip route

Router# show ip route
Codes: C - connected, S - static, R - RIP, O - OSPF ...

Gateway of last resort is 10.0.0.1 to network 0.0.0.0

C    192.168.1.0/24 is directly connected, GigabitEthernet0/0
L    192.168.1.1/32 is directly connected, GigabitEthernet0/0
C    192.168.2.0/24 is directly connected, GigabitEthernet0/1
L    192.168.2.1/32 is directly connected, GigabitEthernet0/1
S    10.10.0.0/16 [1/0] via 192.168.2.254
O    172.16.0.0/12 [110/20] via 192.168.2.254, 00:12:34, GigabitEthernet0/1
S*   0.0.0.0/0 [1/0] via 10.0.0.1

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 route vince?

// definizione formale
Longest Prefix Match (LPM): quando più voci della routing table corrispondono all’IP di destinazione, il router seleziona quella con la maschera più lunga (più specifica). Una /28 batte una /24, una /24 batte una /16, e tutte battono la default route /0.

Esempio pratico: per 192.168.1.50

  • 192.168.1.0/24 — copre .1.0 → .1.255 → corrisponde (/24 = 24 bit di prefisso)
  • 192.168.1.48/28 — copre .1.48 → .1.63 → corrisponde, più specifica (/28 = 28 bit) ✅
  • 0.0.0.0/0 — corrisponde a tutto, ma meno specifica di entrambe

Vince 192.168.1.48/28. Se non esistesse, vincerebbe 192.168.1.0/24. Se non esistesse nemmeno quella, userebbe la default route.

Administrative Distance (AD)

Cosa succede se la routing table riceve la stessa rete da due sorgenti diverse — ad esempio una route statica e una da OSPF verso 10.0.0.0/8? Il router usa l’Administrative Distance per scegliere la più affidabile.

// nota — AD vs metrica

AD confronta sorgenti diverse (statico vs OSPF vs RIP). Metrica confronta percorsi diversi appresi dalla stessa sorgente (due route OSPF verso la stessa rete). Sono concetti separati e si usano in sequenza: prima AD, poi metrica.

Routing Statico

Il routing statico significa che l’amministratore configura manualmente ogni route nel router. Nessun protocollo di routing scambia informazioni — sei tu a dire al router “per raggiungere la rete X, passa per il next-hop Y”.

Quando usare il routing statico

  • Reti piccole con pochi router (1–3)
  • Stub network: reti con un solo percorso di uscita
  • Quando si vuole controllo totale sul percorso del traffico
  • Per la default route verso l’ISP

Configurazione IOS — Sintassi

Router(config)# ip route [rete-destinazione] [maschera] [next-hop-IP | interfaccia-uscita] [distanza-admin]

Esempi pratici

! Route statica via next-hop IP
Router(config)# ip route 192.168.10.0 255.255.255.0 10.0.0.2

! Route statica via interfaccia di uscita (consigliato solo su link seriali point-to-point)
Router(config)# ip route 192.168.10.0 255.255.255.0 GigabitEthernet0/1

! Default route (gateway of last resort)
Router(config)# ip route 0.0.0.0 0.0.0.0 203.0.113.1

! Route statica con AD personalizzata (floating static — backup)
Router(config)# ip route 192.168.10.0 255.255.255.0 10.0.0.3 200

Floating Static Route

Una floating static route è una route statica configurata con una AD più alta della route principale (dinamica). Entra in routing table solo se la route primaria scompare. È un meccanismo di failover manuale ed economico.

// esempio — floating static

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 in routing table. Se OSPF cade, la floating diventa attiva automaticamente.

Verifica e troubleshooting

Router# show ip route                        ! visualizza la routing table completa
Router# show ip route static                 ! solo le route statiche
Router# show ip route 192.168.10.0           ! dettaglio su una specifica rete
Router# show ip interface brief              ! stato delle interfacce (up/down)
Router# ping 192.168.10.1 source lo0         ! ping con sorgente specifica
Router# traceroute 8.8.8.8                   ! tracciamento del percorso

Limitazioni del Routing Statico

// limiti — routing statico
  • Non scala: con 50 reti devi scrivere 50 route su ogni router. Con 500 reti diventa impossibile da gestire
  • Non si adatta: se un link cade, il router continua a cercare di instradare i pacchetti su quel percorso (non c’è nessuno che lo avvisi del guasto)
  • Errori umani: un refuso in una route statica può causare blackhole silenziosi
  • Manutenzione: ogni modifica alla topologia richiede aggiornamento manuale su tutti i router interessati

Per reti complesse o con topologie che cambiano si usano i protocolli di routing dinamico — argomento della prossima lezione.

📌 Riepilogo — Punti chiave
  • Il router opera a livello 3 e connette reti diverse — usa IP, non MAC. Ad ogni hop riscrive i MAC ma preserva gli IP
  • L’architettura hardware include CPU, RAM (routing table volatile), Flash (IOS persistente), NVRAM (startup-config persistente)
  • La routing table associa prefissi di rete a next-hop e interfacce di uscita. Il router sceglie sempre la corrispondenza più specifica (longest prefix match)
  • L’Administrative Distance determina quale sorgente vincesse quando la stessa rete viene appresa da protocolli diversi (C=0 < S=1 < OSPF=110 < RIP=120)
  • Il routing statico si configura con ip route [rete] [maschera] [next-hop]. La default route è ip route 0.0.0.0 0.0.0.0 [next-hop]
  • Le floating static route (AD alta) fungono da backup automatico quando la route primaria scompare

Lascia un commento