Una de redes: direccionamiento ipv4

Problema de direccionamiento IP: imaginemos que te dan el rango 192.168.23.0/24 y te piden que crees la internetworking de 7 subredes tal que:
  • Red 1: LAN 60 hosts
  • Red 2: LAN 28 hosts
  • Red 3: LAN 12 Hosts
  • Red 4: LAN 8 hosts
  • Red 5: WAN punto a punto
  • Red 6: WAN punto a punto
  • Red 7: WAN punto a punto
En total hay 60+28+12+8+2+2+2 = 114 puntos de red, está claro que con un rango de 8 bits=256-2=254 hosts tenemos suficiente para dar direcciones PERO como necesitamos 7 subredes necesitamos 3 bits de la parte host para crearlas, por lo que nos quedarían 5 bits para hosts que son 30 hosts por subred = mal rollo porque la primera son 60 hosts...
La solución es lo que creo que le llaman asignación VLSM y se trata de hacer lo siguiente:

1. RED 1: 60 HOSTS

Empezamos con la subred más grande: Red 1 de 60 hosts. Con 6 bits tengo (2^6)-2 = 62 hosts direcciones IP, un poco justo pero suficiente, ergo creamos la subred /26:

si miramos la codificación binaria de esta subred seria:

Red general    192       .      168      .       23       .       0
                   11000000 . 10101000 . 00010111 . 00000000
Mascara      11111111 . 11111111 . 11111111 . 11000000
                         255     .       255     .      255      .      192

Vemos que las direcciones IP  de esta subred iran de (miramos solo el último octeto pues los demás serán siempre iguales) 00|000000 (ip de red), 00|000001 (1er host), ...., 00|111110 (62vo host), 00|111111 (broadcast). En numérico:

00|000001 - 192.168.23.1/26
...
00|111110 - 192.168.23.62/26

Con esta subred (192.168.23.0/26) ya tenemos la primera subred para los hosts de la Red 1.

2. RED 2: 28 HOSTS


Para 28 hosts necesitamos solamente 5 bits, ya que 2^5 -2= 30, por lo que para esta será una red /27. Aquí el truquillo está en pensar lo siguiente:

- En el paso anterior hemos dividido nuestro pool de direcciones (192.168.23.0/24) en 4 subredes /26 (pues hemos hecho una /26, es decir, la mascara de red le ha robado 2 bits a la parte del host, 2 bits = 2^2 = 4 subredes). Estas subredes son (en este ejemplo solo nos hace falta mirar el último octeto):

00|000001 - 00|111110 // 192.168.23.1   - 192.168.23.62 (subred 192.168.23.0/26)
01|000001 - 01|111110 // 192.168.23.65 - 192.168.23.126 (subred 192.168.23.64/26)
10|000001 - 10|111110 // 192.168.23.129 - 192.168.23.190 (subred 192.168.23.128/26)
11|000001 - 11|111110 // 192.168.23.193 - 192.168.23.254 (subred 192.168.23.192/26)

La 1era subred /26 la usamos para la RED 1 (punto anterior). Lo que podemos hacer para la RED 2 es, repetir el proceso con la segunda subred /26, es decir, dividimos la segunda subred /26 en 2 sub-subredes de /27, pues para la RED 2 hemos dicho que será una /27: por tanto vamos a binario:

01|0|00001 - 01|0|11110  // 192.168.23.65   -  192.168.23.94 (subred 192.168.23.64/27)
01|1|00001 - 01|1|11110  // 192.168.23.97   -  192.168.23.126 (subred 192.168.23.96/27)

Para la RED 2 podemos escoger la primera sub-subred 192.168.23.64/27 y nos sobra la segunda subred /27.

3. RED 3: 12 HOSTS


Para 12 hosts necesitamos 4 bits pues 2^4 -2 = 14. Por tanto con una subred /28 será suficiente. Repetimos el paso anterior: pillamos la segunda subred /27 y la podemos dividir en 2 subredes /28:

