Está en la página 1de 33

Simulaci on de Redes de Computadores aplicado a docencia

Isabel Vera Castell on <isavera@inf.utfsm.cl> 17 de noviembre de 2005

INDICE GENERAL

Indice general
Introducci on 1. Acerca de la simulaci on 1.1. Simulaci on . . . . . . . . . . . . . . . . . . . . . 1.1.1. Cu ando simular? . . . . . . . . . . . . 1.1.2. Ventajas y desventajas de la simulaci on 1.2. Simulaci on y Teor a de Sistemas . . . . . . . . 1.2.1. Sistemas discretos y continuos . . . . . 1.3. Modelos . . . . . . . . . . 1.3.1. Tipos de modelos . 1.4. Metodolog a para Realizar . . . . . 1.5. Terminolog a Util 1 3 3 4 5 7 8 9 9 10 12 14 14 14 15 15 15 16 16 17 17 18 19

. . . . .

. . . . .

. . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . un Estudio de Simulaci on . . . . . . . . . . . . . . .

2. Selecci on de la herramienta 2.1. Herramientas Disponibles . . . . . . . . . . . . . . . . 2.1.1. Network Simulator Tesbed (NEST) . . . . . . . 2.1.2. Maryland Routing Simulator (MaRS) . . . . . 2.1.3. Realistic And Large Network Simulator (Real) 2.1.4. Network Simulator 2 (ns-2)] . . . . . . . . . . . 2.1.5. S3 project / Scalable Simulation Framework . . 2.1.6. Java Simulator (J-Sim) . . . . . . . . . . . . . 2.1.7. Wireless IP Simulator (WIPSIM) . . . . . . . . 2.1.8. NCTUns 2.0 Network Simulator/Emulator . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

2.2. Elecci on de la Herramienta . . . . . . . . . . . . . . . . . . . . . 2.2.1. Acerca de ns-2 . . . . . . . . . . . . . . . . . . . . . . . .

Simulaci on de Redes de Computadores aplicado a docencia

INDICE GENERAL

3. Aplicaciones en ns-2 22 3.1. Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.1.1. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.2. LAN Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.3. Router y LAN Ethernet . . . . . . . . . . . . . . . . . . . . . . . 3.4. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. Conclusiones A. Instalaci on de ns-2 Bibliograf a 25 26 27 28 30

Simulaci on de Redes de Computadores aplicado a docencia

INDICE GENERAL

Introducci on
Simular [urlb]: Representar algo, ngiendo o imitando lo que no es. En t erminos generales, esa es una denici on acertada de lo que es una simulaci on, pero en nuestro ambito se ve como una forma particular de modelar, considerando modelar como una forma representar la realidad. La simulaci on, actualmente tiene una gran cantidad de usos pr acticos, los cuales pueden resumirse en la lista mostrada a continuaci on:

Predicci on. Entrenamiento. Entretenimiento. Mejor comprensi on de la situaci on estudiada. Apoyo a la toma de decisiones. En el primer caso presentado, la simulaci on se usa para inferir conocimiento de sucesos que a un no ocurren, bas andose en los casos conocidos; por ejemplo, predecir el tiempo de acuerdo a las condiciones atmosf ericas actuales o hist oricas. La simulaci on tambi en desempe na un papel importante como una herramienta mas para capacitaci on de personal (o alumnos) en circunstancias que la pr actica real puede ser muy costosa, muy peligrosa o ambas. Un ejemplo de esta situaci on son las cabinas de simulaci on de vuelo y las cabinas simuladoras de operaci on de camiones permitiendo a sus pilotos y operadores un mayor

Simulaci on de Redes de Computadores aplicado a docencia

Introducci on

conocimiento y pr actica para cuando sean enfrentados a una situaci on real. En el area de los juegos, podemos encontrar una amplia gama de simuladores destac andose los de vuelo, carreras de autom oviles, hist oricos (m as bien b elicos) incluso hay simuladores del comportamiento humano. En el caso de este trabajo, la simulaci on se usa como una herramienta que permite al usuario una mejor comprensi on de la situaci on estudiada. En el caso de las redes de computadores, existe una gran variedad de programas que nos permiten simular una red de computadores, controlando muchas de sus variables, y obteniendo un resultado que debe ser interpretado y analizado. En nuestro ambito, los trabajos y experimentos son complejos. En [urlj] se puede ver la aplicaci on de un simulador como campo de prueba para el estudio de Ataques de Negaci on de Servicios y los Ataques de Negaci on de Servicios Distribuidos. En algunas organizaciones, los simuladores son usados como apoyo a la gesti on y administraci on de las redes, permitiendo simular el impacto de alguna decisi on antes de que esta sea efectuada, por ejemplo la compra de nuevos equipamientos, implantar nuevos servicios,o mejorar la administraci on de estos, entre otros. Pero su uso como herramienta de apoyo a la toma de decisiones no se centra s olo en el area de redes o inform atica

Objetivos
Presentar una primera aproximaci on al uso de simuladores de redes de computadores por medio de conguraciones simples adem as de presentar ejemplos apoyando la docencia de redes de computadores.

Simulaci on de Redes de Computadores aplicado a docencia

CAP ITULO 1. ACERCA DE LA SIMULACION

Cap tulo 1

Acerca de la simulaci on
En este cap tulo se tratar a acerca de los sistemas (reales), los modelos y por supuesto de simulaci on. Se responder an preguntas del tipo Qu e es una simulaci on?, Cu ando es conveniente o no usarla?, Cu ales son las ventajas y desventajas de esta t ecnica?, Qu e tipos de simulaci on existen? y tambi en terminolog a u til en el area de la simulaci on.

1.1.

Simulaci on

