Translate

1 ago 2014

VLSM

Las siglas de VLSM son el acrónimo de las palabras Variable Length Subnet Mask, o dicho de otra forma, Máscaras de subred de tamaño variable.

Lo que hacemos con VLSM es el proceso contrario al subnetting, donde en este último dividíamos la red inicial alterando su máscara para coger tantas subredes como deseáramos (cogiendo bits del host para la red). En cambio, con esta nueva técnica, cogemos parte de los bits de la red para el host, dividiendo de esta forma la red inicial y generando, también, subredes, pero sin desperdiciar la cantidad de equipos. En resumidas cuentas, al igual que subnetting nos permitía coger un número exacto de subredes, VLSM nos permite coger el número exacto de equipos en cada subred (sin desperdiciar direcciones), pero sin poder controlar el número exacto de subredes; a cada nueva subred, la máscara irá variando.

Vamos con un ejemplo práctico, donde lo veremos mejor:

Supongamos que tenemos la red 10.0.0.0 con máscara 255.0.0.0; lo que queremos es tener una subred inicial con al menos, 800 equipos (imaginemos una gran empresa que nos solicita direcciones IP públicas para que sus servidores sean accesibles desde la red, o mejor dicho, las páginas web alojadas en ellos). Para ello, tenemos que calcular qué potencia de 2 está más cercana a 800 de la siguiente forma:

2^7 = 128
2^8 = 256 (128+128)
2^9 = 502 (256+256)
2^10 = 1004 (502 +502)

La primera en superar las 800 direcciones, es 2^10, y la más cercana, por lo que tendremos que coger en la máscara, diez números empezando desde la parte del host, es decir, desde el final (el último byte completo que ya lo tenemos a cero, y dos bits del penúltimo byte; los más cercanos al último byte).

Con este método nos aseguramos 1004 direcciones, y alguien podrá decir: "Pero necesitábamos 800". Sí, es innegable que de esta forma desperdiciamos 204 direcciones, no obstante, para coger 800 direcciones sin hacer este método o bien tendríamos que haber creado incontables subredes, o bien en la misma red colocar los 800 equipos, que nos lo permite por ser clase A. Sin embargo, la clase A puede alcanzar hasta dieciséis millones de direcciones (2^24 = 16.277.214; veinticuatro por ser tres bytes destinados al host, es decir, veinticuatro bits).

A pesar de perder 200 direcciones, no hemos perdido una cantidad excesiva, ni hemos tenido que estar días enteros pensando subredes y máscaras hasta abarcar los 800 equipos. Y aplicando la teoría que he estado arrastrando hasta aquí, de coger 10 bits, la cosa quedaría así:

Dirección de la primera subred generada = 10.0.0.0

Máscara de subred = 255.255.252.0 = 255.255.1111 1100.0000 0000

Aquí estamos indicando que, primero, la subred será la cero, la inicial, y segundo, que hemos cogido en la máscara diez bits para el host, dejando los demás para la red y generando así la correspondiente máscara. Éste método no es aplicable, por ejemplo, a redes de clase C, porque nos obligaría a tener una máscara de una clase superior (clase B), y esto no se permite bajo ningún concepto; sería incoherente. Pero así nos ahorramos millones de direcciones y desperdiciamos solo unas pocas.

Ahora bien, ¿cómo calcularíamos la siguiente subred? Hay que tener en cuenta que todas las subredes que generemos a partir de la primera contendrán menos equipos cada vez, y la forma en la que calculamos la dirección de subred es sencilla: colocamos el último bit de la red a uno y perdemos otro del host. Voy a poner un ejemplo donde la parte en Negrita corresponde al host:

Primera dirección de subred: 10.0000 0000.0000 0000.0000 0000

Segunda dirección de subred: 10.0000 0000.0000 0100.0000 0000

Siendo la primera la 10.0.0.0 con máscara 255.255.252.0

Y siendo la segunda la 10.0.4.0 con máscara 255.255.254.0

Tenemos que observar que cada vez que cambiamos de subred, perdemos un bit correspondiente al host, indicando que tenemos menos equipos de los inicialmente asignables (1004) para la siguiente subred, y alteramos la máscara con ello.

No hay comentarios: