Está en la página 1de 20

REDES DE DATOS II

Segundo Periodo 2022

PROYECTO CALCULADORA VLSM

Catedrático:
Ing. Alex Hernán Moncada Gómez

Alumno:
Cristian Manuel Montoya Zelaya - 20181032517
Christian Josue Gonzales Espinal - 20141002578
Carlos Josué Castro Torres - 20171005119
Ángel David Fortín Rodríguez - 20171001131
Omar Enrique Carranza Arambu - 20171005101
Roberto Carlos Mas Gálvez - 20171002097

Sección:
1900

Fecha de entrega:
15 de agosto del 2022

1
INTRODUCCION
El presente trabajo contiene la realización del proyecto para la unidad tres, el cual se
compone de una investigación y conocimientos ya adquiridos anteriormente, con la
finalidad de poder evidenciar la realización del trabajo asignado para esta unidad.
Comprender que toda información redactada en este trabajo nos ayudara a entender
logramos llegar a los requisitos propuestos en dicha actividad. El lector podrá tener una
idea más clara y se enriquecerá de conocimiento que abordamos a lo largo del trabajo
realizado.

2
OBJETIVO GENERAL
Profundizar más sobre el tema de VLSM y afianzar conocimientos que desconocíamos.
Esto con la finalidad de conocer más a fondo su uso, para que nos sirve, a que se debe
su invención y saber en qué momento es necesaria su utilización y que parámetros hay
que cumplir.
Evidenciar como se realizó el proyecto, conocer las fuentes de donde obtuvimos nuestra
investigación y el desarrollo de nuestra calculadora y sus funciones que desarrolla.

OBJETIVOS ESPECIFICOS
Obtener por parte del lector, una comprensión en la lectura de manera eficiente, esto con
la finalidad de poder transmitir nuestros conocimientos de manera clara y concisa. Toda
información y evidencia que se ha realizado a lo largo de este tiempo se espera que
pueda ser transmitida de la mejor manera al lector.
Lograr que el lector se sienta cómodo y a gusto con el trabajo presentado, con el
objetivo de satisfacer las necesidades y estándares que espera en un proyecto de esta
magnitud. Que todos nuestros esfuerzos se vean recompensados con el arduo trabajo
realizado a lo largo de dicho tiempo concedido.

3
¿Qué es VLSM (máscara de subred de longitud variable)?
VLSM, que significa máscara de subred de longitud variable, se produce cuando el
diseño de subred utiliza varias máscaras en la misma red. Significa que se utiliza más de
una máscara para varias subredes de una red o una sola clase A, B, C.
VLSM es equivalente a dividir subredes en subredes, lo que significa que VLSM
permite a los ingenieros de red dividir el espacio de direcciones IP en jerarquías de
subredes de diferentes tamaños. Por lo tanto, VLSM permite a los ingenieros de redes
crear subredes con diferentes recuentos de hosts con solo una pequeña cantidad de
direcciones que se desperdician.
VLSM se utiliza para aumentar la disponibilidad de subredes porque las subredes
pueden ser de tamaño variable. También se define como un proceso de división en
subredes para una subred.
Proceso de implementación de VLSM
En VLSM, las subredes usan tamaños de bloque según sea necesario, por lo que la
división en subredes debe usarse varias veces.
Dada la red 192.168.0.0/24, desarrolle un esquema de direccionamiento que cumpla con
los siguientes requerimientos. Use VLSM, es decir, optimice el espacio de
direccionamiento tanto como sea posible.
 Una subred de 20 hosts para ser asignada a la VLAN del Depto #1
 Una subred de 80 hosts para ser asignada a la VLAN del Depto #2
 Una subred de 20 hosts para ser asignada a la VLAN de Depto #3
 Tres subredes de 2 hosts para ser asignada a los enlaces entre enrutadores.
