La mayoría de veces que trabajemos con direcciones IPv4 haremos uso de las conocidas máscaras de red. Tenéis en el blog un post dedicado íntegramente al concepto de subnetting en el que se profundiza en el uso de las máscaras de red.

Si embargo no siempre se usan estas máscaras en las configuraciones de los routers. Existe otro concepto bastante extendido que, al igual que las máscaras de red, se usa como patrón para delimitar qué porción de la dirección IP introducida corresponde a la dirección de red y qué porción a las posibles direcciones de host. Este concepto se conoce como «wildcard». 

No conozco si existe una traducción al castellano de este mecanismo y su traducción literal queda demasiado mal como para utilizarla en este artículo.

Las wildcards se caracterizan por ser un elemento complementario a las máscaras de red. El patrón que se aplica es, a diferencia de en éstas últimas, el opuesto: cuando hay un 0 se mantiene el valor y cuando hay un 1 se sustituye por un 0.

La mejor forma de entenderlo es con un ejemplo:

Si disponemos de una red /24 como la 192.168.0.1/24, sabemos que el 24 nos indica el número de 1’s que tiene la máscara de red asociada: 255.255.255.0. Si aplicamos la lógica AND entre esta máscara y la dirección IP tendremos como resultado la dirección de red: 192.168.0.x (Siendo x cualquier valor entre 0 y 255)

En el caso de las wildcards tendríamos que usar el número opuesto: 0.0.0.255 para obtener el mismo resultado.

De esta forma la máscara sería 00000000.00000000.00000000.11111111 y sólo en el caso de los 1’s existiría una sustitución por valor 0 en la dirección de red.

Existe un pequeño truco para obtener rápidamente qué valores tenemos disponibles como direcciones de host en una dupla dirección IP + wildcard.

Si por ejemplo disponemos de la dirección 10.0.0.0 con la wildcard 0.0.0.3 las direcciones de host disponibles serían de la 10.0.0.0 a la 10.0.0.3 ¿Sencillo verdad?

Así mismo, como sabemos que la máscara de red es la complementaria, tendríamos que en el ejemplo anterior, para la wildcard 0.0.0.3, nuestra máscara de red debería ser: 255.255.255.252

Se trata de un concepto relativamente sencillo pero que es vital conocer puesto que muchas configuraciones de protocolos de enrutamiento dinámicos, ACLs, route maps, etc., usan este elemento en lugar de las conocidas máscaras de red.