Máscaras de Red: La Decisión Estratégica que Define tus Límites de Escalabilidad
Máscaras de Red: La Decisión Estratégica que Define tus Límites de Escalabilidad

Máscaras de Red: La Decisión Estratégica que Define tus Límites de Escalabilidad

Por qué el /16 por defecto es deuda técnica latente, cómo dimensionar con el autoescalado en mente y una tabla de decisiones de subnetting para arquitectos cloud-native.

29 Jul 2026
12 min lectura

Máscaras de Red: La Decisión Estratégica que Define tus Límites de Escalabilidad

Hay decisiones de arquitectura que se toman en cinco minutos y se pagan durante cinco años. Elegir la máscara de red de un VPC es una de ellas. En quince años diseñando infraestructuras híbridas y nativas de cloud, he visto migraciones enteras descarrilar no por un fallo de código, ni por una base de datos mal dimensionada, sino por un /16 que alguien puso "por si acaso" el primer día del proyecto.

Este artículo no va sobre cómo convertir binario a decimal. Va sobre por qué la máscara que eliges es, en realidad, un contrato de escalabilidad con tu yo del futuro. Y sobre cómo firmar ese contrato sin arruinarte.

El error del /16 por defecto

Cuando arranca un proyecto, el 10.0.0.0/16 parece la opción sensata: 65.536 direcciones, espacio de sobra, nadie se va a quejar. Es cómodo. También es, casi siempre, un error de diseño disfrazado de prudencia.

El problema no es matemático, es operativo. Un /16 plano concentra tres patologías que solo aparecen cuando el entorno ya está en producción y es tarde para moverse:

Seguridad diluida. Una red enorme y plana invita a reglas de firewall perezosas. Cuando todo vive en el mismo rango, los Security Groups y las Network ACLs terminan escritos como allow 10.0.0.0/16 porque segmentar "a mano" dentro de ese océano es tedioso. El resultado es un radio de explosión gigantesco: un pod comprometido puede hablar con la base de datos de producción, con el bastion y con el clúster de otro equipo, todo dentro del mismo dominio de confianza implícito.

Ruido de broadcast y descubrimiento. Aunque en la nube el broadcast tradicional está limitado, los mecanismos de service discovery, ARP en capas de overlay y el propio churn de IPs efímeras en Kubernetes generan tráfico de control que crece con el tamaño del segmento. Rangos innecesariamente grandes significan tablas de rutas más pesadas y más entradas que propagar entre nodos.

Desorden documental. Este es el asesino silencioso. En una empresa con veinte equipos, un /16 sin subnetting deliberado se convierte en tierra de nadie: nadie sabe qué rango usa quién, las IPs se asignan por WhatsApp, y dos años después nadie se atreve a tocar nada por miedo a romper algo. La máscara grande no da orden; da permiso para el caos.

La regla mental: un rango grande no es capacidad, es deuda técnica latente. El espacio que no planificas hoy es el conflicto que negociarás mañana.

Planificación de crecimiento: Capacity Planning real

Dimensionar una red no es preguntar "¿cuántas IPs necesito?", sino "¿cuántas necesitaré cuando esto funcione demasiado bien?". El escenario que mata no es el fracaso, es el éxito: el servicio despega, el Horizontal Pod Autoscaler dispara réplicas, y de repente tu subnet /26 de 62 hosts se queda sin direcciones a mitad de un pico de tráfico de Black Friday.

En Kubernetes esto es especialmente traicionero. Cada pod consume una IP del CIDR de la subnet (con CNIs como el VPC CNI de AWS, la IP sale directamente del espacio del VPC). Un HPA configurado para escalar de 3 a 40 réplicas no solo necesita CPU: necesita 40 direcciones IP disponibles ya. Si no están, los pods se quedan en Pending con un elegante failed to assign an IP address to container, y tu autoescalado se convierte en autobloqueo.

La fórmula práctica para dimensionar cada subnet o clúster:

  1. Cuenta la carga base actual (pods, nodos, endpoints, IPs de servicios internos).
  2. Suma el techo del autoescalado (maxReplicas de tus HPA, más los nodos que el Cluster Autoscaler puede añadir).
  3. Añade las IPs reservadas del proveedor (AWS reserva 5 por subnet; nunca las olvides).
  4. Aplica la regla de oro.

Regla práctica innegociable: reserva siempre un 30% de IPs libres por encima de tu cálculo actual. No es desperdicio, es la amortiguación que te permite absorber picos, migraciones azul-verde (que duplican temporalmente los pods) y el crecimiento orgánico sin re-subnetear en caliente.

Ese 30% es la diferencia entre una migración blue-green tranquila y un incidente a las 3 de la mañana. Cuando despliegas la versión nueva junto a la vieja antes de cortar el tráfico, necesitas espacio para el doble de endpoints durante unos minutos. Si dimensionaste al límite, no hay despliegue sin downtime.