Paso 1
Ordenar las subredes en orden decreciente.
Depto #3 = 80 hosts
Depto #1 = 20 hosts
Depto #2= 20 hosts
Enlace #1 = 2 hosts
Enlace #2 = 2 hosts
Enlace #3 = 2 hosts

Paso 2
Depto #3 (Se compone de 80 hosts)
En este caso necesitaremos 7 bits. (2^7 = 128, descontando la red y el broadcast
tenemos un total de 126 hosts como maximo).
Por lo tanto nuestro prefijo de subred del primer bloque seria /25
4
De esta manera, si tomamos la subred cero, la primera direccion de subred seria
192.168.0.0/25, nuestro broadcast 192.168.0.127/25, por lo tanto el rango asignable
seria desde 192.168.0.1/25 hasta 192.168.0.126/25
Depto #1 (Se compone de 20 hosts)
En este caso necesitaremos 5 bits. (2^5 = 32, descontando la red y el broadcast tenemos
un total de 30 hosts como maximo).
Por lo tanto muestro prefijo de subred del primer bloque seria /27
De esta manera, si tomamos la subred, la primera direccion de subred seria
192.168.0.128/27, nuestro broadcast 192.168.0.159/27, por lo tanto el rango asignable
seria desde 192.168.0.129/27 hasta 192.168.0.158/27
Depto #2 (Se compone de 20 hosts)
En este caso necesitaremos 5 bits. (2^5 = 32, descontando la red y el broadcast tenemos
un total de 30 hosts como maximo).
Por lo tanto muestro prefijo de subred del primer bloque seria /27
De esta manera, si tomamos la subred, la primera direccion de subred seria
192.168.0.160/27, nuestro broadcast 192.168.0.191/27, por lo tanto el rango asignable
seria desde 192.168.0.161/27 hasta 192.168.0.190/27
Enlace #1 (Se compone de 2 hosts)
En este caso necesitaremos 2 bits. (2^2 = 4, descontando la red y el broadcast tenemos
un total de 2 hosts como maximo).
Por lo tanto muestro prefijo de subred del primer bloque seria /30
De esta manera, si tomamos la subred, la primera direccion de subred seria
192.168.0.192/30, nuestro broadcast 192.168.0.195/30, por lo tanto el rango asignable
seria desde 192.168.0.193/30 hasta 192.168.0.194/30
Enlace #2 (Se compone de 2 hosts)
En este caso necesitaremos 2 bits. (2^2 = 4, descontando la red y el broadcast tenemos
un total de 2 hosts como maximo).
Por lo tanto muestro prefijo de subred del primer bloque seria /30
De esta manera, si tomamos la subred, la primera direccion de subred seria
192.168.0.196/30, nuestro broadcast 192.168.0.199/30, por lo tanto el rango asignable
seria desde 192.168.0.197/30 hasta 192.168.0.198/30
Enlace #3 (Se compone de 2 hosts)
En este caso necesitaremos 2 bits. (2^2 = 4, descontando la red y el broadcast tenemos
un total de 2 hosts como maximo).
Por lo tanto muestro prefijo de subred del primer bloque seria /30

5
De esta manera, si tomamos la subred, la primera direccion de subred seria
192.168.0.200/30, nuestro broadcast 192.168.0.203/30, por lo tanto el rango asignable
seria desde 192.168.0.201/30 hasta 192.168.0.202/30

Paso 3

VLSM VS FLSM
Subredes: En VLSM, las subredes son de tamaño variable con un número variable de
hosts, lo que hace que el direccionamiento IP sea más eficiente. Pero en FLSM, todas
las subredes tienen el mismo tamaño con el mismo número de hosts.

6
Desperdicio de direcciones IP: VLSM desperdicia menos direcciones IP que FLSM.
Las direcciones IP correspondientes: VLSM es la mejor opción para direcciones IP
públicas, mientras que FLSM es la primera opción para direcciones IP privadas.
Uso de la máscara de subred: VLSM usa varias máscaras de subred, mientras que
FLSM usa la misma máscara.
Configuración y gestión: VLSM es simple en configuración y administración, pero
FLSM es complicado.
Protocolos de enrutamiento: VLSM admite protocolos de enrutamiento sin clase,
mientras que FLSM admite protocolos de enrutamiento sin clase y con clase.

