Saltar al contenido principal
IT BIBLEIniciar sesión

Blog / Networking

Esta publicación fue traducida del inglés por IA. Leer el original

Subnetting a mano: el método del tamaño de bloque para cualquier longitud de prefijo

Puedes encontrar la red, el broadcast y el rango utilizable de cualquier dirección IPv4 con una resta y un poco de conteo. Este es el método del tamaño de bloque, con ejemplos resueltos y los errores habituales.

RackGhostDwayne
· 5 min read · Networking
Subnetting a mano: el método del tamaño de bloque para cualquier longitud de prefijo

Photo by Volkan Olmez on Unsplash

El problema: te dan una dirección y un prefijo, como 192.168.10.77/26, y necesitas saber en qué red se encuentra, dónde termina esa red y qué direcciones puedes asignar. Una calculadora de subredes te lo dirá. El problema es que la calculadora también confirmará tan tranquila un error tipográfico, y no te darás cuenta. Aprende a hacerlo a mano una vez y detectarás el error en unos diez segundos.

Uso un solo método para cualquier longitud de prefijo. Se llama método del tamaño de bloque y requiere una resta y algo de conteo.

La idea

Una subred es un bloque de direcciones consecutivas. El tamaño del bloque es una potencia de dos, y cada bloque empieza en un múltiplo de su propio tamaño. Ese es todo el truco. Piensa en una larga fila de buzones numerados del 0 al 255, fijados a la pared en grupos. Cada grupo tiene el mismo número de buzones, y un grupo siempre empieza donde terminó el anterior. Tu trabajo es encontrar en qué grupo vive tu dirección.

El procedimiento

  1. Encuentra el octeto interesante. Es el octeto en el que la máscara no es ni 255 ni 0. Para /26 es el cuarto octeto. Para /20 es el tercero.
  2. Anota el valor de la máscara en ese octeto. El tamaño de bloque es 256 menos ese valor.
  3. Enumera los múltiplos del tamaño de bloque: 0, 64, 128, 192 para un bloque de 64.
  4. Encuentra el mayor múltiplo que sea menor o igual al valor de tu dirección en ese octeto. Esa es la dirección de red (los octetos a la izquierda se quedan como están, los octetos a la derecha son 0).
  5. El siguiente múltiplo, menos 1, es la última dirección del bloque. Esa es la dirección de broadcast (los octetos a la derecha pasan a ser 255).
  6. Los hosts utilizables van desde la red más 1 hasta el broadcast menos 1.

Si no tienes memorizados los valores de la máscara, son pocos. En el octeto interesante, los valores son 128, 192, 224, 240, 248, 252 para 1 a 6 bits de máscara en ese octeto. Los tamaños de bloque son 128, 64, 32, 16, 8, 4. Aprende esa línea y tendrás gran parte del camino recorrido.

Ejemplo uno: 192.168.10.77/26

Un /26 es 255.255.255.192. El octeto interesante es el cuarto, y el valor es 192. El tamaño de bloque es 256 - 192 = 64.

Múltiplos de 64: 0, 64, 128, 192. El número 77 está entre 64 y 128, por lo tanto:

Network:    192.168.10.64
Broadcast:  192.168.10.127
Usable:     192.168.10.65 to 192.168.10.126
Hosts:      62

El número de hosts es el tamaño de bloque menos 2, porque la primera dirección identifica la red y la última es el broadcast. Olvidar esa resta es el descuido más común que veo.

Ejemplo dos: cruzando un octeto, 172.16.45.200/20

Un /20 es 255.255.240.0. Ahora el octeto interesante es el tercero, con un valor de 240. El tamaño de bloque es 256 - 240 = 16, y se cuenta en el tercer octeto.

Múltiplos de 16: 0, 16, 32, 48. El tercer octeto de nuestra dirección es 45, que cae entre 32 y 48. El cuarto octeto, 200, no importa para encontrar el bloque.

