Sistemi e Reti - Anno 4 - Modulo 2 - Lezione 04 - CIDR e Supernetting
Sistemi e Reti · Anno 4 · Modulo 2 · Lezione 04

CIDR e Supernetting: aggregazione delle rotte

Dall'esplosione delle routing table al 1993: come CIDR ha eliminato le classi, introdotto il longest prefix match e reso scalabile Internet con il supernetting.

✍ Autore: profgiagnotti · Materia: Sistemi e Reti
// obiettivi di apprendimento
✓Comprendere il problema della crescita delle routing table e come CIDR lo affronta eliminando le classi storiche
✓Applicare route aggregation (supernetting) per aggregare blocchi contigui in una singola route con prefisso accorciato
✓Applicare il principio del longest prefix match e spiegare come i router scelgono la route più specifica
✓Distinguere route summary, default route e CIDR block e applicarli in un piano di indirizzamento gerarchico
✓Collegare CIDR a IPv6: comprendere che IPv6 usa CIDR nativamente e che le stesse tecniche di aggregazione valgono per il prossimo modulo

1. Il problema che CIDR doveva risolvere

Siamo a inizio anni '90. Internet cresce a velocità esplosiva. I router del backbone mondiale mantengono una routing table — una tabella con tutte le reti raggiungibili. In un sistema classful, ogni azienda che riceve una rete di classe C ottiene una entry separata nella routing table globale. Con migliaia di aziende che si connettono ogni mese, la tabella cresce in modo insostenibile:

  • 1990: ~5.000 rotte nel backbone Internet
  • 1994: ~70.000 rotte — i router di fascia bassa non riescono più a starci
  • Oggi (con CIDR): ~900.000 rotte nel BGP global table — ma senza aggregazione sarebbero centinaia di milioni

Parallelamente, il sistema classful spreca enormi quantità di indirizzi. A un'azienda con 300 host viene assegnata una classe B (65.534 host), sprecando 65.000 indirizzi. Lo spazio IPv4 si sta esaurendo.

La soluzione arriva nel 1993 con la RFC 1519: CIDR — Classless Inter-Domain Routing.

📌 Definizione — CIDR

CIDR (Classless Inter-Domain Routing) è un sistema di allocazione e routing degli indirizzi IP che elimina le classi A/B/C in favore di prefissi di lunghezza arbitraria. Un indirizzo è sempre espresso come coppia indirizzo/prefix-length es. 192.168.1.0/24. E' route aggregation ready: blocchi contigui possono essere annunciati come unico prefisso.

01 · CRISI

Routing table explosion

Classful = 1 entry per rete classe C. Nel 1994 già 70k rotte, router in affanno.

02 · SPRECO

Classi inefficienti

Azienda 300 host → classe B 65k indirizzi sprecati. CIDR alloca esattamente /n necessario.

03 · 1993

RFC 1519 → RFC 4632

CIDR elimina le classi. Ogni protocollo moderno (RIPv2, OSPF, BGP-4) trasmette il prefix.

2. Supernetting — aggregare reti in una sola route

Il supernetting (chiamato anche route aggregation o route summarization) è l'operazione inversa del subnetting: si accorcia il prefisso per coprire più reti con una singola entry nella routing table.

Per poter aggregare più blocchi in uno, devono valere due condizioni:

  1. I blocchi devono essere contigui nello spazio di indirizzamento
  2. Il loro insieme deve formare un blocco valido: devono condividere i bit del prefisso aggregato e tutto il blocco aggregato deve essere sotto il controllo del router che annuncia

Procedura di aggregazione passo-passo

  1. Converti tutti i network address in binario
  2. Trova i bit comuni dalla sinistra
  3. Il prefisso aggregato è il numero di bit comuni
  4. L'indirizzo aggregato è quello con i bit comuni + tutti gli altri a 0
BINARIO · ESEMPIO 4 RETI /24
192.168.0.0: 11000000.10101000.00000000.00000000 192.168.1.0: 11000000.10101000.00000001.00000000 192.168.2.0: 11000000.10101000.00000010.00000000 192.168.3.0: 11000000.10101000.00000011.00000000 ------------------------------------------ Bit comuni: 11000000.10101000.000000xx.xxxxxxxx → 22 bit Aggregato: 192.168.0.0/22 — copre 192.168.0.0 → 192.168.3.255 (1024 indirizzi) Risparmio: 4 entry → 1 entry
192.168.0.0/24 256 host 192.168.1.0/24 256 host 192.168.2.0/24 256 host 192.168.3.0/24 256 host 192.168.0.0/22 1 rotta aggregata = 1024 indirizzi 4 entry → 1 entry