Calculadora VLSM
Esta calculadora le permite subdividir una red utilizando la técnica VLSM (Máscara de
Subred de Longitud Variable); introduce una dirección IPv4, el prefijo de red, el
número de subredes que desea y el número de host por subred y la calculadora hará el
resto.

Datos que nos pedirá la calculadora VLSM:


DIRECCIÓN IP: Es una dirección única que identifica a un dispositivo en Internet o
en una red local. Identificador que permite el envío de información entre dispositivos en
una red.
MÁSCARA Y PREFIJO: Indica al sistema cuál es el esquema de particionamiento de
subred. Esta máscara de bits está formada por la parte de la dirección de red y la parte
de la dirección de subred. Define cuántos bits de la dirección componen el número de
red. El prefijo de la red también proporciona la máscara de subred para la dirección IP.

7
SUBRED: Una subred es un rango de direcciones lógicas. Cuando una red se vuelve
muy grande, conviene dividirla en subredes.
DECIMAL: Recordemos que una dirección IP se muestra 4 octetos de números, del 0
al 255, representados en forma decimal en lugar de binaria.
HEXADECIMAL: Facilita la legibilidad de números grandes o secuencias de bits
largas. Estos se agrupan en cuatro bits cada uno y se convierten al sistema hexadecimal.
BINARIO: Representa el número binario de 32 bits. Recordemos que una dirección IP
se muestra 4 octetos de números, del 0 al 255, representados en forma decimal en lugar
de binaria.
IP BINARIO: Nos muestra el IP Binario de nuestra dirección IP ingresada a ser
calculada.
TIPOS DE CLASE: CLASE A
0.0.0.0 a 127.0.0.0
CLASE B
128.0.0.0 a 191.255.0.0
CLASE C
192.0.0.0 a 223.255.255.0
CLASE D
224.0.0.0 - 239.255.255.255
CLASE E
240.0.0.0 a 255.255.255.255
RED: Nos muestra la dirección IP con su respectivo prefijo de subred.
HOSTS: Nos muestra la cantidad disponible de Hosts para dicha dirección IP.

La aplicación se realizó con PHP STORM:


Licencias educativas gratuitas con JETBRAINS
PhpStorm que es ideal para trabajar con Symfony, Laravel, Drupal, WordPress, Zend
Framework, Magento, Joomla!, CakePHP, Yii y otros marcos de trabajo.
Todas las herramientas PHP
El editor "capta" el código y comprende su estructura en profundidad, además de ser
compatible con todas las funcionalidades del lenguaje PHP para proyectos tanto nuevos

8
como heredados. Proporciona la mejor finalización de código, refactorizaciones,
prevención de errores sobre la marcha y más.
Tecnologías de front-end incluidas
Aprovecha al máximo las últimas tecnologías de front-end, tales como HTML 5, CSS,
Sass, Less, Stylus, CoffeeScript, TypeScript, Emmet y JavaScript, con disponibilidad de
refactorizaciones, d
Herramientas de desarrollo integradas
Realiza muchas tareas de rutina directamente desde el IDE gracias a la integración con
el Sistema de control de versiones, compatibilidad con implementación remota, bases de
datos/SQL, herramientas de línea de comando, Docker, Composer, REST Client y
muchas otras herramientas. epuración y pruebas de unidad.
Asistencia inteligente a la codificación
Cientos de inspecciones se encargan de verificar su código a medida que lo escribe,
analizando el proyecto entero. La compatibilidad con PHPDoc, el organizador,
reorganizador y formateador de código, los arreglos rápidos y otras funcionalidades, le
ayudan a escribir un código limpio y fácil de mantener.
Navegación inteligente por el código.
Tome el control de su base de código gracias a las funciones eficientes y ultrarrápidas
de navegación. El IDE entiende a dónde quiere ir y lo lleva allí instantáneamente.
Depuración y Pruebas fáciles.
PhpStorm es reconocido por su Depurador visual libre de configuración, lo que le
permite obtener un conocimiento extraordinario sobre lo que sucede dentro de su
aplicación a cada paso. Funciona con Xdebug y Zend Debugger, y se puede utilizar
tanto local como remotamente. Unit Testing con PHPUnit, BDD con Behat e
integración con perfilador también están disponibles.

