Comparativa de máscaras, subnetmask contra wildcard
Algunos pueden tener confusiones entre subnetmask y wildcard ya que se tiene la creencia de que simplemente uno es la inversa del otro, pero no es simplemente eso, aunque casi el 100% de los casos sea lo correcto. Wildcard es bastante más que la inversa de subnetmask de hecho tiene mucha más potencia y versatilidad
Subnetmask
Aparece de la adaptación de clases (classful) a las subredes (sin clase o classless) hace ya bastante tiempo para poder aprovechar correctamente el direccionamiento IPv4. Lo que indica la máscara de red es la cantidad de bit dedicados a la red empezando de izquierda a derecha. Cada clase tiene una longitud fija de bits. Classless Interdomain Routing (CIDR) se desarrolló para proporcionar una longitud variable de bits de red a partir de cada clase, por decirlo de una forma sencilla robar bits a la parte de hosts para dárselos a la parte de red dentro de cada clase. Sólo hay 33 posibles máscaras de subred IPv4, de 0.0.0.0 a 255.255.255.255, o desde / 0 a / 32.
Wildcard
Wildcards define un host o un número de hosts en una subred u octeto y son mucho más flexibles que las máscaras de subred, ya que no hay requisito de que los bits a 1 estén continuos. Otro punto que se diferencia es que los bits a tener en cuenta son al contrario que subnetmask, es decir, que el que tiene peso es el 0 y no el 1. Es muy típico en las listas de acceso (ACLs) que las wildcards aparezcan como la inversa de subnetmak, por ejemplo, 0.0.0.255 coincide con cualquier valor para el último octeto de una dirección IP en una subnetmask 255.255.255.0. Pero esto no es estrictamente necesario. Se puede conseguir todo tipo de extrañas coincidencias con una wildcard; algunos ejemplos de ACLs:
permit 192.168.0.1 0.0.255.0 0.0.255.0 -> 00000000.00000000.11111111.00000000
permit 192.168.0.0 0.0.254.255 0.0.254.255 -> 00000000.00000000.11111110.11111111
Hay que tener en cuenta que ninguna de las wildcard de arriba son contiguas sino que se compara un lado (IP) con el otro (wildcard), cada bit es mantenido (si es 0) o ignorado (si es 1) independiente.
Un pequeño truco para determinar la wildcard correspondiente a una subred es restando 255 a cada octeto de la máscara de subred. Dos ejemplos con sub redes de /25 y /18:
255 255 255 255 255 255 255 255 - 255 . 255 . 255 . 128 (/25) - 255 . 255 . 192 . 0 (/18) ----------------------- ----------------------- 0 . 0 . 0 . 127 0 . 0 . 63 . 255