VLSM (Variable Lenght Subnet Mask) ¿Que es y como se come?

10:00 0 Comments A+ a-


Pues en el mundo de las redes informaticas las cosas tienen que llegar desde "A" hasta "B" de la forma mas eficaz posible, y no aplica el postulados de la Geometría Euclidiana que dice:

"La forma mas fácil para llegar desde A hasta B es una linea recta"


Para cumplir esa misión los paquetes necesitan de enrutamiento (Routing), tarea que llevan a cabo los enrutadores (Routers) gracias a los protocolos de enrutamiento (Routing Protocols). La verdad no pretendo complicarles la vida explicando cada proceso en las diferentes capas del modelo OSI ya que la idea del material es abordar VLSM, simplemente se explica por ser necesario mas adelante.

ENRUTAMIENTO CON CLASE Y ENRUTAMIENTO SIN CLASE.

Las direcciones IP estan divididas en privadas y publicas y estas a su vez en  clases de acuerdo al valor de su primer octeto, asi:


Como bien dice el post de Expermicid cito textualmente:

Citar
Las direcciones IP están compuestas por 32 bits divididos en 4 octetos de 8 bits cada uno. A su vez, un bit o una secuencia de bits determinan la Clase a la que pertenece esa dirección IP.
Cada clase de una dirección de red determina una máscara por defecto, un rango IP, cantidad de redes y de hosts por red.

Podría decirse que la clase de una dirección de red determina su mascara de subred y por ende las direcciones de los host en la red. En el principio del networking cuando IPv4 estaba en pañales jamas se penso que podrian agotarse las direcciones ip, y los sabios de la epoca crearon los protocolos de enrutamiento (recuerdan esas palabras marrones de mas arriba?) para que basándose en los primeros bits de la dirección IP pudieran definir de forma automática la mascara de red. En ese entonces y a primera todo tiene mucho sentido, pero cuando comenzaron a agotarse las direcciones IPv4 se dieron cuenta que habia un desperdicio enorme de direcciones cuando se asignaban direcciones de red con clases, por ejemplo:

Una dirección 172.16.0.0 en binario se vería así:

1 0 1 0 1 1 0 0 . 0 0 0 1 0 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0

Y en el enrutamiento con clase de forma automática se asignarían los primeros 16 bit a la parte de RED y el resto a la parte de HOST, con lo que quedaria asi:

1 0 1 0 1 1 0 0 . 0 0 0 1 0 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0

Y aqui los listos levantan la mano y preguntan:

¿Pero y cual es el desperdicio en darle esa direccion a una empresa / entidad / institucion?

Pues vamos a imaginar que la ISP asigna este bloque de direcciones a una empresa mediana con 900 equipos finales (telefonos IP, impresoras de red, servidores, etc...)

Vamos a calcular la cantidad de hosts que puede albergar esa direccion (espero se hayan leido el material de Expercimid):

La cantidad de host es = 2^n - 2, siendo "n" el numero de bits en la dirección que pertenecen a host y en nuestro ejemplo tenemos 16 bits de host, así:

                             2 ^ n - 2
                          = 2 ^ 16 - 2
                          = 65,536 - 2
                          = 65,534 direcciones utilizables versus 900 host
                          = 64,634 desperdiciadas
                             :o  :o  :o  :o

Ahora imaginemos que la empresa abre una nueva sucursal y necesita direccionamiento para 150 host, la ISP podria proporcionar un nuevo bloque de direcciones, pero debido al agotamiento muy dificilmente lo haga, asi que el administrador de la red debera hacer uso de su arma secreta para redistribuir de forma mas eficiente el mismo bloque de direcciones proporcionado y eso es la tecnica de SUBNETEO (Subneting) explicada por Expercimid.

Y esto tiene dos consecuencias:

a) Los protocolos de enrutamiento mas recientes (recuerdan) no se llevan muy bien con el direccionamiento con clase.

b)Cuando se hace subneting en direccionamiento con clase todas las subredes resultantes tendrán la misma cantidad de host:

SUBRED 0



Max. Hosts    = 32766  (2^15 - 2)
Desperdicio   = 32766 - 900 = 31,866 direcciones
                     
SUBRED 1



Max. Hosts    = 32766   (2^15 - 2)
Desperdicio   = 32766 - 150 = 32,616 direcciones

Y ahora.... Justo ahora es cuando entra en función VLSM
(Por mas que intente no dar preámbulos al final lo hice)  :-\

¿QUE ES VLSM?

Para evitar el desperdicio de direccion IPv4 en el año de 1993  la IETF (Internet Engineering Task Force) introdujo CIDR (Classless Inter-Domain Routing ) que trajo como una de las mejoras principales VLSM (Variable Lenght Subnet Mask) Sub-mascara de red con longitud variable, suena complicado pero no lo es...

VLSM es "Tomar una sub-red y dividirla nuevamente cuantas veces sea necesario de acuerdo a las necesidades de la red"

Vamos a cumplir con las mismas necesidades anteriores y con los mismos recursos pero esta vez usando VLSM:

RED 0


Max. Hosts    = 1022   (2^10 - 2)
Desperdicio   = 1022 - 900 = 122 direcciones

RED 1


Max. Hosts    = 254   (2^8 - 2)
Desperdicio   = 254 - 150 = 104 direcciones

Lo que también significa que tendremos 64 subredes para soportar mayores demandas de la red en cuanto a direccionamiento, pero ¿Como que tenemos 64 subredes mas? Pues pasamos de tener 16 bits para la red a tener 22 en la mayor de las subredes:

22 - 16 = 6 bit de RED

Red = 2^n
        = 2^6
        = 64

Parece sencillo pero no lo es...