La aplicación está alojada en 000webhost

9
¿Qué se conoce como alojamiento web gratuito? ¿En qué se diferencia del hosting
pago?
La diferencia principal y obvia es el costo. Y en que, aunque es un servicio gratuito,
tiene ciertas limitaciones.
El hosting gratuito te permite alojar un número limitado de sitios web e incluye espacio
en disco y ancho de banda también limitados. Esto se debe a que buscamos garantizar
que todos puedan tener la oportunidad de usar el servicio. El alojamiento gratuito es el
lugar perfecto para aprender. Te permite codificar, experimentar y construir sin
inversión alguna.
Los servicios de alojamiento pagos suelen tener más funciones y características
adicionales y cuentan con menos límites de datos y ancho de banda. En geneal, obtenés
una experiencia más flexible y profesional.
¿Por qué elegimos 000webhost?
Ya que no importa si se es un profesional con experiencia o un principiante, los
servicios que ofrece es una oportunidad de publicar los proyectos web y compartirlos
con el mundo completamente gratis.
000Webhost nos ayuda a construir un sitio web de manera sencilla, rápida y divertida,
nada seguir pasos extremadamente complicados. ha sido líder en servicios de
alojamiento web gratuitos por muchos años, por eso es confiable.

Dashboard de 000webhost

10
Las Funciones Gratuitas que podemos encontrar en 000webhost son:
 3 GB de ancho de banda.
 Constructor de sitios fácil de usar.
 Espacio en disco de 300 MB casi ilimitado.
 Auto instalador de WordPress.
 Sin Anuncios.
 Compatibilidad con bases de datos MySQL y PHP.
 Panel de control de hosting web Cpanel gratist.
 Activación de cuenta al instante, sin cargos.

11
¿Qué herramientas se utilizó?
SE UTILIZO:
PHP: que es un lenguaje de programación destinado a desarrollar aplicaciones para la
web y crear páginas web, favoreciendo la conexión entre los servidores y la interfaz de
usuario.
Es de código abierto, no hay restricciones de uso vinculadas a los derechos. El usuario
puede usar PHP para programar en cualquier proyecto y comercializarlo sin problemas.
Está en constante perfeccionamiento, gracias a una comunidad de desarrolladores
proactiva y comprometida.
AJAX: Ajax (Asynchronous JavaScript and XML) se refiere a un grupo de tecnologías
que se utilizan para desarrollar aplicaciones web. Al combinar estas tecnologías, las
páginas web parece que son más receptivas puesto que los paquetes pequeños de datos
se intercambian con el servidor y las páginas web no se vuelven a cargar cada vez que
un usuario realiza un cambio de entrada. Ajax permite que un usuario de la aplicación
web interactúe con una página web sin la interrupción que implica volver a cargar la
página web. La interacción del sitio web ocurre rápidamente sólo con partes de la
página de recarga y renovación.

