Blog personal de Sergio Madrigal donde encontrar textos sobre ciencia y tecnología, psicología, cine y literatura y quizá alguna cosita más.

Etiqueta: Subnetting (página 1 de 1)

Conceptos básicos de redes: Wildcards

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.

Laboratorio de redes I: Subnetting

Una de las primeras cosas que debemos conocer cuando nos desenvolvemos en entornos de redes son las subredes.

Breve introducción.

En uno de los primeros capítulos sobre Redes, os explicaba el concepto de dirección IP y el de Clase de dirección. Por resumir un poco nos encontramos que cuando las redes de computadores se diseñaron se concibieron tres grandes grupos de IPs. Las de clase A, pocas, pero que serían capaces de albergar un número grande direcciones, las de clase B, en mayor número pero con menor número de direcciones y las de Clase C, las más extendidas, que dispondrían de un número bastante reducido de direcciones.

Con la popularización de las redes y la llegada de Internet pronto se observó que ese modelo era incompatible con el crecimiento de los equipos y las redes puesto que se asignaban grupos con un número fijo de direcciones (A,B,C) independientemente de la necesidad que tuviera cada empresa. Sin embargo, al estar ya establecido se antojaba complejo reestructurarlo. Por ello se decidió introducir un nuevo concepto, el de subredes.

Subnetting o el aprovechamiento máximo.

La idea se fundamenta en un nuevo concepto: la máscara de subred.

Este número, que al igual que las direcciones IP está compuesto de 4 grupos de números entre 0 y 255, es el patrón que se superpone a la dirección IP y nos indica qué parte es considerada «dirección de red» y qué parte es considerada «dirección del host».

Aclaremos un poco esto antes:

Supongamos que se nos asigna un número de dirección IP como el siguiente:

128.1.0.0

Esta dirección es de Clase B por lo que tiene asociadas 65.534 direcciones posibles: de la 128.1.0.1 a la 128.1.255.254 (recordad que ni la acabada en o, que es la dirección de red, ni la acabada en .255, la dirección de broadcast, pueden emplearse).

En este ejemplo queda bastante claro que la parte de dirección de red es: 128.1 mientras que la parte de dirección de host son los dos últimos octetos.

Pero qué sucede si no necesitamos más de 65.000 direcciones pero las 254 que nos ofrece la Clase C no son suficientes: aquí es donde nace el subnetting y el concepto de máscara de red.

De lo que se trata es de «alargar» la dirección de red aumentando así el número de posibles redes disminuyendo el número de direcciones de host asociadas.

Para ello añadiremos a la dirección de red la máscara: 128.1.0.0 255.255.128.0

La máscara de subred es, como he comentado antes, un patrón que se superpone a la dirección de red y que discrimina la parte de dirección de red de la parte de dirección de host. Para ello, en binario, si la máscara tiene un 1, el bit de la dirección de red se mantiene en su estado, si la máscara tiene un 0, el bit de la dirección de red pasa a 0 (operación binaria AND).

¿Qué hemos conseguido?

Al añadir esta máscara de subred nos encontramos con que pasamos de las 65.534 direcciones de host a la mitad: 32.767

¿Cómo es posible?

En el ejemplo inicial tanto la dirección 128.1.1.150 como la dirección 128.1.220.140 pertenecían al mismo rango: 128.1.0.0

Aplicando la máscara de su red, sin embargo, vemos que no es así:

En el caso de la dirección 128.1.1.150 255.255.128.0 , con una AND binaria tenemos que pertenece a la red: 128.1.0.0

En el caso de la dirección 128.1.220.140 255.255.128.0, obtenemos sin embargo que pertenece a la red: 128.1.128.0

Otras formas de mostrar la máscara de subred.

Comúnmente la máscara de subred no se muestra completa sino que se añade a la dirección de red como el número de 1 consecutivos que tiene la misma en binario.

En nuestro ejemplo, nuestra máscara 255.255.128.0 tiene 17 1 consecutivos por lo que la forma de representar la dirección sería: 128.1.0.0/17

Laboratorio Práctico