La simulaci on es la imitaci on del funcionamiento de un sistema real durante un intervalo de tiempo. Esta simulaci on puede realizarse ya sea de forma manual o en forma computacional. La simulaci on se basa en un modelo de la realidad que cuenta una historia y al observar el comportamiento de esta, nos permite obtener conocimiento acerca del sistema real. El comportamiento de la simulaci on est a determinado por el modelo de simulaci on. Un modelo de simulaci on es un conjunto de supuestos concernientes al funcionamiento del sistema real. Estos supuestos se expresan a trav es relaciones l ogicas y matem aticas entre las entidades. Despu es de que el modelo es desarrollado y validado puede ser usado para investigar una gran variedad de preguntas del tipo Qu e pasa si . . . ? acerca

Simulaci on de Redes de Computadores aplicado a docencia

CAP ITULO 1. ACERCA DE LA SIMULACION

del sistema real. Cambios en un sistema real pueden ser simulados con el n de predecir el impacto en el mismo. La simulaci on tambi en puede ser usada como una estrategia en la etapa de dise no, antes de que el sistema sea construido, o puede ser usado en ambos casos a la vez, predecir el efecto de un cambio y dise nar variantes de un sistema actual. En algunos casos, el modelo puede ser lo sucientemente simple como para ser resuelto, ya sea por calculo diferencial, teor a de probabilidades, m etodos algebraicos u otras t ecnicas matem aticas. Est as soluciones consisten generalmente en uno o m as par ametros num ericos del sistema. Sin embargo muchos sistemas del mundo real son tan complejos, que es virtualmente imposible resolver su modelo por medios matem aticos. Es en estos casos, que la simulaci on es u til.

1.1.1.

Cu ando simular?

A pesar de la disponibilidad de lenguajes de simulaci on de prop ositos espec cos, y el aumento de la capacidad de computaci on masiva a bajo costo, la simulaci on no es la panacea a usar en todos los casos. A continuaci on se presenta una lista de casos (seg un [aJSCIaBLNaDN00]) en que la simulaci on es una t ecnica apropiada:

La simulaci on permite el estudio y experimentaci on con las interacciones internas de un sistema complejo. Permite ver los efectos que un cambio produce en el comportamiento de un sistema. El conocimiento ganado en dise nar un modelo de simulaci on puede ser muy u til para sugerir mejoras en el sistema que se estudia. Variaciones en los datos de entrada son muy u tiles para ayudar a comprender la importancia y relaciones entre las variables. La simulaci on sirve como una herramienta pedag ogica al permitir reforzar anal ticamente soluciones te oricas. La simulaci on tambi en puede ser usada para experimentar con nuevos dise nos o pol ticas antes de su implementaci on de modo de estar preparado para lo que pueda suceder. Simulaci on de Redes de Computadores aplicado a docencia 4

CAP ITULO 1. ACERCA DE LA SIMULACION

Simulando diferentes capacidades de hardware para una maquina, se pueden determinar sus requerimientos. Un modelo de simulaci on dise nado para el entrenamiento permite aprendizaje sin el costo e interrupci on del sistema real. Los sistemas modernos son organizaciones tan complejas que las iteraciones solo pueden ser trabajadas a trav es de la simulaci on. A continuaci on se presenta una lista de los casos en los cuales la simulaci on no debe ser usada. La simulaci on no debe ser usada cuando el problema puede ser resuelto usando el sentido com un. Tampoco es u til usar la simulaci on si el problema puede ser resuelto anal ticamente. La simulaci on no debe ser usada si es m as f acil hacer directamente los experimentos. No debe usarse la simulaci on si los costos de realizarla excede al presupuesto. Tampoco es recomendable si el recurso tiempo no est a disponible. Una simulaci on requiere datos de entrada, si no hay, entonces no vale la pena simular. Si no hay tiempo o personal para vericar y validar el modelo, tampoco es apropiado simular. Cuando el comportamiento de un sistema es tan complejo que no puede ser denido.

1.1.2.

Ventajas y desventajas de la simulaci on

Intuitivamente, la simulaci on es una soluci on agradable, al imitar el comportamiento de un sistema nos permite observar mucho m as f acilmente su comportamiento. La datos de salida deber an corresponder con las salidas que da el sistema real. Ese ser a el caso en que el modelo de simulaci on no use suposiciones dudosas (la misma distribuci on estad stica para cada variable aleatoria) en su Simulaci on de Redes de Computadores aplicado a docencia 5

CAP ITULO 1. ACERCA DE LA SIMULACION

desarrollo matem atico. Los modelos de simulaci on, a diferencia de los de optimizaci on son ejecutados y no resueltos, por lo tanto, el cambio en los datos de entrada y caracter sticas producen escenarios distintos que son evaluados, permitiendo un rango de soluciones para el an alisis. Seg un Pedgen, Shannon y Sadowski, las principales ventajas y desventajas del uso de la simulaci on son: Nuevas pol ticas, procedimientos, reglas, ujos de informaci on entre otros pueden ser probados sin interrumpir las operaciones del sistema real. Nuevos dise nos de hardware, emplazamientos f sicos, sistemas de transporte, entre otros, pueden ser testados sin comprometer los recursos para su adquisici on. Probar hip otesis acerca de del Qu e? y el C omo? de alg un fen omeno. El tiempo puede ser comprimido o expandido permitiendo un aumento o disminuci on de la velocidad de los fen omenos en investigaci on. La comprensi on problema puede ser obtenida a trav es de la interacci on de las variables. La compresi on del problema puede ser obtenida a trav es de la importancia de las variables para el desempe no del sistema. An alisis de los cuellos de botellas, indicando donde los procesos, materiales, etc. est an siendo retrasados en exceso. Un estudio de simulaci on ayuda a entender como opera el sistema, no como se cree que opera. El poder responder preguntas del tipo Qu e pasar a si. . . ? es muy u til para el dise no de nuevos sistemas. y las principales desventajas de usar simulaci on son:

Simulaci on de Redes de Computadores aplicado a docencia

CAP ITULO 1. ACERCA DE LA SIMULACION

