Xarxes IPv4 i Subnetting

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.
A més de tot això cal tenir en compte que hi ha un rang d'adreces que són per a us privat, és a dir, que són il·legals a internet, aquestes adreces s'empren per a fer NAT (crear una xarxa privada darrera d'un router). Aquestes adreces són:
  • 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
Finalment hi ha dos rangs d'adreces més que són especials i no s'en pot fer us:
  • 0.x.x.x
  • 127.x.x.x (L'adreca 127.0.0.1 es fa servir com a adreça de loopback)
La màscara és un complement a la ip, que ens indica quants bits són de xarxa i quants de host. Els 1 són de xarxa i els 0 de hosts, i els de xarxa sempre van a l'esquerra sense CAP 0 intercalat entre els 1. Un exemple d'això seria la màscara 255.255.255.0, que representada binàriament seria 11111111.11111111.11111111.00000000. Una altra manera de representar el valor d'una màscara és posant una barra i tot seguit el nombre d'uns que hi ha, en aquest cas seria /24, aquesta nomenclatura és força emprada també.

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 binariValor sense binari
200.20.5.0000200.20.5.0
200.20.5.0001200.20.5.16
200.20.5.0010200.20.5.32
200.20.5.0011200.20.5.48
200.20.5.0100200.20.5.64
200.20.5.0101200.20.5.80
200.20.5.0110200.20.5.96
200.20.5.0111200.20.5.112
200.20.5.1000200.20.5.128
200.20.5.1001200.20.5.144
200.20.5.1010200.20.5.160
200.20.5.1011200.20.5.176
200.20.5.1100200.20.5.192
200.20.5.1101200.20.5.208
200.20.5.1110200.20.5.224
200.20.5.1111200.20.5.240

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.

Opcions de visualització de comentaris

Escull com vols veure els comentaris i clica 'Desa configuració' per activar els canvis.

Les xarxes dels extrems

Hola,

Vols dir que s'han de tirar les xarxes dels extrems? Em sembla que no hi ha cap problema per usar-les.

Salut,
Carles

Així m'ho han explicat a mi

A mi a l'assignatura on es tracta això, Telemàtica, van fer ènfasis en que aquestes xarxes no es podien agafar. En principi hauria de ser això, que s'hagi equivocat el professor ja és altra cosa, però ho dubto força...

No es poden fer servir...

Efectivament no es poden fer servir, per a dispositius, ni la base de la xarxa, ni la de broadcast.
Per fer-ho entenedor, en una 192.168.1.0/24 (255.255.255.0) això és la 192.168.1.0 i la 192.168.1.255.

BTW, aquest és dels que no sé perquè no surten a la cua de revisió... és clarament divulgatiu, o sigui que tiro pel dret Eye-wink

L'adreça de xarxa es podrà utilitzar

Em sembla recordar que la RFC1918 ja permet utilitzar l'adreça de xarxa com un dispositiu més. Doncs consideren que reservar-ne el seu ús no serveix per a res, doncs no té cap ús, al contrari de la de broadcast que si que té una utilitat prevista.

Molts sistemes responen a una petició a l'adreça de xarxa com si fos la de broadcast. Proveu-ho. Per exemple el meu MacOSX no respon a un ping a l'adreça de xarxa, en canvi totes les ràdios i el Linux Debian responen com si fos una petició de broadcast.

Bé, potser en un temps podrem posar un host més a la xarxa.

Salut,
Carles

El que jo tenia entès

Jo no voldria dir que el teu professor està equivocat, doncs no soc ningú.

Mirant a la documentació de Cisco sobre sub-netting diu:

Capacitat d'ús de la sub-xarxa 0

Explica un exemple de subxarxa /26 d'on surten 4 xarxes

  • 192.168.1.0/26
  • 192.168.1.64/26
  • 192.168.1.128/26
  • 192.168.1.192/26

D'això comenta "literalment":

Pot ser que els hagin ensenyat que la primera subxarxa, la 0, no s'hauria d'utilitzar perquè la seva direcció es podria confondre amb el número de la xarxa principal. Per exemple, si la xarxa 192.168.1.0 es divideix en subxarxes amb màscara de subxarxa 255.255.255.192, la subxarxa 0 s'escriuria 192.168.1.0, que és idèntica a la direcció de la xarxa principal.

La última subxarxa presenta un problema semblant, no obstant amb aquesta direcció de difusió de subxarxa s'identifica amb la direcció de difusió de la xarxa (192.168.1.255). Si es descarten ambdues subxarxes, la meitat de les direccioins anteriors es perdrien (0 a 63 i 192 a 255).

Una forma de reduir la pèrdua causada pel subnetting és manllevar més bits del camp host, incrementant així el nombre de subxarxes. Amb només un bit més, l'espai de direccions perdudes es redueix a la meitat.

-- Mostra una llista de les subxarxes /27 que hi apareixerien --

En aquest exemple, només es perden els rangs 0 a 31 i de 244 a 255. No obstant, no seria bo "recuperar" aquests rangs perduts (subxarxa 0 i subxarxa 7)? Cisco IOS (propaganda d'ells) permet utilitzar aquests espais IP peduts, (bla, bla, bla, més propaganda del bons que són els routers Cisco)

Tornant a la opinió personal:

Em sembla que vaig llegir en algun lloc que es va modificar un RFC (crec que la RFC1918) on ja es permet l'ús d'aquestes dues subxarxes. I que només protocols d'encaminament antics de TCP/IP podien tenir problemes de treballar amb aquestes xarxes.

Bé, no n'estic segur que sigui aquesta RFC, t'ho hauràs de mirar tu.

Salut,
Carles

no sé si ho he entès bé...

Jo les adreces que descarto son la base (que pot estar compartida entre una subxarxa més gran i una subxarxa més petita) i la de broadcast (la darrera IP), de manera que els hosts disponibles son TOTES les adreces excepte aquestes dues.
En resum, em refio del que em reporta la comanda 'ipcalc'...

# ipcalc
ipcalc: ip address expected
Usage: ipcalc [OPTION...]
  -b, --broadcast     Display calculated broadcast address
  -h, --hostname      Show hostname determined via DNS
  -m, --netmask       Display default netmask for IP (class A, B, or C)
  -n, --network       Display network address
  -p, --prefix        Display network prefix
  -s, --silent        Don't ever display error messages

Help options:
  -?, --help          Show this help message
  --usage             Display brief usage message

Per a la nova versió que s'està preparant del guifi.module, n'he implementat una en php i faig els càlculs amb això.

Nosaltres no en descartem cap de sub-xarxa

Mirant com s'afegeixen els enllaços, i les IPs utilitzades, nosaltres no descartem cap sub-xarxa.

Crec que confons en el que comentem els hosts que no s'utilitzen i les sub-xarxes que no s'utilitzen. En aquest tema en Mad93 comentava que al fer subxarxes la primera i la última no es podien utilitzar perquè en la primera es podia confondre l'adreça de xarxa amb la sub-xarxa mare. I en la última es podia confondre l'adreça de broadcast amb la de la xarxa mare.

Salut,
Carles

si que se'n descarten

no es per portar la contrària però si que se'n descarten carles

almenys en quan a ip's d'enllaç, si no recordo malament aquestes ip's només son dues (una per cada ràdio) i sempre que se n'ha de fer servir se li sumen 4 enlloc de 2 a la ip més alta fins ara utilitzada, així que ja s'està guardant les ip's de base i broadcast (ja dic que, almenys en les ip's d'enllaç osonenques 172.x.x.x)

Et confons entre Xarxa i IP

De cada xarxa s'han de descartar les dues adreces dels extrems, tal com tu comentes.

L'altra qüestió, és que si fas sub-xarxes hagis d'eliminar les xarxes dels extrems. Que en aquest cas, no cal.

pàgina generada en: 0.56 segons.