El dolor de cabeza del solapamiento (Overlapping CIDR)

Si hay una lección que todo arquitecto aprende por las malas, es esta: dos redes que se solapan no se pueden conectar. Punto. No hay peering, no hay VPN, no hay Transit Gateway que lo arregle sin renumerar.

El caso clásico, que he visto repetirse en decenas de organizaciones: el equipo A crea su VPC de producción como 10.0.0.0/16. Meses después, el equipo B —o una empresa que acabas de adquirir— crea el suyo, también como 10.0.0.0/16, porque es "el rango por defecto". Todo funciona perfectamente... hasta el día en que negocio pide integrar ambos entornos.

Entonces intentas el VPC Peering y AWS te devuelve el temido Blackhole / overlapping CIDR blocks. El peering se puede crear, pero las rutas no funcionan porque el router no sabe si 10.0.1.5 es de A o de B. Lo mismo ocurre con una VPN Site-to-Site hacia el datacenter on-premise si este ya usa 10.0.0.0/16, y con un Transit Gateway que se niega a propagar rutas ambiguas.

Las salidas son todas dolorosas: o renumeras uno de los entornos (semanas de trabajo y ventanas de downtime), o metes un NAT de traducción de direcciones en medio (complejidad y latencia extra), o levantas un Private NAT Gateway para enmascarar rangos. Ninguna es gratis.

La prevención, en cambio, es casi gratis. En lugar de dar a cada VPC un /16 codicioso, se asigna a la organización un supernet (por ejemplo 10.0.0.0/8 gestionado con IPAM) y se reparten retículas pequeñas y no solapadas:

  • VPC de producción región 1: 10.10.0.0/20 (4.096 IPs)
  • VPC de staging región 1: 10.20.0.0/22 (1.024 IPs)
  • VPC de la filial adquirida: 10.30.0.0/20

Con /20 y /22 cada entorno tiene espacio de sobra para crecer, y aún quedan cientos de bloques libres para futuras VPCs, todos garantizadamente no solapados. El peering, la VPN y el Transit Gateway funcionan a la primera. La disciplina en la máscara hoy es lo que hace posible la interconexión mañana.

Casos de uso extremo: /32, /31 y /28

Las máscaras "raras" no son curiosidades académicas; resuelven problemas concretos de arquitectura:

/32 — La dirección única (host route). Un /32 describe una sola IP. Es el pan de cada día para loopbacks de routers y switches, para IPs de NAT (una Elastic IP en AWS es conceptualmente un /32), y para reglas de firewall quirúrgicas del tipo "solo esta IP exacta puede llegar al endpoint de administración". En BGP y en las tablas de rutas, los host routes /32 permiten anunciar servicios individuales con precisión milimétrica.

/31 — El enlace punto a punto. Durante años los enlaces entre dos routers desperdiciaban un /30 (4 direcciones: red, dos hosts y broadcast) para conectar solo dos interfaces. El /31 (RFC 3021) elimina ese desperdicio: 2 direcciones, ambas usables como hosts, sin red ni broadcast. En backbones con miles de enlaces P2P, pasar de /30 a /31 recupera la mitad del espacio de interconexión. Es la elección profesional para links entre routers y para interconexiones de fabric en datacenter.

/28 — El clúster de IPs fijas. Un /28 da 16 direcciones (14 útiles). Es el tamaño ideal para un conjunto pequeño y estable de recursos que necesitan direccionamiento predecible: los nodos de un clúster de base de datos, un grupo de balanceadores, un pool de appliances. Suficientes IPs para el clúster y sus miembros de reserva, lo bastante pequeño para documentarlo de un vistazo y protegerlo con reglas estrictas.

La cuadrícula mágica para arquitectos

Olvida la tabla de conversión binaria que memorizaste para la certificación. Lo que un arquitecto necesita no es saber cuántos hosts caben en un /26, sino qué máscara corresponde a qué intención de diseño. Esta es la tabla de decisiones que uso en las pizarras:

Situación de diseñoMáscaraPor qué
Entre 10 y 20 servicios estables en una subnet/24 (254 hosts)El estándar mental de la industria: legible, documentable, cómodo. Si dudas, empieza aquí.
Microservicios efímeros con autoescalado agresivo/23 (510 hosts)El churn de IPs de pods efímeros agota rápido un /24; el /23 da colchón sin llegar al derroche.
DMZ expuesta a internet/27 (30 hosts)Pequeña a propósito: menos IPs = menor superficie, aislamiento estricto y reglas fáciles de auditar.
VPC completo de producción/20 (4.094 hosts)Suficiente para múltiples subnets internas sin caer en el /16 monolítico.
Enlace P2P entre routers/31 (2 hosts)Cero desperdicio en interconexiones.
Clúster de base de datos con IPs fijas/28 (14 hosts)Direccionamiento predecible y perímetro reducido.