La construcci on de un modelo no es f acil ni cualquiera puede llegar y hacerlo, requiere una preparaci on especial. Se necesita tiempo y experiencia para aprenderlo. Y como cualquier trabajo creativo, no existen dos personas que desarrollen para el mismo sistema un mismo modelo. Los resultados de la simulaci on pueden ser dif ciles de interpretar. Dado que las salidas son variables esencialmente aleatorias (y generalmente se basan en entradas aleatorias) es dif cil saber si el resultado depende de la relaci on de las variables o solo del azar del sistema. Hacer el modelo de simulaci on y de an alisis puede ser muy caro tanto en tiempo como en dinero. Ahorros excesivos pueden hacer que el modelo de simulaci on no sea suciente para lo que se necesita. Pero estas desventajas tambi en tienen su contra partida. En la actualidad existen muchos softwares de simulaci on, los cuales no requieren que se haga un an alisis del sistema para desarrollar el modelo, sino que solo se requieren datos de entrada para su uso, los cuales tambi en ofrecen facilidades de uso y de an alisis de los resultados entregados. Adem as de los avances de los software de simulaci on, tambi en se cuenta con la mejora y abaratamiento de costos del hardware que nos permiten una r apida ejecuci on de los diferentes escenarios de simulaci on.

1.2.

Simulaci on y Teor a de Sistemas

Como primer punto para modelar un sistema hay que tener claro los l mites de este, es decir, saber cual es el sistema y cual es la frontera del sistema. Un sistema se puede denir como un conjunto de objetos que se re unen de alguna interacci on regular o inter dependencia hacia el cumplimiento de alg un prop osito. Seg un esto, queda claro, que lo que corresponde a un sistema depende del problema particular a estudiar. Hay que recordar, que un sistema no est a aislado, sino que los cambios externos tambi en inuyen en su comportamiento (por ejemplo, los factores que controlan la demanda de cierto tipo de autom oviles inuye en el estudio de la producci on de una f abrica de autom oviles, pero no es controlado por esta y se toma como un valor dado por el ambiente) y por lo tanto hay que establecer que Simulaci on de Redes de Computadores aplicado a docencia 7

CAP ITULO 1. ACERCA DE LA SIMULACION

corresponde al ambiente y cual es la frontera entre este y el sistema a estudiar. Dependiendo del tama no del estudio y de lo que se desea obtener, una misma variable puede encontrarse dentro o fuera de un sistema (por ejemplo, si se estudia el comportamiento del mercado automotriz, las demandas de distintos modelos de veh culos es un punto importante a considerar). Ahora se dar a una explicaci on de los t erminos mas comunes para describir un sistema. En primer lugar se encuentra entidad que es un objeto de inter es para el sistema, un atributo es una propiedad de una entidad y una actividad representa un periodo de tiempo especicado. Un conjunto de entidades que forman un sistema, como se explico anteriormente, pueden ser parte de un sub conjunto de entidades de un sistema m as complejo. El estado de un sistema se dene como el conjunto de variables necesarias para describir el sistema en un momento de tiempo dado. Un evento es una ocurrencia instant anea que puede cambiar el estado del sistema. Por end ogeno se entiende por las actividades y eventos que ocurren dentro del sistema, y por ex ogeno para las actividades y eventos del ambiente que afectan el sistema.

1.2.1.

Sistemas discretos y continuos

Los sistemas pueden clasicarse de discretos o continuos, pero seg un Law y Kelton en realidad, hay muy pocos sistemas que puedan decirse en la practica que sean completamente discretos o continuos, pero uno de los dos predomina en la mayor a de los sistemas, y por el que predomina se clasican. Un sistema es discreto cuando las variables de estados cambian en un conjunto discreto de puntos en el tiempo (por ejemplo, n umero de clientes en una cola var a cuando llega un nuevo cliente y cuando un cliente es atendido). Un sistema es continuo cuando las variables cambian continuamente a trav es del tiempo (por ejemplo, el ujo de agua que trae un r o).

Simulaci on de Redes de Computadores aplicado a docencia

CAP ITULO 1. ACERCA DE LA SIMULACION

1.3.

Modelos

Como se ha dicho en los puntos anteriores, muchas veces es imposible trabajar con el sistema real, y por lo tanto se usa simulaci on. Un modelo es una representaci on del sistema real hecho con el prop osito de su estudio. Aunque un modelo debe considerar todos los aspectos del sistema que sean relevantes para el estudio, un modelo es una simplicaci on del sistema, pero debe contener el suciente detalle para que las conclusiones obtenidas sean validas en el sistema real. Si el prop osito del estudio cambia, aunque no hayan cambios en el sistema, el modelo tambi en debe cambiar. Un modelo contiene s olo componentes que son relevantes para el estudio.

1.3.1.

Tipos de modelos

Los modelos pueden clasicarse como matem aticos o f sicos. El modelo matem atico usa notaciones simb olicas y ecuaciones matem aticas para representar el sistema. Los modelos de simulaci on son un caso particular de este modelos matem aticos. Los modelos de simulaci on pueden clasicarse como est aticos o din amicos, determinista o estoc astico, o discreto o continuo. Los modelos de simulaci on est aticos muestran el sistema en un momento determinado en el tiempo, y los modelos de simulaci on din amicos muestran el sistema a medida que cambia el tiempo. Un modelo de simulaci on es determinista cuando no contiene variables aleatorias, dado un conjunto conocido de datos de entrada, dar a un u nico conjunto de datos de salida. Si el modelo presenta una o m as variables aleatorias como entrada, es estoc astico. Los modelos discretos y continuos se denen de manera similar a los sistemas, pero hay que considerar que no siempre se usa un modelo discreto para modelar un sistema discreto y un modelo continuo no siempre se usa para modelar un sistema continuo, incluso, los modelos de simulaci on pueden estar mezclados.

Simulaci on de Redes de Computadores aplicado a docencia

CAP ITULO 1. ACERCA DE LA SIMULACION

