16 de noviembre de 2012

La máscara de wildcard

Entre los temas puntuales que suelen generar consultas o dudas, uno que tiene su lugar propio es la máscara de wildcard.
¿Qué es la máscara de wildcard?
La máscara de wildcard es un registro de 32 bits de longitud que, aplicado a una dirección IPv4, permite definir qué bits son relevantes para la ejecución de una determinada acción y cuáles no deben ser considerados o tenidos en cuenta.
En una máscara de wildcard,
los bits significativos se señalan con 0 en la máscara de wildcard,
los bits no-significativos se marcan con 1 en la máscara de wildcard.
Un ejemplo
Si deseamos filtrar direcciones IP utilizando ACLs y se requiere filtrar las direcciones IP comprendidas entre la 192.168.1.16 y la 192.168.1.31, encontramos que estas direcciones tienen en común los primeros 28 bits. Por lo tanto es necesario indicar en la ACL que se desean filtrar todas las direcciones IP que tengan esos primeros 28 bits en común.
Para eso se utiliza una máscara de wildcard acompañando la dirección IP. En nuestro ejemplo la combinación sería IP 192.168.1.16 con wildcard 0.0.0.15
¿Porqué la máscara de wildcard en este caso es 0.0.0.15?
Pues, porque en una máscara de wildcard los bits en 0 (cero) indican cuáles son los bits de la dirección IP que son relevantes para la operación y los bits en 1 (uno) cuáles son indiferentes.
Espresada en binarios, la máscara 0.0.0.15 es 00000000.00000000.00000000.00001111
De esta forma, una máscara 0.0.0.15 indica que solamente se deben tener en cuenta los primeros 28 bits (que están en 0 en la wildcard), y al estar acompañando a la dirección 192.168.1.16, se indica cuál es el valor esperado en esos primeros 28 bits.
¿Para qué se utilizan las máscaras de wildcard?
Las wildcards han tenido múltiples usos en la configuración de dispositivos Cisco IOS, si bien en los últimos tiempos han comenzado a ser menos utilizadas.
Los usos más frecuentes son:
  • Definición de direcciones IP de origen y destino en ACLs.
  • Definición de redes incluidas en el procesamiento de OSPF.
  • Definición de redes incluidas en el procesamiento de EIGRP.
En algunos casos se las ha presentado como la "inversa" de la máscara de subred. Propiamente no es así ya que la máscara de wildcard no necesariamente representa una rede o subred, sino un simple conjunto de direcciones IP. Pero sí es cierto que si el objetivo es referir una subred completa, la wildcard aparace como el complemento exacto.
Si queremos definir la subred 172.16.16.16/ 28, cuya máscara de subred en decimales sería 255.255.255.240, la máscara de wildcard correspondiente es 0.0.0.15.
Es decir, si sumo máscara de subred + máscara de wildcard, el resultado será 255.255.255.255.