Con un'unica entry 192.168.0.0/22 nella routing table rappresentiamo 4 reti /24 che prima occupavano 4 entry separate. La scalabilità del routing su Internet dipende da questa tecnica.

⚠️ Attento ai buchi

Se aggrego 192.168.0.0/24 e 192.168.1.0/24 in 192.168.0.0/23, ma 192.168.1.x appartiene a un altro AS, i pacchetti vengono instradati in modo errato. Prima di aggregare, verifica che tutto il blocco aggregato sia sotto il tuo controllo o che i blocchi “inclusi” siano comunque raggiungibili tramite te. Non tutti i blocchi contigui formano una rotta aggregabile: N deve essere potenza di 2 e allineato.

3. Longest Prefix Match — la regola fondamentale

Una routing table può avere più rotte che coprono lo stesso indirizzo destinazione. Come sceglie il router? Con il principio del longest prefix match (LPM): vince la rotta con il prefisso più lungo (più specifico).

📌 Definizione — LPM

Longest Prefix Match: dato un indirizzo di destinazione, il router seleziona la rotta con il prefisso che corrisponde all'indirizzo E che ha il maggior numero di bit nel prefisso. Un /28 prevale su un /24 che prevale su un /16, anche se tutti e tre coprono l'indirizzo.

PrefissoNext-hopMatch?Scelta (dest 10.1.1.25)
0.0.0.0/0203.0.113.1✓ defaultNo — /0 più corto
10.0.0.0/810.254.0.1✓No — /8
10.1.0.0/1610.254.1.1✓No — /16
10.1.1.0/2410.254.2.1✓No — /24
10.1.1.16/2810.1.1.1✓✅ VINCE — /28 più lungo

10.1.1.25 ∈ [10.1.1.16 – 10.1.1.31] → match con /28. Tutti gli altri prefissi più corti matchano anche, ma /28 vince.

💬 Tip del docente

Il LPM è come cercare in un dizionario: vince la definizione più specifica. In verifica disegna la piramide: /0 in basso, /32 in alto. Più sali, più specifico. E ricorda: il LPM è implementato in hardware con TCAM / Patricia Trie per lookup in tempo costante anche con ~1M di entry.

4. Default route e allocazione gerarchica CIDR

La default route è la rotta con prefisso 0.0.0.0/0: corrisponde a qualsiasi indirizzo (0 bit di prefisso = nessun vincolo). È la rotta con il prefisso più corto possibile, quindi per il LPM ha sempre la priorità più bassa. Viene usata solo quando nessun'altra rotta più specifica corrisponde.

01 · EDGE / AZIENDALE

Default verso ISP

Conosce rotte interne (uffici, server) e ha 0.0.0.0/0 verso ISP. Tutto il non locale va al provider.

02 · BACKBONE

Full BGP table

Idealmente senza default: ~900.000 prefissi. Deve avere rotta esplicita per ogni blocco globale.

Allocazione CIDR: gerarchia IANA → RIR → ISP → Azienda

CIDR ha cambiato il modo in cui gli indirizzi vengono distribuiti globalmente. La gerarchia di allocazione è:

IANA 0.0.0.0/0 → grandi blocchi agli RIR RIR — RIPE, ARIN, APNIC Blocchi /8 agli ISP regionali ISP Riceve /19 · subnetta /24 ai clienti Azienda / Cliente — /24 o /28 con VLSM interno

L'idea chiave di CIDR è che l'ISP può annunciare un solo prefisso aggregato per tutti i suoi clienti. Se un ISP controlla il blocco 203.0.113.0/24 e ha 4 clienti a cui ha assegnato subnet /26, annuncia solo 203.0.113.0/24 al backbone. Il backbone non sa e non deve sapere dei /26 interni — 1 rotta invece di 4.

🎯 Esempio ISP

ISP riceve 203.0.113.0/22 (1024 IP). Assegna 203.168.0.0/26, .64/26, .128/26, .192/26 a 4 clienti. All'esterno annuncia solo /22. Route summarization a livello ISP: da 4 a 1. Su scala globale, questo salva centinaia di migliaia di entry BGP.

Quando la summarization non è possibile

⚠️ Caso non aggregabile

Hai 192.168.1.0/24 e 192.168.3.0/24 — non sono contigue (manca la .2). Se aggreghi a /22 includi anche 192.168.0.0 e 192.168.2.0 che non ti appartengono. Regola: puoi aggregare solo se sei l'unico owner di tutto il blocco aggregato, o se i blocchi “buchi” sono raggiungibili tramite te, e N deve essere potenza di 2 allineata.