1.4.

Metodolog a para Realizar un Estudio de Simulaci on

Como se dijo anteriormente, para realizar un estudio usando la simulaci on hay que tener o crear un modelo que represente el sistema, junto con las necesidades y objetivos que queremos cumplir (recordar que para objetivos distintos de un mismo sistema, se necesitan modelos distintos). Seg un (referencia a bank) se recomienda seguir los pasos que se muestran a continuaci on: Formulaci on del problema Como en cualquier ambito, para resolver un problema, hay que describir completamente el problema, aunque existen muchos casos, en que esto debe ser reformulado. Planteamiento de objetivos y plan de proyectos Los objetivos nos indican que es lo que tiene que hacer la simulaci on, es decir, que respuestas nos va a entregar. Tambi en es en esta etapa que se decide si la simulaci on es una herramienta apropiada para el problema, y si lo es, se debe organizar el proyecto, en temas como otras formas de obtener el resultado, las validaciones y cuanta gente y tiempo se va a emplear. Conceptualizaci on del modelo Es en este paso donde se luce el encargado de desarrollar el modelo. La construcci on de un modelo no es solo una lista de pasos a seguir, no existe una pauta que diga as se construyen modelos perfectos. Para modelar se necesita sacar las caracter sticas esenciales del sistema, y luego mediante suposiciones y correcciones, mejorar el modelo para que se aproxime al sistema. No es necesario que sea igual al sistema, sino que sea una esencia del sistema real. La experiencia es la mejor gu a en esta etapa. Conjunto de datos Los datos requeridos dependen totalmente del modelo desarrollado, mientras el modelo esta siendo desarrollado, los conjuntos de datos requeridos tambi en van sufriendo modicaciones. Los datos hist oricos (de los cuales ya sabemos su comportamiento)sirven para validar el modelo. Traducci on del modelo Esta es la etapa en que se pasa el modelo al computador, ya sea por medio de un lenguaje de simulaci on o un software de simulaci on de prop osito especico.

Simulaci on de Redes de Computadores aplicado a docencia

10

CAP ITULO 1. ACERCA DE LA SIMULACION

Vericaci on Se reere a la vericaci on del programa en si, Est a ejecut andose apropiadamente?. Se buscan y corrigen errores de programaci on y de la estructura l ogica del modelo esta correctamente representada. Validaci on La validaci on se reere a si el modela es la representaci on exacta del sistema real. Esto se logra mediante el proceso de comparar el modelo con el sistema y usar esas diferencias para ir ajustando el modelo Dise no del experimento Se reere al dise no de lo que se va a simular, y las decisiones que conciernen a cada escenario de simulaci on, como el tiempo que va a durar, su complejidad y valores de variables ex ogenas entre otras. Ejecuciones de producci on y an alisis Ejecutar las simulaciones y el posterior an alisis estimar medidas desempe no para el sistema que esta siendo simulado. M as ejecuciones? El analista debe determinar si son necesarias m as simulaciones y el dise no que estas deben tener. Documentaci on y reportes Se consideran dos tipos de documentos, los de documentaci on del programa, tanto para si va se usado otra vez, o ser usado por otros analistas, tambi en es importante por si es necesario hacer modicaciones al programa, adem as da una mayor conanza que el programa este documentado. Con los reportes se reere al progreso del trabajo de simulaci on, son una suerte de bit acora que cuenta el trabajo realizado y las decisiones tomadas. Tambi en se sugiere la realizaci on de entregables peri odicos que no sean necesariamente grandes logros, sino con el n de mantener informados al personal que no est a trabajando directamente en el. Estos documentos tienen que estar programados en el Planteamiento de objetivos y plan de proyectos. Implementaci on Una vez obtenidos los an alisis de las salidas de la simulaci on estos deben ser llevados al sistema estudiado. Visto de una forma m as general, el proceso de construir un modelo de simulaci on puede dividirse en 4 partes. La primera de estas centrada en el conocimiento del problema, en un primer momento extra no y confuso, esta parte est a formada por los dos primeros pasos anteriores. Esta parte es la gu a del trabajo a seguir.

Simulaci on de Redes de Computadores aplicado a docencia

11

CAP ITULO 1. ACERCA DE LA SIMULACION

La segunda parte se enfoca en el desarrollo del modelo de simulaci on, esta formada por los pasos 3 (conceptualizaci on del modelo), 4 (conjunto de datos), 5 (traducci on del modelo), 6 (vericaci on) y 7 (validaci on). Aqu , adem as de hacer un modelo que represente al sistema cumpliendo los objetivos propuestos, es muy importante que el modelo sea vericado y mas importante, que este validado. Si el modelo no est a validado, cualquier conclusi on a que se llegue con su uso no tiene ning un peso. La tercera parte se reere a la ejecuci on de los experimentos anteriormente dise nados sobre el modelo. Esto incluye adem as de Dise no de los experimentos a ejecuciones de producci on y an alisis y M as ejecuciones?. Es importante recordar que los resultados de los modelos son estimaciones con errores asociados. Se recomienda el uso de herramientas estad sticas para el an alisis de los resultados. Y la u ltima parte a considerar, es la implementaci on del modelo, la cual est a compuesta por Documentaci on y reportes e Implementaci on, propiamente tal. Cabe destacar que en ciertos estudios de simulaciones solo se realiza la documentaci on y reportes, pues no se necesita llevar los resultados al sistema. Tambi en no hay que dejar de lado la documentaci on cuando se realiza la implementaci on. Un producto no documentado pierde validez al no saber como fue construido y la forma en que debe usarse.

1.5.

Terminolog a Util

A continuaci on se presenta una lista de terminolog a u til en el ambiente de la simulaci on discreta de sistemas.

Sistema Conjunto de Entidades que inter act uan durante un periodo de tiempo para cumplir una o m as metas. Modelo Una representaci on abstracta de un sistema. conteniendo una estructura de relaciones l ogicas o matem aticas que describen un sistema en t erminos de de estados, entidades (y sus atributos), conjuntos, procesos, eventos, actividades y retardos.

