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