Herramientas para la simulación de redes
Dentro del software de simulación de redes, como en la práctica totalidad del software, existen aplicaciones de libre distribución y aplicaciones de carácter privativo.
En primer lugar, se analizará una aplicación de código abierto como OMNeT++y, posteriormente, Cisco Packet Tracer.
Antes de comenzar con la explicación de estas aplicaciones, cabe destacar que existen muchas otras.
OMNeT ++
OMNeT ++ (del inglés Objective Modular Network Tested in C++), es un simulador de eventos discretos, de tipo modular y orientado a objetos.
Esta herramienta, por su formato modular y orientado a eventos es ideal para diseñar y simular cualquier escenario si se tiene en cuenta que cualquier sistema de comunicaciones hoy en día, por su complejidad, sería demasiado costoso para efectuar unas pruebas con el hardware físico.
Por eso OMNeT++ se perfila como una herramienta ideal para el estudio de escenarios reales, evitando errores de diseño que podrían desviar el coste económico y llevar el proyecto al fracaso. Igualmente, servirá para establecer varias soluciones, simularlas y evaluar la más conveniente para el proyecto.
OMNeT++ se distribuye bajo la Licencia Pública Académica, basándose en el lenguaje de programación C++.
Curiosidad! Existe una versión comercial, denominada OMNEST, está desarrollada por Simulcraft Inc. http://www.omnest.com/company.php.
Esta herramienta tiene la capacidad de generar los protocolos de comunicación de cualquier diseño, simular cualquier entorno de dispositivos en red y el tráfico generado, así como cualquier herramienta que facilite la administración de la red a los administradores. Puede afirmarse que es capaz de simular cualquier diseño basado en eventos.
El modelo que se genera con la herramienta está basado en anidamientos de sus distintos módulos, los cuales tienen un nivel de anidamiento prácticamente ilimitado, permitiendo al usuario llegar al máximo detalle de su escenario.
Es precisamente la modularidad de OMNeT++ y su comunicación entre estos, lo que proporciona a la herramienta una potencia que no es habitual en este tipo de simuladores, permitiendo la comunicación de los módulos mediante mensajes, capaces de contener estructuras complejas.
Los mensajes utilizados sirven para:
- Ajustar comportamientos del sistema
- Diseñar topologías de red flexibles.
- Modelar comunicaciones.
Los módulos simples, se ejecutan en paralelo durante la simulación.
Puede apreciarse una estructura en la siguiente figura:
Estructura modular en 0MNeT++
Tras proceder a la simulación, existe la posibilidad de conseguir estadísticas, como funciones de probabilidad, gráficas de rendimiento, etc.
OMNeT++ dispone de Plove, una herramienta para la representación gráfica, se puede apreciar en las siguientes imágenes que se estudiarán más adelante.
Una de sus principales virtudes es poder ejecutarse con independencia de la plataforma, eso quiere decir que puede correr bajo cualquier sistema operativo.
Al efectuar la simulación de cualquier red Telemática se pueden valorar algunos comportamientos, como cuellos de botella, excesiva carga por tráfico intenso, evaluación de puntos concretos con problemas de rendimiento, etc.
Todo esto permite el estudio y valoración de cualquier Protocolo de red, modificando estos últimos y estudiando su influencia en el sistema.
Nota! 0MNeT++ dispone de una herramienta sencilla denominada cStdDev para la recogida estadística de un muestreo.
Ejemplo:
class Servidor : pulic
cSimpleModule
{
//…
private :
cStdDev ratio_respuesta;
};
Características de los enlaces
Los distintos medios de transmisión pueden modelarse con tres parámetros muy útiles que son:
- Retardo de propagación: es el tiempo que tarda en llegar el mensaje al destino en relación a lo que debería tardar en función del canal atrave¬sado.
- Ber (bit error rate): el ber tiene dominio en la transmisión de mensajes a través del canal. Es la probabilidad de que un bit sea entregado incorrectamente. P(n)= (1 – ber)n, donde P(n) mide la probabilidad de que un mensaje sea transmitido correctamente y n es el número de bits que contiene el mensaje.
El paquete tiene un flag que activa cuando se transmite el mensaje con errores.
- Data rate: es utilizado para el cálculo del retardo de transmisión.
Utilización de OMNeT++
Todos los parámetros son opcionales, pudiendo especificarse de forma individual o bien definir un modelo de conexión y reutilizarlo cada vez que sea necesario.
El modelado con OMNeT++ se compone de las siguientes partes:
- Archivos .NED, el lenguaje NED es el que proporciona la topología, describiendo la estructura modular y sus parámetros, así como sus conexiones.
- Código fuente de los módulos simples. Los archivos son los del lenguaje C++ utilizados con sus respectivas extensiones (.h/.cc).
El sistema de simulación presenta los siguientes componentes:
- Kernel es el núcleo que almacena el código para dirigir la simulació
- Interface de usuario, se utiliza para ejecutar la simulación, facilitando la interacción usuario/má
Las aplicaciones construidas se componen de:
- El archivo compilado con extensión .NED es generado dentro del código fuente C++, mediante su compilador especifico NEDC compiler.
- Todas las fuentes compiladas son empaquetadas junto con la simulación del kernel, así como la interfaz de usuario, generando una simulación ejecutable.
Framework INET
El Framework INET es un paquete de extensión para OMNeT++ que permite la simulación de redes de telecomunicación, es también de código abierto. Este framework contiene modelos de simulación para distintos tipos de protocolos, como UDP, TCP, SCTP, IP, Ethernet, PPP, IEEE 802.1, MPLS, OSPF, etc. Es posible implementar cualquier pila de protocolos usando tanto IPv4 como IPv6.
La definición de los escenarios se realiza con el mismo lenguaje NED que usa el simulador, pudiendo crear tantos niveles de jerarquía como se desee, obteniendo escenarios de alta complejidad.
0MNeT++ puede mostrar de forma gráfica en formato de traza de barras comportamientos como por ejemplo, el ancho de banda (BW, Band Width); esta herramienta se denomina “Histogram”.
A continuación, un ejemplo de parámetros para una fibra óptica monomodo, en primer lugar se ofrece la representación genérica de la fibra óptica y posteriormente, se configurarán sus parámetros, es decir, primero se arrastra el correspondiente icono de fibra óptica al espacio de diseño para posteriormente poder configurarlo.
Icono OMNeT++ fibra óptica monomodo
[] Fibra Monomodo (channel)
Se arrastra el correspondiente icono de fibra óptica al espacio de diseño.
Seguidamente, se configurará con el entorno gráfico con el botón derecho, como se aprecia en la siguiente figura:
OMNet configuración fibra óptica entorno gráfico
Tras la configuración, en el fichero “.NED”, se obtiene la siguiente codificación:
Se empezará definiendo un módulo sencillo con un pequeño departamento y su correspondiente switch de acceso, tal y como se aprecia en la siguiente captura:
Otro módulo con departamento de tipo mediano es el que se aprecia a continuación:
Y, por último, un departamento grande como el que se aprecia a continuación:
Una vez definidas las necesidades con los distintos módulos, solo habrá que enlazarlos donde interese, creando un escenario bastante complejo como el siguiente:
Una vez dibujado el escenario final, se pasará a la simulación del diseño, como se aprecia en la siguiente captura:
Conforme se ha ido avanzado en la descripción de la herramienta, el estudiante se habrá dado cuenta de la potencia y versatilidad de la herramienta, pudiendo simular cualquier tipo de entorno, garantizando que el escenario final planteado funcionará si la simulación ha sido satisfactoria.
Ahora se analizará una aplicación privativa, pero disponible de forma gratuita como Cisco Packet Tracer.
Cisco Packet Tracer
Este software se encuadra en los de tipo emulador, es privativo, siendo su titular, Cisco System Inc. Fue diseñado con el objetivo de simulación de redes basada en los equipos de la compañía, englobados en los cursos de capacitación CCNA de Cisco System.
Para su utilización se requiere la aceptación de la licencia y la correspon¬diente autorización del propietario, que suelen ser las entidades académicas autorizadas para la impartición de los cursos. Pero, además, permite la simulación con equipos genéricos, lo cual la configura como una herramienta versátil y práctica.
En este aplicativo se puede crear la topología física de la red; arrastrando los dispositivos al área de diseño y pulsando sobre el mismo, se pueden configurar sus consolas. Una vez finalizada la configuración lógica y física de la red, se podrán efectuar simulaciones como pings, tracert, etc.
Este software es mucho más fácil de manejar que OMNeT, ofreciendo unos resultados muy realistas.
Curiosidad! Packet traceres una herramienta fundamental, si el alumno está cursando el CCNA (Cisco Certified Network Associate) del fabricante Cisco.
En la siguiente captura se aprecia su interfaz:
Interfaz de usuario de Cisco Packet Tracer
Se puede desarrollar la topología lógica y proceder a su simulación, como en la siguiente captura:
Al entrar en la configuración del dispositivo, en la pestaña Físico, existe la opción de proceder a la configuración física del dispositivo; en la siguiente captura, configuración física de un Router genérico:
Esta herramienta es muy práctica, una de las mejores, teniendo un manejo bastante sencillo, capaz de simular prácticamente cualquier escenario de red.
Por ser Packet Tracer uno de los aplicativos más utilizados, a continuación se ofrece un ejemplo del mismo:
Suponiendo que como miembro de un proyecto, el jefe del mismo le encarga el diseño de una parte de la red del edificio que se compone de tres departamentos con las siguientes premisas:
- La red está compuesta por tres redes VLAN.
- Las tres redes van al mismo switch de 24 puertos.
- La topología de red es una estrella.
- Estas tienen que ser capaces de enroutarse.
Para asegurar la correcta configuración de su diseño lo simula con el aplicativo que la empresa suele utilizar, en este caso Packet Tracer.
En este caso los pasos a seguir son:
A las redes se les darán las siguientes direcciones de red y nombres bastante habituales como:
- 20.1.0/24
-VLAN ID 2
-Nombre: Administración
- 20.2.0/24
-VLAN ID 3
-Nombre: Publicidad
- 20.3.0/24
-VLAN ID 4
-Nombre: Ventas
Como indican en el enunciado que el switch es de 24 puertos, habrá que hacer dos redes de 8 puertos y una red de 7, ya que el último puerto es para conectar el Router.
Se crearán las VLAN con los siguientes comandos (para llegar hasta aquí, botón derecho sobre el switch, Propiedades y pestaña CLI).
vlan 2
name Aministracion exit
vlan 3
name Publicidad exit
vlan 4
name Ventas exit
Ahora hay que asignar cada puerto a su correspondiente VLAN, utilizando los siguientes comandos.
interface fastEthernet 0/1
switchport acces vlan 2
exit
interface fastEthernet 0/2
switchport acces vlan 2
exit
Se repite por los n puertos
snterface fastEthernet 0/8
switchport acces vlan 2
exit
interface fastEthernet 0/9
switchport acces vlan 3
exit
interface fastEthernet 0/10
switchport acces vlan 3
exit
Se repite por los n puertos
snterface fastEthernet 0/16
switchport acces vlan 23
exit
interface fastEthernet 0/17
switchport acces vlan 4
exit
interface fastEthernet 0/18
switchport acces vlan 4
exit
Se repite por los n puertos
interface fastEthernet 0/23
switchport acces vlan 4
exit
¡Ahora el puerto 24 en modo trunk! (Protocolo propietario de Cisco System para operar entre switches Cisco, para automatizar la configuración).
interface fastEthernet 0/24
switchport mode trunk
exit
Configurando el Router
interface fastEthernet 0/0.1
encapsulation dot1Q 2
IP address 172.20.1.1 255.255.255.0
exit
interface fastEthernet 0/0.2
encapsulation dot1Q 3
IP address 172.20.2.1 255.255.255.0
exit
interface fastEthernet 0/0.3
encapsulation dot1Q 4
IP address 172.20.3.1 255.255.255.0
exit
El escenario podría ser el siguiente:
GNS3
Este software, cada vez más empleado en el diseño de redes, no es exactamente un simulador, sino más bien un virtualizador, es decir, que recrea una red real.
Está específicamente desarrollado para los Router de Cisco, pero a diferencia de Packet Tracer, requiere la elección del sistema operativo del Router (IOS).
Para ello es necesario obtener el IOS del Router descargándolo de la web de Cisco y asignarlo al Router elegido.
Una de las prestaciones más interesante de este software reside en la posibilidad de conectar recursos virtuales a recursos reales.
En el paquete all-in-one, al instalar GNS3, se incluye el software Virtual PC Simulator; con este paquete podrá simularse el escenario.
Nota! Existe un manual muy completo de GNS3 en castellano en la siguiente dirección: gns3-0-4-1_documentation_spanish
Ejemplo práctico
A continuación, se mostrará un ejemplo práctico con la aplicación de libre distribución denominada GNS3. En este ejemplo se emplearán varios routers y se configurarán con un enrutamiento estático, a diferencia de los dispositivos que utilizan protocolos de enrutamiento dinámico como RIP, OSPF, etc.
Lo primero será conocer la interfaz del GNS3 como se aprecia en la siguiente captura:
Como en la mayoría de los entornos de este tipo, solo habrá que arrastrar los dispositivos hacia la zona de diseño, que en este caso será de tres routers, tres switches Ethernet, y tres PC, asignándoles las IP como en el siguiente escenario.
Para la simulación se utilizará el siguiente escenario:
La configuración de cada Router habrá que efectuarla desde la configura¬ción global del mismo, tecleando la siguiente sentencia:
IP route <suberd de destine> <mascara de subred> <IP del salto>
La intención de nuestro escenario es que todos los routers tengan su tabla de enrutamiento y que cualquier equipo de la subred pueda alcanzar cualquier otra, por lo tanto, con las siguientes sentencias en cada uno de los routers, y desde la siguiente opción según la siguiente captura:
Router R1
IP route 192.168.1.0 255.255.255.0 10.0.0.2 (encaminamiento hacia la subred del Router R2).
IP route 192.168.2.0 255.255.255.0 10.0.0.2 (encaminamiento hacia la subred del Router R3).
Router R2
IP route 192.168.0.0 255.255.255.0 10.0.0.1 (encaminamiento hacia la subred del Router R1).
IP route 192.168.2.0 255.255.255.0 20.0.0.2 (encaminamiento hacia la subred del Router R3).
Router R3
IP route 192.168.1.0 255.255.255.0 20.0.0.1 (encaminamiento hacia la subred del Router R2).
IP route 192.168.0.0 255.255.255.0 20.0.0.1 (encaminamiento hacia la subred del Router R1).
Para comprobar las rutas, se ejecutará el siguiente comando desde el modo privilegiado (#):
show IP route
Otras aplicaciones
Además de las aplicaciones que ya se han estudiado, a continuación se in¬dican las aplicaciones tanto libres como privadas que pueden emplearse para la simulación de redes.
Aplicaciones libres
ENS 3: http://www.gns3.net/
CNET Network Simulator: http://www.csse.uwa.edu.au/cnet/
J-Sim: https://sites.google.com/site/jsimofficial/downloads
SSFNet: http://www.ssfnet.org/homePage.html
NS-2: http://www.isi.edu/nsnam/ns/
OMNeT++: http://www.omnetpp.org/
VisualSense: http://ptolemy.eecs.berkeley.edu/visualsense/
Simured: http://simured.uv.es/
FLAN (F*links And Nodes): http://linux.softpedia.com/get/Education/FLAN-Network-Simulator-19392.shtml
Jimsim: www.jimboney.com
Shunra VE Desktop: http://www.shunra.com/
Maryland Routing Simulator: http://www.cs.bu.edu/fac/matta/Research/MaRS/MaRS-README
http://www.cs.bu.edu/fac/matta/Research/MaRS/MaRS-2-l.tar.gz
KivaNS (Kiva Network Simulator): http://disclab.ua.es/kiva/
Aplicaciones privadas
AdventNet: http://www.adventnet.com
MIMIC Simulator: http://www.gambitcomm.com/site/gambit4.shtml
Qual-Net: http://web.scalable-networks.com/content/qualnet
NCTUns (Network Simulator and Emulator): http://www.estinet.com/
IP Network: http://www.gl.com/ipnetsim ,html?gclid=C IfSt PX4 hrsCFd H ItAodI0A6A