Simulaci on de Redes de Computadores aplicado a docencia

12

CAP ITULO 1. ACERCA DE LA SIMULACION

Estado del sistema Conjunto de variables que contienen toda la informaci on necesaria para describir al sistema en cualquier momento. Entidad Alg un objeto o componente del sistema que requiere una representaci on expl cita en el modelo. Atributos Propiedades de una entidad dada. Lista Colecci on de asociaciones (temporales o permanentes) de entidades en alguna forma l ogica. Evento Una ocurrencia instant anea que cambia el estado de un sistema. Noticaci on de Eventos Registro de un evento que ocurre actualmente o que ocurrir a en el futuro (falta) Lista de Eventos Lista de noticaci on de eventos futuros, ordenados por tiempo de ocurrencia. Actividad Longitud de tiempo de tama no especico, conocido al comienzo. Retardo Longitud de tiempo de tama no no determinado que no es conocido hasta su termino. Clock Variable que representa el tiempo simulado.

Simulaci on de Redes de Computadores aplicado a docencia

13

DE LA HERRAMIENTA CAP ITULO 2. SELECCION

Cap tulo 2

Selecci on de la herramienta
Este cap tulo se enfocar a en los software de simulaci on orientados a redes. Primeramente se presentar an las herramientas m as conocidas en el ambiente GNU GLP, y a continuaci on se mostrar a el software elegido para este trabajo.

2.1.
2.1.1.

Herramientas Disponibles
Network Simulator Tesbed (NEST)

Simulador [urla] desarrollado por el departamento de Computer Science de la Columbia University. Nest provee un ambiente de simulaci on para sistemas de redes distribuidas y protocolos b asicos. Tambi en tiene una interfaz gr aca que permite controlar la simulaci on. Est a basado en una arquitectura cliente/servidor, lo que permite que complejos escenarios de simulaci on sean ejecutados en servidores remotos con mayores capacidades de calculo. Fue implementado en C y permite a los usuarios ejecutar sus propios c odigos escritos en este mismo lenguaje.

Simulaci on de Redes de Computadores aplicado a docencia

14

DE LA HERRAMIENTA CAP ITULO 2. SELECCION

2.1.2.

Maryland Routing Simulator (MaRS)

Simulador de eventos discretos [urld], surgi o a principios de los a nos 90, en el departamento de Computer Science de la University of Maryland. Este programa es una evoluci on de un simulador m as antiguo llamado NetSim. Implementado en C en una plataforma Unix, posee dos interfaces gr acas (Xlib y Motif) y una en modo texto. Esta enfocado al estudio de algoritmos de ruta en redes WAN.

2.1.3.

Realistic And Large Network Simulator (Real)

La intenci on principal de este simulador [urlg] es estudiar el comportamiento din amico de ujos y el esquema de control de congesti on en redes de datos packet switched permitiendo a los usuarios implementar un tipo de red y simular su comportamiento. Los m odulos del simulador estan escritos en C y tambi en se ha desarrollado una interfaz de usuario gr aca (GUI) en Java (por Hani T. Jamjoom de Cornell University). La GUI facilita la construcci on de escenarios. Esta tambi en permite hacer simulaciones que son ejecutadas en un servidor de la Cornell University y cuyo resultado es enviado para ser mostrado por la GUI. Este programa no permite el estudio de sistemas o par ametros que no afecten de forma directa al ujo de conexiones TPC/IP principal. Esto limita la capacidad de modelar un sistema real.

2.1.4.

Network Simulator 2 (ns-2)]

Simulador discreto de redes [urlf], surgi o a nales de los a nos 80, a partir de REAL network simulator. Incorpora capacidades de routing y multicast en redes estructuradas y wireless. En los 90 DARPA se hizo presente a trav es del proyecto VINT. Tambi en se encuentra patrocinado por Xerox y el instituto de ciencias de la inform acion de

Simulaci on de Redes de Computadores aplicado a docencia

15

DE LA HERRAMIENTA CAP ITULO 2. SELECCION

la Universidad del Sur de California. Este simulador en sus inicios est a pensado para ejecutarse en una plataforma Linux, sin embargo, actualmente tambi en existe una versi on que puede ser ejecutada sobre Windows 9x/Me. Fue implementada en C++, pero para realizar las simulaciones usa un lenguaje interpretado llamado Tcl (aunque realmente lo que usa es OTcl, que es la versi on orientada a objetos de Tcl) aunque esto no impide una interacci on entre ambos lenguajes. Adem as cuenta con un visualizador llamado Nam, que permite ver en forma m as c omoda los resultados de la simulaci on.

2.1.5.

S3 project / Scalable Simulation Framework

Este simulador [urlh], patrocinado por Renesys Corporation, el Institute for Security Technology Studies at Dartmouth y DARPA. Este simulador, codicado en C++ proporciona dos interfaces de programaci on en los lenguajes Java y C++, as como en DML (que es un lenguaje espec co para modelar). Es altamente escalable y permite el uso de practicamente todos los protocolos en internet. Se basa en 5 clases (Entity, inChannel, outChannel, Process y Event) con los cuales permite al usuario modelar su sistema. Por otro lado, la interacci on con la simulaci on solo puede hacerse a trav es del DML. Un problema que presenta este simulador es la falta de rendimiento en las versiones gratuitas, ya que la versi on optimizada es comercial.

2.1.6.

Java Simulator (J-Sim)

Simulador [urlc] desarrollado con el apoyo de NSF, DARPA, CISCO y las Universidades de Illinois y Ohio.

Simulaci on de Redes de Computadores aplicado a docencia

16

DE LA HERRAMIENTA CAP ITULO 2. SELECCION

