Descripción del software IMUNES para su utilización en el

Anuncio
Descripción del sotfware IMUNES
1
Descripción del software IMUNES para su
utilización en el Laboratorio de Redes y
Sistemas Operativos.
Gabriel Astudillo Muñoz
Departamento de Electrónica, Universidad Técnica Federico Santa María
[email protected]
Resumen—Este documento describe el funcionamiento del software IMUNES para su utilización en el laboratorio de Redes y
Sistemas Operativos del Departamento de Electrónica, UTFSM.
I. INTRODUCCIÓN
I
MUNES [1] (Integrated Multiprotocol Network Emulator/Simulator) es una herramienta diseñada para proveer una
emulación/simulación de redes IP. Está basado en modificaciones al kernel de la serie 4.x de FreeBSD [2]. Estas
modificaciones permiten multiples stack de red [3]en un sólo kernel, permitiendo que cada uno de ellos pueda actuar como un
nodo virtual independiente y cada uno de estos nodos u objetos se pueden conectar a otros a través de elaces simulados o hacia
nodos reales localizados en la red IP del mundo exterior.
II. DESCRIPCIÓN GENERAL DE USO
IMUNES se distribuye con una interfaz gráfica basada en Tcl/Tk [4], que opera en dos modos: Modo Edición (Edit Mode) o
Modo Ejecución (Exec Mode), los que se pueden elegir del menú “Experiment”. La figura 1 muestra la interfaz de usuario que
se presenta una vez que el programa imunes es ejecutado.
Fig. 1. Interfaz de Usuario.
Descripción del sotfware IMUNES
2
A. Modo Edición.
Para entrar en este modo basta con ejecutar por primera vez el programa o detener la emulación a través del menú
“ExperimentÆTerminate”. Para crear la red deseada, se deben utilizar los símbolos que se localizan al lado izquierdo de la
ventana. En la tabla 1 se detallan los nombres y su respectiva descripción de cada uno de ellos.
TABLA I
OBJETOS DISPONIBLES EN IMUNES.
Símbolo
Descripcióna
Nombre
Enlace
Permite la conexión entre los distintos nodos
de la red.
Nodo que realiza funciones de ruteo y ejecuta
algún demonio de enrutamiento. Permite una
cantidad no limitada de nodos conectados a él.
No tiene IP y permite una cantidad no limitada
de nodos conectados. No se puede conectar a
otro switch.
Es una réplica del PC real, sin procesos
activos, totalmente independiente de éste, tanto
desde el punto de vista de la red como de
procesos.
Similar a pc, pero tiene asociado algunos
servicios de red: portmap, inetd y netserver.
Router
Switch
pc
host
Interfaz Física
Representa uan interfaz de red física. Permite
la comunicación de la red simulada con el
muno real.
Todos los parámetros también son configurables en modo Ejecución.
Modo Ejecución.
La emulación/simulación se inicia ejecutando “ExperimentÆExecute”. Cada objeto posee una nueva característica en este
modo, la que se accede a través de un click del botón derecho.
TABLA II
CARACTERÍTICAS ADICIONALES EN MODO EJECUCIÓN
Símbolo
Característica adicional a
Descripción
Enlace
Router
Switch
Host
Lanza el sniffer Ethereal [5], el que permite
monitorear el tráfico en el enlace respectivo.
Dependiendo del modelo, ejecuta un shell
propietario de Quagga [6] (Modelo Quagga), o
bien ejecuta un shell normal (Modelo Static)
-
Servidor
Ejecuta un shell , el que reprensenta un pc
virtual independiente del pc físico y de los
demás Host o Servidores que existan en la red
emulada. Este pc puede ser entendida como
una réplica exacta del pc real.
Similar a Host
RJ-45
-
Descripción del sotfware IMUNES
3
III. EJEMPLO DE TOPOLOGÍA
Con los objetos que provee la interfaz gráfica, se pueden crear diversos tipos de redes, con distintos parámetros. Un ejemplo
se muestra en la figura 2. Las IP, la identificación de las tarjetas de red y los nombres lógicos de cada dispositivo de red están a
la vista, así como los parámetros de los enlaces. En la esquina inferior derecha el programa da información acerca del modo en el
que se encuentra.
Fig. 2. Ejemplo de Topoligía.
En base a este ejemplo, se continuará con la descripción de cada elemento, mencionando sus características tanto en modo de
edición como en modo de ejecución.
IV. DESCRIPCIÓN Y UTILIZACIÓN DE LOS OBJETOS DE IMUNES
Una vez que se haya construído la topología de la red, es posible configurar los parámetros por omisión que tienen los objetos
de IMUNES. Esta tarea se realiza a travéz de una ventana de diálogo, la que está disponible con un doble click sobre el objeto
respectivo. Tal como se mencionó en la sección anterior, la mayoría de los nodos tiene una característica adicional en modo
Ejecución, la que pude ser accedida a través de un click del botón derecho del ratón.
A. Host o Servidor
1) Modo Edición
Tal como se muestra en la figura 3, en un Host o Servidor se puede configurar el nombre del nodo, cada una de las interfaces
virtuales que posea y su tabla de ruta.
Fig. 3. Configuración de un Host o Servidor..
Descripción del sotfware IMUNES
4
2) Modo Ejecución
Una vez que se clickea con el botón derecho sobre el Host, aparece un shell para dicho elemento. Todos los comandos de red
que se ejecuten en dicho entorno, pertenecen sólo a ése pc virtual. Se pueden utilizar todos los comandos del sistema operativo
para configurar las tarjetas de red, las tablas de rutas del kernel, iniciar servicios de red (correo, ssh, web), entre otras cosas.
Fig. 4. Shell para un Host en Modo Ejecución.
B. Enlace
1) Modo Edición
Diferentes tipos de enlace pueden ser simulados cambiando sus parámetros (figura 5)
Fig. 5. Parámetros de un enlace.
Bandwidth:
Cambiando este parámetro se pueden simular distintas velocidades de enlace, entre 100[bps] y 109[bps].
Delay:
Simula el retardo de propagación, que depende de la longitud del enlace y su ancho de banda. Los valores permitidos
oscilan entre 0[us] y 107[us].
BER
Representa la probabilidad de un error en un bit. La probabilidad es igual a 1/N, donde N es un entero menor o igual que
1012. Si BER es igual a 0, se asume que el enlace no tiene errores.
Duplicate.
Representa la probabilidad de que existan paquetes duplicados en el enlace. Valores permitidos son 0% a 50%
Descripción del sotfware IMUNES
5
2) Modo Ejecución
Cuando se clickea el enlace conel botón derecho, se lanza el programa Ethereal, el que permite capturar los datos que
Fig. 6. Ethereal monitoreando un enlace
Descripción del sotfware IMUNES
6
C. Switch
1) Modo Edición
En la figura 5 se observa la ventana de configuración de un switch. Por cada interfaz de red, es posible cambiar su política de
encolamiento (FIFO,DRR,WFQ), de eliminado (drop-tail, drop-head) y el tamaño del buffer de almacenamiento.
Fig. 5 Configuración de un Switch
2) Modo Ejecución
Para el caso del Switch, no tiene disponible una consola de administración en este modo.
D. Router
1) Modo Edición
Similar a la configuración en modo edición de un host, a un router se puede modificar las políticas de encolamiento, el estado
de sus tarjetas de red, MTU, etc.
Fig. 6 Configuración de un Switch
Para el caso de este elemento, se dispone de dos modelos: Quagga y Static. El primero implementa el router Quagga [6], el
que desde el punto de vista del usuario, tiene comandos de administración similares a los que dispone el sistema IOS [7] en un
router Cisco, además que utiliza protocolos de enrutamiento como RIPv2, OSPF y BGP. El modelo Static implementa un router
basado en IPFW [8] y Routed, que es el sistema de filtraje y enrutamiento nativo en FreeBSD.
Descripción del sotfware IMUNES
7
2) Modo Ejecución.
En este modo se dipone de un shell similar al que se encuentra en IOS. Los modos de operación son parecidos, tal como se
puede apreciar en la figura 6.
Fig. 7 Shell Quagga en un router
Descripción del sotfware IMUNES
8
V. HERRAMIENTAS DE CONFIGURACIÓN Y DIAGNÓSTICO PARA EL LABORATORIO
En el laboratorio, se utilizará una instalación de FreeBSD ajustada a las necesidades propias del ramo. El kernel tiene todos
los parches necesarios para trabajar con IMUNES, y el sistema operativo dispone de herramientas Unix para la configuración y
diagnóstico de los dispositivos de red. Cabe destacar que cada comando unix del computador real es utilizable desde un nodo
virtual de IMUNES.
Adicionalmente a los comandos UNIX para la configuración de los dispositivos de red y diagnóstivo de conectividad
(ifconfig, netstat, route, ping, telnet, traceroute, entre otros), se han instalado ciertas herramientas que, a pesar que no son
instaladas en un sistema por omisión, facilitan las tareas que se realizan en el laboratorio.
TABLA III
HERRAMIENTAS NO ESTÁNDAR INSTALADAS
Comando
tcpdump
iperf
tcptrace
ethereal
lynx
tcpillust
Descripción
Sniffer en cosola
Modidor de tráfico TCP/UDP
Herramienta de análisis de conexiones TCP
Sniffer gráfico
Navegador Web en consola
Analizador gráfico de conexiones TCP
REFERENCIAS
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
IMUNES; http://www.tel.fer.hr/imunes
FreeBSD, http://www.freebsd.org
Marko Zec; “Implementing a Clonable Network Stack in the FreeBSD Kernel” . USENIX Annual Technical Conference, San Antonio, Texas, June 2003.
Disponible en: http://tel.fer.hr/zec/papers/zec-03.pdf
TCL/TK, http://tcl.sourceforge.net
Ethereal, http://www.ethereal.com
Quagga Routing Software Suite, http://www.quagga.net
IOS, http://www.cisco.com
IPFW, http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/firewalls.html
Descargar