0110|0001 - 0110|1110  // 192.168.23.97  -  192.168.23.110 (subred 192.168.23.96/28)
0111|0001 - 0111|1110  // 192.168.23.113 - 192.168.23.126 (subred 192.168.23.112/28)

Para la red 3 podemos pillar la subred 192.168.23.96/28)

4. RED 4: 8 HOSTS


con 3 bits pillamos 2^3 -2 = 6 hosts... ooooooo seguimos necesitando 4 bits para poder dar dirección a los 8 hosts de esta red. Por tanto la mascara de esta subred también será /28, oh! perfecto, en el punto anterior nos sobra 1, pillamos pues la subred 192.168.23.112/28

5. RED 5: PUNTO A PUNTO


Punto a punto significa que seguramente 2 ruters se conectan el uno con el otro, por tanto, necesitamos una subred con 2 IP's. ¿1 bit? noooooo porque 2^1-2 = 0, necesitamos 2 bits: 4 IP's - broadcast - red = 2 Ip's para hosts/interficies de ruter, perfect. 2 bits de host significan una mascara de red de 30 bits, por tanto estamos buscando una /30.

Seguimos usando el mismo método, buscando una subred libre para subdividirla más. En el punto 4 hemos pillado las 2 subredes /28 que llenan las subredes /27 que nos sobraba del punto 2, por tanto hemos llenado la segunda subred /26. Es decir:

El rango general /24 lo hemos dividido en 4 subredes de /26. La 1era para la red1, la 2a la hemos ido subdividiendo en /27 y /28 y también la hemos llenado. Pues nada, a subdividir la 3era subred /26:

10|000001 - 10|111110 // 192.168.23.129 - 192.168.23.190 (subred 192.168.23.128/26)

Como para esta red 5 necesitamos 30 bits de mascara el último octeto de la IP quedará:

100000|01 - 100000|10 // 192.168.23.129  - 192.168.23.130 (subred 192.168.23.128/30)
100001|01 - 100001|10 // 192.168.23.133  - 192.168.23.134 (subred 192.168.23.132/30)
100010|01 - 100010|10 // 192.168.23.137  - 192.168.23.138 (subred 192.168.23.136/30)
...

Con estas 3 subredes ya tenemos las RED5, 6 y 7 que son punto a punto.

Vemos pues que usamos 139 IP's (ultimo host .138, el .139 seria el broadcast de esa red) para los 114 hosts que tenemos haciendo una buena división en subredes.

Los puntos negativos son:
  1. por cada subred pierdes 2 IPS (broadcast, red)
  2. complicas un poco el enrutamiento
  3. en este caso, las divisiones son muy justas a las subredes que nos dicen, como a la red 1 le de por connectar 3 pc's mas... las cagao y tienes que cambiar toooooooodo el direccionamiento... cagate.
NOTA Para hacer las divisiones va bien ir apuntandose en un cuadro como vas dividiendo cada red y subred y así ves de manera gráfica las subdivisiones y que rangos te van quedando libres.

TRUCO para pasar a binario de forma rápida: tener a la vista las potencias de 2

128   64   32   16   8   4   2   1

* Binario -> decimal
sumamos la pontencia según la posición de los '1'. Ejemplo:
10111001  -> 128+0+64+32+16+0+0+1 = 241

* Decimal -> binario
Mientras la resta de decimal con la potencia de 2 sea positiva, se resta la potencia de 2 y se pone 1 en la posicion, sino, 0. Ejemplo:

187 -> 187-128 = 59 -> 1
59  -> menor que 64 -> 10
59 -> 59-32 = 27 -> 101
27 -> 27-16 = 11 -> 1011
11 -> 11-8 = 3 -> 10111
3 -> menor que 4 -> 101110
3 -> 3-2=1 -> 1011101
1 -> 1-1=0 -> 10111011

Comentarios