Salta al contenuto
Note per Studenti Esercizio - sottoreti di una rete di 4000 host e di 15 sottoreti

Esercizio - sottoreti di una rete di 4000 host e di 15 sottoreti

In questa pagina 4

Testo.

  1. Sono assegnati l'indirizzo 208.57.0.0208.57.0.0 e la maschera 255.255.0.0255.255.0.0. Gli indirizzi vanno partizionati per servire reti da 40004000 host. (a) Qual è la maschera della sottorete? (b) Quale indirizzo di rete si può assegnare alla sottorete? (c) Quante sottoreti di questa dimensione si possono creare? (d) Quante sottoreti da 6060 nodi si possono definire e con quale maschera?
  2. Un'intranet può usare l'indirizzo di classe B 129.174.0.0129.174.0.0 e deve assegnare indirizzi a 1515 sottoreti collegate da router. (a) Trovare gli indirizzi delle sottoreti. (b) Trovare il massimo numero di host per sottorete. (c) Trovare le sottoreti che contengono 129.174.28.66129.174.28.66, 129.174.99.122129.174.99.122, 129.174.130.255129.174.130.255, 129.174.191.255129.174.191.255. (d) Sono indirizzi di host o speciali?

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 → (conteggio delle sottoreti), 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 → (rete, broadcast, maschera).

Punto 1: reti da 4000 host dentro 208.57.0.0/16208.57.0.0/16

Il blocco ha n=16n=16 bit di rete e quindi 32−16=1632-16=16 bit di host.

(a) Maschera. 40004000 host richiedono almeno 4000+2=40024000+2=4002 indirizzi (rete e broadcast non si assegnano). La più piccola potenza di 22 che li contiene è 212=40962^{12}=4096 (211=20482^{11}=2048 non basta: ⌈log⁡24002⌉=12\lceil\log_2 4002\rceil=12, Esponenziale e logaritmoLa funzione esponenziale a^x (base positiva diversa da 1) e la sua inversa, il logaritmo in base a, con grafici e proprietà.Esponenziale e logaritmo →). Servono quindi 1212 bit di host e la maschera ha 32−12=2032-12=20 bit a 11: 11111111.11111111.11110000.00000000=255.255.240.011111111.11111111.11110000.00000000=\mathbf{255.255.240.0} (/20/20). Host utilizzabili 4096−2=4094≥40004096-2=4094\ge4000.

(b) Indirizzo di rete. Dei 1616 bit di host originari ne restano 1212 per gli host e 16−12=416-12=4 prendono il ruolo di bit di sottorete. L'indirizzo di rete ha l'host tutto a 00 e i 44 bit di sottorete liberi: 208.57.xxxx0000.00000000208.57.xxxx0000.00000000, dove xxxxxxxx sono i primi 44 bit del terzo byte. Perciò il terzo byte è un multiplo di 1616 (i suoi ultimi 4 bit appartengono all'HostID e valgono 00: un numero binario che termina con 4 zeri è multiplo di 24=162^4=16, come mostra Sistemi di numerazione posizionaliNotazione posizionale in base b; conversioni tra base 10, 2, 8 e 16 per interi (divisioni successive) e per parti frazionarie (moltiplicazioni successive); numeri periodici in binario.Sistemi di numerazione posizionali →). Per esempio 208.57.0.0/20\mathbf{208.57.0.0/20} (broadcast 208.57.15.255208.57.15.255); le altre sono 208.57.16.0/20208.57.16.0/20, 208.57.32.0/20208.57.32.0/20, …, 208.57.240.0/20208.57.240.0/20.

(c) Quante. I 44 bit di sottorete danno 24=162^{4}=\mathbf{16} sottoreti da 40964096 indirizzi (da 40944094 host). Check: 16⋅4096=65 536=21616\cdot4096=65\,536=2^{16}, tutto il blocco.

(d) Sottoreti da 6060 nodi. 60+2=62≤64=2660+2=62\le64=2^6: servono 66 bit di host e la maschera è /26/26, cioè 255.255.255.192\mathbf{255.255.255.192} (32−6=2632-6=26 bit a 11). Rispetto al prefisso originario /16/16 restano 26−16=1026-16=10 bit di sottorete: 210=10242^{10}=\mathbf{1024} sottoreti, ciascuna con 64−2=6264-2=62 host. (Si possono anche vedere come 16⋅6416\cdot64: ognuna delle 1616 reti da 40964096 si divide in 6464 sottoreti da 6464 indirizzi.) Gli indirizzi di rete sono del tipo 208.57.XXXXxxxx.xx000000208.57.\text{XXXXxxxx}.\text{xx}000000.

Punto 2: 1515 sottoreti da 129.174.0.0129.174.0.0

129129 è nel primo byte 128128–191191: classe B, quindi 1616 bit di rete e 1616 di host.

(a) Indirizzi delle sottoreti. 1515 non è potenza di 22: servono 44 bit di sottorete (24=16≥152^4=16\ge15; con 33 bit se ne avrebbero solo 88). La maschera ha 16+4=2016+4=20 bit a 11: 255.255.240.0255.255.240.0 (/20/20). Le sottoreti hanno il terzo byte multiplo di 1616: 129.174.0.0129.174.0.0, 129.174.16.0129.174.16.0, 129.174.32.0129.174.32.0, …, 129.174.240.0129.174.240.0 (tutte /20/20). Sono 1616; ne servono 1515 (una resta di scorta).

(b) Host per sottorete. Restano 32−20=1232-20=12 bit di host: 212−2=40942^{12}-2=\mathbf{4094} host.

(c)–(d) Sottoreti degli indirizzi. L'indirizzo di sottorete si ottiene con AND con la maschera /20/20 (255.255.240.0255.255.240.0, terzo byte 240=11110000240=11110000): il terzo byte si azzera nei 44 bit meno significativi e il quarto diventa 00 (AND bit a bitun bit AND 1 resta com'è, un bit AND 0 diventa 0Algebra di Boole e porte logiche →). Un indirizzo è il broadcast diretto se i 1212 bit di HostID (gli ultimi 44 del terzo byte e tutto il quarto) valgono tutti 11, e l'indirizzo di rete se valgono tutti 00; in tutti gli altri casi è un indirizzo di host. Per questo non basta guardare l'ultimo byte.