J-Sim provee un ambiente de simulaci on compuesto basado en componentes. Est a hecho sobre un modelo de programaci on de componentes aut onomos. La entidad b asica en este simulador son los componentes y su comportamiento est a denido en t ermino de contratos. J-Sim esta implementado completamente en Java, pero tambi en provee una interfaz de script para la integraci on con diferentes lenguajes de script como Perl, Tcl o Python. La extensi on para usar J-Sim con Tcl se llama Jacl. A diferencia de Ns-2, en J-Sim las clases, metodos y eldsno necesitan ser exportados explicitamente para ser accesados en el ambiente Tcl. Proporciona soporte para la gran mayor a de los protocolos usados en internet, as como multicast y QoS.

2.1.7.

Wireless IP Simulator (WIPSIM)

Proyecto actualmente en curso [urli], desarrollado por el Departament of Communication Technology de la Aalborg University (Dinamarca). Se enfoca a la simulaci on de redes wireless en IPv6. Tiene una estructura donde es muy f acil escribir protocolos en las capas de transporte, red, enlace de datos y MAC, y tiene implementaciones para UDP, DiServ, ISMA, CSMA y Blue Tooth. Su uso principal es en investigaci on y estudio de mecanismos de control de congesti on, escenarios m oviles, protocolos y descubrimientos de rutas, entre otros. Se encuentra implementado en C++.

2.1.8.

NCTUns 2.0 Network Simulator/Emulator

Desarrollado por el profesor S.Y. Wang en la Harvard University. El profesor S.Y. Wang present o este trabajo en 1999 para obtener su Ph.D. Actualmente Simulaci on de Redes de Computadores aplicado a docencia 17

DE LA HERRAMIENTA CAP ITULO 2. SELECCION

trabaja en Department of Computer Science and Information Engineering de la National Chiao Tung University en Taiwan. Esta herramienta [urle] es tanto un emulador como un simulador. Para realizar las simulaciones usa el mismo protocolo TCP/IP que se encuentre en el computador donde se ejecute el programa, dando una mayor desempe no a la simulaci on. Adem as permite usar todos las herramientas presentes en el computador, sin ninguna modicaci on por parte de ellas (por ejemplo, herramientas de monitereo y conguraci on de redes). Entre los tipos de redes que puede simular se cuentan redes estructuradas con host jos, LAN wireless, redes OBS, entre otros. Entre los dispositivos de red se pueden contar hubs ethernet, switches, router, host, estaciones y puntos de acceso wireless IEEE 802.11(b), estaciones base GPRS, switch opticos, etc. Y entre los protocolos se puede encontrar IEEE 802.3 CSMA/CD MAC, IEEE 802.11 (b) CSMA/CA MAC, IP, IP movil, Diserv (QoS), Rip, OSPF, UDP, TCP, HTTP, FTP, telnet, etc. Tambi en provee una GUI que ayuda al usuario a dibujar y congurar la red deseada, denir caminos para nodos m oviles, dibujar gr acos de la desempe no de la red, ver animaciones entre otros. Las simulaciones tambi en se pueden realizar por medio de script.

2.2.

Elecci on de la Herramienta

El software elegido es Network Simulator 2 (ns-2) actualmente en la versi on 2.28. La raz on de la elecci on principalmente se encuentra en que es una herramienta libre, muy completa y en constante desarrollo, la u ltima versi on disponible est a fechada al 3 de febrero del 2005. Otro punto importante a considerar es que esta herramienta est a ampliamente difundida en al ambito acad emico mundial, aunque no es as en Chile.

Simulaci on de Redes de Computadores aplicado a docencia

18

DE LA HERRAMIENTA CAP ITULO 2. SELECCION

2.2.1.

Acerca de ns-2

Ns es un simulador discreto orientado a redes, escrito en C++, usa OTcl como frontend. El simulador presenta dos jerarqu as, la jerarqu a compilada escrita en C++ y la jerarqu a interpretada que corresponde a OTcl. Ambas se encuentran estrechamente relacionadas entre si, ya que cada objeto presente en la jerarqu a compilada encuentra su s mil en la jerarqu a interpretada. Ns-2 presenta dos objetivos a cumplir, por una parte, para manejar los detalles de los protocolos de la simulaci on, se necesita un lenguaje de programaci on que sea eciente en el manejo de bytes y grandes conjuntos de datos. En este caso, lo que importa es el tiempo de ejecuci on. Por otro lado, es necesario crear escenarios y probar diversas conguraciones. El tiempo de iteraci on, es decir, el tiempo entre los cambios son lo m as importante en este punto. NS-2 utiliza C++ para cumplir el primer objetivo, ya que es r apido para las ejecuciones y OTcl para el segundo objetivo, ya que pueden realizarse los cambios mucho m as r apido en en C++, es ideal para congurar la simulaci on. Para unir ambas piezas, ns utiliza tclcl. OTcl, adem as de usarse para la conguraci on, sirve para manipular todos los objetos C++ existentes. Es decir, se pueden escribir script de simulaci on sin escribir una sola l nea en C++. En cambio, si se desea implementar un nuevo protocolo, un nuevo comportamiento a una clase existente o cualquier cosa que requiera procesamiento de cada paquete de un ujo, debe usarse C++ (y por consiguiente re compilar ns-2 para que los cambios surjan efecto). En la gura refg:estructura se muestra la arquitectura interna de ns-2.

Simulaci on de Redes de Computadores aplicado a docencia

19

DE LA HERRAMIENTA CAP ITULO 2. SELECCION

Figura 2.1: Estructura de ns-2

En una forma simplicada ns-2 se puede ver como se muestra en la gura 2.2

Figura 2.2: Vista simplicada del funcionamiento de ns-2

