En aquest document es preten mostrar com funciona la distribució de xarxes IPv4, màscares i subnetting. Intenta explicar la distribució d'ips i diferents "xapuces" que es van fer posteriorment per a solucionar problemes d'escasetat d'ips, actualment més del 90% d'ips estan en us, cosa que seria solucionat amb IPv6, però això és un altre tema.
Les adreçes ips estan composades per a 32 bits, dividits en agrupacions en 8 bits. Així doncs el valor d'aquestes agrupacions de bits pot variar de 0 (tots els bits 0) a 255 (tots els bits 1). Així doncs una exemple d'adreça ip seria 80.58.0.33
Els organismes encarregats d'administrar les ips van decidir dividir les adreces ip en cinc tipus de xarxa:
- Classe A: Aquesta classe compren les adreces ip des de 1.x.x.x a 126.x.x.x. Aquests tipus de xarxa tenen 8 bits de xarxa i 24 de hosts.
- Classe B: Aquesta classe compren les adreces ip des de 128.x.x.x a 191.x.x.x. Aquests tipus de xarxa tenen 16 bits de xarxa i 16 bits de hosts.
- Classe C: Aquesta classe compren les adreces ip des de 193.x.x.x a 223.x.x.x. Aquests tipus de xarxa tenen 24 bits de xarxa i 8 bits de hosts.
- Classe D: Aquesta classe compren les adreces ip des de 224.x.x.x a 239.x.x.x. Aquestes adreces són de grup, multicast.
- Classe D: Aquesta classe compren les adreces ip des de 240.x.x.x a 255.x.x.x. Aquestes adreces estan reservades per a un us futur.
- Per a classe A: 10.0.0.0 a 10.255.255.255
- Per a classe B: 172.16.0.0 a 172.31.255.255
- Per a classe C: 192.168.0.0 a 192.168.255.255
- 0.x.x.x
- 127.x.x.x (L'adreca 127.0.0.1 es fa servir com a adreça de loopback)
Aquesta màscara ens permet dividir una xarxa, de la classe que volguem, en xarxes més petites, d'això s'en diu subnetting. Abans hem de saber que per a calcular el nombre de hosts d'una xarxa hem d'aplicar la fòrmula 2^n-2, on n és el nombre de bits de hosts del que disposem. El -2 és perquè la primera adreça serà la de xarxa, no assignada a cap pc, i la última serà la ip de broadcast, que sempra quan es vol enviar un missatge a tots els pcs, així doncs tampoc es fa servir per a cap host.
Així doncs en una xarxa de Classe A amb ip 9.23.5.2 amb una màscara 255.0.0.0 voldrà dir que els 8 primers bits són de xarxa, així doncs l'adreça de xarxa és 9.0.0.0 i la de broadcast és 9.255.255.255. La quantitat de hosts que pot tenir una xarxa d'aquest tipus és 2^24-2 que dona 16.777.214 de hosts possibles a la xarxa.
Amb el subnetting podem partir qualsevol xarxa en diferents subxarxes més petites. Això es fa afegint 1's a la màscara fins a obtenir el nombre de subxarxes desitjades, que s'obté amb la fòrmula 2^n-2. Per a posar un exemple, si tenim una xarxa amb ip 200.20.5.0 i màscara 255.255.255.0 obtindrem, aplicant la fòrmula, que tenim 253 ips de host. Ara pensem que volem fer servir aquesta xarxa de classe C per a crear 7 subxarxes diferents. Per a fer això abans hauríem de calcular amb 2^n-2=7 quants bits necessitaríem, en aquest cas 4, pel que tindríem 14 xarxes. La primera i últimes adreces de xarxa, tot i que no valen, NO són adreçces ni de xarxa ni de broadcast, senzillament no es poden emprar. Així doncs el resultat seria que tenim 14 adreçes de xarxa amb una màscara, que abans era /24 amb el que sumant-li els 4 bits que hem emprat el subnetting, ara ha de ser /28, o el que és el mateix 255.255.255.240. Així doncs per trobar les subxarxes en que hem dividit la xarxa de Classe C hem de mirar els valors que tenen totes les combinacions dels 4 bits triats, exceptuant el primer i l'últim. Per tant la part estàtica és 200.20.5. En aquesta taula surten les diferents subxares, les no vàlides tatxades:
| Bits de Subnetting en binari | Valor sense binari |
| 200.20.5.0001 | 200.20.5.16 |
| 200.20.5.0010 | 200.20.5.32 |
| 200.20.5.0011 | 200.20.5.48 |
| 200.20.5.0100 | 200.20.5.64 |
| 200.20.5.0101 | 200.20.5.80 |
| 200.20.5.0110 | 200.20.5.96 |
| 200.20.5.0111 | 200.20.5.112 |
| 200.20.5.1000 | 200.20.5.128 |
| 200.20.5.1001 | 200.20.5.144 |
| 200.20.5.1010 | 200.20.5.160 |
| 200.20.5.1011 | 200.20.5.176 |
| 200.20.5.1100 | 200.20.5.192 |
| 200.20.5.1101 | 200.20.5.208 |
| 200.20.5.1110 | 200.20.5.224 |
Així doncs ens queden aquestes subxarxes. Per a saber quants hosts pot tenir cada xarxa hem d'agafar els bits de host restants, 4, i aplicar la fòrmula de sempre 2^4-2, que ens donarà que hi pot haver 16 hosts per subxarxa. Així si mirem la primera xarxa vàlida que ens ha sortit, veurem que l'adreça de xarxa és 200.20.5.16 (tot els bits de host 0) i la de broadcasting 200.20.5.31 (tots els bits de host 1) i el rang d'ips a fer servir per a hosts és de 200.20.5.17 a 200.20.5.30.
Cal saber que podem fer subnetting les vegades que volguem i mentre quedin prou adreçes de hosts per a cobrir les nostres necessitats, altre cosa que s'ha de mirar al fer subnetting. Com podeu veure s'ha de tenir un cert coneixement de llenguatge binari per a poder calcular les diferents subxarxes i valors de màscares.

