Calculadora IP en Matlab
Ingenieria de Sistemas
Resumen
La calculadora Ip realizada en Matlab permitira a los usuarios poder calcular la mascara de Sub red y tambien la cantidad de equipos con las que cuenta cada sub red, Matlab es una herramienta de software matemático que ofrece un entorno de desarollo intengrado (IDE) con un lenguaje de programación propio (lenguaje M) y servicio de especie. Está disponible para las plataformas Windows, Linux y otros.
Introduccion
Sub Redes
Las subredes son un método para maximizar el espacio de
direcciones IPv4 de 32 bits y reducir el tamaño de las tablas de
enrutamiento en una interred mayor. En cualquier clase de dirección, las
subredes proporcionan un medio de asignar parte del espacio de la
dirección host a las direcciones de red, lo cual permite tener más
redes. La parte del espacio de dirección de host asignada a las nuevas
direcciones de red se conoce como número de subred.
Además de hacer que el espacio de la dirección IPv4 sea mas eficaz,
las subredes presentan varias ventajas administrativas. El enrutamiento
puede complicarse enormemente a medida que aumenta el número de redes.
Por ejemplo, una pequeña organización podría asignar a cada red local un
número de clase C. A medida que la organización va aumentando, puede
complicarse la administración de los diferentes números de red. Es
recomendable asignar pocos números de red de clase B a cada división
principal de una organización. Por ejemplo, podría asignar una red de
clase B al departamento de ingeniería, otra al departamento de
operaciones, etc. A continuación, podría dividir cada red de clase B en
redes adicionales, utilizando los números de red adicionales obtenidos
gracias a las subredes. Esta división también puede reducir la cantidad
de información de enrutamiento que se debe comunicar entre enrutadores.
Matlab
Es un software muy usado en universidades y centros de investigación y desarrollo. En los últimos años ha aumentado el número de prestaciones, como la de programar directamente procesadores digitales de señal o crear código VHDL.
Fue creado por Cleve Moler en 1984, surgiendo la primera versión con la idea de emplear paquetes de subrutinas escritas en Fortran en los cursos de álgebra lineal y análisis numérico, sin necesidad de escribir programas en dicho lenguaje. El lenguaje de programación M fue creado en 1970 para proporcionar un sencillo acceso al software de matrices LINPACK y EISPACK sin tener que usar Fortran.
Durante mucho tiempo hubo críticas porque MATLAB es un producto propietario de The Mathworks, y los usuarios están sujetos y bloqueados al vendedor. Recientemente se ha proporcionado una herramienta adicional llamada MATLAB Builder bajo la sección de herramientas "Application Deployment" para utilizar funciones MATLAB como archivos de biblioteca que pueden ser usados con ambientes de construcción de aplicación .NET o Java. Pero la desventaja es que el computador donde la aplicación tiene que ser utilizada necesita MCR(MATLAB Component Runtime) para que los archivos MATLAB funcionen correctamente. MCR se puede distribuir libremente con los archivos de biblioteca generados por el compilador MATLAB.
Procedimiento
Se realizo en siguiente codigo en Matlab:
clc
close all
clear all
N=menu('Calculadora
IP, Ingeniera de Redes I','Seleccionar Clases','Cancelar');
switch N
case 1
Z=menu('Seleccione su clase','CLASE A','CLASE B','CLASE C');
switch Z
case 1
C=input('Digite el
numero de la clase(de /8 a /32)=');
pr=C-8;
nsr=2^(pr);
neq=(2^(24-pr))-2;
if C>24
M1=255;
M2=255;
M3=255;
M4=(255-2^(24-pr))+1;
mascara=sprintf('%g.%g.%g.%g',M1,M2,M3,M4)
sprintf('el numero de
equipo es %g y el de subred es %g', neq, nsr)
else if C>16
M1=255;
M2=255;
M4=0;
M3=(255-2^(16-pr))+1;
mascara=sprintf('%g.%g.%g.%g',M1,M2,M3,M4)
sprintf('el numero de
equipo es %g y el de subred es %g', neq, nsr)
else
M1=255;
M3=0;
M2=(255-2^(8-pr))+1;
M4=0;
sprintf('el numero de
equipo es %g y el de subred es %g', neq, nsr)
mascara=sprintf('%g.%g.%g.%g',M1,M2,M3,M4)
end
end
final =sprintf('Gracias..')
case 2
C=input('Digite el numero de la clase(de /16 a
/32)=');
pr=C-16;
nsr=2^(pr);
neq=(2^(16-pr))-2;
if C>23
M1=255;
M2=255;
M3=255;
M4=(255-2^(16-pr))+1;
mascara=sprintf('%g.%g.%g.%g',M1,M2,M3,M4)
sprintf('el numero de
equipo es %g y el de subred es %g', neq, nsr)
else
M1=255;
M2=255;
M3=(255-2^(8-pr))+1;
M4=0;
sprintf('el numero de
equipo es %g y el de subred es %g', neq, nsr)
mascara=sprintf('%g.%g.%g.%g',M1,M2,M3,M4)
end
final =sprintf('Gracias..')
case 3
C=input('Digite el
numero de la clase(de /24 a /32)=');
D1 = input('Digite el
primer octeto de la red ');
D2 = input('Digite el
segundo octeto de la red ');
D3 = input('Digite el
tercer octeto de la red ');
pr=C-24;
M1=255;
M2=255;
M3=255;
M4=(255-2^(8-pr))+1;
mascara=sprintf('%g.%g.%g.%g',M1,M2,M3,M4)
nsr=2^(pr);
neq=(2^(8-pr))-2;
sprintf('El numero de
equipos es %g y el de subred es %g',neq,nsr)
Final=sprintf('Gracias..')
e=-1;
for a=1:1:nsr
e0=e+1;
e1=e0+neq;
e=e1+1;
D4=e0;
D5=e;
INICIO=sprintf('El rango va
desde %g.%g.%g.%g',D1,D2,D3,D4)
FINAL=sprintf('El rango va
desde %g.%g.%g.%g',D1,D2,D3,D5)
end
case 2
end
end
Captura del Menu donde te permite seleccionar una opcion:
Captura del menu para seleccionar las clases:
Clase A:
Clase B:
Clase C: donde ademas te permite ver las subredes, su inicio y el final de las direcciones IP
OK
ResponderBorrar