Ejemplo:
IP: 128.42.5.4
En binario: 10000000 00101010 00000101 00000100
Subred: 255.255.248.0
¿Cómo podría determinar el prefijo, la red, la subred y los números de host?
fuente
Ejemplo:
IP: 128.42.5.4
En binario: 10000000 00101010 00000101 00000100
Subred: 255.255.248.0
¿Cómo podría determinar el prefijo, la red, la subred y los números de host?
Convierta la representación decimal con puntos de la máscara de red a binario. Luego, cuente el número de 1 bits contiguos, comenzando en el bit más significativo en el primer octeto (es decir, el lado izquierdo del número binario).
255.255.248.0 in binary: 11111111 11111111 11111000 00000000
-----------------------------------
I counted twenty-one 1s -------> /21
El prefijo 128.42.5.4 con una máscara de red 255.255.248.0 es / 21.
La dirección de red es el AND lógico de los bits respectivos en la representación binaria de la dirección IP y la máscara de red. Alinee los bits en ambas direcciones y realice un AND lógico en cada par de los bits respectivos. Luego convierta los octetos individuales del resultado de nuevo a decimal.
Tabla lógica y de verdad:
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
255.255.248.0 in binary: 11111111 11111111 11111000 00000000
----------------------------------- [Logical AND]
10000000 00101010 00000000 00000000 ------> 128.42.0.0
Como puede ver, la dirección de red de 128.42.5.4/21 es 128.42.0.0
La dirección de transmisión convierte todos los bits de host a 1s ...
Recuerde que nuestra dirección IP en decimal es:
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
La máscara de red es:
255.255.248.0 in binary: 11111111 11111111 11111000 00000000
Esto significa que nuestros bits de host son los últimos 11 bits de la dirección IP, porque encontramos la máscara de host al invertir la máscara de red:
Host bit mask : 00000000 00000000 00000hhh hhhhhhhh
Para calcular la dirección de transmisión, forzamos que todos los bits del host sean 1:
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
Host bit mask : 00000000 00000000 00000hhh hhhhhhhh
----------------------------------- [Force host bits]
10000000 00101010 00000111 11111111 ----> 128.42.7.255
No ha proporcionado suficiente información para calcular subredes para esta red; Como regla general, usted construye subredes reasignando algunos de los bits del host como bits de red para cada subred. Muchas veces no hay una forma correcta de subred de un bloque ... dependiendo de sus restricciones, podría haber varias formas válidas de subred de un bloque de direcciones.
Supongamos que dividiremos 128.42.0.0/21 en 4 subredes que deben contener al menos 100 hosts cada una ...
En este ejemplo, sabemos que necesita al menos un prefijo / 25 para contener 100 hosts; Elegí un / 24 porque cae en un límite de octeto. Observe que la dirección de red para cada subred toma prestados bits de host del bloque de red principal.
¿Cómo supe que necesito al menos una longitud de máscara de / 25 para 100 hosts? Calcule el prefijo retrocediendo en el número de bits de host necesarios para contener 100 hosts. Se necesitan 7 bits de host para contener 100 hosts. Oficialmente esto se calcula con:
Bits de host = Log 2 (Número de hosts) = Log 2 (100) = 6.643
Dado que las direcciones IPv4 tienen 32 bits de ancho, y estamos utilizando los bits del host (es decir, los bits menos significativos), simplemente reste 7 de 32 para calcular el prefijo de subred mínimo para cada subred ... 32 - 7 = 25.
Como solo queremos cuatro subredes de todo el bloque 128.42.0.0/21, podríamos usar subredes / 23. Elegí / 23 porque necesitamos 4 subredes ... es decir, dos bits adicionales agregados a la máscara de red.
Esta es una respuesta igualmente válida para la restricción, utilizando subredes / 23 de 128.42.0.0/21 ...
Esto es lo que ya hemos hecho anteriormente ... solo reutilice la máscara de host del trabajo que hicimos cuando calculamos la dirección de transmisión de 128.42.5.4/21 ... Esta vez usaré 1s en lugar de h
, porque necesitamos realizar un AND lógico en la dirección de red nuevamente.
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
Host bit mask : 00000000 00000000 00000111 11111111
----------------------------------- [Logical AND]
00000000 00000000 00000101 00000100 -----> 0.0.5.4
Para encontrar la cantidad máxima de hosts, observe la cantidad de bits binarios en el número de host anterior. La forma más fácil de hacer esto es restar la longitud de la máscara de red de 32 (número de bits en una dirección IPv4). Esto le da el número de bits de host en la dirección. En ese punto...
Número máximo de hosts = 2 ** (32 - netmask_length) - 2
La razón por la que restamos 2 arriba es porque los números de host de todos y todos ceros están reservados. El número de host de todos ceros es el número de red; El número de host de todos es la dirección de transmisión.
Usando la subred de ejemplo de 128.42.0.0/21 anterior, el número de hosts es ...
Número máximo de hosts = 2 ** (32 - 21) - 2 = 2048 - 2 = 2046
Supongamos que alguien nos da dos direcciones IP y espera que encontremos la máscara de red más larga que contenga ambas; por ejemplo, que tal si tuviéramos:
Lo más fácil es convertir ambos a binario y buscar la cadena más larga de bits de red desde el lado izquierdo de la dirección.
128.42.5.17 in binary: 10000000 00101010 00000101 00010001
128.42.5.67 in binary: 10000000 00101010 00000101 01000011
^ ^ ^
| | |
+--------- Network ---------+Host-+
(All bits are the same) Bits
En este caso, la máscara de red máxima (máscara de host mínima) sería / 25
NOTA: Si intenta comenzar desde el lado derecho, no se deje engañar solo porque encuentre una columna de bits coincidente; podría haber bits inigualables más allá de esos bits coincidentes. Honestamente, lo más seguro es comenzar desde el lado izquierdo.
La respuesta anterior golpea el clavo en la cabeza perfectamente. Sin embargo, cuando comencé, me tomó algunos ejemplos diferentes de un par de fuentes para que realmente llegara a casa. Por lo tanto, si está interesado en otros ejemplos, escribí algunas publicaciones de blog sobre el tema: http://www.oznetnerd.com/category/subnetting/
Administradores, si esta publicación se considera spam, no dude en eliminarla.
Editar: según la sugerencia de YLearn, intentaré tomar las partes relevantes de la Parte 1 de mi serie, sin pegar toda la entrada aquí.
Usemos 195.70.16.159/30 como ejemplo.
Como es un / 30, sabemos que la porción del host estará en el cuarto octeto. Vamos a convertir eso a binario:
128 64 32 16 8 4 2 1
SN SN SN SN SN SN H H
1 0 0 1 1 1 1 1
Ahora para averiguar la dirección de red, todo lo que hacemos es agregar los bits SN que tienen un 1 debajo de ellos, juntos. (128 + 16 + 8 + 4 = 156).
Cuando agrega este 156 a los primeros tres octetos de la dirección, nos queda la Dirección de red 195.70.16.156.
Ahora, como sabemos que la primera dirección utilizable es siempre la Dirección de red más una, todo lo que tenemos que hacer es realizar el siguiente cálculo: (156 + 1 = 157).
Esto nos da una primera dirección utilizable de 195.70.16.157.
Ahora omita la última dirección utilizable por un momento y busque la dirección de transmisión. Para descubrir qué es, todo lo que tenemos que hacer es sumar todos los bits H (independientemente de si son un 1 o un 0) y luego agregar este número a la dirección de red. (2 + 1 + 156 = 159).
Esto nos da una dirección de difusión de 195.70.16.159.
Y finalmente, busquemos la última dirección utilizable. Este proceso es similar a encontrar la primera dirección utilizable, sin embargo, en lugar de agregar una a la dirección de red, en realidad restamos una de la dirección de transmisión. (159-1 = 158).
Esto nos da una última dirección utilizable de 195.70.16.158.
¡Y ahí lo tenemos! Nuestro temaplte está completo. Para una referencia fácil, aquí está de nuevo:
Como atajo, también puedes usar esta fórmula. Funciona en subredes de cualquier tamaño:
No quiero quitarle nada a la excelente respuesta de Mike Pennington , que he promovido sin descanso, pero sigo viendo preguntas que no se abordan directamente en su respuesta, y he creado algo que originalmente se basó en la respuesta de Mike, pero tengo Más información para abordar las preguntas que han surgido con el tiempo. Desafortunadamente, es demasiado grande y tuve que dividirlo en dos respuestas.
Parte 1 de 2
Matemáticas IPv4
Dada una dirección IPv4 y la máscara de red IPv4 (la máscara de red también se puede derivar de una longitud de máscara de red o máscara de host), puede determinar mucha información sobre una red IPv4: Dirección de red, Dirección de difusión de red, Direcciones de host totales, Total utilizable Direcciones de host, primera dirección de host utilizable y última dirección de host utilizable.
No puedo enfatizar lo suficiente que debe hacer matemáticas IPv4 en binario. Creo que cada ingeniero de redes (o aspirante a ingeniero de redes) ha intentado encontrar una manera de hacerlo todo en decimal, como estoy seguro de que lo hará *. El problema es que 10 (decimal) no es una potencia de 2 (binario), por lo que decimal y binario no se convierten naturalmente entre sí de la forma en que el hexadecimal (base 16) se convierte naturalmente desde y hacia binario porque 16 es una potencia de 2 .
Parece que el uso de la notación decimal punteada para IPv4 fue un error temprano que ahora no se puede corregir, pero IPv6 adoptó el uso de hexadecimal desde el principio, y es fácil de convertir entre hexadecimal y binario.
Si no tiene una calculadora de IP (probablemente no está permitida en los exámenes de clase de educación en red o en las pruebas de certificación), es útil hacer un gráfico de los valores de los bits en un octeto. Como esto es binario, cada valor de bit es 2 veces el mismo valor de dígito en el siguiente dígito menos significativo. Cada dígito es el número base multiplicado por el mismo valor de dígito en el siguiente dígito menos significativo. Esto también es cierto para cualquier otra base numérica, incluido el decimal (base 10), donde el valor de cada dígito es 10 veces el valor del mismo valor de dígito en la siguiente posición numérica menos significativa. Para dígitos binarios (bits):
Cuando el decimal se trata de las potencias de 10, el binario se trata de las potencias de 2. Observe que para cada número de bit en la tabla anterior, el valor correspondiente es 2 a la potencia del número de bit.
También deberá recordar sus Tablas de Verdad de la escuela (en matemáticas binarias, 0 es Falso y 1 es Verdadero):
* Si realiza cálculos de IPv4 durante muchos años, puede llegar al punto en el que puede realizar conversiones binarias / decimales en su cabeza, y luego puede parecer que puede realizar cálculos de IPv4 en decimales. Aunque puedo hacer esto en mi cabeza, siempre verifico dos veces con una calculadora de IP, o convertirlo a binario, realizar los cálculos y volver a convertir a decimal, antes de realizar un cambio en una red de producción.
Dirección IPv4
La notación decimal con puntos IPv4, por ejemplo
198.51.100.223
, es simplemente para facilitar que los humanos lean una dirección IPv4. Las cuatro secciones separadas, llamadas octetos, realmente no tienen significado para IPv4. No cometa el error común de pensar que los octetos tienen un significado especial. Una dirección IPv4 es realmente un número binario de 32 bits, y así es como los dispositivos de red ven y usan una dirección IPv4.Nuestro ejemplo de dirección IPv4
198.51.100.223
es en realidad11000110001100110110010011011111
para un dispositivo en la red, por lo que puede ver que la representación decimal con puntos realmente lo hace más fácil para los humanos. Cada octeto son ocho bits de la dirección de 32 bits (de ahí el término comúnmente utilizado, "octeto"), por lo que hay cuatro octetos (32 address bits / 8 bits per octet = 4 octets
). Nuestro ejemplo de dirección binaria de 32 bits se separa en cuatro octetos, luego cada octeto binario se convierte en un número decimal *:Debido a que cada octeto tiene ocho bits de longitud, cada octeto tendrá un valor entre
0
y255
(cualquier valor mayor que255
no sea válido). La razón es que2^8 = 256
:2
(la base del número binario) a la potencia de8
(ocho bits por octeto) es igual256
, el número de valores diferentes que puede expresar un octeto de ocho bits. Recuerde que el primer valor es0
, por lo que el256
valor th será uno menos que el número total de valores que se pueden expresar (256 – 1 = 255
).Para realizar correctamente las matemáticas de IPv4, debe hacerlo en binario, de lo contrario cometerá errores que le causarán problemas y frustración. Eso significa que debe convertir la notación decimal punteada a binaria antes de intentar manipularla:
* Algunas aplicaciones y lenguajes de programación pueden interpretar los ceros a la izquierda en una dirección IPv4 decimal con puntos como octal (base 8) en lugar de decimal (base 10), causando errores, y se deben evitar los ceros iniciales para la representación IPv4 decimal con puntos, pero los ceros iniciales son necesarios para los octetos de direcciones IPv4 binarias porque representan posiciones de bits en la dirección completa, y dejar una posición de bits acortará la dirección y cambiará el valor binario.
Máscara de red IPv4
Una máscara de red IPv4 se usa para dividir una dirección IPv4 en dos partes: la parte de la red y la parte del host. La división puede estar en cualquier número de bit, por lo que puede caer dentro de un octeto, no en un límite de octeto, como muchas personas suponen incorrectamente que siempre lo hace. Una máscara de red IPv4 tiene el mismo tamaño que una dirección IPv4 (32 bits), y se expresa en notación decimal punteada de la misma manera que expresaría una dirección IPv4 en notación decimal punteada (cuatro octetos de ocho bits, separados por un período). Por ejemplo,
255.255.248.0
.Una máscara de red IPv4 consta de una cantidad de
1
bits consecutivos (que representan la porción de red de una dirección), seguidos de una cantidad de0
bits (que representan la porción de host de la dirección). El número total de1
bits y el número total de0
bits se suman32
, el número de bits en una dirección IPv4 o máscara de red. Para nuestro ejemplo de máscara de red:Como puede ver, la división entre la red y las porciones de host de la dirección IPv4 que usa esta máscara particular cae dentro de un octeto, no en un límite de octeto.
Una máscara de red IPv4 a menudo se representa por el número de
1
bits consecutivos en la máscara. Esto se denomina longitud de máscara de red o longitud de prefijo, y se representa como/
seguido por el número de1
bits consecutivos en la máscara de red. Para nuestro ejemplo, se cuenta el número de1
bits consecutivos21
, que se pueden representar como/21
.Dada una longitud de máscara, puede calcular la representación decimal con puntos de la máscara. Simplemente anote el número de
1
bits para la longitud de la máscara y agregue suficientes0
bits al final para el total de32
bits. Convierta el número binario resultante en la representación decimal con puntos:El ejemplo puede representarse tradicionalmente como
198.51.100.223
, con una máscara de red de255.255.248.0
, o puede representarse como el CIDR (enrutamiento entre dominios sin clase) más moderno198.51.100.223/21
.Dirección de red IPv4
Una dirección de red IPv4 es una dirección IPv4 con todos los bits de host configurados
0
. La dirección de red IPv4 se puede calcular mediante un bit a bitAND
de los bits respectivos en la representación binaria de la dirección IPv4 y la máscara de red IPv4. Alinee los bits en ambas direcciones y realice un bitAND
a bit en cada par de bits respectivos, luego convierta los octetos individuales del resultado nuevamente a decimal.Para nuestro ejemplo de dirección IPv4
198.51.100.223
y máscara de red255.255.248.0
:Como puede ver, la dirección de red de
198.51.100.223/21
es198.51.96.0
. Tenga en cuenta que no puede depender de los octetos para indicarle qué parte de la dirección es la red y qué parte de la dirección es para los hosts.Puede usar este método para determinar si dos direcciones están en la misma red o en redes diferentes *. Si, por ejemplo, desea ver si su
198.51.100.223/21
dirección está en la misma red IPv4 con un host asignado a la198.51.102.57
dirección, determine su dirección de red IPv4 (como arriba). A continuación, determine la dirección de red IPv4 del host en cuestión, utilizando su máscara de red IPv4 (los hosts en la misma red usan la misma máscara de red, y es posible que no tenga la máscara, solo la dirección, del host de destino):Compare la dirección de red IPv4 resultante con la dirección de red IPv4 original y observe que las direcciones de red son iguales, por lo que las direcciones de host están en la misma red.
Ahora, veamos si está en la misma red que la
74.125.69.100
dirección de Google:Compare la dirección de red IPv4 resultante con la dirección de red IPv4 original y observe que las direcciones de red son diferentes, por lo que las direcciones de host están en redes diferentes.
* Este es el método que utiliza un host de origen para determinar si es un host de destino en la misma red que el host de origen.
Máscara de host IPv4
Un valor útil, a menudo pasado por alto, que es útil en el direccionamiento IPv4 es la máscara de host IPv4. Una máscara de host IPv4 es simplemente la inversa de la máscara de red IPv4. Puede crear una máscara binaria anfitrión de una máscara de red binaria, o una máscara de red binaria de una máscara binaria anfitrión, simplemente invirtiendo los
1
s y0
s de la máscara de partida:Es posible crear matemáticamente una máscara de host de la máscara de red, o la máscara de red de la máscara de host restando la máscara de inicio de la máscara más larga (
/32
o máscara de todos).Eso se puede hacer en binario:
Eso también se puede hacer en decimal (un octeto de todos es uno
255
), pero asegúrese de convertirlo en binario antes de intentar usarlo para la manipulación de direcciones:Dirección de transmisión de red IPv4
Una dirección de difusión de red IPv4 es la dirección de red IPv4 con todos los bits de host configurados
1
. Hay varias formas de calcular la dirección de transmisión de red IPv4.Para nuestro ejemplo de dirección IPv4
198.51.100.223
y máscara de red255.255.248.0
.Puede realizar un bit
OR
a bit con la dirección IPv4 o la dirección de red con la máscara de host:Simplemente puede agregar el valor de la máscara de host IPv4 al valor de la dirección de red IPv4:
Esto también es algo que puedes hacer en decimal:
Total de direcciones de host de red IPv4
El número total de direcciones de host IPv4 para una red
2
depende de la cantidad de bits de host, que es32
menos la cantidad de bits de red. Para nuestro ejemplo de una/21
red (máscara de255.255.248.0
red), hay11
bits de host (32 address bits – 21 network bits = 11 host bits
). Eso significa que hay2048
direcciones de host totales en una/21
red IPv4 (2^11 = 2048
).Total de direcciones de host de red IPv4 utilizables
Excepto para las
/31
redes (máscara de red255.255.255.254
) y/32
(máscara de red255.255.255.255
), el número de direcciones de host utilizables en una red IPv4 es el número total de direcciones de host de red menos2
(porque la red IPv4 y las direcciones de difusión son inutilizables para las direcciones de host en la red, usted debe restarlos del número de direcciones de host utilizables). Para nuestro ejemplo de una red/21
(255.255.248.0
), hay2046
direcciones de host utilizables (2^11 - 2 = 2046
).Primera dirección de host de red IPv4 utilizable
Excepto para las
/31
redes (máscara de red255.255.255.254
) y/32
(máscara de red255.255.255.255
), la primera dirección de host de red IPv4 utilizable es la dirección de red IPv4 plus1
(la dirección de red IPv4 no se puede usar para una dirección de host de red). Para nuestra red de ejemplo de198.51.96.0/21
, la primera dirección de host de red utilizable es198.51.96.1
(198.51.96.0 + 1 = 198.51.96.1
). Simplemente configure el bit de orden inferior de la dirección de red binaria IPv4 en1
:Última dirección de host de red IPv4 utilizable
Excepto para las
/31
redes (máscara de red255.255.255.254
) y/32
(máscara de red255.255.255.255
), la última dirección de host de red IPv4 utilizable es la dirección de transmisión de red IPv4 menos1
(la dirección de transmisión de red IPv4 no se puede usar para una dirección de host de red). Para nuestra red de ejemplo de198.61.96.0/21
, la última dirección de host de red utilizable es198.51.103.254
(198.51.103.255 - 1 = 198.51.103.254
). Simplemente configure el bit de orden inferior de la dirección de transmisión de red binaria IPv4 en0
:Poner todas las direcciones de red IPv4 juntas
Para nuestro ejemplo de dirección de red IPv4
198.51.100.223
y máscara255.255.248.0
(o198.51.100.223/21
), podemos calcular mucha información de red:* Los exámenes de clase de educación de red y las pruebas de certificación le pedirán que pueda calcularlos rápidamente para una red IPv4, dada una dirección de host y una máscara (o longitud de máscara). Puede usar las sugerencias a continuación para verificar rápidamente sus respuestas:
Las sugerencias anteriores no se aplican a las
/31
redes (máscara de red255.255.255.254
) o/32
(máscara de red255.255.255.255
).Dado el tiempo suficiente en su examen, y un problema que tiene múltiples métodos para llegar a una respuesta, debe usar los múltiples métodos para verificar la respuesta.
Continúa en la siguiente respuesta ...
fuente
Continúa de la respuesta anterior ...
Parte 2 de 2
Selección de una dirección de IPv4 Network Gateway (enrutador)
Una puerta de enlace es un host en la red que sabe cómo reenviar paquetes a otras redes, y se le puede asignar cualquier dirección de host de red utilizable. Algunas personas simplemente asignan al azar direcciones de puerta de enlace a cualquier dirección de host de red utilizable, algunas personas siempre asignan la primera dirección de host de red utilizable a una puerta de enlace, y algunas personas siempre asignan la última dirección de host de red utilizable a una puerta de enlace. En realidad, no importa qué dirección de red de host utilizable asigne a una puerta de enlace, pero debe intentar ser coherente.
Redes IPv4
/31
(máscara de red255.255.255.254
)Originalmente, las
/31
redes (máscara de red255.255.255.254
) no se podían usar porque solo hay un bit de host, lo que le da dos direcciones de host de red totales, pero el número de direcciones de host de red utilizables es el número total de direcciones de host de red menos2
(2 total host addresses - 2 = 0 usable host addresses
).Los enlaces punto a punto solo necesitan dos direcciones de host (una para cada extremo del enlace). La forma tradicional de asignar redes IPv4 requería el uso de
/30
redes (máscara de red255.255.255.252
) para enlaces punto a punto, pero eso desperdicia la mitad de las direcciones de host de red porque una/30
red tiene cuatro direcciones de host de red totales, pero solo dos son direcciones de host de red utilizables (2^2 – 2 = 2
)Con la escasez crítica de direcciones IPv4, se creó un estándar para permitir el uso de
/31
redes para enlaces punto a punto. Eso tiene sentido porque no hay necesidad de transmitir en tales redes: cualquier paquete enviado por un host en la red está destinado al único otro host en la red, transmitiendo efectivamente. En una/31
red, la dirección de red es la primera dirección de host utilizable, y la dirección de difusión es la última dirección de host utilizable.Desafortunadamente, no todos los proveedores (Microsoft en particular) admiten el estándar para usar
/31
redes en enlaces punto a punto, y con mayor frecuencia verá enlaces punto a punto usando/30
redes.Redes IPv4
/32
(máscara de red255.255.255.255
)Una
/32
red (máscara de red255.255.255.255
) es una red sin direcciones de host y una dirección de host en sí misma. Solo hay una dirección en la red, y esa es la dirección de red. Como no hay otros hosts en la red, el tráfico debe enrutarse hacia y desde la dirección de red.Estas direcciones a menudo se usan en interfaces de red virtuales definidas dentro de un dispositivo que puede enrutar paquetes entre sus interfaces virtuales y físicas. Un ejemplo de esto es crear una interfaz virtual en un dispositivo de red que se utilizará como origen o destino para el propio dispositivo. Una interfaz virtual no puede caerse debido a un problema físico, por ejemplo, un cable desenchufado, y si el dispositivo tiene múltiples rutas, otros dispositivos aún pueden comunicarse con el dispositivo utilizando la dirección de la interfaz virtual cuando una interfaz física del dispositivo no funciona por alguna razón .
Subredizar redes IPv4
La división en subredes de una red es la creación de múltiples redes más largas a partir de una dirección de red y una máscara. La idea básica es que tome prestados bits de alto orden de la parte del host de la red original. Suponga que desea crear 14 subredes del mismo tamaño a partir de nuestra
198.51.96.0/21
red original . Dado que está tomando prestados bits de alto orden de la parte del host de la red original, obtendrá un número que es una potencia de2
, pero14
no es una potencia2
, por lo que debe obtener la siguiente potencia más alta2
, que resulta ser16
(16 = 2^4
) El poder de2
, en este caso4
, es la cantidad de bits de host de alto orden necesarios para tomar prestada la cantidad de subredes que se crearán. También puede usar una fórmula matemática para determinar la cantidad de bits necesarios:Log2(X subnets) = Y borrowed bits
, redondeado al siguiente valor entero:Para nuestro ejemplo de necesitar 14 subredes del mismo tamaño de la
198.51.96.0/21
red original , comenzando con todos los0
s * para la primera subred, agregue1
a la porción de subred para obtener la siguiente subred:* Existe un mito persistente de que para las subredes, como para las direcciones de host, las subredes todo ceros y todos no se pueden usar, pero este mito fue disipado explícitamente hace muchos años por un estándar. Desafortunadamente, este mito se extiende a algunas clases de educación en red, y la respuesta correcta para esas clases (incorrectas) sería usar las subredes 2 a 15.
Es posible dividir una red en subredes de varios tamaños (cada red IPv4 es una subred de la
0.0.0.0/0
dirección de red), como en nuestro ejemplo anterior, donde la subred no utilizada es una/24
subred, pero esto requiere una planificación cuidadosa para que las subredes resultantes comiencen en el bit correctoPor ejemplo, supongamos que necesitamos una
/26
y una/27
subred de nuestra198.51.96.0/21
red. Hay dos formas de hacerlo: comenzar con la/26
subred o comenzar con la/27
subred.Comenzando con la
/26
subred:Agregue
1
a la parte de subred para obtener la posición inicial de la siguiente subred:Luego extienda la segunda subred a
/27
:Observe que en realidad estamos dividiendo la segunda
/26
subred en una/27
subred, y eso funciona bien porque27
es más grande que26
.Comenzando con la
/27
subred:Agregue
1
a la parte de subred para obtener la posición inicial de la siguiente subred:Observe que no quedan suficientes bits en la porción del host (cinco bits del host) para admitir una
/26
red, que requiere seis bits del host (32 address bits – 26 network bits = 6 host bits
). Si usamos esto como la posición inicial para la/26
subred, en realidad superpondremos las/26
redes anteriores y siguientes . Necesitamos dejar un espacio del tamaño de una/27
red para la posición inicial de la/26
red:Una
/26
subred siempre debe comenzar en un/26
límite: cada segundo/27
límite de subred, cada 4º/28
límite, cada 8º/29
límite, etc. Esta regla es para cualquier tamaño de subred: una subred debe comenzar en un límite de una subred más larga que sea igual2
a la potencia del tamaño de subred más largo menos el tamaño de subred. Por ejemplo, una/23
subred debe iniciarse en cada 4ta/25
red (2^(25 - 23) = 2^2 = 4
).Intentar configurar un dispositivo con una dirección de red que comience en el límite de bits incorrecto provocará problemas extraños y difíciles de solucionar, o el dispositivo le dará un error sobre la superposición de redes. Algunas personas intentan hacer esto con decimal con puntos, y esto puede conducir a errores. Por ejemplo, las
198.51.96.0/27
direcciones de host de red son198.51.96.0
a través198.51.96.31
. Si lo sabe y trata de usar la198.51.96.32/26
red, se encontrará con problemas porque esa red comienza en el límite de bits incorrecto y se superpone a la/27
red (verifique usando un bitAND
a bit con las direcciones y las máscaras de red). Es obvio en binario, pero no es tan obvio en decimal punteado. Puedes aprender que las/26
redes deben comenzar en un múltiplo de decimal64
límite, pero verlo en binario puede decirle con seguridad si ha cometido un error o no.Tamaño de subred según el número de hosts
Las preguntas comunes del examen le proporcionarán una red y le pedirán que presente varias subredes de varios tamaños según la cantidad de hosts para cada subred. Si puede, debe aclarar si la cantidad de hosts se basa en la cantidad total de direcciones de host en la red, o si se basa en la cantidad de hosts utilizables en la red. (Por ejemplo, si la pregunta solicita una subred con
256
o255
hosts, una/24
red le dará256
direcciones de host totales, pero solo254
direcciones de host utilizables. Tal pregunta puede ser una pregunta capciosa, y la respuesta correcta dependerá de si el pregunta significa direcciones de host totales o direcciones de host utilizables).Pregunta de muestra:
Como vimos en la sección Subnetting IPv4 Networks, la forma más fácil de hacer esto es ordenar primero los departamentos por el mayor o menor número de hosts porque no necesitaremos ocuparnos de las brechas de red:
Puede redondear cada uno a la siguiente potencia alta de 2 para obtener el número de direcciones de host totales requeridas para cada subred, luego derivar el número de bits de host requeridos del exponente de la potencia de
2
:También puede modificar la fórmula anterior para encontrar el número de bits requeridos para un número particular de subredes de igual tamaño para determinar el número de bits de host requeridos para cada subred:
Log2(X hosts) = Y host bits
redondeado al siguiente valor entero:Una vez que tenga la cantidad de bits de host necesarios para cada subred, realice los cálculos binarios para obtener la subred específica para cada departamento. Recuerde agregar
1
a una subred para obtener la dirección de inicio de la siguiente subred:Encontrar una subred particular
Es posible que se le solicite que brinde información de la red para una subred particular de una red determinada. Por ejemplo, se le puede pedir que brinde información de la red para la 23ª
/26
subred de la198.51.96.0/21
red. Como necesita la 23ª subred, puede convertir22
(recuerde que0
es la primera subred, por lo que la 23ª subred sería22
*) a binario: Decimal22
= Binario10110
. Use el número binario convertido en la parte de subred de la dirección:Una vez que haya identificado la 23ª dirección de red,
198.51.101.128/26
puede calcular la otra información de red (como se describe en las secciones anteriores):* Existe un mito persistente de que para las subredes, como para las direcciones de host, las subredes todo ceros y todos no se pueden usar, pero este mito fue disipado explícitamente hace muchos años por un estándar. Desafortunadamente, este mito se extiende a algunas clases de educación en red, y la respuesta correcta para esas clases (incorrectas) sería utilizar la subred 24 (
23
decimal,10111
binaria) en nuestro ejemplo de subredes de igual tamaño, en lugar de la 23a real (22
decimal,10110
binario) subred.Encontrar un host de red particular
Se le puede pedir que encuentre la dirección de host para un host particular de una red determinada. Por ejemplo, se le puede solicitar que proporcione la dirección del host para el host 923 de la
198.51.96.0/21
red. Como necesita el host 923, puede convertir923
a binario: Decimal923
= Binario1110011011
. Agregue el número binario convertido a la dirección de red:La red común más grande para dos hosts *
Es posible que se le den dos (o más) direcciones de host diferentes y se le solicite que presente la red más grande (menor número de hosts) que contenga ambas direcciones de host. Por ejemplo, encuentre la red común más grande de
198.51.100.223
y198.51.101.76
.Primero, convierta las direcciones decimales punteadas a binarias:
A continuación, comenzando desde el bit de orden superior (extremo izquierdo), compare las direcciones binarias en cada posición de bit hasta que los bits en la misma posición no coincidan:
Cuente el número de bits coincidentes,
23
en este caso, para obtener la longitud de la máscara. Luego puede tomar cualquiera de las direcciones y realizar un bitAND
a bit con la máscara de red para obtener la red común. Hacer esto en ambas direcciones debería dar como resultado la misma red, y si no lo hace, entonces usted contó mal o perdió una posición de bit sin igual.Observe que las dos direcciones de red coinciden. Eso significa que la red común más grande para las dos direcciones de host es
198.51.100.0/23
(notación CIDR) o (tradicional)198.51.100.0
con una máscara de255.255.254.0
.* Puede ver esto llamado la red común más pequeña (o alguna variante, por ejemplo, red o máscara mínima). La red más pequeña es en realidad
0.0.0.0/0
(0
bits de red), y es la red común para todas las direcciones IPv4, por lo que es la red común más pequeña entre cualquier dirección IPv4. La confusión surge porque muchas personas miran la porción de host de la dirección y ven su tamaño como el tamaño de la red, en lugar del tamaño de la porción de red de la dirección.Direccionamiento público versus privado
IPv4, en sí mismo, no tiene el concepto ni la distinción entre direccionamiento público y privado. El direccionamiento privado de IPv4 se eligió arbitrariamente, y los ISP, por acuerdo, no reenviarán paquetes en Internet pública utilizando direcciones en el espacio de direcciones privadas, pero los dispositivos y hosts de red no tienen idea de si una dirección es pública o privada.
Hay tres rangos de direcciones definidos como direccionamiento privado IPv4:
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
Direccionamiento de red con clase
Originalmente, las direcciones IPv4 se dividían en clases de red. El direccionamiento con clase se desaprobó hace décadas, y las redes modernas se basan en CIDR (enrutamiento entre dominios sin clase), pero, desafortunadamente, muchas clases de educación en red y exámenes de certificación insisten en probar su conocimiento del direccionamiento con clase. Aprenda y esté cómodo con todas las matemáticas de IPv4 anteriores en este documento antes de aprender sobre el direccionamiento con clase.
Las clases de dirección IPv4 se basan en los primeros bits de la dirección:
255.0.0.0
(/8
) y una máscara de host predeterminada de0.255.255.255
, que le da el16,777,216
total de direcciones de host por red.255.255.0.0
(/16
) y una máscara de host predeterminada de0.0.255.255
, que le proporciona65,536
direcciones de host totales por red.255.255.255.0
(/24
) y una máscara de host predeterminada de0.0.0.255
, que le da un256
total de direcciones de host por red.255.255.255.255
, que es una dirección individual que cada host en una red tratará como propia. Eso significa que todo lo que se envíe255.255.255.255
será recibido y procesado por cada host en la red.Debido a que cada clase tiene un tamaño de red predeterminado, algunas preguntas asumen la máscara predeterminada para una dirección determinada, por lo que cualquier cálculo debe hacerse en función de la máscara de red predeterminada. Para nuestra dirección de ejemplo
198.51.100.223
:Tenga en cuenta que los primeros tres bits de dirección son
110
, lo que significa que esta es una dirección de Clase C, y en ausencia de cualquier máscara o longitud de máscara, se supone que la máscara de red es255.255.255.0
(/24
), formando la dirección de red198.51.100.0
.* No cometa el error común de pensar que la máscara de red dicta la clase de red, es al revés. Por ejemplo, muchas personas consideran que cualquier
/24
red es una red de Clase C, pero eso ni siquiera es remotamente cierto. Dada, por ejemplo, una10.11.12.0/24
red, muchas personas llaman incorrectamente que una red de Clase C debido a la máscara de red, a pesar de que el primer bit de la dirección es0
, por lo que es una red de Clase A, aunque con una máscara de red más larga que la predeterminada Máscara de red de clase A, lo que significa que es una subred de una red de clase A, no una red de clase C.fuente
(En un intento de mantener todas las respuestas de máscara de red en un lugar, después de las otras respuestas excelentes, he agregado esta sobre un método visual).
Tamaño de subred según el número de hosts
Esto es para la pregunta común "¿Cómo corto un tamaño de red dado en n partes permitiendo x 1 hosts en la red 1, x 2 hosts en la red 2, etc.?" puede resolverse absolutamente trabajando a través de los métodos descritos en las otras excelentes respuestas.
Sin embargo, a algunas personas les puede gustar un método más visual y algunos consejos generales.
Método visual "Cortador de vidrio"
La forma en que enseño a menudo una comprensión visual de esto es con el siguiente método:
Primero imagine una guillotina de papel como esta:
( Imagen de Wikipedia por Nathan CC BY-SA 3.0)
Las propiedades de este tipo de cortador son que solo corta líneas rectas, siempre corta todo el papel y corta perpendicularmente a un lado. Nuestra guillotina particular es exigente: solo cortará papel por la mitad y no podemos hacer ningún corte a menos de 1 cm del borde.
Aquí hay una ilustración del proceso. Usted ve que solo hay un tipo de corte posible en el corte 1 y el corte 2, pero en el corte 3 hacemos una elección: cortar la pieza pequeña (roja) o la pieza grande (azul), dando dos posibilidades diferentes.
Esto es lo que a menudo se llama el problema de la guillotina , que aprendí como el problema del "cortador de vidrio", ya que el vidrio laminado realmente tiene que cortarse completamente, y este específico podría llamarse "cortador de vidrio binario", ya que siempre se corta en mitades.
Cuando realmente hago esto en la vida real, mentalmente hago las mitades mientras veo la cuadrícula como esta. Puedo recordar que / 26 debe comenzar en 0, .64, 128 o .192; Puedo saber que la séptima línea arrendada necesita la séptima / 30 en el primer trimestre, pero no recordaré que es .216.
Obviamente, la cuadrícula también se puede utilizar para representar el tercer octeto, y cada cuadrado representa un / 24. Ahora dice que a / 18 comienza en .0, .64, .128 o .192.
Consejos técnicos generales
El procedimiento general es:
fuente
Ejemplo:
IP: 128.42.5.4
En binario: 10000000 00101010 00000101 00000100
Subred: 255.255.248.0
¿Cómo podría determinar el prefijo, la red, la subred y los números de host?
fuente