# Supernetting

Una supernetwork, o supernet, è una rete del protocollo IP che è formata dall'aggregazione di sottoreti multiple, o subnet, in una rete più grande. Il nuovo identificatore di rete per la stessa così aggregata, rappresenta tutte le reti che la costituiscono con una singola voce nella tabella di routing. Il processo di costruzione di una supernet viene chiamato supernetting, aggregazione dei prefissi, aggregazione delle rotte o route summarization.
Il supernetting all'interno di Internet è una strategia che serve per evitare la frammentazione dello spazio di indirizzamento IP usando un sistema di allocazione gerarchica che delega il controllo dei vari segmenti del suddetto spazio ai Regional Internet Registry. Questo metodo facilita l'aggregazione delle rotte in base alla regione.
I vantaggi del supernetting sono tutti a favore dei router, in termini di memorizzazione più efficiente delle informazioni di routing e diminuzione dell'overhead di elaborazione nella ricerca delle rotte. Nonostante ciò, talvolta il supernetting potrebbe introdurre problemi di interoperabilità e altri rischi.

## Panoramica

Nella terminologia delle reti IP, una supernet è un blocco di sottoreti contigue indirizzate come una sottorete singola dalla prospettiva della rete più grande. Le supernet sono sempre più grandi delle reti che le compongono. Il supernetting è il processo di aggregare le rotte di molte reti più piccole, riducendo così lo spazio necessario per memorizzarle, semplificando le decisioni di routing, e riducendo il quantitativo di informazioni sulle rotte trasmesse dai protocolli di routing ai router adiacenti. Si è rivelato utile per risolvere il problema dell'incremento delle dimensioni delle tabelle di routing dovuto alla crescita di Internet.
In reti grandi e complesse, il supernetting può isolare i cambi di topologia degli altri router. Questo non può che migliorare la stabilità della rete limitando la propagazione dei cambiamenti nel routing nell'eventualità della caduta di un collegamento tra router. Se un router trasmette ai suoi vicini solamente l'informazione di una rotta aggregata, non ha bisogno di trasmettere anche le informazioni relative ai cambiamenti nelle singole subnet specifiche che tale rotta rappresenta. Questo riduce significativamente il numero degli aggiornamenti di routing a seguito di un cambio di topologia. Da cui, si ha un incremento della velocità di convergenza e una stabilità maggiore.

## Requisiti dei protocolli di routing

Il supernetting richiede l'utilizzo di protocolli di routing che supportano il classless inter-domain routing (CIDR). Interior Gateway Routing Protocol, Exterior routing protocol e RIPv1 (tutti protocolli di routing obsoleti) presumono l'indirizzamento classful, e quindi non possono trasmettere le informazioni sulla maschera di sottorete richieste per il supernetting.
Enhanced Interior Gateway Routing Protocol (EIGRP) supporta CIDR. Per impostazione predefinita, EIGRP aggrega le rotte nella tabella di routing e inoltra queste rotte aggregate ai suoi peer. Tra gli altri protocolli di routing che supportano CIDR vi sono RIPv2, Open Shortest Path First (OSPF), IS-IS e Border Gateway Protocol (BGP)

## Esempi

Un'azienda di contabilità ha 150 filiali per ciascuno dei 50 distretti geografici dove opera. In ogni filiale è presente un router connesso tramite Frame Relay al quartier generale dell'azienda. Senza il supernetting, la tabella di routing di ciascuno di questi router dovrebbe tenere traccia di centocinquanta router per ciascuno dei cinque distretti, per un totale di 7 500 reti. Se però venisse implementato un sistema di indirizzamento gerarchico con il supernetting, collegando ciascuna filiale a un punto di interconnessione centralizzato che raggruppa tutte quelle dello stesso distretto, si potrebbero aggregare le rotte prima che vengano annunciate agli altri distretti. In questo modo, ciascun router sarà a conoscenza della propria subnet e di appena quarantanove rotte aggregate.
La determinazione delle rotte aggregate da parte di un router implica il riconoscimento del numero di bit di ordine più alto che sono comuni a tutti gli indirizzi. Per esempio, un router che possiede le seguenti reti nella sua tabella di routing calcola la rotta aggregata come di seguito:
Per prima cosa gli indirizzi vengono convertiti in formato binario e allineati in una lista:
| Indirizzo | Primo byte | Secondo byte | Terzo byte | Quarto byte |
| 192.168.98.0 | 1100 0000 | 1010 1000 | 0110 0010 | 0000 0000 |
| 192.168.99.0 | 1100 0000 | 1010 1000 | 0110 0011 | 0000 0000 |
| 192.168.100.0 | 1100 0000 | 1010 1000 | 0110 0100 | 0000 0000 |
| 192.168.101.0 | 1100 0000 | 1010 1000 | 0110 0101 | 0000 0000 |
| 192.168.102.0 | 1100 0000 | 1010 1000 | 0110 0110 | 0000 0000 |
| 192.168.105.0 | 1100 0000 | 1010 1000 | 0110 1001 | 0000 0000 |
In secondo luogo, vengono identificati i bit comuni, mostrati in rosso. Infine, viene contato il numero di bit comuni. La rotta aggregata viene calcolata impostando a zero i bit rimanenti, come mostrato sotto. Viene seguita da uno slash e dal numero di bit comuni.
| Primo byte | Secondo byte | Terzo byte | Quarto byte | Indirizzo | Netmask |
| 1100 0000 | 1010 1000 | 0110 0000 | 0000 0000 | 192.168.96.0 | /20 |
La rotta aggregata è 192.168.96.0/20. La maschera di sottorete è 255.255.240.0. Questa rotta contiene anche reti che non erano presenti nel gruppo iniziale, vale a dire 192.168.96.0, 192.168.97.0, 192.168.103.0, 192.168.104.0, 192.168.106.0, 192.168.107.0, 192.168.108.0, 192.168.109.0, 192.168.110.0 e 192.168.111.0. Bisogna avere la certezza che queste reti non esistano nelle direzioni opposte a questa rotta. In un altro esempio, a un ISP viene assegnato, da parte di un RIR, un blocco di indirizzi IP che va da 172.1.0.0 a 172.1.255.255. L'ISP può assegnare questi indirizzi ai propri clienti nel seguente modo, al cliente A verrà assegnato il range da 172.1.1.0 a 172.1.1.255, al cliente B il range da 172.1.2.0 a 172.1.2.255, al cliente C il range da 172.1.3.0 a 172.1.3.255 e così via. Invece di avere singole voci per le subnet 172.1.1.x, 172.1.2.x, 172.1.3.x eccetera, l'ISP può aggregare l'intero range di indirizzi 172.1.x.x e annunciare la rete 172.1.0.0/16, allo scopo di ridurre il numero di voci globali nella tabella di routing.

## Rischi

Sono stati identificati i seguenti rischi del supernetting:
* Il supernetting è implementato in diversi modi su diversi router
* Il supernetting sull'interfaccia di un router può influenzare il modo in cui le rotte verranno annunciate dalle altre interfacce dello stesso router
* In presenza del supernetting, trovare un loop di routing persistente diventa un problema difficile
* possono esserci impatti negativi in ambienti di routing eterogenei con subnet discontigue