Esercizio - supernetting di due sottoreti
In questa pagina 4
Testo. È dato il blocco . L'amministratore vuole partizionarlo in: una sottorete da host; due sottoreti e da host ciascuna.
- Per ciascuna sottorete indicare indirizzo di rete, maschera, indirizzo di broadcast diretto e massimo numero di host.
- Dopo anni l'amministratore vuole creare, da e , una rete simile a . È fattibile? In caso positivo indicare indirizzo di rete, maschera, broadcast diretto e massimo numero di host della nuova rete.
Teoria usata: Subnetting e supernettingIl subnetting divide un blocco di indirizzi in sottoblocchi più piccoli allungando la maschera ($n_{\text{sub}}=n_{\text{rete}}+s$, con $2^s$ sottoreti); il supernetting (aggregazione CIDR) fa l'opposto, accorciando il prefisso per unire blocchi contigui in uno più grande. Regole di progetto: ogni sottorete ha un numero di indirizzi potenza di 2 ($M=2^k\ge$ host richiesti $+2$), prefisso $n=32-k$, indirizzo iniziale multiplo di $M$; si assegnano prima le sottoreti più grandi. Per aggregare $2^j$ blocchi di prefisso $n$ servono blocchi contigui il cui primo indirizzo sia multiplo della dimensione dell'aggregato, e il nuovo prefisso è $n-j$.Subnetting e supernetting → (regole di progetto e condizioni di aggregazione), Livello di rete e indirizzamento IPIl livello di rete (network layer) porta i datagrammi da host a host attraverso i router: incapsula (framing), sceglie il percorso (routing) e sposta il pacchetto da un ingresso a un'uscita del router (forwarding); in Internet lascia ai livelli superiori controllo d'errore, di flusso e di congestione. Un indirizzo IPv4 è di 32 bit, diviso in prefisso (rete, $n$ bit) e suffisso (host, $32-n$ bit). L'indirizzamento a classi (A, B, C, D, E) è obsoleto; oggi si usa quello senza classi (CIDR): data una notazione $a.b.c.d/n$ si ricavano $N=2^{32-n}$ indirizzi, indirizzo di rete (suffisso tutto 0) e di broadcast (suffisso tutto 1), oppure con la netmask: rete $=$ indirizzo AND maschera, broadcast $=$ indirizzo OR (NOT maschera).Livello di rete e indirizzamento IP →.
Nota sul testo. Nella versione dell'esercizio i due host sono per sottorete; nella soluzione ufficiale compare " host". Il risultato non cambia: sia per che per host servono sottoreti da indirizzi (), perché e (con host un blocco da indirizzi non basta: ne darebbe ).
Punto 1: progetto delle sottoreti
Si parte dalla sottorete più grande (regola 3: l'indirizzo iniziale deve essere multiplo della dimensione).
( host). indirizzi, . Primo blocco: , maschera , broadcast (), host .
, ( host). indirizzi, , maschera , host . Partono dopo , da (multiplo di ):
- : , broadcast (), host;
- : , broadcast , host.
Uso totale: , il è esaurito. (In termini di bit: ha bit di host; per servono bit di host, restano bit per numerare le sottoreti, cioè sottoreti da ; ne servono due, ma ne occupa già due in forma di un unico .)
| sottorete | rete | maschera | broadcast | host |
|---|---|---|---|---|
Punto 2: fondere e (supernetting)
- i blocchi sono contigui: termina a e inizia a ✓;
- sono in numero potenza di : sono , quindi ✓;
- il primo indirizzo è multiplo della dimensione del blocco aggregato (): parte da ✓.
Poiché valgono, la fusione è fattibile. Unire reti toglie bit al prefisso (meno reti, più bit di host): il nuovo prefisso è , la maschera , la rete con broadcast e host: una rete uguale per dimensione a , come richiesto.
Controllo: contiene gli indirizzi da a , esattamente l'unione di (–) e (–).
Controllo con la maschera. Con la nuova maschera (ultimo byte ) si fa l'AND (AND bit a bitil risultato vale 1 solo dove entrambi i bit valgono 1Algebra di Boole e porte logiche →) di un indirizzo di e di uno di : e danno entrambi . Quindi tutti gli indirizzi dei due blocchi hanno la stessa rete : appartengono allo stesso . Con la maschera (ultimo byte ) invece i due indirizzi danno e , cioè due reti diverse. Il bit che separa da è il secondo bit dell'ultimo byte ( in , in ): il supernetting lo trasferisce dalla parte di rete a quella di host, ed è per questo che il prefisso scende di . Perché e non funzionano: () e () differiscono già nel primo bit dell'ultimo byte, quindi non possono stare nello stesso .
Confronto con la soluzione ufficiale
Coincide: (broadcast ); , ; supernetting con netmask e nuovo indirizzo . Unica differenza: la soluzione ufficiale parte da " host" per (il testo ne ha ) e scrive "con bit si hanno indirizzi ma ne servono di più, quindi bit"; il risultato è lo stesso. Numeri verificati con Python.
Errori comuni
- Per usare ( indirizzi, host): non bastano.
- Aggregare due blocchi contigui ma non allineati: e sono contigui, ma non è multiplo di , quindi non danno un .
- Nel supernetting aggiungere bit alla maschera invece di toglierli.
Versione ripasso
Dati. Blocco in ( host) e , ( host ciascuna): rete, maschera, broadcast, host; poi fusione di e . Teoria: Subnetting e supernettingIl subnetting divide un blocco di indirizzi in sottoblocchi più piccoli allungando la maschera ($n_{\text{sub}}=n_{\text{rete}}+s$, con $2^s$ sottoreti); il supernetting (aggregazione CIDR) fa l'opposto, accorciando il prefisso per unire blocchi contigui in uno più grande. Regole di progetto: ogni sottorete ha un numero di indirizzi potenza di 2 ($M=2^k\ge$ host richiesti $+2$), prefisso $n=32-k$, indirizzo iniziale multiplo di $M$; si assegnano prima le sottoreti più grandi. Per aggregare $2^j$ blocchi di prefisso $n$ servono blocchi contigui il cui primo indirizzo sia multiplo della dimensione dell'aggregato, e il nuovo prefisso è $n-j$.Subnetting e supernetting →.
- Punto 1: : , , , maschera , broadcast , host. : , , maschera , host: (broadcast ), (broadcast ). Totale . (Testo host, soluzione ufficiale : stesso .)
- Aggregazione (blocchi contigui; numero potenza di ; primo indirizzo multiplo della nuova dimensione): finisce a e inizia a ; sono blocchi; è multiplo di . Fattibile.
- Risultato: prefisso , maschera , rete , broadcast , host (come ).
- Errori: per host; aggregare blocchi non allineati (es. e ); aggiungere bit alla maschera invece di toglierli.