Simulación de Redes con GNS3
77
0
0
Texto completo
(2) Universidad Central “Marta Abreu” de Las Villas Facultad de Ingeniería Eléctrica Departamento de Electrónica y Telecomunicaciones. TRABAJO DE DIPLOMA Simulación de Redes con GNS3. Autor: Roger Wilmer Cabrera Casanova [email protected]. Tutor: Ing. Erisbel Orozco Crespo Profesor del Dptto. de Electrónica y Telecomunicaciones [email protected]. Santa Clara 2012 Año 54 de la Revolución.
(3) Hago constar que el presente trabajo de diploma fue realizado en la Universidad Central “Marta Abreu” de Las Villas como parte de la culminación de estudios de la especialidad de Ingeniería en Telecomunicaciones y Electrónica, autorizando a que el mismo sea utilizado por la Institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos, ni publicados sin autorización de la Universidad.. Firma del Autor Los abajo firmantes certificamos que el presente trabajo ha sido realizado según acuerdo de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.. Firma del Tutor. Firma del Jefe de Departamento donde se defiende el trabajo. Firma del Responsable de Información Científico-Técnica.
(4) PENSAMIENTO. El futuro tiene muchos nombres. Para los débiles es lo inalcanzable. Para los temerosos, lo desconocido. Para los valientes es la oportunidad. Víctor Hugo.
(5) AGRADECIMIENTOS. A mi madre y padre por ser mis tesoros más preciados y guiarme sabiamente por la vida. A mis hermanos que son uno de los motivos de mi esfuerzo para servirles de ejemplo. A mis abuelas por brindarme tanto cariño y apoyo en la realización de mis sueños. A mi familia por apoyarme y aconsejarme en cada paso de mi vida. A mi tutor por la gran ayuda brindada. A todos lo que de una forma u otra ayudaron a la realización de este sueño. GRACIAS.
(6) DEDICATORIA. A mi madre por estar siempre a mi lado y luchar conmigo cada batalla de la vida. A mi padre por ser el que nunca se rinde y depositar toda su confianza en mí. A toda mi familia por dejarme formar parte de tan bonita compañía. GRACIAS.
(7) i. TAREA TÉCNICA. 1. Buscar información sobre la utilización de GNS3 en trabajos serios sobre redes. 2. Realizar un entrenamiento en el simulador para poder explotarlo lo mejor posible. 3. Seleccionar de los trabajos de mayor interés en la bibliografía los idóneos y recrear sus escenarios. 4. Simular y analizar los resultados obtenidos, comparando estos con los de los autores originales.. Firma del Autor. Firma del Tutor.
(8) ii. RESUMEN. En este trabajo se presenta un estudio basado en la herramienta GNS3 orientado a la simulación de redes. La herramienta aparece como un buen candidato a emplear en simulaciones que implique dispositivos reales emulados, es decir, utiliza en sus modelos de red imágenes de dispositivos reales. Esto genera el interés de poder contar con una red en miniatura al costo del consumo de recursos computacionales. Se comprobó pues que los resultados distaban de los de la realidad como era de esperar, pero se corresponden en cuanto al comportamiento. En la medida de que la topología de red es mayor, el desempeño del simulador es más pobre y por tanto afecta más los valores obtenidos. No obstante es posible recrear escenarios de red con modelos muy fieles de dispositivos bien utilizados como los de CISCO y máquinas virtuales con diversos sistemas operativos. El número de aplicaciones que esto puede tener es bien grande y resulta de gran interés para el estudio por parte de especialista y estudiantes..
(9) iii. TABLA DE CONTENIDOS TAREA TÉCNICA ..................................................................................................................i RESUMEN ............................................................................................................................ ii INTRODUCCIÓN .................................................................................................................. 1 CAPÍTULO 1. 1.1. INTRODUCCIÓN A LA SIMULACIÓN DE REDES ............................ 4. Fundamentos de la simulación de redes ................................................................... 4. 1.1.1. Clasificación de las herramientas software para el modelado y la simulación. de redes de comunicaciones ............................................................................................ 5 1.1.2. Paradigmas de simulación ................................................................................ 7. 1.2. Ejemplo de metodología para la realización de simulaciones ................................. 7. 1.3. Ventajas y desventajas del uso de la simulación ...................................................... 9. 1.4. Los simuladores de red del momento..................................................................... 11. 1.4.1. OPNET Modeler ............................................................................................. 12. 1.4.2. COMNET III................................................................................................... 12. 1.4.3. OMNET++ ...................................................................................................... 13. 1.4.4. NCTUNS ........................................................................................................ 14. 1.4.5. PACKET TRACER ........................................................................................ 14. 1.4.6. Network Simulator .......................................................................................... 15. 1.5. GNS3 ...................................................................................................................... 16. CAPÍTULO 2.. GRAPHICAL NETWORK SIMULATOR ............................................. 18. 2.1. Características Principales del GNS3..................................................................... 18. 2.2. Arquitectura del emulador Dynamips .................................................................... 19. 2.2.1. IDLE-PC ......................................................................................................... 20. 2.2.2. Herramientas para la optimización del uso de la memoria ............................. 21.
(10) iv 2.2.3. Dynagen .......................................................................................................... 22. 2.2.4. Requerimientos para Windows XP ................................................................. 22. 2.2.5. Requerimientos para Ubuntu 9.4 .................................................................... 25. 2.2.6. Observaciones sobre el uso en Windows y Linux .......................................... 27. 2.3. Instalación de GNS3 .............................................................................................. 27. 2.3.1. En Windows XP.............................................................................................. 27. 2.3.2. En Linux Ubuntu 10.04 .................................................................................. 30. 2.4. Uso de GNS3.......................................................................................................... 31. 2.4.1. Emulación de routers CISCO ......................................................................... 31. 2.4.2. Emulación de Switches Ethernet .................................................................... 33. 2.4.3. Emulación de Dispositivos ATM y Frame Relay ........................................... 35. 2.4.4. Simulación de PCs .......................................................................................... 35. 2.4.5. Emulación de Firewall PIX............................................................................. 36. 2.4.6. Creación de Enlaces ........................................................................................ 36. 2.4.7. Creación de enlaces a equipos reales .............................................................. 37. CAPÍTULO 3.. EVALUACIÓN. DE. LA. HERRAMIENTA. EN. DIFERENTES. ESCENARIOS. ................................................................................................................. 39. 3.1. Preparación ............................................................................................................. 39. 3.2. Latencia .................................................................................................................. 40. 3.2.1. Escenario de Prueba ........................................................................................ 41. 3.2.2. Medición y tratamiento de datos ..................................................................... 42. 3.2.3. Resultados parciales ........................................................................................ 43. 3.3. Throughput (Caudal eficaz) ................................................................................... 44. 3.3.1. Escenario de prueba ........................................................................................ 45. 3.3.2. Medición y tratamiento de datos ..................................................................... 46.
(11) v 3.3.3. Resultados parciales ........................................................................................ 48. 3.3.4. Conclusiones y observaciones parciales ......................................................... 49. 3.4. Jitter ........................................................................................................................ 49. 3.4.1. Escenario de prueba ........................................................................................ 50. 3.4.2. Medición y tratamiento de datos ..................................................................... 50. 3.4.3. Resultados parciales ........................................................................................ 52. 3.4.4. Conclusiones y observaciones parciales ......................................................... 53. 3.5. Pruebas con más de un router................................................................................. 53. 3.5.1. Escenario de prueba ........................................................................................ 54. 3.5.2. Medición y tratamiento de datos ..................................................................... 55. 3.6. Resultados de las simulaciones con más de un router............................................ 59. 3.7. Conclusiones del capítulo ...................................................................................... 60. CONCLUSIONES ................................................................................................................ 62 RECOMENDACIONES ....................................................................................................... 63 REFERENCIAS BIBLIOGRÁFICAS ................................................................................. 64 ANEXOS .............................................................................................................................. 66 Anexo 1 Lista de adaptadores correspondientes a cada tipo de plataforma ..................... 66.
(12) INTRODUCCIÓN. 1. INTRODUCCIÓN. El modelado y la simulación de redes de comunicaciones, es un área de gran incidencia sobre el desarrollo de las telecomunicaciones. Constituye una herramienta importante en proyectos de investigación que buscan el desarrollo de nuevos modelos de comunicación sobre redes. El análisis del desempeño de las nuevas arquitecturas de red es el principal aporte de las herramientas computacionales de simulación, en la evolución de los sistemas actuales de comunicación, ya que permitirán evaluar nuevas tecnologías y aplicaciones temáticas más complejas. Actualmente existen una gran cantidad de programas que se han desarrollado y otros tantos que han evolucionado con el tiempo, para convertirse en herramientas con grandes capacidades para el estudio de las redes, convirtiendo al software de simulación en un elemento activo para el aprendizaje de los fundamentos de las comunicaciones. El acelerado desarrollo de las técnicas de procesamiento y de las tecnologías para la transmisión de la información; provoca que las redes de comunicaciones entren en una era de continuas transformaciones. Esto les permite ajustarse al incansable avance de la tecnología. El desarrollo permanente de las comunicaciones, así como la aparición de servicios de red novedosos y cada vez más complejos, lleva a los proveedores de tecnologías, a las empresas de telecomunicaciones a las universidades y a los grupos de investigación, a desarrollar principalmente tres técnicas para evaluar el desempeño de las diferentes tecnologías de red: el análisis, la simulación y la experimentación. Sin embargo a partir de la complejidad de las nuevas topologías, los protocolos y el tráfico de las redes, es generalmente imposible construir un modelo analítico que pueda cubrir todos los aspectos técnicos. Por lo tanto, la mayoría de las técnicas analíticas son utilizadas solamente para la evaluación del desempeño de una red en funcionamiento. Por otro lado, generalmente resulta costoso construir una red experimental para evaluar su desempeño. Por estas razones, los programas computacionales que permiten simular diferentes tecnologías de comunicaciones, son ampliamente utilizados; ya que facilitan el análisis de las redes y.
(13) INTRODUCCIÓN. 2. representan además, una reducción en los costos, en el tiempo del diseño y planeación de los nuevos sistemas de comunicaciones. Por lo tanto, surge un área dentro de las telecomunicaciones, dedicada al desarrollo de herramientas computacionales para la simulación de redes. Herramientas como el Opnet Modeler y el Network Simulator se emplean en trabajos de investigación de alto calibre. Por el contrario otras como el Packet Tracer se utilizan para la enseñanza de determinados temas. El GNS3 es otra herramienta con un principio de funcionamiento interesante, basado sobre todo en técnicas de virtualización como, por ejemplo emulación de hardware. Esta trae consigo posibilidades que sugieren su utilización tanto en la enseñanza como en la investigación, siendo necesario conocer entonces ¿en qué medida este software puede ser utilizado en el estudio de los parámetros de desempeño de una red? Para darle respuesta a esta interrogante se dirigió el estudio realizado hacia las siguientes preguntas: ¿Qué magnitud puede tener la red simulada en GNS3? ¿Cuál es el costo computacional? ¿Son los resultados útiles para su utilización en análisis comparativos con entornos reales? ¿Puede la forma de virtualización de GNS3, permitir una conexión entre la red virtual y la red real? A partir de estas consideraciones se realiza el presente trabajo con el siguiente objetivo general: simular y analizar escenarios de redes con el GNS3 para comprobar su funcionalidad en temas de interés como la determinación del throughput, latencia y jitter. Como objetivos específicos se tienen: • Construir una referencia sobre la utilización del GNS3 en su versión 0.8 que de una idea del grado de utilidad del software. • Estudiar las posibilidades que ofrece el entorno GNS3 para la simulación de redes con dispositivos de red emulados, así como para el análisis del tráfico. • Estimar los requerimientos de procesamiento necesarios para un buen funcionamiento del simulador. • Determinar en qué medida se afectan los resultados de la simulación en función de los recursos computacionales o del hardware presente..
(14) INTRODUCCIÓN. 3. • Dejar constancia de cómo usar el simulador, es decir, aspectos fundamentales para su configuración y utilización. El cuerpo fundamental tesis está conformado de tres capítulos cuyos contenidos son: Capítulo 1: dedicado a los fundamentos de la simulación de redes. Se tocan aspectos como los paradigmas de simulación, un bosquejo sobre los tipos de simuladores de red y los más utilizados. Se exponen criterios sencillos de determinados trabajos encontrados, sobre la importancia de la simulación de redes. Capítulo 2: se dedica completamente a caracterizar el Graphical Network Simulator en su versión 0.8. Se describen su arquitectura, herramientas, requerimientos de hardware, forma de instalación y la configuración inicial. Se comenta también cómo utilizar los diferentes dispositivos de red que ofrece el simulador, así como la conexión de la topología a la red real. Capítulo 3: en este capítulo se comentan los resultados de la recreación de varios experimentos realizados en otros trabajos. Esto permite la confirmación de los resultados obtenido y da una idea de la fiabilidad del software para estudios basados en simulación. Se podrá constatar en el texto además, las utilización del Wireshark en la captura del tráfico..
(15) CAPÍTULO 1. INTRODUCCIÓN A LA SIMULACIÓN DE REDES. 4. CAPÍTULO 1. INTRODUCCIÓN A LA SIMULACIÓN DE REDES. 1.1. Fundamentos de la simulación de redes. La simulación es una técnica que permite reproducir la esencia de un fenómeno sin reproducir el fenómeno en sí, con la ventaja adicional de poder hacerlo en una escala de tiempo muy pequeña comparada con la que se necesitaría para obtener los mismos resultados que si se utiliza físicamente el objeto a simular. Además, esta técnica permite recrear con exactitud los eventos, propiedades, características y funcionamiento de un sistema, lo cual permite su análisis, con una inversión menor a la que se necesitaría en la experimentación sobre un modelo real. La simulación también puede ser el estudio cuantitativo de un sistema real, en el cual se trabaja con un modelo simplificado que abstrae los elementos, sucesos y magnitudes del modelo original. En este modelo se hace una representación numérica de la evaluación del sistema, durante un cierto período de tiempo, en el cual se calculan algunos parámetros representativos a partir de los datos recogidos, haciendo uso de un programa de simulación. (Kleton, 2000). De acuerdo a lo anterior es preciso definir lo siguiente: Modelo de simulación, se refiere al conjunto de hipótesis acerca del funcionamiento del sistema expresado como las relaciones matemáticas y/o lógicas entre los elementos del sistema. Es decir, el modelo de la simulación hace referencia a la representación del sistema real, las variables a analizar y a las condiciones del funcionamiento. Proceso de simulación, es la ejecución del modelo a través del tiempo en un computador para generar muestras representativas del comportamiento del sistema, con unos valores asociados a las variables, para obtener los resultados referidos a unos ciertos parámetros que especifican el comportamiento del sistema..
(16) CAPÍTULO 1. INTRODUCCIÓN A LA SIMULACIÓN DE REDES. 5. Los tipos de simulación se pueden clasificar según la evolución de la simulación a través del tiempo en: continuas, aquellas donde las variables de estado pueden tomar valores dentro de un rango continuo y están en función del tiempo y discretas, donde las variables solamente están definidas en ciertos instantes de tiempos (Tipper, 2003). Las simulaciones discretas, pueden subdividirse en: simulaciones orientadas a eventos y simulaciones orientadas a procesos (Hernanz, 2010). Adicionalmente, las simulaciones también se pueden clasificar según el comportamiento del modelo en: determinísticas, aquellas en que la variación de su estado se puede predecir con certeza y estocásticas, que varían su estado de forma aleatoria a través del tiempo, sin seguir algún tipo de patrón (Hernanz, 2010). La mayoría de los modelos de redes de comunicaciones son estocásticos, dinámicos y discretos; salvo aquellos que involucran un análisis de la capa física, los cuales son de tipo continuo. 1.1.1 Clasificación de las herramientas software para el modelado y la simulación de redes de comunicaciones Las herramientas software para el análisis de redes, se pueden clasificar, según el enfoque y las características (Averill M. Law, 2004). Software específico de simulación: son programas que permiten describir modelos sin programar, cuentan con ambientes totalmente gráficos y son más fáciles de usar. Algunas herramientas son: NCTUns, COMNET III, OPNET MODELER, Cisco Packet Tracer, KIVA y FLAN. Lenguajes Específicos de Simulación (LES): como su nombre lo indica, son lenguajes de propósito específico, que permiten controlar el tiempo simulado, es decir, cuál evento o proceso es el siguiente. Además permite la generación de números aleatorios y la realización de cálculos estadísticos. Los LES son más versátiles ya que sus limitaciones son más reducidas, debido a la posibilidad de simular una amplia variedad de tecnologías y modelos de red. Entre los lenguajes de simulación están: GPSS, SIMULA, SIMSCRIP, MODSIM, Sim++, PARSEC y JAVASIM..
(17) CAPÍTULO 1. INTRODUCCIÓN A LA SIMULACIÓN DE REDES. 6. Lenguajes de propósito general (LPG): este tipo de lenguajes no siempre contiene librerías especializadas, lo cual dificulta la implementación de dispositivos de red dentro de procesos de simulación. Esto puede elevar el tiempo necesario para desarrollar una simulación, si se trata de modelos totalmente nuevos. En esta categoría se pueden ubicar a lenguajes de programación de alto nivel como Matlab, C++ y Java. Simulación de nivel físico: estos programas de simulación, contienen generalmente librerías que facilitan el análisis de algunos parámetros del nivel físico de las redes, mediante simulaciones de eventos continuos. Dentro de este grupo se encuentran: TOPSIM, LABVIEW, Matlab y el MathCad. En la Figura 1.1 se muestran las principales diferencias de las herramientas software para la simulación de redes, de acuerdo a las características de: tiempo invertido en la construcción de un modelo de red o tiempo de desarrollo, tiempo de ejecución o tiempo durante el cual se debe ejecutar la simulación para obtener los resultados esperados y grado de portabilidad, que es la característica por la cual un caso de simulación puede transportarse de un sistema operativo a otro sin necesidad de cambiar su código fuente (Hernandez and Osorio, 2006).. Figura 1.1. Diagrama de barras con la comparación de simuladores, según la clasificación presentada en esta sección. Tomado de (Hernandez and Osorio, 2006).
(18) CAPÍTULO 1. INTRODUCCIÓN A LA SIMULACIÓN DE REDES. 7. El software específico de simulación ofrece la posibilidad de construir modelos de red en menor tiempo, comparado con los lenguajes específicos de simulación y los lenguajes de propósito general; sin embargo, tienen menor grado de portabilidad ya que el proceso de simulación dependería del sistema operativo sobre el cual se configuró inicialmente, entre otros aspectos. 1.1.2 Paradigmas de simulación Los paradigmas clásicos de simulación de eventos discretos son orientados a eventos y orientado a procesos. Ambos paradigmas manejan conceptos muy similares, pero difieren en la visión de mundo que proporcionan, así como en la forma en que están implementados (Alaggia et al., 2005). Se denomina evento a aquellos instantes de tiempo que son relevantes para el sistema que se quiere modelar. Por ejemplo en el caso de un banco, la llegada de un cliente al banco y la salida del mismo. Las entidades son aquellos objetos o individuos cuyas acciones dentro del sistema se quieren modelar. En el caso del banco, las entidades relevantes son los clientes del banco. Las entidades poseen un ciclo de vida dentro del sistema, conformado con las acciones que realizan dentro, desde que entran a este hasta que se retiran del mismo. Dichas acciones son llamadas actividades. Se dice que una simulación está modelada utilizando en el enfoque de eventos cuando el comportamiento se especifica mediante los eventos del sistema. Si en cambio se especifica desde el punto de vista del ciclo de vida de las entidades, se trata entonces de una simulación orientada a procesos, donde cada una de las entidades tiene asociada una función que describe su funcionamiento a lo largo de su ciclo de vida en el sistema; esta función puede detenerse y reanudarse a medida que la entidad deba esperar por un recurso o la finalización de una actividad (Alaggia et al., 2005). 1.2. Ejemplo de metodología para la realización de simulaciones. Para realizar la simulación y poner en práctica un simulador es necesario el desarrollo de diferentes pasos que anteceden la realización de la tarea en sí. Aunque en la práctica esto.
(19) CAPÍTULO 1. INTRODUCCIÓN A LA SIMULACIÓN DE REDES. 8. pasa no se hace notar, es realizado en la mayoría de los trabajos serios de simulación. De manera general los pasos a seguir serían los siguientes (Titiosky, 2004): Planteamiento del problema. En esta fase se toma un sistema real y se analiza, para ello primero se identifica el problema a resolver y se describe su operación en términos de objetos y actividades dentro de un marco físico. Luego, se identifican las variables de entrada y salida del sistema y se categorizan. Las variables de entrada pueden ser de decisión (controlables) o parámetros (no controlables). En esta etapa también se trata de definir medidas de desempeño del sistema y una función objetivo, que bien pudiera ser una combinación de algunas de las medidas de desempeño. Finalizada esta especificación, se tiene una estructura preliminar del modelo, con la relación entre las variables del sistema y las medidas de desempeño, con algunas presunciones y simplificaciones adecuadas. Finalmente se construye una estructura del modelo más detallado, identificando todos los objetivos con sus atributos e interfaces. Recolección y análisis de los datos de entrada. En esta fase se estudia el sistema real para obtener datos de entrada vía observación, por ende, se hace observación directa y recolección de los atributos seleccionados en la etapa anterior. Al estudiar el flujo de las entidades a través del sistema, se identifican con los valores de tiempo. Otra cuestión importante en esta fase es seleccionar un tamaño de muestra estadísticamente válido, y un formato de datos procesable por computadora. Finalmente se decide qué datos serán tratados como aleatorios y cuáles se asumirán como determinísticos. Definición del modelo. En esta fase se construye un modelo del sistema con los aspectos que se quieren simular. En una primera etapa se trata de comprender el sistema, ya sea mediante una aproximación del flujo físico entre entidades con sus puntos de procesamiento y reglas de decisión; o a través de una aproximación de eventos o cambio de estados, basada en la definición de variables de estado internas, seguida por una descripción de la operación del sistema cuando ocurre un evento. En una segunda etapa se construye el modelo, para lo cual se definen objetos, atributos y métodos en el paradigma elegido. Construcción del modelo. En esta etapa, en base al lenguaje elegido se construye una simulación del modelo que pueda ejecutarse en una computadora..
(20) CAPÍTULO 1. INTRODUCCIÓN A LA SIMULACIÓN DE REDES. 9. Verificación y validación del modelo. Durante los pasos anteriores se construyeron tres modelos: el conceptual (especificación), el lógico (diseño) y el de computadora (código). La verificación es un asunto sobre la correspondencia interna entre los tres modelos. La validación comprueba la correspondencia entre el modelo y la realidad. En base a los resultados obtenidos durante la validación y verificación, el modelo construido debe refinarse. Experimento de simulación y optimización. En esta fase se hace evaluación estadística de las salidas del simulador para determinar el nivel de precisión de las medidas de desempeño. Si el objeto en interés pasa por un comportamiento de período, se debe tener cuidado de hacer el análisis sobre estados estacionarios. Se hace diseño de experimentos de simulación basados en la repetición con las variables de decisión en varios niveles. Análisis de datos de salida: en la última fase se analizan los resultados de la simulación para arribar a conclusiones con respecto a los objetivos del estudio. En muchas ocasiones se critica el sistema original en función de su desempeño ante determinadas circunstancias. 1.3. Ventajas y desventajas del uso de la simulación. Aunque la técnica de simulación generalmente se ve como un método académico, recientes avances en la metodología de simulación y la gran disponibilidad de software que actualmente existe, han hecho que la técnica de simulación sea una de las herramientas más ampliamente usadas en el análisis de sistemas. Además de las razones antes mencionadas, (Naylor, 2003) ha sugerido que un estudio de simulación es muy recomendable porque presenta las siguientes ventajas (Titiosky, 2004): A través de un estudio de simulación, se puede estudiar el efecto de cambios internos y externos del sistema al hacer alteraciones en el modelo y observando los efectos de esas alteraciones en el comportamiento. Una observación detallada del sistema simulado puede conducir a un mejor entendimiento del mismo además de sugerir estrategias que mejoren su operación y eficiencia. La técnica de simulación puede ser utilizada como un instrumento pedagógico para enseñar a estudiantes habilidades básicas en análisis estadísticos, análisis teórico, etc. Los sistemas.
(21) CAPÍTULO 1. INTRODUCCIÓN A LA SIMULACIÓN DE REDES. 10. sujetos a investigación no necesitan existir, solo necesitan existir en la mente de los implicados. Esto es muy deseable en la enseñanza de temas afines a las telecomunicaciones. Puede ayudar a entender mejor la operación de sistemas complejos, a detectar las variables más importantes que interactúan y las interrelaciones entre estas variables. La técnica de simulación puede ser utilizada para experimentar con nuevas situaciones, sobre las cuales se tiene poca o ninguna información. A través de esta experimentación se puede anticipar mejor a posibles resultados no previstos. También se puede utilizar para entrenamiento de personal. Por ejemplo, los cursos de certificación en redes de CISCO utilizan simuladores de red propios de esta compañía como el Packet Tracer. Cuando nuevos elementos son introducidos en un sistema, la simulación puede ser usada para anticipar cuellos de botella o algún otro problema que puede surgir en el comportamiento futuro. El tiempo puede ser comprimido en los modelos de simulación. El equivalente de días, semanas y meses de un sistema real en operación, puede ser simulado en solo segundos, minutos u horas en una computadora. Esto significa que un largo número de alternativas de solución pueden ser simuladas, los resultados pueden estar disponibles de forma breve y pueden ser suficientes para influir en la elección de un diseño para un sistema. Cada variable puede sostenerse constante excepto algunas cuya influencia está siendo estudiada. Como resultado, se evita el posible descontrol de las variables en el comportamiento del sistema, lo cual frecuentemente ocurre cuando el experimento está desarrollado sobre un sistema real. Es posible recrear procesos estocásticos mediante una secuencia de números aleatorios. Esto hace posible usar las técnicas de reproducción de varianza, para mejorar la precisión con la cual las características del sistema pueden ser estimadas y para dar un valor que refleje el esfuerzo de la simulación..
(22) CAPÍTULO 1. INTRODUCCIÓN A LA SIMULACIÓN DE REDES. 11. A pesar de las ventajas mencionadas, la técnica de simulación presenta importantes desventajas. Muchas de ellas pueden ser rebatidas al igual que las ventajas, pero lo importante es identificarlas (Titiosky, 2004). Puede fallar al producir resultados exactos: se supone que un sistema está compuesto de uno o más elementos que están sujetos a un comportamiento al azar. Cuando una simulación es desarrollada, los valores de cada variable son registrados y los promedios de estos valores son dados en pos simulación. El promedio en una muestra de observación solo provee un estimado de lo esperado, es decir, una simulación solo provee estimados. Si no se elige un principio y mecanismo de muestreo adecuado, el resultado puede ser incluso errado. Fallas al optimizar: la simulación es usada para contestar preguntas del tipo “¿qué pasa si?” o “¿qué es lo mejor?”. En este sentido, no es una técnica de optimización, no generará soluciones, solo evalúa las que han sido realizadas. Largo tiempo de conducción: un estudio de simulación serio no puede ser conducido o llevado a cabo en solo un fin de semana. Meses de esfuerzo pueden ser requeridos para reunir información, construir, verificar y validar modelos, diseñar experimentos y evaluar e interpretar los resultados. Costos para proveer capacidad de simulación: el establecimiento y mantenimiento de capacidad de simulación, envuelve tener mejor personal, software, hardware, entrenamiento y otro tipo de costos. Mal empleo o abuso: hay muchas facetas para un equilibrado y comprensivo estudio basado en simulación. Una persona debe tener conocimiento de una gran variedad de áreas antes de llegar a ser un practicante de la simulación. Este hecho es algunas veces ignorado, sin embargo como resultado, cada estudio puede estar mal desarrollado, estar incompleto o podría caer en otro tipo de caminos. 1.4. Los simuladores de red del momento. Dentro de las herramientas más utilizadas a nivel académico y empresarial para el modelado y la simulación de redes de comunicaciones, se puede mencionar a: COMNET.
(23) CAPÍTULO 1. INTRODUCCIÓN A LA SIMULACIÓN DE REDES. 12. III, OPNET Modeler, Packet Tracer y algunas alternativas de software libre como FLAN, NCTUns, NS y OMNET++ (Hernandez and Osorio, 2006). Estos programas o plataformas en dependencia del caso, se limitan a la simulación y análisis de redes. Dentro de los más destacados están FLAN (F- Links and Nodes), herramienta basada en Java, que permite el diseño, construcción y evaluación de una red de computadores en un ambiente simulado. La sencillez de su interfaz gráfica, facilita el uso en el proceso de enseñanza y aprendizaje de los protocolos de enrutamiento de las redes. KIVA, está orientado principalmente a simular el comportamiento del protocolo IP y especialmente el tratamiento de los datagramas y el encaminamiento de los mismos por una red. También permite el análisis de los protocolos auxiliares ARP e ICMP y emula el funcionamiento básico de tecnologías de enlace como Ethernet (Hernandez and Osorio, 2006). 1.4.1 OPNET Modeler Permite diseñar y estudiar redes, dispositivos, protocolos y aplicaciones; brinda escalabilidad y flexibilidad, cualidades que le permiten a los usuarios trabajar en procesos de investigación y desarrollo (Kim, 2005). Está basado en la teoría de colas e incorpora librerías que facilitan el modelado de redes, con un extenso grupo de aplicaciones y protocolos como: TCP, IP, OSPF, BGP, RIP, RSVP, Frame Relay, FDDI, ATM, WIFI, MPLS, PNNI, DOCSIS, UMTS, IP Multicast, Movil IP, etc. El desarrollo de los modelos se realiza jerárquicamente, mediante la interconexión de nodos de múltiples tecnologías, utilizando diferentes tipos de enlaces. En OPNET Modeler, se implementan tres tipos de modelos (Modeler, 2012): modelo de red, modelo de nodos y modelo de procesos. 1.4.2 COMNET III COMNET III es una herramienta comercial orientada al diseño, configuración y estudio de las redes de comunicaciones. Fue desarrollado por CACI Product Inc. con el uso del lenguaje de programación MODSIM II. Por medio de este programa es posible crear.
(24) CAPÍTULO 1. INTRODUCCIÓN A LA SIMULACIÓN DE REDES. 13. tecnologías de redes complejas, configurar varias tecnologías, protocolos y dispositivos de red para hacer un análisis detallado del funcionamiento y del rendimiento de redes tipo LAN, MAN y WAN, utilizando una interfaz gráfica en un ambiente de ventanas (Sullivan, 2012a). Este software está basado en interfaz gráfica de usuario. Permite analizar y predecir el funcionamiento de redes, desde topologías básicas de interconexión hasta esquemas mucho más complejos de simulación con múltiples redes interconectadas con diversos protocolos y tecnologías como: Ethernet, ATM, satelitales, Frame Relay, x.25, FDDI, SDH, etc. Dentro del área de trabajo del programa, se hace la descripción gráfica del modelo de red, se asocian las fuentes generadoras de tráfico, se configuran los parámetros y las características de los dispositivos de acuerdo a la aplicación que se desea implementar; luego se pone en marcha la simulación y finalmente se analizan los reportes estadísticos sobre el desempeño de la red, los cuales son generados automáticamente al finalizar la simulación. Los informes pueden contener información acerca de la ocupación de los enlaces o nodos, la cantidad de mensajes generados, el número de colisiones entre otros (Sullivan, 2012b). 1.4.3 OMNET++ OMNET++ es un simulador de redes de eventos discretos por medio de módulos orientados a objetos. Un modelo en OMNET++, se construye con módulos jerárquicos que intercambian mensajes, los cuales pueden contener estructuras complejas de datos, con parámetros propios que permiten personalizar el envío de paquetes a los destinos a través de rutas, con puertas y conexiones. Los módulos de más bajo nivel son llamados simple modules y son programados en C++ utilizando una librería de simulación. Las simulaciones en OMNET++ pueden utilizar varias interfaces de usuario, dependiendo del propósito. Una de las características más importantes de OMNET++ es la posibilidad de ejecutar simulaciones distribuidas y paralelas, gracias a la programación por módulos; además cabe resaltar que se puede acceder a los archivos fuente del programa por medio de compiladores de C++, lo que permite que el simulador, las interfaces y las herramientas de.
(25) CAPÍTULO 1. INTRODUCCIÓN A LA SIMULACIÓN DE REDES. 14. desarrollo OMNET++, puedan ser ejecutadas sin inconvenientes sobre diferentes sistemas operativos como Windows, Linux y algunas versiones de UNIX (Quong, 2012). 1.4.4 NCTUNS NCTUns (National Chiao Tung University, Network Simulator) es un simulador y emulador de redes y sistemas de telecomunicaciones avanzado. NCTUns es software libre y se ejecuta sobre Linux Fedora. Debido a sus características, es considerado como el más avanzado de simulación para redes de telecomunicaciones (Wang, 2012). Las simulaciones ejecutadas con esta herramienta, cuentan con características muy especiales, ya que NCTUns simula en tiempo real y con una interfaz similar a la de los sistemas reales, lo cual permite familiarizar más el usuario con el diseño, configuración e implementación de aplicaciones en redes de comunicaciones. Sintaxis sencilla pero muy efectiva para describir la topología, los parámetros y la configuración de una simulación. Permite la simulación de arquitecturas de redes sencillas. Sin embargo, su mayor potencial está en la simulación de redes tan complejas como las redes GPRS, satélites y ópticas. Puede ser utilizado como emulador. Permite definir obstáculos, trayectorias de movimiento y el desplazamiento de los terminales móviles (celulares GPRS y computadoras portátiles), al tiempo en que se hacen las mediciones de atenuación, interferencia y de ancho de banda. En NCTUns, la configuración de una red simulada, es exactamente igual a la configuración de una red IP del mundo real (Wang, 2012). Simula protocolos de redes como: IEEE 802.3, IEEE 802.11, IP, IP Mobile, Diffserv, RIP, OSPF, UDP, TCP, RTP/RTCP, SDP, FTP, entre otros. 1.4.5 PACKET TRACER Es un simulador gráfico de redes desarrollado y utilizado por Cisco como herramienta de entrenamiento para obtener la certificación CCNA. Packet Tracer es un simulador de entorno de redes de comunicaciones de fidelidad media, que permite crear topologías de red.
(26) CAPÍTULO 1. INTRODUCCIÓN A LA SIMULACIÓN DE REDES. 15. mediante la selección de los dispositivos y su respectiva ubicación en un área de trabajo, utilizando una interfaz gráfica. Packet Tracer es un simulador que permite realizar el diseño de topologías, la configuración de dispositivos de red, así como la detección y corrección de errores en sistemas de comunicaciones. Ofrece como ventaja adicional el análisis de cada proceso que se ejecuta en el programa de acuerdo a la capa de modelo OSI que interviene en dicho proceso; razón por la cuál es una herramienta de gran ayuda en el estudio y aprendizaje del funcionamiento y configuración de redes de comunicaciones y aplicaciones telemáticas. Ofrece una interfaz basada en ventanas, que le ofrece al usuario facilidades para el modelado, la descripción, la configuración y la simulación de redes. Packet Tracer tiene tres modos de operación: el primero de estos es el modo topology (topología), que aparece en la ventana de inicio cuando se abre el programa, el otro es el modo simulation (simulación), al cual se accede cuando se ha creado el modelo de la red; finalmente aparece el modo real time (tiempo real), en donde se pueden programar mensajes SNMP para detectar los dispositivos que están activos en la red y si existen algún problema de direccionamiento o tamaño de tramas entre las conexiones (Cisco Systems, 2010). 1.4.6 Network Simulator El Network Simulator más conocido como NS, es una plataforma orientada a simular eventos discretos. Se desarrolló con base en dos lenguajes de programación: uno de ellos es el C++ y el otro es una extensión de TCL, orientada a objetos. Este programa ha sido diseñado especialmente para el área de la investigación de redes telemáticas. NS es una herramienta con un amplio rango de uso y que continuamente sirve como base para el desarrollo de otros programas de simulación. Además soporta una gran cantidad de protocolos de las capas de aplicación y transporte, más otros utilizados para el enrutamiento de los datos, entre los cuales están: HTTP, FTP CBR, TCP, UDP, RTP y SRM. Puede representar redes cableadas, inalámbricas locales o vía satélite. Es aplicable a grandes redes con topologías complejas y con un gran número de generadores de tráfico. Para visualizar los resultados se puede instalar el Network Animador (NAM), el cual es una herramienta de interfaz gráfica muy sencilla de utilizar. NS depende de algunos componentes externos.
(27) CAPÍTULO 1. INTRODUCCIÓN A LA SIMULACIÓN DE REDES. 16. como Tcl/TK, Otcl, TclCL y xgraph, que es un componente opcional solo para cuando se necesite evaluar series. NS es un intérprete de scripts orientados a objetos, el cual tiene un planificador de eventos de simulación, librerías de objetos de componentes de red y librerías de módulos de instalación de red. Esto quiere decir que la simulación se debe programar en el lenguaje de scripts OTCL. Dentro del desarrollo de este simulador han surgido nuevos simuladores a partir de su creación como es el NS-2 y el NS-3, los cuales de por sí se diferencian y cada uno constituye un nuevo simulador y no la continuación del anterior. A partir de lo anterior surge entonces el simulador GNS3, que avanza grandemente al incorporar el ambiente gráfico al NS-3 como sistema de simulación de redes orientado a Internet (Team, 2012c). 1.5. GNS3. GNS3 es un simulador gráfico de redes que permite diseñar fácilmente topologías de red y luego ejecutar simulaciones. Soporta IOS de routers, ATM, Frame Relay, Switchs Ethernet y PIX firewalls, estos últimos funcionan como dispositivos decorativos (Piedra, 2010). GNS3 utiliza Dynamips, un emulador de IOS de Cisco; QEMU, un emulador de máquina virtual de código abierto y en parte Dynagen, un front-end basado en texto para Dynamips desarrollado en Python a través de PyQt la interfaz gráfica (Pace, 2003), confeccionada con la poderosa librería Qt, famosa por su uso en el proyecto KDE, también utiliza la tecnología SVG (Scalable Vector Graphics) para proveer símbolos de alta calidad para el diseño de las topologías de red (Team, 2012a). GNS3 es una excelente herramienta complementaria a los laboratorios reales para los ingenieros de redes, administradores y personas que quieran estudiar para las certificaciones como Cisco CCNA, CCNP, CCIP y CCIE, así como JNCIA Juniper, JNCIS y JNCIE. También se puede utilizar para características experimentales de Cisco IOS, JunOS Juniper o para comprobar configuraciones que necesitan ser desplegado posteriormente en enrutadores reales (Team, 2012d)..
(28) CAPÍTULO 1. INTRODUCCIÓN A LA SIMULACIÓN DE REDES. 17. Gracias a la integración con VirtualBox, ahora incluso los ingenieros de sistemas y los administradores pueden tomar ventaja de GNS3 para que los laboratorios y el estudio de Red Hat (RHCE, RHCT), Microsoft (MSCE, MSCA), Novell (CLP) y muchas otras certificaciones de proveedores. Este proyecto es de código abierto, totalmente gratuito y se puede utilizar en múltiples sistemas operativos incluyendo Windows, Linux y MacOS X. Además de lo anterior expuesto GNS3 permite realizar diseños de alta calidad y topologías de redes complejas. Se pueden realizar simulaciones con Ethernet, ATM e interruptores de Frame Relay, así como la conexión de la red física real. Por otra parte se pueden obtener capturas de paquetes con Wireshark..
(29) CAPITULO 2. GRAPHICAL NETWORK SIMULATOR. 18. CAPÍTULO 2. GRAPHICAL NETWORK SIMULATOR. En este capítulo se realizará un estudio específico de cada una de las partes que conforman el GNS3. Se describe a fondo el programa así como sus formas de uso. 2.1. Características Principales del GNS3. GNS3(Anuzelli, 2010) es una aplicación realizada en Python que usa las librerías de Dynagen para crear la interfaz gráfica (Pace, 2003). Sus principales funciones son editar el archivo de texto .net y realizar las operaciones de la interfaz por línea de comandos (CLI) de Dynagen y Dynamips. Adicionalmente incorpora la capacidad de simular PCs. La unión de Dynamips-Dynagen-GNS3, como se observa en la Figura 2.1, crea una plataforma que permite el fácil diseño de topologías de red complejas ya que se realizan tan sólo arrastrando los componentes y dibujando líneas entre enrutadores de forma intuitiva. Por lo tanto, GNS3 es idóneo para el entrenamiento de estudiantes que desean familiarizarse con dispositivos de red.. Figura 2.1. Plataforma GNS3. Tomado de (Anuzelli, 2010). Las características más relevantes que se pueden señalar de GNS3 y que han motivado el estudio más a fondo este simulador son las siguientes: • Se encuentra disponible de forma gratuita en la red. • Es fácil de instalar ya que todos los programas que necesita se encuentran en un solo paquete de instalación. • Está en constante actualización y periódicamente se puede encontrar versiones de la aplicación más robustas y con nuevas funcionalidades..
(30) CAPITULO 2. GRAPHICAL NETWORK SIMULATOR. 19. • Permite la conexión Telnet a la consola de un enrutador virtual, de forma fácil directamente desde la interfaz gráfica. • Alternativamente, permite trabajar directamente desde consola de gestión de Dynagen. • Permite la comunicación entre redes virtuales con redes reales. • Es apropiado para simular redes de gran tamaño, ya que permite que un cliente GNS3 pueda correr en una máquina diferente a la que contiene al emulador Dynamips, repartiendo el procesamiento entre diferentes PCs. • Puede capturar los paquetes que pasan por enlaces virtuales y escribir los resultados de la captura en archivos que pueden ser interpretados por aplicaciones como Wireshark o tcpdumps. • Los foros de Internet evidencian que es una aplicación ampliamente utilizada (Team, 2012a). • GNS3 no es la única aplicación que brinda una GUI a Dynamips, existe otra con el nombre de Dynagui que realiza la misma tarea pero que se encuentra actualmente en fase de desarrollo y que no llega a implementar todas las funcionalidades que posee GNS3. 2.2. Arquitectura del emulador Dynamips. Dynamips, (Anuzelli, 2010) es el motor que permite emular diferentes plataformas de hardware mediante la utilización de imágenes de sistemas operativos de CISCO. Entre dichas plataformas se encuentran los routers de las series 1700, 2600, 3600, 3700 y 7200. Por otro lado, puede emular switches Ethernet, Frame-Relay y ATM con funcionalidades básicas. En cuanto a la emulación de switches, Dynamips no es capaz de emular switches Catalyst sino que provee una versión limitada de un switch virtual, cuyas limitaciones pueden ser resueltas usando métodos alternativos como la emulación de NM-16ESW que el emulador sí soporta. Por otro lado, Dynamips tampoco es capaz de emular Firewalls PIX, para ello se usa el emulador PEMU a través de Dynagen (Anuzelli, 2010). Inicialmente Dynamips consume gran cantidad de CPU del PC emulador, esto se debe principalmente a que realiza la emulación de los routers instrucción por instrucción y a que.
(31) CAPITULO 2. GRAPHICAL NETWORK SIMULATOR. 20. no puede saber cuándo un router virtual está inactivo, de modo que ejecuta instrucciones como si la imagen del IOS estuviera realizando algún trabajo útil. Para resolver el problema del excesivo uso de CPU se crea un proceso llamado IDLEPC. Dynamips también consume memoria RAM del PC emulador, ya que en teoría cada router virtual debe tener a su disposición, como mínimo, toda la cantidad de memoria RAM que necesita para poder trabajar, por lo tanto, esta cantidad se hace impráctica si se requieren emular redes con varios routers. Para resolver el problema del excesivo uso de memoria del PC emulador se usan herramientas que permiten compartir la memoria del mismo entre varios routers emulados con la misma IOS, y herramientas que usan el disco en vez de la memoria del emulador. 2.2.1 IDLE-PC Se trata de una herramienta que realiza un análisis en el código de una imagen IOS para determinar los puntos más probables que representen un bucle de inactividad, de modo que cuando se detecten, haga que los routers virtuales “duerman” durante ese instante. Es decir, IDLE-PC, (Anuzelli, 2010) ayuda a Dynamips a emular el estado inactivo de la CPU virtual de un router. Algunas características adicionales de este proceso son las siguientes: • La aplicación de un mal valor de IDLE-PC hace que la PC del emulador trabaje entre 60% - 100% cuando emula un solo un router, mientras que un buen valor hace que sólo trabaje entre 1% -10% de la capacidad. Estos valores dependen de lo potente que sea el emulador usado. • Está ligado a la versión de Dynamips que se usa, si se cambia de versión, es muy probable que se necesita cambiar de valor de IDLE-PC. • Será diferente para IOS de diferentes versiones y por supuesto para diferentes plataformas. Se aplicará a un router virtual cada vez que use esa IOS. • No son exclusivos de un PC o sistema operativo, por lo tanto, los archivos “dynagenidledb.ini” pueden ser copiados y compartidos sin tener que alterar el valor..
(32) CAPITULO 2. GRAPHICAL NETWORK SIMULATOR. 21. Figura 2.2. Uso de CPU con (izquierda) y sin un valor de IDLE-PC (derecha), para una PC con Intel Core2 Duo a 2.66Ghz y 2 GB de RAM. Foto tomada mediante captura de pantalla.. 2.2.2 Herramientas para la optimización del uso de la memoria Las herramientas que Dynamips usa para optimizar el uso de memoria, (Anuzelli, 2010) tanto real como virtual del host emulador son las siguientes: Ghostios: (Anuzelli, 2010, Fuszner, 2005) se encarga de reducir la cantidad de memoria real que se necesita del emulador para crear topologías con routers que corran a la vez, es decir, permite que el emulador comparta una parte de su memoria entre todos los routers que usen una misma imagen IOS, de modo que cada router emulado no tenga que almacenar una copia idéntica de un mismo IOS en su memoria virtual. El resultado, es un archivo que contiene la región de memoria compartida ubicado en el directorio working, llamado c2600-i-mz.123-3h.image.ghost. Sparsemem: (Anuzelli, 2010, Fuszner, 2005) se encarga de reducir la cantidad de memoria virtual que usa un router emulado, es decir, la memoria necesaria para la ejecución de una IOS, ya que sólo asigna la cantidad de memoria que la IOS va a usar en un momento determinado y no toda la memoria RAM configurada. Esto permite crear más routers virtuales por proceso Dynamips. Esta herramienta no está habilitada por defecto. Mmap: (Anuzelli, 2010, Fuszner, 2005) realiza la correspondencia de archivos temporales del disco con la memoria virtual configurada en los routers emulados, para que cuando se requiera leer estos archivos, el sistema operativo ponga en caché sólo las secciones de los mismos que están siendo utilizados. Estos archivos tienen extensión .ram, y tienen el.
(33) CAPITULO 2. GRAPHICAL NETWORK SIMULATOR. 22. tamaño de la memoria RAM configurada; se encuentran en el directorio working creado por GNS3 en cada simulación. 2.2.3 Dynagen Dynagen, (Anuzelli, 2010) es una interfaz escrita en Python que provee la gestión, mediante línea de comando, de las plataformas emuladas por Dynamips haciendo más fácil su uso. Usa el modo Hypervisor para comunicarse con Dynamips y ambos pueden correr en la misma o en diferente PC. También simplifica la gestión de las redes virtuales ya que implementa comandos para listar, iniciar, parar, reiniciar, suspender, reanudar los diferentes dispositivos emulados, además determina los valores de IDLE-PC y realiza capturas de paquetes. A partir de sus últimas versiones, Dynagen es capaz de trabajar con el emulador de cortafuegos PEMU, el cual viene integrado en GNS3 y le brinda la capacidad de añadir Firewalls CISCO en las topologías. Además es capaz de conectar de forma transparente a Dynamips los diferentes dispositivos virtuales como switches Ethernet, Frame-Relay y ATM soportados por Dynamips. Dynagen, (Anuzelli, 2010) usa un archivo de texto de fácil configuración llamado Network File, con extensión .net, para conocer todas las características de hardware de los dispositivos de red a emular y realizar las interconexiones entre ellos. Se trata de un archivo, escrito usando sintaxis INI, que almacena la configuración de todos los dispositivos de red de la topología virtual a simular como son los routers, switches y las interconexiones entre ellos. Este archivo puede especificar valores tan concretos como los descriptores de los adaptadores de red (NIO) que se encargan de la conexión con equipos reales o los puertos en los que trabajan dichos adaptadores de red, etc. 2.2.4 Requerimientos para Windows XP Dynamips, (Anuzelli, 2010) asigna por defecto 16MB de memoria RAM al compilador JIT para que realice la compilación del código del simulador en sistema Windows. Además, cada imagen IOS de un router real requiere una cantidad determinada de memoria RAM para funcionar, por lo tanto, inicialmente, la suma de los valores anteriores sería la cantidad de memoria RAM real necesaria para la simulación de un router. En la práctica este valor.
(34) CAPITULO 2. GRAPHICAL NETWORK SIMULATOR. 23. es mucho menor debido a que Dynamips implementa herramientas que permiten una optimización del uso de la memoria del simulador, como las antes mencionadas. En un principio, Dynamips usará mucha cantidad de CPU porque no sabe cuándo el procesador virtual del router está inactivo, por lo tanto, ejecuta todas las instrucciones de las rutinas de inactividad de la IOS como si fueran instrucciones que realizan un trabajo real (Anuzelli, 2010). El cálculo del valor de IDLE-PC hará que el consumo de CPU del emulador baje drásticamente. Si se elige un buen valor, la utilización de CPU por cada router será baja, con lo cual el funcionamiento del emulador será óptimo. Se necesita 137.9 MB de espacio de disco para almacenar a la aplicación GNS3, a sus dependencias y emuladores asociados. Además se necesita 0.19 MB para almacenar WinPCAP, lo que hace un aproximado de 138 MB de disco necesario. Este parámetro no es determinante a la hora de escoger un buen host donde montar la red virtual, debido a que para la mayoría de PCs este valor resulta fácilmente alcanzable. Para poder estimar las capacidades recomendables para el buen funcionamiento de un equipo emulador, a continuación se presenta un análisis comparativo donde se refleja el consumo de recursos cuando se emulan cierta cantidad de routers en equipos con características de procesamiento diferentes. Las Figuras 2.3 y 2.4 muestran las características del escenario usado en dos pruebas y los resultados finales obtenidos en las dos configuraciones.. Figura 2.3. Resultados con el primer escenario. Tomado de (Cervantes, 2010)..
(35) CAPITULO 2. GRAPHICAL NETWORK SIMULATOR. 24. Figura 2.4. Segundo escenario y resultados de pruebas de uso de recursos. Tomado de (Cervantes, 2010).. Según (Cervantes, 2010), las gráficas anteriores comprueban que el número de enrutadores que puede soportar un emulador es directamente proporcional a la demanda computacional. Así, una PC con procesador de 1,6 GHz podría emular como máximo 11 routers y otra con dos procesadores de aproximadamente 2,6 GHz podría emular 40 routers, siempre y cuando se emule la misma plataforma, el mismo IOS con la misma RAM y se use el mismo valor de IDLE-PC. En la prueba se observa que la RAM usada aumenta de forma progresiva a pasos de 35MB por router aproximadamente, este valor obtenido es inferior al configurado en los routers (48MB), con lo cual se confirma la eficiencia de las herramientas de optimación de recursos de Dynamips. Por otro lado, el hecho de que el uso de la CPU aumente de forma drástica cuando se ha usado casi toda la memoria RAM disponible indica que se está realizando swapping, es decir, se empieza a remplazar la memoria RAM por espacio en el disco o memoria virtual. Según (Cervantes, 2010), con respecto al comportamiento de GNS3 es importante resaltar que, pese a que la utilización de CPU parece mínima durante gran parte de la prueba, esto no ha sido así. Cada vez que se añadía un router o se abría una ventana de Telnet, la utilización de CPU subía de forma abrupta y fluctuaba por unos instantes, después se estabilizaba y descendía a valores mínimos nuevamente. Todas las pruebas de este autor fueron realizadas cuando el emulador sólo tenía corriendo la aplicación GNS3 y el monitor.
(36) CAPITULO 2. GRAPHICAL NETWORK SIMULATOR. 25. de sistema de Windows para efectuar las mediciones. Además los routers no tenían configuración alguna. 2.2.5 Requerimientos para Ubuntu 9.4 En Linux, la memoria RAM requerida teórica para la emulación de un router es la que Dynamips asigna por defecto al compilador JIT (64MB) y la cantidad de RAM que cada imagen IOS requiere para funcionar en un equipo real. Como ya se explicó, en la práctica se necesitan valores inferiores. También se toma en cuenta el valor de IDLE-PC para estimar los requerimientos de CPU del emulador (Anuzelli, 2010). El espacio total necesario en disco para la instalación de GNS3 en Linux es de aproximadamente 215,2MB, valor que es mayor al requerido en Windows debido a la necesidad de instalación adicional de dependencias. Este parámetro no es determinante a la hora de escoger un buen host de trabajo. En (Cervantes, 2010) se repitieron las mismas pruebas realizadas en el apartado anterior con dos equipos de características de procesamiento diferentes. Las Figuras 2.5 y 2.6 muestran los resultados obtenidos.. Figura 2.5. Primer escenario y resultados de pruebas de uso de recursos. Tomado de (Cervantes, 2010)..
(37) CAPITULO 2. GRAPHICAL NETWORK SIMULATOR. 26. Figura 2.6. Segundo escenario y resultados de pruebas de uso de recursos. Tomado de (Cervantes, 2010).. Los resultados obtenidos en Linux muestran un aumento progresivo del uso de la CPU cuando se añade un nuevo router, de modo que, se puede notar más claramente la estrecha relación entre la velocidad de la CPU de un emulador y la cantidad de routers que puede emular. Un emulador con algo menos de 2Ghz de CPU puede emular como máximo 14 routers y otro con 2 procesadores de 2Ghz cada uno aproximadamente podría emular 40 routers, siempre y cuando se emule la misma plataforma, el mismo IOS con la misma RAM y se use el mismo valor de IDLE-PC. En esta prueba también se comprueba la eficiencia del uso de las herramientas de optimación de recursos de Dynamips, ya que al agregar un router a la topología, se aumenta aproximadamente en un 22 MB la RAM usada, en vez de los 48 MB configurados. Cabe resaltar que cuando la utilización de la CPU del emulador es aproximadamente 80%, la memoria RAM empieza a subir más rápidamente, por lo cual, este podría ser un valor limitador de rendimiento. Este sistema es más estable puesto que no se observaron cambios bruscos en el uso de la CPU cuando se añadían nuevos elementos, sino que su aumento fue progresivo. Cabe resaltar otra vez, que todas las pruebas fueron realizadas cuando el emulador sólo tenía corriendo la aplicación GNS3 y el monitor de sistema de Linux para efectuar las mediciones. Además los routers no tenían configuración alguna..
(38) CAPITULO 2. GRAPHICAL NETWORK SIMULATOR. 27. 2.2.6 Observaciones sobre el uso en Windows y Linux Un emulador con sistema operativo Windows requerirá más memoria RAM (~35MB por router) que un emulador con sistema operativo Linux (~22MB por router) para un mismo número de routers emulados. La PC que se debe elegir para la instalación de nuestro simulador de red GNS3 debe tener un buen balance entre CPU y Memoria. Algunas recomendaciones adicionales serían: • Elegir un buen valor de IDLE-PC. Un valor aceptable es aquel que hace que el CPU use entre 0% y 50% para un sólo router y un buen valor es aquel que sólo usa 10%. • Usar una IOS que requiera las más bajas cantidades de RAM para funcionar pero que cuente con las funcionalidades que se necesita. • No crear topologías que usan más del 80% del CPU del emulador, ya que el uso de capacidades de los routers, como MPLS, OSPF o IS-IS, hará que este valor aumente. • Usar el sistema operativo Linux en los casos en los que se requieran probar testbeds que necesiten estar activos por mucho tiempo, ya que es más estable. 2.3. Instalación de GNS3. El primer paso para la instalación es descargar el archivo GNS3-0.8-win32-all-in-one.exe de aproximadamente 45.5MB, que se encuentra en la página web (Team, 2012c). El archivo anterior contiene la instalación de todos los componentes del simulador en su última versión hasta la fecha. Para Linux existen otras variantes como el uso de repositorios de software en Internet, la versión 0.8 también está disponible para varias distribuciones de este sistema operativo. 2.3.1 En Windows XP Una vez que se haya dado doble clic al archivo descargado, se lleva a cabo la instalación de forma habitual. La mayoría de los valores que aparecen por defecto son convenientes para la instalación, a no ser que se desee cambiar el directorio donde se instalará el simulador GNS3. El resultado es la disponibilidad del software en el menú de inicio, como es típico. La ventana principal del software es la que se muestra en la figura siguiente:.
(39) CAPITULO 2. GRAPHICAL NETWORK SIMULATOR. 28. Figura 2.7. Ventana principal de la GUI de GNS3. Tomado de (Team, 2012c).. Al momento de ejecutar el programa aparecerá una ventana como la que se muestra en la Figura 2.8, la cual se puede obviar ya que su función es reemplazada siguiendo los pasos de la Figura 2.9.. Figura 2.8. Gestor de configuración inicial de la instalación del GNS3.. Figura 2.9. Carga de las imágenes de IOS en el GNS3.. Carga de los CISCO IOS El siguiente paso es la carga de la imagen IOS que usarán los routers virtuales, para lo cual se realiza lo siguiente: 1. Ejecutar la aplicación y seleccionar IOS images and hypervisors en el menú Edit, como se muestra en la Figura 2.9. 2. En la ventana que aparece, hacer clic sobre IOS en el disco (ver Figura 2.10).. para buscar la ubicación de la imagen.
(40) CAPITULO 2. GRAPHICAL NETWORK SIMULATOR. 29. 3. Seguidamente se elige la plataforma y el modelo que corresponde con la imagen IOS a utilizar en la simulación. Más adelante se mostrará la manera de asignar valores de IDLE PC al router. 4. Finalmente se guardan los cambios haciendo clic en Save. Notar que el valor de IDLEPC se encuentra vacío por el momento.. Figura 2.10. Localización y colocación de CISCO IOS en el GNS3.. Comprobar el camino hacia Dynamips Una vez instalado GNS3 es importante comprobar si el simulador ha podido reconocer de forma eficaz el camino donde se encuentra instalado Dynamips. Los pasos para realizar esta tarea son los siguientes: 1. En la aplicación, seleccionar la opción Preferences del menú Edit, como se muestra en la Figura 2.11.. Figura 2.11. Inicio para la comprobación del camino de Dynamips.. 2. En la ventana que aparece hacer un clic sobre Dynamips para obtener la pestaña donde se muestra la ubicación de Dynamips. Comprobar que el camino que se muestra es correcto haciendo clic en. . Si aparece algún error, buscar la verdadera ubicación de.
(41) CAPITULO 2. GRAPHICAL NETWORK SIMULATOR. Dynamips con clic sobre. 30. . No olvidar comprobar que se encuentran habilitadas las. funciones de Ghostios, Sparsemem y MMAP. (ver Figura 2.12). Figura 2.12. Comprobación del camino del Dynamips.. 3. Hacer clic en Apply para guardar los datos. 2.3.2 En Linux Ubuntu 10.04 La descarga de los archivos necesarios para la instalación en Linux será más fácil, ya que se hará uso del gestor de paquetes apt (Advanced Packaging Tool) mediante el comando aptget install gns3. Se puede apreciar como dicho gestor de paquetes se encarga de buscar automáticamente las dependencias que necesita GNS3 para su instalación en Linux. Dichas dependencias, que no son más que programas adicionales de los cuales GNS3 hace uso para poder funcionar, son: Qt 4.3 o mayor, PyQt 4.1 o mayor, Sip 4.5 o mayor y Python 2.4 o mayor. Una vez que se ha descargado e instalado todo lo necesario para el funcionamiento de GNS3, se deberá ejecutar y configurar el emulador siguiendo los mismos pasos que con Windows. En Linux se puede arrancar el programa a través de la ejecución del comando en la consola, como se aprecia en la Figura 2.13..
(42) CAPITULO 2. GRAPHICAL NETWORK SIMULATOR. 31. Figura 2.13. Ejecución del GNS3 en Linux desde el bash.. 2.4. Uso de GNS3. GNS3 permite el almacenamiento de la topología y de la configuración efectuada en los routers emulados en archivos diferentes. La topología se guarda en forma de texto, en un archivo .net que es interpretado por Dynagen y mostrado gráficamente por GNS3. La configuración de los routers emulados se guarda en archivos .cfg, los cuales abiertos con un editor de texto, muestran los comandos realizados en el router de la misma forma que se pueden encontrar en un router real. A continuación se explica claramente cómo hacer uso de GNS3, con énfasis en los pasos que hay que seguir para la emulación de las diferentes plataformas CISCO soportadas. También se describirán los diferentes métodos existentes para la simulación de PCs, se explicará cómo usar los switches Ethernet y la utilización de switches, ATM, Frame Relay, y firewalls. Se mostrará cómo realizar los procesos básicos de GNS3, como la creación de enlaces y la interconexión de redes reales con virtuales. 2.4.1 Emulación de routers CISCO Como ya se ha indicado anteriormente, para emular routers CISCO reales se necesita una imagen CISCO IOS perteneciente al router cuyas características se quiere clonar. En este sentido, el emulador habilitará un número de ranuras o slots en dependencia del tipo de plataforma que se emula y en cada una de esas ranuras se podrán colocar solo ciertos tipos de adaptadores de interfaces. Por lo tanto, si se quiere añadir capacidades de hardware en el router virtual, se debe seleccionar el tipo de adaptador de red que éste puede soportar en la configuración del router virtual. Ver Anexo 1 para mayor detalle..
(43) CAPITULO 2. GRAPHICAL NETWORK SIMULATOR. 32. A continuación se listan algunas de las plataformas que pueden ser emuladas por GNS3 versión 0.8, tanto si está instalado en Linux como en Windows: 1710, 1720, 1721, 1750, 1751, 1760, 2610, 2610XM, 2611, 2611XM, 2620, 2620XM, 2621, 2621XM, 2650XM, 2651XM, 2691, 3620, 3640, 3660, 3725, 3745, 7200, etc. (Cisco Systems, 2005). En el Anexo 1 se puede notar principalmente que Dynamips no puede emular las interfaces de voz VICs y VWICs. Por lo tanto, se puede decir que GNS3 todavía no es capaz de realizar DSP (Digital Signal Prossesing) (Team, 2012b). Los pasos a seguir para la emulación y configuración de un router en GNS3 son los siguientes: 1. Hacer clic en el grupo de plataformas que contiene al router que se quiere emular y arrastrar hasta el área de construcción de topologías (ver Figura 2.14).. Figura 2.14. Ventana principal de GNS3.. 2. Hacer un clic derecho sobre el router y después elegir configure. 3. Hacer clic en el nombre del router, después en la pestaña slots y finalmente elegir las interfaces que se desean haciendo clic en. de cada slot. Guardar los cambios con OK (ver. Figura 2.15). 4. Encender el router con un clic derecho y start. Notar que ahora en el resumen de la topología el indicador del router se encuentra de color verde..
(44) CAPITULO 2. GRAPHICAL NETWORK SIMULATOR. 33. 5. Calcular el valor de IDLE-PC para la imagen de IOS utilizada con un clic derecho en el router e Idle-PC del menú desplegado (ver Figura 2.16).. Figura 2.15. Ventana de configuración del nodo.. Figura 2.16. Menú de opciones de un router.. Figura 2.17. Ventana de IDLE-PC. Nótese los asteriscos para los valores recomendados.. 6. Tras unos instantes se apreciará una ventana como la Figura 2.17, donde se ven todos los posibles valores de IDLE-PC calculados. Los mejores son los que tiene un asterisco a la izquierda, elegir uno de ellos y hacer clic en apply. 7. Finamente hacer clic derecho sobre el router y elegir console para obtener una ventana de Telnet con la consola del router que se ha emulado.. 2.4.2 Emulación de Switches Ethernet GNS3 posee integrada la capacidad de emulación de switches Ethernet simples con funcionalidades básicas como la creación de VLANs o el funcionamiento del trunking.
Figure
+7
Documento similar