PT: Subnets en direcciones IPv4 y IPv6 - Explicación

Luis OchoaLuis Ochoa
5 min read

¿Qué es una Subred?

Una subred es un método mediante el cual un bloque de direcciones IPv4 o IPv6 se divide para crear dominios de difusión más pequeños. Esto es necesario porque un dominio de difusión grande puede generar un exceso de tráfico de difusión, lo que puede afectar negativamente el rendimiento de la red.

La solución consiste en reducir el tamaño de la red para crear dominios de difusión más pequeños a través de un proceso conocido como división en subredes. A los bloques resultantes de esta división se les denomina subredes.

Razones para segmentar una red

  • Ubicación: Es posible dividir una red en diferentes subredes que representen la ubicación física de cada segmento de la red.

  • Grupo o Función: Dividir la red en subredes según departamentos o funciones específicas, considerando las diferentes necesidades o cantidad de dispositivos, es una razón válida para realizar esta segmentación.


División en subredes en IPv4

Las subredes en IPv4 se crean al utilizar uno o más bits de la porción de host como bits de red. Esto se logra extendiendo la máscara de subred para "tomar prestados" bits de la parte del host, convirtiéndolos en bits de red adicionales.

  • Cuantos más bits de host se tomen prestados, mayor será el número de subredes que se puedan definir.

  • Cuantos más bits se presten para crear subredes, menor será el número de hosts disponibles por subred.

Es importante tener en cuenta que, por cada bit que se toma prestado en el cuarto octeto, la cantidad de subredes disponibles se duplica, mientras que el número de direcciones de host por subred se reduce a la mitad.


Ejemplo 01

ParámetroValor
Dirección IP de host192.168.200.139
Máscara de subred original255.255.255.0
Máscara de subred nueva255.255.255.224
Cantidad de bits de subred27
Cantidad de subredes creadas8
Cantidad de bits de host por subred5
Cantidad de hosts por subred30
Dirección de red de esta subred192.168.200.128
Dirección IPv4 del primer host de esta subred192.168.200.129
Dirección IPv4 del último host de esta subred192.168.200.158
Dirección IPv4 de difusión de esta subred192.168.200.159

Ejemplo 02

ParámetroValor
Dirección IP de host10.101.99.228
Máscara de subred original255.0.0.0
Máscara de subred nueva255.255.128.0
Cantidad de bits de subred17
Cantidad de subredes creadas512
Cantidad de bits de host por subred15
Cantidad de hosts por subred32,768
Dirección de red de esta subred10.101.0.0
Dirección IPv4 del primer host de esta subred10.101.0.1
Dirección IPv4 del último host de esta subred10.101.127.254
Dirección IPv4 de difusión de esta subred10.101.127.255

En este ejemplo, para calcular la última dirección utilizable, se utiliza el complemento de la máscara de subred. Para la máscara 255.255.128.0 (11111111.11111111.10000000.00000000), el complemento es 00000000.00000000.01111111.11111111, que en formato decimal punteado es 0.0.127.255.

Al sumar las direcciones:
10.101.0.0 + 0.0.127.255 = 10.101.127.255, obtenemos la dirección de broadcast. La última dirección utilizable se obtiene restando un host a esta dirección.


Ejemplo 03

ParámetroValor
Dirección IP de host172.22.32.12
Máscara de subred original255.255.0.0
Máscara de subred nueva255.255.224.0
Cantidad de bits de subred19
Cantidad de subredes creadas8
Cantidad de bits de host por subred13
Cantidad de hosts por subred8,190
Dirección de red de esta subred172.22.32.0
Dirección IPv4 del primer host de esta subred172.22.32.1
Dirección IPv4 del último host de esta subred172.22.63.254
Dirección IPv4 de difusión de esta subred172.22.63.255

División en subredes en IPv6

A diferencia de IPv4, que utiliza direcciones de 32 bits, las direcciones IPv6 tienen una longitud de 128 bits. Esto permite un espacio de direccionamiento mucho más amplio, lo que resulta en una capacidad prácticamente ilimitada para crear subredes y asignar hosts por subred. En IPv6, la conservación de direcciones no es un problema, ya que el espacio disponible es extremadamente grande.

Por ejemplo, si el prefijo de enrutamiento global es /48 y se utiliza un típico 64 bits para el ID de interfaz, se crea un ID de subred de 16 bits:

  • ID de subred de 16 bits: Permite crear hasta 65,536 subredes.

  • ID de interfaz de 64 bits: Admite hasta 18 quintillones de direcciones IPv6 de host por subred (es decir, 18,000,000,000,000,000,000).

La división en subredes en IPv6 es más sencilla de implementar que en IPv4, ya que no es necesario realizar conversiones al sistema binario. Para determinar la siguiente subred disponible, simplemente se suman los valores en el sistema hexadecimal.


Ejemplo

Supongamos que tenemos el siguiente prefijo de red IPv6:
2001:0DB8:ACAD::/48

  1. ID de subred de 16 bits:
    Si utilizamos los siguientes 16 bits para el ID de subred, el prefijo de subred sería:
    2001:0DB8:ACAD:0000::/64

  2. Siguiente subred disponible:
    Para obtener la siguiente subred, simplemente incrementamos el valor del ID de subred en hexadecimal:
    2001:0DB8:ACAD:0001::/64
    2001:0DB8:ACAD:0002::/64
    Y así sucesivamente, hasta alcanzar el límite de FFFF en hexadecimal (65,536 subredes).

  3. ID de interfaz de 64 bits:
    Cada subred puede asignar hasta 18 quintillones de direcciones IPv6 para hosts, lo que garantiza un espacio de direccionamiento prácticamente ilimitado.


Ventajas de la división en subredes en IPv6

  • Simplificación: No es necesario realizar cálculos binarios complejos como en IPv4.

  • Escalabilidad: El espacio de direccionamiento es tan grande que no hay preocupación por agotar las direcciones.

  • Flexibilidad: El uso de un ID de subred de 16 bits permite una gran cantidad de subredes, mientras que el ID de interfaz de 64 bits garantiza direcciones suficientes para cualquier necesidad.

0
Subscribe to my newsletter

Read articles from Luis Ochoa directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Luis Ochoa
Luis Ochoa

🏫 Estudiante interesado en 🔒🟦 Cybersecurity (Blue-Team), Networking, ℹ️ Data Analitycs y 🤖 Machine Learning, Y en busca de un mejor yo.