indirizzo terzo byte sottorete tipo
129.174.28.66129.174.28.66 28=00011100→00010000=1628=00011100\to00010000=16 129.174.16.0/20129.174.16.0/20 host (HostID non tutti 00 né tutti 11)
129.174.99.122129.174.99.122 99=01100011→01100000=9699=01100011\to01100000=96 129.174.96.0/20129.174.96.0/20 host
129.174.130.255129.174.130.255 130=10000010→10000000=128130=10000010\to10000000=128 129.174.128.0/20129.174.128.0/20 host: i 1212 bit di HostID sono 0010 111111110010\ 11111111, non tutti a 11
129.174.191.255129.174.191.255 191=10111111→10110000=176191=10111111\to10110000=176 129.174.176.0/20129.174.176.0/20 broadcast diretto: HostID =1111 11111111=1111\ 11111111, tutti a 11

Il caso 129.174.130.255129.174.130.255 è la trappola: l'ultimo byte è 255255 ma il broadcast della sottorete 129.174.128.0/20129.174.128.0/20 è 129.174.143.255129.174.143.255, quindi è un indirizzo di host normale. Invece 129.174.191.255129.174.191.255 è proprio l'ultimo indirizzo di 129.174.176.0/20129.174.176.0/20 (che va da 176.0176.0 a 191.255191.255).

Confronto con la soluzione ufficiale

Coincide: maschera 255.255.240.0255.255.240.0, 1616 sottoreti da 40004000 host, indirizzo d'esempio 208.57.0.0/20208.57.0.0/20; 64⋅16=102464\cdot16=1024 sottoreti da 6464 host (maschera /26/26); per il punto 2 255.255.240.0255.255.240.0, 40944094 host, reti 129.174.16.0129.174.16.0, .96.0.96.0, .128.0.128.0, .176.0.176.0 con tre host e un broadcast. Ricontrollato con Python (ipaddress).

Errori comuni

  • Usare 40004000 invece di 4000+24000+2 per scegliere la potenza di 22 (qui non cambia, ma con 40954095 host sì).
  • Confondere "numero di sottoreti" con "numero di bit di sottorete": 44 bit danno 1616, non 44.
  • Dire che 129.174.130.255129.174.130.255 è un broadcast solo perché finisce per 255255: bisogna guardare tutti i bit di HostID (1212, non 88).

Versione ripasso

Dati. (1) 208.57.0.0/16208.57.0.0/16 in reti da 40004000 host (maschera, indirizzo, numero) e da 6060 nodi. (2) Classe B 129.174.0.0129.174.0.0 con 1515 sottoreti: indirizzi, host massimi, sottorete di 129.174.28.66129.174.28.66, 129.174.99.122129.174.99.122, 129.174.130.255129.174.130.255, 129.174.191.255129.174.191.255 e tipo. 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 →, 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 →.

  • Regola: 2h≥H+22^h\ge H+2, prefisso 32−h32-h, sottoreti =2bit di sottorete=2^{\text{bit di sottorete}}.
  • 40004000 host: 4002≤212=40964002\le2^{12}=4096, /20/20, maschera 255.255.240.0\mathbf{255.255.240.0}, 40944094 host. Bit di sottorete 16−12=416-12=4: terzo byte multiplo di 1616 (es. 208.57.0.0/20208.57.0.0/20, broadcast 208.57.15.255208.57.15.255); sottoreti 24=162^4=\mathbf{16}.
  • 6060 nodi: 62≤64=2662\le64=2^6, /26/26, maschera 255.255.255.192255.255.255.192, bit di sottorete 26−16=1026-16=10, 210=10242^{10}=\mathbf{1024} sottoreti da 6262 host.
  • 1515 sottoreti (129129 è classe B): 24=16≥152^4=16\ge15, 44 bit, /20/20, 255.255.240.0255.255.240.0; reti 129.174.0.0129.174.0.0, .16.0.16.0, …, .240.0.240.0; host 212−2=40942^{12}-2=\mathbf{4094}.
indirizzo terzo byte sottorete tipo
129.174.28.66129.174.28.66 00011100→1600011100\to16 129.174.16.0129.174.16.0 host
129.174.99.122129.174.99.122 01100011→9601100011\to96 129.174.96.0129.174.96.0 host
129.174.130.255129.174.130.255 10000010→12810000010\to128 129.174.128.0129.174.128.0 host (broadcast .143.255.143.255)
129.174.191.255129.174.191.255 10111111→17610111111\to176 129.174.176.0129.174.176.0 broadcast (HostID tutto 11)
  • Errori: 44 bit di sottorete ≠4\ne4 sottoreti (24=162^4=16); chiamare broadcast ogni indirizzo che finisce per 255255 (contano tutti i 1212 bit di HostID).

Lezioni in cui compare

Teoria collegata