Se inicia con un script en OTcl, En el cual se especican protocolos, estructuras f sicas, tr acos y orden de los eventos, entre otros aspectos a simular. Luego viene el procesamiento interno del archivo dado, los resultados de la simulaci on pueden ser entregados en tres tipos de archivos distintos: los archivos generados por el usuario, los archivos de traza y los archivos de nam. Los archivos generados por el usuario son del formato y necesidades denidas por este, los archivos de traza muestran informaci on de los paquetes que est an en la red, y el archivo nam muestra la misma informaci on pero de forma que pueda ser interpretada por Nam. El archivo de traza no es f acil de ver, para eso se usan herramientas como tracegraph, o para extraer y analizar datos, con perl o AWK, tambi en se puede pedir que como salida de un archivo con formato nam para ser visto por este simulador.

A continuaci on se presenta el formato de los archivos de traza: Simulaci on de Redes de Computadores aplicado a docencia 20

DE LA HERRAMIENTA CAP ITULO 2. SELECCION

Evento

Tiempo

Del nodo

Al nodo

Tipo pkt

Tama~ no pkt

Flag

Fid

Dir fuente

Dir destino

Num secuencia

Id pkt

donde: Evento: Se reere , puede tomar los valores r recibido, d eliminado, + colocado en la cola, - sacado de la cola . Tiempo: Del nodo: Nodo de donde viene el paquete, no necesariamente el de origen. Al nodo: Siguiente nodo al que va el paquete. Tipo pkt: Tipo de paquete, puede ser Tama no del paquete: Tama no del paquete que viaja por la red. Flag: Banderas. Fid: Id del ujo. Dir fuente: Nodo de origen del paquete. El formato es nodo.puerto Dir destino: Nodo destino del paquete. El formato es nodo.puerto Num sec: N umero de secuencia del paquete. Id pkt: Id del paquete. d

Simulaci on de Redes de Computadores aplicado a docencia

21

CAP ITULO 3. APLICACIONES EN NS-2

Cap tulo 3

Aplicaciones en ns-2
En este cap tulo se presentan peque nas conguraciones que muestran algunas de las posibilidades de desarrollo que ofrece esta herramienta. Solo se ver an ejemplos simples para comprender su uso y las posibilidades que entrega.

3.1.

Router

En este primer ejemplo, vemos el comportamiento de 3 equipos conectados a un router. Los equipos 0 y 1 son los generadores de tr aco (FTP y Telnet en el caso del equipo 0 y FTP en el equipo 1), el equipo 3 es el receptor de todos los tr acos y el equipo dos cumple la funci on de router. La distribuci on de los equipos se muestran en la gura 3.1.

Figura 3.1: Diagrama de red

Simulaci on de Redes de Computadores aplicado a docencia

22

CAP ITULO 3. APLICACIONES EN NS-2

A continuaci on datos de la conguraci on inicial: Tipo de enlaces Full duplex Ancho de banda de los enlaces Retardo de los enlaces Disciplinas de colas Largo de cola del router Protocolo equipo 0, 1 y 3 TCP 100Kbps 10 ms DropTail

3.1.1.

Desarrollo

Como primer ejemplo presentado, se ir a comentando la mayor a del c odigo, m as adelante, aspectos b asicos se omitir an. En las siguientes l neas se dene la topolog a mostrada en la gura 3.1.

1 2 3 4 5 6 7 8 9 10 11 12 13

#creacion de nodos set r0 [$ns node] set r1 [$ns node] set r2 [$ns node] set r3 [$ns node] # creacion de los enlaces $ns duplex-link $r0 $r2 10Mb 10ms $ns duplex-link $r1 $r2 10Mb 10ms $ns duplex-link $r2 $r3 10Mb 10ms #orientacion de los nodos en nam $ns duplex-link-op $r0 $r2 orient $ns duplex-link-op $r1 $r2 orient $ns duplex-link-op $r2 $r3 orient

DropTail DropTail DropTail right-down right-up right

1 2 3 4 5 6 7

proc guardar {} { global ns g1 sink1 sink2 sink3 set ns [Simulator instance] set tiempo 0.5 set ahora [$ns now] #recibidos set recFTP0 [$sink1 set bytes ] 23

Simulaci on de Redes de Computadores aplicado a docencia

CAP ITULO 3. APLICACIONES EN NS-2

8 9 10 11 12 13 14 15 16 17 18 19 20 21 }

set recTELNET0 [$sink2 set bytes ] set recFTP1 [$sink3 set bytes ] #anchos de banda en kbps set bw1 [expr $recFTP0/$tiempo*8/1000] set bw2 [expr $recTELNET0/$tiempo*8/1000] set bw3 [expr $recFTP1/$tiempo*8/1000] #ingresar al archivo salida1.tr puts $g1$ahora $bw1 $bw2 $bw3 [expr $bw1+$bw2+$bw3] #inicializar $sink1 set bytes 0 $sink2 set bytes 0 $sink3 set bytes 0 $ns at [expr $tiempo+$ahora] guardar

El procedimiento guardar es el encargado de registrar y calcular el ancho de banda usado por cada conexi on durante toda la simulaci on. En la l nea 5 se ja el valor del intervalo de tiempo con el cual se calcula el ancho de banda (es decir, cada cuanto tiempo se llama al procedimiento). La l nea 6 nos da el tiempo actual. De la l nea 8 a la 10 se almacena en las variables el valor de bytes recibidos durante ese intervalo de tiempo. Despu es entre las l neas 12 a la 14 se calcula el ancho de banda en Kbps por cada una de las conexiones, los cuales son escritos en el archivo salida1.tr en la l nea 16. Los pasos siguientes son la inicializaci on de las variables que cuentan los bytes recibidos por el equipo 3 y la llamada recursiva al procedimiento en la l nea 20. El formato del archivo salida1.tr es el siguiente: 0.10000000000000001 0.0 0.0 0.0 0.0 2.6000000000000001 20.096 0.128 20.096 40.32

Donde la primera columna representa al tiempo, la segunda y tercera columna al ancho de banda del protocolo FTP y Telnet del equipo 0, la cuarta corresponde al protocolo FTP del equipo 1. Por u ltimo, en la quinta columna est a el ancho de banda total que va hacia el equipo 2.