12
CSS: Las hojas de estilo en cascada (CSS, cascading style sheets) permiten crear
páginas web atractivas. Se puede usar para estilos de texto muy básicos como, por
ejemplo, cambiar el color y el tamaño de los encabezados y los enlaces. Se puede
utilizar para crear un diseño, como podría ser convertir una columna de texto en una
composición con un área de contenido principal y una barra lateral para información
relacionada. Incluso se puede usar para crear efectos de animación.
HTML: El Lenguaje de Marcado de Hipertexto (HTML) es el código que se utiliza para
estructurar y desplegar una página web y sus contenidos. Por ejemplo, sus contenidos
podrían ser párrafos, una lista con viñetas, o imágenes y tablas de datos.
Funciones importantes en el código
1-Al hacer enviarse el formulario, se recibe por el método POST, y se hace uso de
un explode para dividir la IP y mascara por segmentos OC1, OC2,OC3,OCT4 usando el
"." como separador.

$ip=explode(".",$_POST['newIP']);
$mask=explode(".",$_POST['newMask']);

2-La función calculo red recibe como parámetro la ip y el valor de la máscara (/x)
Mediante un switch se generan los casos para determinar la red basándose en la
máscara.
Adentro de la función se crea una ip nueva que en un principio es toma los valores de la
ip
analizada. Luego de haber pasado los casos la ip temporal se modifica y devuelve una
nueva
que hace referencia a la red.

function calculoRed($ip1,$bit){
$ipTemp=new ip($ip1->getOct1(),$ip1->getOct2(),$ip1->getOct3(),$ip1-
>getOct4());

switch ($bit){

case $bit<=8 && $bit>1:


$ipTemp->setOct2(0);

13
$ipTemp->setOct4(0);
$ipTemp->setOct3(0);
break;
case $bit==1 && $ipTemp->getOct1()>=128:
$ipTemp->setOct1(128);
$ipTemp->setOct2(0);
$ipTemp->setOct4(0);
$ipTemp->setOct3(0);
break;
case $bit==1 && $ipTemp->getOct1()<128:
$ipTemp->setOct1(0);
$ipTemp->setOct2(0);
$ipTemp->setOct4(0);
$ipTemp->setOct3(0);
break;

case $bit>8 && $bit<=16:


$ipTemp->setOct4(0);
$ipTemp->setOct3(0);

break;
case $bit>16 && $bit<=31:
$ipTemp->setOct4(0);
break;

}
return $ipTemp;
}

14
3-Este Código lo que hace es recibir el valor de la máscara y devolverlo en un <select>
para limitar los bits de la máscara de subred, dado que si se escoge /24 la sub mascara
no puede ser menor a ella.

<?php
$inicioListaBits=$_POST['diMask'];

echo "<select id='chooseMaskSubred'>";

for ($i=$inicioListaBits;$i<=32;$i++){
echo "<option>$i</option>>";
}
echo "</select>";

?>
4-Calcula la clase de la IP

