Bueno, se demoró pero llegó. Voy a explicar como hago para calcular la cantidad de hosts disponibles en una subred, y la cantidad de subredes que se pueden crear con una determinada máscara. Esto es algo que "me sale", me resulta un poco dificil explicarlo y más escribiendolo!!! asi que espero lo puedan entender
Primero, repasemos de que está compuesta una dirección IP: 4 números decimales separados por puntos. bien... pero en realidad, son 4 octetos binarios (que es el lenguaje que "entienden" las máquinas). Por ejemplo, la dirección IP 192.168.1.0 en notación binaria seria 11000000.10101000.00000001.00000000. Mucho más sencillo recordar el número binario!
Para realizar estos cálculos, primero hay que saber el "peso" de cada posición binaria. las mismas serían:
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
tomando como ejemplo el número 192 = 11000000 vemos que 192 = 128 + 64... y asi podemos calcular cualquier número binario / decimal. Si hacemos 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255... y aca tenemos un punto importante. sabemos que cada parte de la dirección IP tiene un rango de 0 a 255... y si hacemos 2^8 el resultado es 256 (las direcciones IP empiezan a contar de 0).
Ahora veamos la máscara de red: no me voy a meter en las clases y esas cosas, básicamente una máscara de red me dice que parte de la dirección es RED y que parte es para los HOSTS. También está la notación decimal y la binaria... si tengo la máscara 255.255.255.128, en decimal sería 11111111.11111111.11111111.10000000
La parte con todos "1", es la parte de RED. La parte que queda en "0" es la parte de los hosts. Y otra notación que se pueden encontrar es la que tiene la "/", que simplemente el número q le sigue a la barra es la cantidad de "1" de la máscara. en el ejemplo que puse antes, sería una /25
Cuando uno hace subneteo o VLSM, lo que está haciendo es modificar esa máscara. Lo vemos con un ejemplo:
Dada la IP 192.168.0.0/22, la máscara de red sería entonces 255.255.252.0. Pasemos todo esto a binario (pongo en binario solo los octetos que nos interesan al cálculo)
192 . 168 . 00000000 . 00000000 --> DIRECCION IP
255 . 255 . 11111100 . 00000000 --> MASCARA
Si queremos subnetear esto para conseguir por ejemplo, 8 subredes, tenemos que cambiar la máscara. Y para saber cuántos bits correr la máscara (para la derecha), vamos haciendo 2^[cantidad de bits prestados]
si corremos un bit, será 2^1 = 2 subredes. no alcanza; pedimos otro: 2^2= 4... tampoco. 2^3=8 perfecto! ahora entonces me va a quedar:
255.255. 111111 00.0 000000 esos 3 bits "prestados" ahora en la máscara van a ser "1", y tenemos una máscara 255.255.255.128. Y qué paso con la dirección de red?
192.168. 00000000 . 00000000 con cada subred va a ir modificando esos 3 bits...
192.168. 000000 | 00 . 0 | 0000000 --> 192.168.0.0
192.168. 000000 | 00 . 1 | 0000000 --> 192.168.0.128
192.168. 000000 | 01 . 0 | 0000000 --> 192.168.1.0
192.168. 000000 | 01 . 1 | 0000000 --> 192.168.1.128
192.168. 000000 | 10 . 0 | 0000000 --> 192.168.2.0
192.168. 000000 | 10 . 1 | 0000000 --> 192.168.2.128
192.168. 000000 | 11 . 0 | 0000000 --> 192.168.3.0
192.168. 000000 | 11 . 1 | 0000000 --> 192.168.3.128
y ahi están las 8 subredes.
Ahora veamos el tema de los hosts.. en estas subredes del ejemplo, vamos a tener 7 bits para los hosts. Asi como hicimos para averiguar la cantidad de subredes, lo hacemos para los hosts: 2^7 = 128. Pero aca hay algo importante a tener en cuenta. A ese valor, SIEMPRE hay que restarle 2. Porque de esas 128 posiblidades, una va a ser la dirección de red y la otra la dirección de broadcast; entonces esas 2 no pueden ser asignadas a un host. Entonces, para este ejemplo, cada una de las subredes van a poder conectar 126 hots.
Aca pensamos el problema desde la subred... ahora veamos que pasa si digo "quiero crear una red con X cantidad de hosts"... bien, aca entra en juego una tablita con los exponentes...
2^1 = 2
2^2 = 4
2^3 = 8 etc...
Ahora que se sabe esto, lo podemos ver más rápido asi:
4096 | 2048 | 1024 | 512 . 128 | 64 | 32 | 16 | 8 | 4 | 2 | 0 --> cantidad de hosts (-2)
12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 --> bits prestados
Bueno, espero que haya quedado claro; la forma más rápida de entenderlo es practicando mucho.
Saludos!
Primero, repasemos de que está compuesta una dirección IP: 4 números decimales separados por puntos. bien... pero en realidad, son 4 octetos binarios (que es el lenguaje que "entienden" las máquinas). Por ejemplo, la dirección IP 192.168.1.0 en notación binaria seria 11000000.10101000.00000001.00000000. Mucho más sencillo recordar el número binario!
Para realizar estos cálculos, primero hay que saber el "peso" de cada posición binaria. las mismas serían:
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
tomando como ejemplo el número 192 = 11000000 vemos que 192 = 128 + 64... y asi podemos calcular cualquier número binario / decimal. Si hacemos 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255... y aca tenemos un punto importante. sabemos que cada parte de la dirección IP tiene un rango de 0 a 255... y si hacemos 2^8 el resultado es 256 (las direcciones IP empiezan a contar de 0).
Ahora veamos la máscara de red: no me voy a meter en las clases y esas cosas, básicamente una máscara de red me dice que parte de la dirección es RED y que parte es para los HOSTS. También está la notación decimal y la binaria... si tengo la máscara 255.255.255.128, en decimal sería 11111111.11111111.11111111.10000000
La parte con todos "1", es la parte de RED. La parte que queda en "0" es la parte de los hosts. Y otra notación que se pueden encontrar es la que tiene la "/", que simplemente el número q le sigue a la barra es la cantidad de "1" de la máscara. en el ejemplo que puse antes, sería una /25
Cuando uno hace subneteo o VLSM, lo que está haciendo es modificar esa máscara. Lo vemos con un ejemplo:
Dada la IP 192.168.0.0/22, la máscara de red sería entonces 255.255.252.0. Pasemos todo esto a binario (pongo en binario solo los octetos que nos interesan al cálculo)
192 . 168 . 00000000 . 00000000 --> DIRECCION IP
255 . 255 . 11111100 . 00000000 --> MASCARA
Si queremos subnetear esto para conseguir por ejemplo, 8 subredes, tenemos que cambiar la máscara. Y para saber cuántos bits correr la máscara (para la derecha), vamos haciendo 2^[cantidad de bits prestados]
si corremos un bit, será 2^1 = 2 subredes. no alcanza; pedimos otro: 2^2= 4... tampoco. 2^3=8 perfecto! ahora entonces me va a quedar:
255.255. 111111 00.0 000000 esos 3 bits "prestados" ahora en la máscara van a ser "1", y tenemos una máscara 255.255.255.128. Y qué paso con la dirección de red?
192.168. 00000000 . 00000000 con cada subred va a ir modificando esos 3 bits...
192.168. 000000 | 00 . 0 | 0000000 --> 192.168.0.0
192.168. 000000 | 00 . 1 | 0000000 --> 192.168.0.128
192.168. 000000 | 01 . 0 | 0000000 --> 192.168.1.0
192.168. 000000 | 01 . 1 | 0000000 --> 192.168.1.128
192.168. 000000 | 10 . 0 | 0000000 --> 192.168.2.0
192.168. 000000 | 10 . 1 | 0000000 --> 192.168.2.128
192.168. 000000 | 11 . 0 | 0000000 --> 192.168.3.0
192.168. 000000 | 11 . 1 | 0000000 --> 192.168.3.128
y ahi están las 8 subredes.
Ahora veamos el tema de los hosts.. en estas subredes del ejemplo, vamos a tener 7 bits para los hosts. Asi como hicimos para averiguar la cantidad de subredes, lo hacemos para los hosts: 2^7 = 128. Pero aca hay algo importante a tener en cuenta. A ese valor, SIEMPRE hay que restarle 2. Porque de esas 128 posiblidades, una va a ser la dirección de red y la otra la dirección de broadcast; entonces esas 2 no pueden ser asignadas a un host. Entonces, para este ejemplo, cada una de las subredes van a poder conectar 126 hots.
Aca pensamos el problema desde la subred... ahora veamos que pasa si digo "quiero crear una red con X cantidad de hosts"... bien, aca entra en juego una tablita con los exponentes...
2^1 = 2
2^2 = 4
2^3 = 8 etc...
Ahora que se sabe esto, lo podemos ver más rápido asi:
4096 | 2048 | 1024 | 512 . 128 | 64 | 32 | 16 | 8 | 4 | 2 | 0 --> cantidad de hosts (-2)
12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 --> bits prestados
Bueno, espero que haya quedado claro; la forma más rápida de entenderlo es practicando mucho.
Saludos!