Simulaci on de Redes de Computadores aplicado a docencia

24

CAP ITULO 3. APLICACIONES EN NS-2

Con este

3.2.

LAN Ethernet

El ejemplo de esta secci on representa una peque na LAN, como cualquiera que puede verse en un hogar, cuya distribuci on puede verse en la imagen 3.2

Figura 3.2: Diagrama de red

3.3.

Router y LAN Ethernet

El ejemplo de esta secci on representa la uni on de las dos estructuras vistas anteriormente. Por ejemplo, puede corresponder a dos departamentos en una ocina, unidos por un router, cuya distribuci on f sica puede verse en la imagen 3.3. Sobre esta red se generan 3 tipos de tr acos: Exponencial (por ejemplo VoIP), FTP y CBR. Para el tr aco exponencial, el transmisor se encuentra en el nodo 1 y el receptor en el nodo 11. En el tr aco FTP el transmisor se encuentra en el nodo 10 y el receptor en el nodo 3.Para el tr aco CBR el transmisor se encuentra en el nodo 11 y el receptor en el nodo 0. (cambiar numero de nodos seg un nueva imagen)

Simulaci on de Redes de Computadores aplicado a docencia

25

CAP ITULO 3. APLICACIONES EN NS-2

11

10

Figura 3.3: Diagrama de red

Numero de nodos en Lan 1 Numero de nodos en Lan 2 Retardo en Lan 1 Retardo en Lan 2 Ancho de banda de los enlaces en Lan 1 Ancho de banda de los enlaces en Lan 2 Disciplina de cola en Lan 1 Disciplina de cola en Lan 2 Ancho de banda de hacia el router Retardo hacia el router Disciplina de cola hacia el router Largo de cola hacia el router

7 5 10ms 10ms 100Mb 100Mb Drop Tail Drop Tail 200Kb 30ms Drop Tail 50

3.4.

Conclusiones

Simulaci on de Redes de Computadores aplicado a docencia

26

CAP ITULO 4. CONCLUSIONES

Cap tulo 4

Conclusiones

Simulaci on de Redes de Computadores aplicado a docencia

27

DE NS-2 APENDICE A. INSTALACION

Ap endice A

Instalaci on de ns-2
El software necesario para instalar ns-2 en el sistema operativo Linux (en este caso, Red Hat 9) se encuentra disponible en forma gratuita en http: //www.isi.edu/nsnam/ns/. En este mismo sitio se encuentran enlaces a diferentes manuales, tutoriales, FAQ, entre otros. La versi on instalada es la 2.28 consta de los siguientes paquetes b asicos mostrados en la tabla A.1.

Paquete Tcl Tk Otcl TclCL Ns TclDebug Nam Xgraph GT-ITM SGB CWEB ZLib

Versi on instalada 8.4.5 8.4.5 1.9 1.16 2.28 1.9 1.11 12 1.1 1.0 1.0 1.1.4 Cuadro A.1: Paquetes instalados con ns-2

Simulaci on de Redes de Computadores aplicado a docencia

28

DE NS-2 APENDICE A. INSTALACION

El programa se puede instalar de dos formas, paquete por paquete o todo a la vez. Para usuarios no expertos se recomienda la instalaci on de todo a la vez. Para ello se deber a bajar el archivo comprimido todo en unoque pesa alrededor de unos 57 MB sin descomprimir. El nombre del archivo utilizado es ns-allinone-2.28.tar.gz. Los pasos para instalar ns-2 son los siguientes:

1. 2. 3.

Copiar el archivo ns-allinone-2.28.tar.gz en /usr. Descomprimir el archivo (tar -zxvf ns-allinone-2.28.tar.gz). Entrar a la carpeta /usr/ns-allinone-2.28/ns-2.28 y ejecutar el script install.

4.

Ahora hay que poner las variables de entorno. Para eso editar el archivo /etc/prole con lo siguiente: PATH=$PATH:/usr/ns-allinone-2.28/bin:/usr/ns-allinone-2.28/tcl8.4.5/unix:/usr/ns-allinone-2.28/tk8.4.5/unix export LD LIBRARY PATH=/usr/ns-allinone-2.28/OTCL-1.9:/usr/nsallinone-2.28/lib export TCL LIBRARY=/usr/ns-allinone-2.28/tcl8.4.5/library

5.

Entrar a la carpeta /usr/ns allinone-2.28/ns-2.28 y ejecutar el script validate Ahora, ns-2 y nam est an listos para ser usados por cualquier usuario.

Simulaci on de Redes de Computadores aplicado a docencia

29

BIBLIOGRAF IA

Bibliograf a
[aJSCIaBLNaDN00] Jerry Banks Jhon S. Carson II Barry L. Nel son DavidNicol. Discrete-event system simulation. Ed Prentice-Hall, 2000. [urla] [urlb] [urlc] [urld] Ftp ocial de nest. ftp://ftp.cs.columbia.edu/nest/. Sitio de la real academia espa nola. http://www.rae.es. Sitio ocial de j-sim. http://www.j-sim.org/. Sitio ocial de mars. http://www.cs.umd.edu/projects/ netcalliper/software.html. Sitio ocial de nctuns. http://nsl10.csie.nctu.edu. tw/. Sitio ocial de ns-2. http://www.isi.edu/nsnam/ns/. Sitio ocial de real. skeshav/real. http://www.cs.cornell.edu/

[urle]

[urlf] [urlg]

[urlh]

Sitio ocial de s3. http://dimacs.rutgers.edu/ Projects/Simulations/darpa/. Sitio ocial de wipsim. projects/wipsim/. http://sourceforge.net/

[urli]

[urlj]

Uso de herramientas de simulaci on para estudiar ataques dos/ddos. http://tau.uab.es/~gaby/.

Simulaci on de Redes de Computadores aplicado a docencia

30

También podría gustarte