Salta al contenuto
Note per Studenti Esercizio - supernetting di due sottoreti

Esercizio - supernetting di due sottoreti

In questa pagina 4

Testo. È dato il blocco 195.13.17.0/24195.13.17.0/24. L'amministratore vuole partizionarlo in: una sottorete B1B_1 da 100100 host; due sottoreti S1S_1 e S2S_2 da 5050 host ciascuna.

  1. Per ciascuna sottorete indicare indirizzo di rete, maschera, indirizzo di broadcast diretto e massimo numero di host.
  2. Dopo 1010 anni l'amministratore vuole creare, da S1S_1 e S2S_2, una rete simile a B1B_1. È 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 5050 per sottorete; nella soluzione ufficiale compare "3232 host". Il risultato non cambia: sia per 5050 che per 3232 host servono sottoreti da 6464 indirizzi (/26/26), perché 50+2=52≤6450+2=52\le64 e 32+2=34≤6432+2=34\le64 (con 3232 host un blocco da 3232 indirizzi non basta: ne darebbe 3030).

Punto 1: progetto delle sottoreti

Si parte dalla sottorete più grande (regola 3: l'indirizzo iniziale deve essere multiplo della dimensione).

B1B_1 (100100 host). 100+2=102→27=128100+2=102\to2^7=128 indirizzi, n=32−7=25n=32-7=25. Primo blocco: 195.13.17.0/25195.13.17.0/25, maschera 255.255.255.128255.255.255.128, broadcast 195.13.17.127195.13.17.127 (0+128−10+128-1), host 128−2=126128-2=126.

S1S_1, S2S_2 (5050 host). 50+2=52→26=6450+2=52\to2^6=64 indirizzi, n=26n=26, maschera 255.255.255.192255.255.255.192, host 6262. Partono dopo B1B_1, da 128128 (multiplo di 6464):

  • S1S_1: 195.13.17.128/26195.13.17.128/26, broadcast 195.13.17.191195.13.17.191 (128+64−1128+64-1), 6262 host;
  • S2S_2: 195.13.17.192/26195.13.17.192/26, broadcast 195.13.17.255195.13.17.255, 6262 host.

Uso totale: 128+64+64=256128+64+64=256, il /24/24 è esaurito. (In termini di bit: /24/24 ha 88 bit di host; per S1,S2S_1,S_2 servono 66 bit di host, restano 8−6=28-6=2 bit per numerare le sottoreti, cioè 22=42^2=4 sottoreti da 6464; ne servono due, ma B1B_1 ne occupa già due in forma di un unico /25/25.)

sottorete rete maschera broadcast host
B1B_1 195.13.17.0/25195.13.17.0/25 255.255.255.128255.255.255.128 195.13.17.127195.13.17.127 126126
S1S_1 195.13.17.128/26195.13.17.128/26 255.255.255.192255.255.255.192 195.13.17.191195.13.17.191 6262
S2S_2 195.13.17.192/26195.13.17.192/26 255.255.255.192255.255.255.192 195.13.17.255195.13.17.255 6262

Punto 2: fondere S1S_1 e S2S_2 (supernetting)

Condizioni per aggregare 2j2^j blocchi di prefisso nn in un blocco di prefisso n−jn-j (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 →):

  1. i blocchi sono contigui: S1S_1 termina a .191.191 e S2S_2 inizia a .192.192 ✓;
  2. sono in numero potenza di 22: sono 2=212=2^1, quindi j=1j=1 ✓;
  3. il primo indirizzo è multiplo della dimensione del blocco aggregato (128128): S1S_1 parte da 128=1⋅128128=1\cdot128 ✓.

Poiché valgono, la fusione è fattibile. Unire 22 reti toglie 11 bit al prefisso (meno reti, più bit di host): il nuovo prefisso è 26−1=2526-1=25, la maschera 255.255.255.128255.255.255.128, la rete 195.13.17.128/25\mathbf{195.13.17.128/25} con broadcast 195.13.17.255195.13.17.255 e 128−2=126128-2=\mathbf{126} host: una rete uguale per dimensione a B1B_1, come richiesto.

Controllo: 195.13.17.128/25195.13.17.128/25 contiene gli indirizzi da .128.128 a .255.255, esattamente l'unione di S1S_1 (.128.128–.191.191) e S2S_2 (.192.192–.255.255).

Controllo con la maschera. Con la nuova maschera 255.255.255.128255.255.255.128 (ultimo byte 1000000010000000) 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 S1S_1 e di uno di S2S_2: 195.13.17.130=10000010195.13.17.130=10000010 e 195.13.17.200=11001000195.13.17.200=11001000 danno entrambi 10000000=12810000000=128. Quindi tutti gli indirizzi dei due blocchi hanno la stessa rete 195.13.17.128195.13.17.128: appartengono allo stesso /25/25. Con la maschera /26/26 (ultimo byte 1100000011000000) invece i due indirizzi danno 128128 e 192192, cioè due reti diverse. Il bit che separa S1S_1 da S2S_2 è il secondo bit dell'ultimo byte (00 in S1S_1, 11 in S2S_2): il supernetting lo trasferisce dalla parte di rete a quella di host, ed è per questo che il prefisso scende di 11. Perché 6464 e 128128 non funzionano: 195.13.17.64/26195.13.17.64/26 (0100000001000000) e 195.13.17.128/26195.13.17.128/26 (1000000010000000) differiscono già nel primo bit dell'ultimo byte, quindi non possono stare nello stesso /25/25.

Confronto con la soluzione ufficiale

Coincide: B1=195.13.17.0/25B_1=195.13.17.0/25 (broadcast .127.127); S1=195.13.17.128/26S_1=195.13.17.128/26, S2=195.13.17.192/26S_2=195.13.17.192/26; supernetting con netmask 26−1=2526-1=25 e nuovo indirizzo 195.13.17.128/25195.13.17.128/25. Unica differenza: la soluzione ufficiale parte da "3232 host" per S1,S2S_1,S_2 (il testo ne ha 5050) e scrive "con 55 bit si hanno 3232 indirizzi ma ne servono di più, quindi 66 bit"; il risultato /26/26 è lo stesso. Numeri verificati con Python.

Errori comuni

  • Per S1,S2S_1,S_2 usare /27/27 (3232 indirizzi, 3030 host): non bastano.
  • Aggregare due blocchi contigui ma non allineati: 195.13.17.64/26195.13.17.64/26 e 195.13.17.128/26195.13.17.128/26 sono contigui, ma 6464 non è multiplo di 128128, quindi non danno un /25/25.
  • Nel supernetting aggiungere bit alla maschera invece di toglierli.

Versione ripasso

Dati. Blocco 195.13.17.0/24195.13.17.0/24 in B1B_1 (100100 host) e S1S_1, S2S_2 (5050 host ciascuna): rete, maschera, broadcast, host; poi fusione di S1S_1 e S2S_2. 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: B1B_1: 102→128102\to128, /25/25, 195.13.17.0/25195.13.17.0/25, maschera 255.255.255.128255.255.255.128, broadcast 195.13.17.127195.13.17.127, 126126 host. S1,S2S_1,S_2: 52→6452\to64, /26/26, maschera 255.255.255.192255.255.255.192, 6262 host: S1=195.13.17.128/26S_1=195.13.17.128/26 (broadcast .191.191), S2=195.13.17.192/26S_2=195.13.17.192/26 (broadcast .255.255). Totale 128+64+64=256128+64+64=256. (Testo 5050 host, soluzione ufficiale 3232: stesso /26/26.)
  • Aggregazione (blocchi contigui; numero potenza di 22; primo indirizzo multiplo della nuova dimensione): S1S_1 finisce a .191.191 e S2S_2 inizia a .192.192; sono 212^1 blocchi; 128128 è multiplo di 128128. Fattibile.
  • Risultato: prefisso 26−1=2526-1=25, maschera 255.255.255.128255.255.255.128, rete 195.13.17.128/25\mathbf{195.13.17.128/25}, broadcast 195.13.17.255195.13.17.255, 126126 host (come B1B_1).
  • Errori: /27/27 per 5050 host; aggregare blocchi non allineati (es. .64/26.64/26 e .128/26.128/26); aggiungere bit alla maschera invece di toglierli.

Lezioni in cui compare

Teoria collegata