Ciao,

i calcoli che hai fatto sono corretti, fai solo attenzione che per trovare il numero di subnet la formula è 2^n mentre invece (2^h)-2 va usata per calcolare il numero di host per subnet (dove n è il numero di bit del campo network e h il numero di bit del campo host).

Quindi hai una rete generatrice 147.128.0.0/16 dalla quale ricavi 32 subnet con maschera /21 ciascuna (anche se poi ne userai solo 24). Ogni subnet conta 2046 host.

Calcolo delle subnet
Per procedere al calcolo delle subnet, dal momento che sono tutte uguali, non è necessario usare il binario ma puoi velocemente fare i calcoli con l'ausilio del magic number. Per trovare questo numero devi sottrarre a 256 il valore del solo campo "interessante" della tua subnet mask (nella formula estesa). Nel tuo esempio la /21 in formula estesa è 255.255.248.0 e il campo interessante è 248 (quello dove la netmask si arresta)

Il magic number è quindi 256 - 248 = 8. È sufficiente quindi incrementare il terzo byte di 8 per trovare gli indirizzi di rete, partendo dallo stesso indirizzo della generatrice:

147.128.0.0/21
147.128.8.0/21
147.128.16.0/21
147.128.24.0/21
147.128.32.0/21
147.128.40.0/21
.... e così via.


Calcolo degli indirizzi sprecati e degli indirizzi totali
Nel subnetting a maschera fissa si intende per "indirizzi sprecati" la sommatoria di tutti gli indirizzi di rete e di broadcat di ogni singola subnet che è stata generata.

Se con la rete generatrice avresti sprecato solo 2 indirizzi (il network e il broadcast), dividendo la rete devi moltiplicare 2 per il numero di subnet ottenute. Avendo ottenuto 32 subnet possiamo dire di aver sprecato 64 indirizzi.

Per calcolare il numero di indirizzi totali devo trovare quanti ne avresti avuti senza fare subnetting (usando la /16), ovvero:
(2^16) - 2 = 65536 - 2 = 65534

quindi rivediamo la formula inserendo il totale degli host sprecati (usando la /21):
(2^16) - 64 = 65536 - 64 = 65472

Il numero di indirizzi totali scende quindi da 65536 a 65472.