La lógica de fondo: el tamaño de la máscara debe reflejar el nivel de confianza y volatilidad del segmento. Cuanto más expuesto y sensible (DMZ), más pequeño y aislado. Cuanto más dinámico y efímero (microservicios), más holgura para el churn.

Tabla de Segmentos por Estrato Arquitectónico

Esta es la referencia que debería estar pegada en la pared de todo equipo de plataforma. No está ordenada por número, sino agrupada por propósito arquitectónico. Las filas en negrita son las que usarás a diario.

Estrato de núcleo y VPCs troncales

CIDRTotal / ÚtilesSegmento RFC 1918Caso de uso modernoRiesgo principalEscalado
/1665.536 / 65.53410.0.0.0Supernet corporativo gestionado por IPAM (no como VPC plano)Broadcast innecesario y desorden documental si se usa planoSolo como contenedor lógico; nunca asignar plano
/204.096 / 4.09410.x.x.xVPC completo de producción, subdividido internamenteSobredimensión si el proyecto es pequeñoDivisible en 16 /24 sin recolocar
/221.024 / 1.022172.16.x.xWorker nodes de K8s y microservicios efímeros con HPAAgotamiento por churn si el autoescalado es agresivoAmpliable a /21 reservando el bloque contiguo

Estrato de aplicación y datos

CIDRTotal / ÚtilesSegmento RFC 1918Caso de uso modernoRiesgo principalEscalado
/24256 / 25410.x.x.x / 192.168.x.xSubnet de aplicación estándar, 10-20 serviciosSe queda corto para pods efímeros a gran escalaAmpliable a /23 sin recolocar si reservas el vecino
/25128 / 126172.16.x.xTier de aplicación de tamaño medio, backends internosRe-subneting a los 2 años si el servicio creceMigrar a /24
/2816 / 1410.x.x.xBases de datos en clúster (RDS multi-AZ), pools de LB con IP fijaAgotamiento inmediato si se añaden réplicasPlanificar /27 desde el inicio si se prevé crecimiento

Estrato de borde, seguridad e interconexión

CIDRTotal / ÚtilesSegmento RFC 1918Caso de uso modernoRiesgo principalEscalado
/2732 / 30192.168.x.xDMZ con proxies inversos y appliances expuestosSuperficie de ataque si se sobredimensionaMantener pequeño a propósito; no ampliar sin revisión de seguridad
/298 / 6172.16.x.xPeering con redes de socios, subnets de tránsitoAlto riesgo de solapamiento si no se coordina el rangoCoordinar con IPAM central antes de asignar
/304 / 210.x.x.xEnlaces punto a punto legacy, túneles VPNDesperdicio del 50% frente a /31Migrar a /31 en equipos que lo soporten

Checklist final antes de definir el CIDR de un nuevo proyecto

Antes de escribir el bloque CIDR en Terraform y pulsar apply, respóndete estas cinco preguntas. Si fallas una, aún estás a tiempo de corregirlo gratis:

  1. ¿Este rango se solapa con ALGÚN entorno con el que podría necesitar conectarme jamás? (Otras VPCs, on-premise, redes de socios, futuras adquisiciones). Consúltalo contra el IPAM central, no contra tu memoria.
  2. ¿He dimensionado sumando el techo del autoescalado —no la carga actual— y he añadido el 30% de colchón?
  3. ¿La máscara refleja el nivel de exposición del segmento? (DMZ pequeña y aislada; backend interno holgado).
  4. ¿Puedo crecer sin renumerar? ¿Está libre el bloque contiguo para ampliar de /24 a /23 cuando llegue el momento?
  5. ¿Está documentado y registrado en el IPAM antes de crear el recurso, o lo estoy asignando "a ojo"?

Conclusión: el mantra que todo arquitecto debe memorizar

La máscara de red no es un detalle de configuración: es la primera decisión de escalabilidad que tomas en un proyecto, y la más cara de revertir. Un rango mal elegido no falla el día uno; falla el día en que por fin tienes éxito, cuando el tráfico crece, cuando llega la fusión, cuando el negocio pide integrar todo. Para entonces, cambiarlo cuesta ventanas de mantenimiento, riesgo y noches sin dormir.

Por eso conviene grabarse esta idea a fuego:

Elige tu máscara como eliges un contenedor: ni muy grande para que no se desperdicie espacio, ni muy pequeño para que no se desborde al primer pico de tráfico.

Dimensiona con intención, reserva con disciplina, documenta sin excepciones. Tu arquitectura —y tu yo del futuro— te lo agradecerán.

RedesCIDRSubnettingVPCAWSKubernetesArquitectura CloudIPAMCapacity PlanningRFC 1918