Network:    172.16.32.0
Broadcast:  172.16.47.255
Usable:     172.16.32.1 to 172.16.47.254
Hosts:      4094

Observa que .0 y .255 en el cuarto octeto son direcciones de host perfectamente normales aquí, siempre que estén en medio del bloque. Por ejemplo, 172.16.40.0 es un host válido en esta subred. A quienes aprendieron subnetting solo con redes /24 esto suele sorprenderles. Las únicas dos direcciones reservadas son la primera y la última de todo el bloque.

El número de hosts: 12 bits de host, 2 elevado a 12 es 4096, menos 2 es 4094.

Dividir un bloque en otros más pequeños

El mismo método funciona a la inversa cuando estás planificando. Digamos que tienes 192.168.10.0/24 y quieres cuatro subredes iguales. Cuatro subredes necesitan 2 bits adicionales, así que el prefijo pasa a ser /26, y el tamaño de bloque es 64:

192.168.10.0/26     hosts .1   to .62
192.168.10.64/26    hosts .65  to .126
192.168.10.128/26   hosts .129 to .190
192.168.10.192/26   hosts .193 to .254

Cada dirección de inicio es un múltiplo de 64, que es tu comprobación de cordura. Si alguna vez escribes un /26 que empieza en .50, algo está mal, porque .50 no es un múltiplo de 64. Un router lo rechazará o, peor aún, lo tratará en silencio como algo distinto de lo que querías decir.

En un home lab, así es también como decido de qué tamaño hacer cada VLAN. Un segmento de IoT con treinta dispositivos no necesita un /24. Un /26 da 62 hosts y deja margen para crecer, y el dominio de broadcast más pequeño es un pequeño extra.

Comprobar tu respuesta en binario

Cuando un resultado parece raro, compruébalo en binario solo para el octeto interesante. Toma el 45 del ejemplo /20: 45 es 00101101. La máscara en ese octeto es 240, que es 11110000. Conserva los cuatro bits superiores de la dirección y pon a cero el resto: 00100000, que es 32. Eso coincide con la dirección de red que encontramos. El método del tamaño de bloque es simplemente esta operación sin escribir los bits.

Errores comunes

  • Olvidar el menos 2 en el conteo de hosts. Un /30 tiene 4 direcciones y 2 hosts utilizables, que es la razón por la que era la opción tradicional para un enlace punto a punto. (Muchos dispositivos modernos también admiten /31 en enlaces punto a punto, pero revisa tu equipo antes de depender de ello.)
  • Usar el octeto equivocado. Si el prefijo es /20, el trabajo ocurre en el tercer octeto, y el tamaño de bloque no es de 16 direcciones, sino de 16 valores del tercer octeto, o 4096 direcciones.
  • Contar los bloques desde 1 en lugar de 0. El primer bloque empieza en 0.
  • Leer el broadcast como el inicio de la siguiente red. El broadcast es uno menos que el siguiente múltiplo, no es igual a él.
  • Confiar en la calculadora sin una comprobación de cordura. Si la dirección de red no es un múltiplo del tamaño de bloque, la respuesta es incorrecta.

Por qué molestarse

He visto subredes superpuestas causar una tarde entera de enrutamiento extraño, y la causa fue una máscara escrita con un bit de diferencia. Cuando planifico un enlace site-to-site, por ejemplo entre dos casas en 192.168.10.0/24 y 192.168.20.0/24, quiero comprobar a ojo que nada se superpone antes de tocar una configuración. El subnetting a mano te permite hacerlo en el reverso de un sobre. Es aburrido, y lo aburrido es justo lo que quiero de un plan de direccionamiento.

Un siguiente paso: toma 10.20.37.150/21 y calcula en papel la red, el broadcast y el rango utilizable, sin calculadora. Luego compruébalo con nuestra calculadora y mira si coincides.

https://itbible.org/tools/subnet-calculator

networkingsubnettingipv4
Compartir

Have a question about this guide?

Create a free account to ask the community and join the discussion. Members who run the real thing answer every day.

Sign in to comment.