24 comentarios:

  1. Oscar, es un gusto saludarle, queria hacerle una consulta, mi nombre es Gaston, soy de la ciudad de Córdoba, he adquirido recientemente uno de sus libros sobre CCNA asi como tambien tres de sus apuntes los cuales considero que son muy buenos para apoyar mis estudios sobre el networking, estoy planificando mi preparacion para rendir el proximo año (2013) la certificacion de CCNA, he cursado tres de los cuatro cursos que brinda la networking academy de Cisco, mi consulta es la siguiente, usted sabria decirme cuando es el primer turno de examen del año 2013? es decir, en que mes se da el mismo? y donde acudo para rendirlo? le agradesco mucho su respuesta y lo felicito por el blog, me es un fuerte recurso a la hora de estudiar.
    Saludos! - Gastón

    ResponderBorrar
    Respuestas
    1. Gastón.
      Un gusto tener contacto contigo.
      No existen turnos de examen para rendir. Simplemente buscas el testing center que te resulte más cómodo de acuerdo a tus necesidades, y verificas el calendario y horarios de disponibilidad que presenta. Dentro de ese calendario reservas libremente un horario para rendir.
      Para revisar los testing center disponibles, lo haces directamente sobre la página web de VUE utilizando el servicio de localización: http://www8.pearsonvue.com/Dispatcher?application=VTCLocator&action=actStartApp&v=W2L&cid=139
      A través de la misma página puedes hacer la reserva de tu turno de examen.
      Cualquier información adicional, a tu disposición.

      Borrar
  2. hola oscar quisiera saber si me podria ayudar con una confunsion y darme un pequeño resumen de que es subnetting de una manera llana por favor

    ResponderBorrar
    Respuestas
    1. En el blog hay varios artículos dedicados al tema subnetting. Sólo es cuestión de buscarlos utilizando la ventana de búsqueda que se encuentra en la columna de la derecha.

      Borrar
  3. Hola Oscar, sabes tengo aun la duda, cuando dices que la wildcard es "sino un simple conjunto de direcciones IP" y que se usan para un listas de acceso, no comprendo porque solo veo una direccion, te agradezco la ayuda

    ResponderBorrar
    Respuestas
    1. Amigo.
      Creo que interpretaste mal lo que quise decir.
      La máscara de wildcard es "un registro de 32 bits de longitud que, aplicado a una dirección IPv4, permite definir qué bits son relevantes para la ejecución de una determinada acción y cuáles no deben ser considerados o tenidos en cuenta".
      La frase que citas no es una definición de este tipo de máscara, sino parte de una consideración más extensa: "la máscara de wildcard no necesariamente representa una rede o subred, sino un simple conjunto de direcciones IP" Es decir, no siempre se usan wildcard para representar redes o subredes, sino también conjuntos definidos de direcciones IP como cuando define: 192.168.1.64 0.0.0.15 que representa todas las direcciones IP desde 192.168.1.64 hasta 192.168.1.79, aún cuando se trate de una red clase C.
      Espero haber sido claro.

      Borrar
  4. Buenas Tardes Oscar,
    Le molesto por lo siguiente en su ejemplo: se requiere filtrar las direcciones IP comprendidas entre la 192.168.1.16 y la 192.168.1.31 la wildcard sería 0.0.0.15.
    Qué se tendría que hacer para que se puedan filtrar direcciones a partir de la dirección 192.168.1.16? es decir cual sería la wildcard? porque entiendo que 0.0.0.15 se refiere a direcciones entre el rango de .16 hasta el .31. pero si quiero empezar a filtrar a partir de .16 en adelante? muchas gracias de antemano por su tiempo.

    ResponderBorrar
    Respuestas
    1. Eduardo.
      La máscara de wildcard permite definir la cantidad de direcciones IP que serán incluidas en el rango, no cuáles serán esas direcciones.
      Una máscara 0.0.0.15 indica que se trata de un bloque de 16 direcciones IP.
      ¿Cuáles son esas direcciones IP?
      Dependerá de la dirección IP que acompañe la máscara.
      192.168.1.0 0.0.0.15 incluye las direcciones 192.168.1.0 a 15
      192.168.1.16 0.0.0.15 incluye las direcciones 192.168.1.16 a 31
      192.168.1.32 0.0.0.15 incluye las direccioens 192.168.1.32 a 47

      Borrar
  5. Muy útil tu explicación Oscar, muchísimas gracias.

    ResponderBorrar
  6. Estimado Oscar, una consulta: me encontré en una empresa una wildcard de este tipo:
    0.0.63.0, lo primero que pensé es que se trata de un error, pero la misma wildcard aparece en varias ACL, y esto me hace desconfiar que tenga una propósito especial. tu que dices?

    ResponderBorrar
    Respuestas
    1. Marco.
      Es una wildcard perfectamente lícita. En el caso de la máscara de wildcard nada obliga a que los bits considerados sean consecutivos o en un orden particular. Simplemente indica qué bits de una dirección son relevantes para la implementación que se está haciendo.

      Borrar
    2. muchas gracias, me sacaste de una gran duda.

      Borrar
  7. Estimado Oscar, ahora que se que la wildcard 0.0.63.0 es correcta, si tengo lo siguiente: 192.168.0.13 0.0.63.0
    esto me daría como resultado las direcciones 192.168.1.13, 192.168.2.13, 192.168.3.13, hasta la 192.168.62.13. estoy en lo correcto???
    y si me puedes indicar donde encuentro información sobre este tipo de wildcard ya que solo encuentro información de wildcard con bits continuos

    ResponderBorrar
    Respuestas
    1. Marco.
      La wildcard en cuestión indica que buscamos direcciones cuyos octetos 1, 2 y 4 coincidan completamente, y que en el tercer octeto coincidan los primeros 2 bits de la izquierda (00111111).
      Consecuencia, en el ejemplo que proponés, coincidirá con todas las direcciones 192.168.xxx.13, pudiendo tomar en el tercer octeto cualquier valor entre 0 y 63.
      Este no es un tipo especial de wildcard, es simplementa una wildcard cuya utilizada real habría que ver según el caso, no creo que puedas encontrar información mucho más específica.

      Borrar
    2. Estimado muchas gracias, ahora tengo claro el tema de wildcard.

      Borrar
    3. me parecio interesante la pregunta de Marco, con la wilcard 0.0.63.0 no estaria diciendo que el el primer segundo y cuarto octeto serian considerados por completo y que los 2 primeros bits de izquierda a derecha es decir 128 y 64 (192) serian considerados, es decir si asigno por ejemplo una acl de este tipo: access-list 1 permit 192.168.0.13 0.0.63.0 le estaria diciendo que tomara en consideracion el octeto 1, 2 y 4 que seria 192.168.x.13 pero que el tercer octeto activara los 2 primeros bits de izquierda a derecha, es decir una red 192.168.128.13 o 192.168.64.13 y 192.168.192.13 serian permitidas o me equivoco, de antemano, muchas gracias.

      Borrar
    4. Carlos
      La máscara de wildcard no establece valor de los bits, sino bits que deben ser revisados para detectar coincidencias.
      Si la dirección de referencia es 192.168.0.13 (con la wildcard 0.0.63.0) entonces coincidirán todas las direcciones IP que tengan:
      192 en el primer octeto
      168 en el segundo
      0 en el tercero, porque la máscara indica que los relevantes son los 2 primeros bits y esos 2 bits están en cero (00xxxxxx).
      y 13 en el cuarto.

      Borrar
  8. Muchas gracias Oscar me sirvió mucho esta información

    ResponderBorrar
  9. oscar, como le va? cualquier rango de ip puede ser marcado con la wildcard? por ejemplo si yo quiero seleccionar las ip comprendidas entre la 10.0.0.230 y 10.0.0.241, puedo hacerlo con una wildcard?

    ResponderBorrar
    Respuestas
    1. Javier.
      Estamos hablando de direcciones IP con lo que su estructura real es binaria, no decimal. Consecuentemente el concepto de "cualquier rango de IP" debe entenderse en ese contexto.
      Cada posición de un bit en la dirección IP representa una potencia de 2 en decimales. Por lo tanto los rangos que se pueden formar (la máscara de wildcard lo que permite es seleccionar bits a considerar) son siempre potencias de 2.
      Es decir se pueden formar rangos de 2, 4, 8, 16... etc direcciones IP.
      En tu ejemplo podrías formar un rango de 16 direcciones IP, que además deben iniciar en un valor decimal que sea múltiplo de esa potencia de 2.
      Por ejemplo, podrías formar un rango que vaya de 10.0.0.224 a 10.0.0.239 utilizando una wildcard 0.0.0.15

      Borrar
  10. Oscar, estoy iniciando con las ACL y tengo un ejercicio para seleccionar las primeras 15 direcciones IP y las ultimas 15, cuya red es la 10.10.0.0, pero no entiendo muy bien

    ResponderBorrar
  11. Vincent
    Hay un par de elementos en tu planteo que me resultan ambiguos.
    En primer lugar, las máscaras de wildcard como la de subred, por tratarse de herramientas binarias, los grupos de direcciones IP que generan tienen dimensiones que corresponden a potencias de 2. Esto quiere decir que, o el grupo es de 16 IPs (no 15), o deberás formar varios grupos: uno de 8, uno de 4, uno de 2 y finalmente una IP sola. En este sentido el planteo es llamativo.
    En segundo lugar, habría que tener la máscara de subred para poder definir cuáles son las primeras y las últimas IPs del segmento de red.

    ResponderBorrar
  12. Estimado Oscar: Me podrías definir el Término "Wildcard" en español, debido a que lo estoy aplicando a las redes OSPF en mi profesión. Te agradesco por la ayuda.

    ResponderBorrar
    Respuestas
    1. Habitualmente "wildcard" suele traducirse al castellano como "comodín".

      Borrar

Gracias por tu comentario.
En este blog los comentarios están moderados, por lo que su publicación está pendiente hasta la revisión del mismo.