martes, 18 de octubre de 2011

VLSM (Variable Length Subnet Mask)

VLSM (Variable Length Subnet Mask)                         
Ing. Carlos Quiroz Goicochea

VLSM indica el uso de subredes de diferentes tamaños, apropiadas a la necesidad y sin desperdiciar direcciones como lo hace subnetting. Como sabemos, la máscara de subred determina el tamaño de la subred, por ejemplo si la máscara es 255.255.255.0 ó /24, la cantidad de direcciones de esta subred es de 256, este valor se obtiene determinando primero los bits de host = 32 – 24 = 8 bits, con estos 8 bits se puede obtener 28 direcciones, aunque, solo se puede usar 28 -2 = 254.

Con VLSM, podemos dividir una dirección de red en pequeñas subredes de diferentes tamaños, este procedimiento lo debemos usar cuando nos especifican la cantidad de direcciones de cada subred y nos piden que no desperdiciemos direcciones. En el caso de que no se den estas especificaciones se debe usar subnetting.

Vamos a plantear un ejemplo, el cual va servir para la explicación de cómo se realiza la división usando VLSM, para ello contamos con la siguiente dirección de red: 170.17.0.0 /24, esta dirección con prefijo /24, me indica que tengo 256 direcciones para repartir en las diferentes subredes, además debo tener presente que la suma de las direcciones que se necesita en las subredes no debe superar a esta cantidad.

La red en la que vamos a trabajar está representada en el siguiente esquema, donde podemos apreciar a los tres routers R1, R2 y R3. La red dispone de 4 subredes en los enlaces locales y dos subredes en los enlaces Wan.

En cada subred LAN se ha establecido la cantidad de direcciones IP que se necesitan los hosts, incluyendo la IP de la interfaz del router, pero, en los enlaces Wan no hay indicaciones de la cantidad de direcciones, porque se sobreentiende que solo se usan 02 direcciones, ya que son enlaces punto a punto.

Para realizar la división de las direcciones usando VLSM, es recomendable llenar la siguiente tabla, donde se detalla:


Host
2n
n
prefijo
Direcc de subred
Primera
Ultima
Broadcast
80







35







28







13







2







2









·         La cantidad de hosts en cada subred, la cual debe estar ordenada de mayor a menor.
·         La cantidad 2n debe permitir cubrir la necesidad de la cantidad de host + 2, ya que debo tener en cuenta que en cada subred se “pierden” dos direcciones (la de red y la de broadcast), las cuales no pueden ser asignadas a los host.
·         La cantidad n, que corresponde al número de 2n y es el número de bits de host.
·         El prefijo de la subred, lo obtenemos así: prefijo = 32 – n, y es la cantidad de bits de subred.
·         La dirección de subred, la primera dirección de subred es igual a la de la red de partida, salvo que tiene un prefijo mayor, luego veremos que las siguientes direcciones se obtienen sumándole a la subred anterior la cantidad de direcciones que utilizó.
·         La primera dirección IP válida, se obtiene sumándole 01 a la dirección de subred.
·         La última dirección IP válida, se obtiene restándole 01 a la dirección de broadcast.
·         La dirección de broadcast, es la dirección que se usa en esa subred, para poder enviar un paquete al grupo, desde uno de los host. Esta dirección se obtiene restándole 01 a la siguiente dirección de subred.
Llenemos la tabla de acuerdo a lo especificado anteriormente:
 

Host
2n
n
prefijo
Direcc de subred
Primera
Ultima
Broadcast
80
128
7
/25
170.17.0.0  /25  
170.17.0.1
170.17.0.126
170.17.0.127
35
64
6
/26
170.17.0.128  /26
170.17.0.129
170.17.0.190
170.17.0.191
28
32
5
/27
170.17.0.192  /27
170.17.0.193
170.17.0.222
170.17.0.223
13
16
4
/28
170.17.0.224  /28
170.17.0.225
170.17.0.238
170.17.0.239
2
4
2
/30
170.17.0.240  /30
170.17.0.241
170.17.0.242
170.17.0.243
2
4
2
/30
170.17.0.244  /30
170.17.0.245
170.17.0.246
170.17.0.247


Se recomienda llenar la tabla columna a columna: host, luego 2n, luego n, prefijo y direcciones de subred.

Para determinar las direcciones de red, la primera dirección (en amarillo) coincide con la dirección de red inicial, la segunda dirección (en verde) se obtiene sumando la primera dirección con la cantidad de direcciones que usa la primera subred (128). De forma similar se obtienen las siguientes direcciones de subred.


Luego se debe determinar las direcciones de broadcast, la primera dirección de broadcast (en amarillo) se obtiene restando 01 a la segunda dirección de subred (en verde). La segunda dirección de broadcast se obtiene restando 01 a la tercera dirección de subred, de manera similar se obtienen las restantes.
Luego de haber determinado la columna de las direcciones de broadcast, podemos determinar las direcciones de las columnas primera y última válida.

La primera dirección válida se obtiene sumándole 01 a la dirección de subred y la última dirección válida se obtiene restándole 01 a la dirección de broadcast, tal como se muestra en el gráfico.

NOTA1: Para el cálculo de las direcciones de la siguiente subred, debemos sumar la dirección actual más la cantidad de direcciones que usa la subred, si la cantidad de direcciones fuese mayor de 255, por ejemplo 512, este número no se puede expresar en un solo octeto, ya que, cada octeto va de 0 a 255, se debería usar dos octetos, para ello considere  a 256 = 1 . 0  con lo cual 512 sería 2 x 256 = 2 . 0
La dirección resultante sería:  170.17. 0 . 0  + 2 . 0 = 170.17.2.0

NOTA2: Cuando se usa VLSM, se debe usar un protocolo de enrutamiento sin clase como RIPv2. Si usa packet tracer, va a necesitar configurar RIP en su versión 2, los siguientes gráficos le muestra como se puede establecer RIPv2 usando la configuración gráfica.




Les dejo este ejercicio para que practiquen, en este caso la dirección de red es: 192.168.30.0 /24 y se desea dividir en subredes usando VLSM, en el siguiente circuito están los requerimientos de las subredes.

Complete la siguiente tabla para asignar las direcciones IP:
 

Host
2n
n
prefijo
Dirección de red
Primera
Ultima
Broadcast


















































Espero haber contribuido con este pequeño aporte.