5. CIDR, NAT, IPv6 e riepilogo classful vs classless

CIDR ha esteso la vita di IPv4 di decenni rallentando il consumo degli indirizzi tramite allocazioni efficienti e NAT. Ma non ha risolto il problema fondamentale: 32 bit = 4,3 miliardi di indirizzi non bastano per il mondo connesso moderno.

SoluzioneCosa faLimite
CIDR (1993)Allocazione efficiente, aggregazione rotteNon aggiunge indirizzi, rallenta esaurimento
NAT (1994)Molti host privati condividono 1 IP pubblicoRompe end-to-end, complica P2P
IPv6 (1998)128 bit = 3,4 × 10³⁸ indirizziAdozione lenta, coesistenza IPv4 necessaria
🌐 Nota — CIDR su IPv6

IPv6 usa CIDR nativamente. Non esistono classi IPv6. Un indirizzo IPv6 è sempre con prefisso: 2001:db8::/32. Le stesse tecniche di route aggregation e longest prefix match si applicano identicamente. Capire CIDR su IPv4 significa capirlo già per IPv6.

Riepilogo: classful vs classless

CaratteristicaClassful (pre-CIDR)Classless / CIDR
Prefisso reteFisso (8, 16, 24 bit)Arbitrario (1–32 bit)
Routing tableCrescita illimitataAggregazione riduce enormemente
Efficienza indirizziBassa (blocchi troppo grandi)Alta (alloca esattamente ciò che serve)
Protocolli routingRIPv1, IGRP (non trasmettono mask)RIPv2, OSPF, EIGRP, BGP-4 (trasmettono prefix)
Subnetting variabileNon supportatoVLSM nativo
AggregazioneImpossibile oltre confini classeSupernetting su qualsiasi confine allineato

6. Verifica / Esercizio

🔬 Attività Packet Tracer + calcoli

Apri il lab CIDR.pkt e rispondi:

  1. Aggregare: hai 10.0.0.0/24, 10.0.1.0/24, 10.0.2.0/24, 10.0.3.0/24, 10.0.4.0/24, 10.0.5.0/24, 10.0.6.0/24, 10.0.7.0/24 → qual è il supernet minimo? Mostra i bit comuni.
  2. LPM: routing table contiene 0.0.0.0/0 via ISP, 192.168.0.0/16 via R2, 192.168.10.0/24 via R3, 192.168.10.64/26 via R4. Pacchetto verso 192.168.10.70 → quale next-hop? Perché?
  3. ISP riceve 203.0.113.0/24 e assegna /26 ai clienti. Quante subnet /26 ottieni? Se un cliente ha bisogno di 50 host, quale subnet gli assegni e quanti IP spreci vs classe C?
✅ Soluzione ragionata

1) 8 reti contigue allineate: in binario terzo ottetto 00000000..00000111 → primi 21 bit comuni → aggregato 10.0.0.0/21 (2048 IP, da .0.0 a .7.255). 2) 192.168.10.70 ∈ 10.64/26 (.64-.127) → /26 vince su /24, /16, /0. Next-hop R4 per LPM. 3) /24 → 4 × /26 (64 host cad). 50 host → serve almeno 62 host utili → /26 perfetto (62 utili), 12 sprecati. Con classe C (254 utili) avresti sprecato 204. Risparmio CIDR evidente. Configura summarization su PT con ip summary-address o aggregate-address in BGP.

✓CIDR elimina classi A/B/C: ogni indirizzo è /n arbitrario. Dal 1993 salva IPv4 da crisi routing table e spazio.
✓Supernetting aggrega blocchi contigui potenza di 2 allineati in una rotta corta → scala Internet.
✓Longest Prefix Match: vince sempre la rotta più specifica. /28 > /24 > /16 > /0.
✓0.0.0.0/0 default route è catch-all a priorità minima. Edge router ne ha bisogno, backbone no.
✓Gerarchia IANA → RIR → ISP → Azienda permette summarization a ogni livello: 1 annuncio esterno, non N.
✓CIDR vale anche per IPv6 (es. 2001:db8::/32). Prossima lezione: IPv6 header e tipologie.

📚 Prossimo passo - IPv6: header, formato indirizzi e tipologie

Hai imparato a compattare IPv4. Ora vediamo la soluzione definitiva: IPv6 con 128 bit, niente broadcast, header semplificato. Porta con te il concetto di prefisso e LPM — è identico.