public function calcularClase(){


$valor=null;

switch ($this->oct1){
case (($this->oct1>=0 && $this->oct1<=126) && ($this->oct2>=0 &&$this-
>oct2<=255)&&
($this->oct3>=0 &&$this->oct3<=255)&&($this->oct4>=0 &&$this-
>oct4<=255)):
$valor='Clase A';
break;
case (($this->oct1>=128 && $this->oct1<=191) && ($this->oct2>=0 &&$this-
>oct2<=255)&&

15
($this->oct3>=0 &&$this->oct3<=255)&&($this->oct4>=0 &&$this-
>oct4<=255)):
$valor='Clase B';
break;
case (($this->oct1>=192 && $this->oct1<=223) && ($this->oct2>=0 &&$this-
>oct2<=255)&&
($this->oct3>=0 &&$this->oct3<=255)&&($this->oct4>=0 &&$this-
>oct4<=255)):
$valor='Clase C';
break;
case (($this->oct1>=224 && $this->oct1<=239) && ($this->oct2>=0 &&$this-
>oct2<=255)&&
($this->oct3>=0 &&$this->oct3<=255)&&($this->oct4>=0 &&$this-
>oct4<=255)):
$valor='Clase D';
break;
case (($this->oct1>=240 && $this->oct1<=255) && ($this->oct2>=0 &&$this-
>oct2<=255)&&
($this->oct3>=0 &&$this->oct3<=255)&&($this->oct4>=0 &&$this-
>oct4<=255)):
$valor='Clase E';
break;

}
return $valor;

}
5-Esta función calcula si es pública o privada según el estándar
public function calcularClasePoP(){
$valor='Publica';

if( (($this->oct1==10) && ($this->oct2>=0 &&$this->oct2<=255)&&

16
($this->oct3>=0 &&$this->oct3<=255)&&($this->oct4>=0 &&$this-
>oct4<=255)) ||

(($this->oct1==172) && ($this->oct2>=16 &&$this->oct2<=31)&&


($this->oct3>=0 &&$this->oct3<=255)&&($this->oct4>=0 &&$this-
>oct4<=255)) ||

(($this->oct1==192) && ($this->oct2>=168 &&$this->oct2<=255)&&


($this->oct3>=0 &&$this->oct3<=255)&&($this->oct4>=0 &&$this-
>oct4<=255))){
$valor='Privada';
}

return $valor;

6- aquí se calcula la máscara de subred según el número de bits

public function bitsMask($bit){

switch ($bit){
case $bit<8:
$this->octM1=$this->calcularBit($bit);
break;
case $bit>=8:
$this->octM1=255;
break;
}

switch ($bit){
case $bit>8 && $bit<16:
$this->octM2=$this->calcularBit($bit);
17
break;
case $bit>=16:
$this->octM2=255;
break;
case $bit<=8:
$this->octM2=0;
break;
}

switch ($bit){
case $bit>16 && $bit<24:
$this->octM3=$this->calcularBit($bit);
break;
case $bit>=24:
$this->octM3=255;
break;
case $bit<=16:
$this->octM3=0;
break;
}

switch ($bit){
case $bit>24 && $bit<32:
$this->octM4=$this->calcularBit($bit);
break;
case $bit==32:
$this->octM4=255;
break;
case $bit<=24:
$this->octM4=0;

18
break;
}
}

7-Este función se utiliza para calcular el octeto en la máscara de subred, se recibe el


número de bits y si se pasa de 8 saca el residuo de la división entre 8 y luego calcula 2^i
donde i vale 8-bits de residuo
Ejemplo: /10 --> 10/8= 2 residuo ---> 8-2=6 empezando de i=6 hasta que i valga 8
==== 2^6 + 2^7 =192

public function calcularBit($bit){

$bitTrunk=$bit<=8?$bit:$bit%8;
$total = 0;

for ($i =8-$bitTrunk; $i<8; $i++) {


$total =pow(2,$i)+$total;
}
return ($bit==32 || $bit==16 || $bit==24 || $bit==8)?255:$total;
}

8-Calculo de numero de hosts "32-bits" es el número de bits apagados

public function retornarHosts($bits){


$res=0;
switch ($bits){
case $bits<=30:
$res=pow(2,32-$bits)-2;
break;
case $bits==31 || $bits==32:
19
$res=pow(2,32-$bits);
break;
}
return $res;
}
9-Calculo número de subredes bitsRef es el número de bits de la ip como tal, y bits es
el número de bits seleccionado para el subneteo

public function retornarSubredes($bits,$bitsRef){


return pow(2,$bits-$bitsRef);
}

CONCLUSIONES
VLSM es una tecnología crítica en el diseño de redes modernas. AL saber esto debe
tener un conocimiento general de VLSM, incluida su definición, procedimientos de
implementación y la diferencia entre VLSM y FLSM.
Comprender que el VLSM nace como una necesidad que se presentó en su momento,
esto con la finalidad de poder solucionar problemas con respecto a la escasez de
direccionamiento IP.
Finalmente, a pesar de los problemas presentados a lo largo de la realización se logró
resolver cada uno de ellos. De esto modo esperamos que cada uno de los temas
abordados en este informe se logre visualizar y canalizar de manera que sirva de
conocimiento a lo largo de nuestro diario vivir.

20

También podría gustarte