Una rete IP può essere logicalmente partizionata in più sottoreti o subnet. In pratica questa operazione permette al gestore di una rete IP di suddividerla in sezioni logicalmente distinte.
Il subnetting viene realizzato ripartendo l'Host-ID in due parti, una che identifica la sottorete ed una che identifica univocamente gli host della sottorete stessa.
Nell'esempio che segue viene mostrato come i 16 bit di Host-ID di un indirizzo di classe B possano essere ripartiti in 8 bit di Subnet-ID e 8 bit di Host-ID. Per convenzione il Subnet-ID deve essere contiguo al Net-ID mentre l'Host-ID deve occupare la parte più a destra dell'indirizzo IP.
L'operazione di subnetting è locale alla rete IP considerata per cui non viene vista
al di fuori della rete stessa. Per realizzarla è necessario configurare correttamente il parametro Netmask delle interfacce IP. La Netmask è una sequenza di 32 bit. I bit aventi valore 1 nella Netmask indicano che i corrispondenti bit dell'indirizzo IP fanno parte del Net-ID o del Subnet-ID, mentre i bit a 0 nella Netmask indicano che i bit in posizione corrispondente nell'indirizzo IP dell'host fanno parte dell'Host-ID.
Ad esempio per un host della rete di classe B 137.204.0.0, che sia suddivisa in sottoreti identificate da 8 bit avrà una configurazione dell'interfaccia di rete del tipo:
Numero IP: 137.204.60.230 (137.204 Net-ID, 60 Subnet-ID, 230 Host-ID)
Netmask:
in formato binario: 11111111 11111111 11111111 00000000
in formato decimale: 255.255.255.0
Oggi è consuetudine riassumere queste informazioni in modo unitario come segue:
ad indicare che 24 bit dell'indirizzo sono utilizzati per indirizzi di rete o sottorete mentre 8 sono utilizzati per indirizzo di host.
È importante notare che l'operazione di subnetting in rete IP è solamente logica: