Introducción
Este artículo intenta complementar las bases de creación de subredes con direcciones IP IPV4. En el ejemplo, se toman en cuenta dos casos particulares, aquel en el que se precisa calcular las subredes simplemente sabiendo cuántas subredes se quieren armar y aquel en el que se sabe cuántas subredes y cuántos hosts por subred se quieren armar.
Las bibilografías suelen decir que la primera dirección de red/subred (la que comienza con todos dígitos de valor 0) y la última (la que finaliza con todos dígitos de valor 1) suelen estar reservadas para referirse a la red/subred misma y al broadcast respectivamente, dato que es útil a la hora de elegir la primera y última dirección de subred y/o host. Por ese motivo, de acuerdo a la filosofía utilizada por el lector, tomar el valor que parezca más adecuado para cada caso, pero el método de cálculo de las direcciones no cambia.
Contenido
Suponiendo que tengo la siguiente
dirección IP: 16.0.0.0/8 y que quiero formar 500 subredes para luego
averiguar cuántos hosts puede tener cada subred.
Hay varias cosas que debo tener en
cuenta:
En primer lugar esta es una IP sin
clase, no es necesario reconocer de que clase es porque se genera de
forma dinámica, esto lo sé porque la dirección tiene un “/n”.
En segundo lugar el /8 me indica la
cantidad de dígitos binarios que están siendo utilizados por la IP
para la dirección de la red, en este caso son 8 dígitos binarios,
por lo cual los primeros 8 bits están ocupados y no pueden
utilizarse para crear subredes.
Entonces 16.0.0.0/8 es la dirección de
red y no es bajo ninguna circunstancia una dirección de subred.
Bueno, pero ¿cómo evoluciona la cosa?
a) Si tengo que tomar 500 subredes,
busco la potencia de dos más cercana que contenga al número 500.
QUE LO CONTENGA, es decir, que siempre es preferible que sea mayor,
pero NUNCA menor que 500. Esto lo logro haciendo logaritmos o
intuitivamente, de forma que 2 a la x=número
mayor que la cantidad de subredes. En este caso, 2 a la 9 =512
y con eso es suficiente para formar 500 subredes, por lo tanto, si lo
vemos en binario es lo siguiente:
00010000.00000000.00000000.00000000 es
la dirección de la red (16.0.0.0).
11111111.00000000.00000000.00000000 es
la máscara de red (255.0.0.0).
La máscara de red son 8 dígitos de valor 1 consecutivos porque eso es lo que nos está indicando el /8 de la
dirección de red, esos números están ocupados y nuestros dígitos
binarios de subred se toman a partir de ahí. Por lo tanto, para
formar la máscara de subred, tomo los siguientes 9 dígitos binarios
a continuación del último 1 de la máscara de red y los relleno con
más dígitos de valor 1 para indicar que están por ser utilizados (La cantidad 9
deriva de la potencia de dos calculada anteriormente para formar 500
subredes), quedando así:
11111111.11111111.10000000.00000000
que es la máscara de subred (255.255.128.0).
(En verde están los 9 dígitos de valor 1 que agregamos
entre el segundo y tercer octeto de la dirección de red).
¿Y cómo se traduce esto a direcciones
IP?
En primer lugar, la dirección IP de la
red pasa a ser 16.0.0.0/17 (Le agregamos los 9 dígitos binarios
dentro de su rango de dígitos usados).
En segundo lugar contemplamos que cada
octeto de la dirección tiene 8 dígitos binarios y por ende sólo
puede haber 2 a la 8 combinaciones posibles de 0's y 1's en cada
octeto, por lo cuál cada octeto irá desde el 00000000 hasta el
11111111.
En este caso en particular el primer
octeto no lo miramos, porque nos indica en que red estamos y siempre
tendrá el mismo valor, el segundo octeto, está todo marcado con 1's
en la máscara de subred, lo que indica que lo utilizaremos todo y
por ende se podrán hacer con él combinaciones completas desde
00000000 hasta 11111111 dando valores decimales desde 0 hasta 255.
Por otro lado, en el tercer octeto la máscara de subred indica que
sólo utilizaremos un dígito binario, un dígito binario da
combinaciones de 2 a la 1, es decir 2 combinaciones posibles, por lo
cual tendremos los valores 00000000 y 10000000 porque sólo podemos
combinar el primer dígito del octeto, dando valores decimales que
solo pueden tomar el 0 o el 128.
Entonces las direcciones IP de subred
serían:
16[Dirección
de red].0[Dirección de
subred].0[Dirección de
subred].0[Posibles direcciones host]
(16.0.0.0) Dado que esta es la dirección de la red en sí, no la
tendremos en cuenta, y pasamos al siguiente valor:
16.0.128.0-> primera dirección de
subred.
16.1.0.0
16.1.128.0
16.2.0.0
16.2.128.0
.
.
.
Y sucesivamente...
Ahora, ¿cuántos hosts puede tener cada
una de estas subredes?
Si vamos de nuevo al binario:
11111111.11111111.10000000.00000000
Se puede ver
marcado en verde que quedan 15 posibles lugares a utilizar para
formar hosts para esas subredes, por lo cual se pueden armar 2 a la
15= 32768 hosts por cada subred.
¿Qué pasa si nos preguntan a la inversa? Qué
tal si nos piden 500 subredes de 60 hosts cada una?
Acá la cosa es distinta porque
nosotros no estamos interesados en que cada subred tenga mucho más
que 80 hosts y por ende el problema debería plantearse diferente.
Podemos decir que de la misma dirección IP (16.0.0.0/8) queremos armar esos requerimientos de hosts y subredes.
Igual que antes sabemos que los primeros 8 dígitos están ocupados
por las direcciones de red, por ende, nos quedan 3 octetos para
jugar.
COMENZAMOS SIEMPRE POR LOS HOSTS,
buscando la potencia de 2 que se acerque a 60 lo más posible y que
CONTENGA a ese número. En este caso esa potencia es 2 a la 6=64 por
lo cual, tenemos que tomar los últimos 6 dígitos binarios de la
dirección IP, rellenando con 1's todo lo que no va a ser usado como
dirección de host, para formar la máscara de subred.
11111111.11111111.11111111.11000000
máscara de subred (255.255.255.192)
Por lo tanto, los
1s en rojo son ls correspondientes al /8 de la dirección de red. Los
1's en verde son los correspondientes a las direcciones de subred,
todos los verdes pueden usarse para formar subredes, por más que no
nos hagan falta tantas. Los 0s en violeta son los correspondientes a
las direcciones de host, solamente puede haber 64 direcciones de host
por cada subred.
Así entonces por
cada subred los hosts iran desde 11000000 hasta 11111111 en el cuarto
octeto, es decir, desde el número decimal 192 hasta el 255.
Ahora nuestra
dirección IP es 16.0.0.0/18.
Después
necesitamos saber cuáles son la primera y última dirección de red
desde el primer host en la primer subred de nuestras 500 subredes
hasta el último host de la última subred. Para eso necesitamos
saber la ptencia de 2 que contenga al número 500, en este caso, 2 a
la 9=512, como ya habíamos visto en el otro ejercicio. Por lo tanto,
la dirección de subred estará dad por los 9 dígitos binarios
siguientes a las direcciones de host, tomados desde el dígito de
menor peso.
11111111.11111111.11111111.11000000
En verde se
pueden ver marcados los dígitos de la máscara que vamos a usar, por
lo cuál, las direcciones de subred van a ir en el tercer octeto,
desde 10000000 hasta 11111111 y en el cuarto octeto desde 00000000
hasta 11000000. Es decir desde los números decimales 128 a 255 en el
tercer octeto y desde los números decimales 0 a 192 en el cuarto
octeto. A su vez por cada número en el tercer cteto habrá 2 a la
2=4 combinaciones en el cuarto octeto, pero todas esas combinaciones
en conjunto formarán 512 subredes.
Por lo cuál:
La primer
dirección de subred será 16.0.128.0
(00010000.00000000.10000000.00000000)
La segunda será
16.0.128.64 (00010000.00000000.10000000.01000000)
luego
16.0.128.128 (00010000.00000000.10000000.10000000)
y por último
16.0.128.192 (00010000.00000000.10000000.11000000)
Entre cada una de
esas subredes habrá 64 hosts que irán en orden desde el último
decimal, por ejemplo, el primer host de la primer subred es la subred
en sí 16.0.128.0 y el segundo será 16.0.128.1 y así hasta
16.0.128.64.
Después desde
16.0.128.128 hasta 16.0.128.192, etc.
Por último, las
últimas 4 direcciones de subred son:
16.0.255.0
(00010000.00000000.11111111.00000000)
16.0.255.64
(00010000.00000000.11111111.01000000)
16.0.255.128
(00010000.00000000.11111111.10000000)
16.0.255.192
(00010000.00000000.11111111.11000000) Esta es la última dirección de subred.
Si sumamos los
64 hosts de la última dirección de subred (16.0.255.192) obtenemos
la última dirección de host de la última de las 512 subredes, que
será 16.0.255.255 (00010000.00000000.11111111.11111111)
(En rojo marcado el último host).
Conclusión
Siempre es importante saber qué es lo que se está buscando, porque la forma de arrancar los cálculos varía de acuerdo a la información con la que se cuenta.
Ante cualquier consulta o comentario sobre este post, no dudes en comentar más abajo.
No hay comentarios:
Publicar un comentario