Sunteți pe pagina 1din 27

SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

LUZ KARIME RAMREZ ARAGN

Anteproyecto de grado presentado como requisito parcial para optar al ttulo de Ingeniero Electrnico

UNIVERSIDAD DEL VALLE FACULTAD DE INGENIERA ESCUELA DE INGENIERA ELCTRICA Y ELECTRNICA PROGRAMA ACADMICO DE INGENIERA ELECTRNICA SANTIAGO DE CALI 2013 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

LUZ KARIME RAMREZ ARAGN Cdigo 0711078

Aprobacin del director de proyecto

___________________________________________ Ing. Oscar Polanco Sarmiento

______________________________ Ing. Leandro Villa, M.Sc Coordinador del rea de Telecomunicaciones

______________________________ Ing. Hernando Vsquez, M.Sc Director del plan de Estudios Ingeniera Electrnica

TABLA DE CONTENIDO

INTRODUCCIN.................................................................................................................................... 5 1ANTECEDENTES .................................................................................................................................. 5 2FORMULACIN DEL PROBLEMA ........................................................................................................ 8 3JUSTIFICACIN ................................................................................................................................... 9 4OBJETIVOS .......................................................................................................................................... 9 5MARCO TERICO ............................................................................................................................. 10 6METODOLOGA ................................................................................................................................ 13 7RESULTADOS ESPERADOS ................................................................................................................ 15 8PRESUPUESTO .................................................................................................................................. 16 9CRONOGRAMA DE ACTIVIDADES ..................................................................................................... 18 10REFERENCIAS.................................................................................................................................. 19

INTRODUCCIN

La simulacin en el campo de las comunicaciones proporciona una herramienta que facilita el aprendizaje y el estudio de la redes de comunicacin. Adems permite experimentar y evaluar el desempeo de una red sin necesidad de contar con una infraestructura para su implementacin, proporcionando herramientas de desarrollo para la construccin, diseo y anlisis de redes. El uso de las herramientas de simulacin en el proceso de enseanza-aprendizaje actualmente ha tenido un gran auge debido al avance de la tecnologa, por tanto es necesario disear mdulos temticos que incluyan la simulacin y permitan abordar temas de mayor complejidad. En la actualidad existen diversas implementaciones de simuladores de redes como: Opnet, Omnet++, Glomosim, Network Simulator, etc. Sin embargo, Network Simulator o NS-2 es uno de los programas de software ms utilizados en el mbito acadmico y de investigacin ya que ofrece la posibilidad de utilizar una gran variedad de topologas de redes, admite el acceso al cdigo interno y posee licencia de distribucin libre, lo que ha permitido que sus usuarios difundan sus desarrollos en redes.

El presente proyecto se centra en la simulacin de diferentes variantes del protocolo TCP en NS-2 (TCP-Linux y TCP-por defecto) para evaluar su desempeo y desarrollar un mdulo de simulacin para apoyar los cursos de redes del rea de Telecomunicaciones de la EIEE.

ANTECEDENTES

El software de simulacin NS-2 comenz a desarrollarse en 1989 como una variante del simulador de red REAL Network Simulator. A partir de 1996 se desarrolla NS-2 por el proyecto VINT (Virtual InternetworkTestbeb) de la agencia de proyectos de investigacin avanzada para la defensa de Estados Unidos (DARPA). En el proyecto intervienen como colaboradores la Universidad del Sur de California, el centro de investigacin de Xerox en Palo Alto, los laboratorios Lawrence Berkeley y la Universidad de California en Berkeley. En la actualidad NS es desarrollado en colaboracin entre una serie de investigadores e instituciones: SAMAN (SimulationAugmentedbyMeasurement and Analysisfor Networks) con el apoyo de DARPA; CONSER (CollaborativeSimulationforEducation and Research) a travs de la NSF e ICIR (antes ACIRI). A continuacin se presentan algunos trabajos desarrollados que hacen uso del NS-2.

Evaluacin de una Red Utilizando Herramientas de Simulacin(1)

El autor realiza la simulacin del protocolo TCP con sus algoritmos de rendimiento, utilizando el simulador de redes NS (Network Simulator) debido a que este software mostr ms flexibilidad que otros. Adems observa su desempeo, en un modelo con congestin. Gracias a que NS soporta diferentes versiones de TCP, el autor elige las versiones TCP Tahoe y TCP New Reno, para ver como implementan cada uno sus algoritmos de control de la congestin, el cdigo de la simulacin para las dos versiones es el mismo. Puesto que TCP tiene otras variantes e implementaciones, ste trabajo deja espacio para continuar explorando con la simulacin y evaluacin de desempeo de stas, claro est teniendo como referencia la variante TCP Tahoe (la cual es la variante original de TCP).

Generacin de escenarios de redes Bluetooth compatibles con el simulador NS-2(2) El autor desarrolla una herramienta que permite de manera sencilla y flexible modelar y generar distintos escenarios de redes Bluetooth que se puedan usar en el entorno de simulacin de NS-2. Debido a que NS-2 presentaba deficiencias en el mbito de redes Bluetooth pues para su simulacin era necesaria la instalacin de un mdulo adicional llamado UCBT (University of Cincinnati - BlueTooth), el cual es un mdulo para simular redes Bluetooth en NS-2 desarrollado en la Universidad de Cincinnati. Desarrolla una aplicacin mediante una interfaz grfica que permite modelar los escenarios, permitiendo cambios de los parmetros ms significativos de la simulacin para las redes Bluetooth. La herramienta tambin permite generar un script TCL correspondiente al escenario que el usuario haya creado para posteriormente llevarlo al entorno de simulacin de NS-2. Realiza un anlisis, medicin y comparacin del trfico Bluetooth generado en un entorno real y en el entorno de simulacin.

Implementacin de Protocolos de la Capa de Enlace de Datos en los simuladores OMNET++ y NS-2. (3)

Los autores implementan los protocolos de capa de enlace de datos presentados en el libro de Redes de Computadoras del autor Andrew Tanembaum en los simuladores OMNET++ y NS-2. Presentan la metodologa para implementar estos protocolos de acuerdo a las facilidades que ofrecen cada uno de los simuladores. Adems presentan el procedimiento para la configuracin de los escenarios en los que se simula los protocolos propuestos, verificando y analizando los resultados obtenidos. Los protocolos de la capa de enlace de datos a implementarse son seis, los cuales han sido clasificados en dos grupos: tres protocolos elementales de enlace de datos y tres protocolos de ventana corrediza. En particular, el trabajo se centra en introducir nuevos componentes que representen a protocolos en los simuladores OMNET++ y NS-2. En cuanto al simulador NS-2 realizan una breve introduccin de las clases que implementan los principales elementos que intervienen en un escenario de simulacin, en base a esto se determina de dnde partir para la implementacin de los nuevos protocolos planteados. La funcionalidad de los protocolos se implementa en lenguaje de programacin C++, la configuracin del escenario de simulacin y de los parmetros de los protocolos se realiza en un script para lo cual se hace uso del lenguaje de programacin OTcl.

Estudio y anlisis de prestaciones de redes mviles Ad Hoc mediante simulaciones NS-2 para validar modelos analticos (4) El autor valida mediante simulaciones hechas en el NS-2, un modelo matemtico desarrollado en el Grupo de Servicios Telemticos de la Universidad Politcnica de Catalua. El modelo matemtico que se valida tiene como objetivos obtener el tiempo medio que una ruta est disponible en una MANET, el mximo nmero posible de saltos en la red y la probabilidad de que haya un nmero de saltos en una comunicacin. Con el objetivo de analizar distintos parmetros de las redes MANET utiliza el simulador Network Simulator 2 (NS-2) por su potencial y por su amplio uso en este tipo de redes. Estudian los siguientes parmetros: tiempo medio de duracin de una ruta, nmero de rutas encontradas por un nodo intermedio cualquiera, nmero de rutas que realmente se usan en cada simulacin y el throughput.

Herramientas de control en redes de computadoras con NS-2 (5)

El autor elabora una gua de usuario utilizando como herramienta de simulacin el software Network Simulator 2 (NS-2), en pruebas de control regulatorio de la longitud de colas de enrutadores en redes TCP, con controladores PI, RED y P. Desarrolla tres scripts TCL que funcionan como herramientas de simulacin con NS-2, de la topologa Dumb-bell con flujo mixto FTP y HTTP. Permitiendo realizar pruebas de control regulatorio, cuando cambia el nmero de emisores y el retardo de propagacin de los paquetes. Adems desarrolla una base introductoria para modificar el cdigo fuente de NS-2, con el fin de extender sus funcionalidades con nuevos controladores y habilitarlo para realizar pruebas de servo control. Tambin, elabora un manual que abarca la instalacin, fundamentos tericos del control automtico de colas, y el uso de los scripts desarrollados.

Estudio comparativo de la implementacin de los protocolos RTP/RTCP en los simuladores OpnetModeler y Network Simulator 2 (6) El autor realiza una comparacin entre dos simuladores de redes bien conocidos, como son el OpnetModeler y el Network Simulator 2 mediante la aplicacin Voz sobre IP (VoIP), extrados del protocolo de transporte en tiempo real, RTP. La curva de aprendizaje para cada uno de los simuladores es diferente. Para crear en NS2 un escenario implica el aprendizaje del lenguaje de programacin OTcl, para la creacin del script donde se define el escenario de simulacin. En cuanto a OpnetModeler es un software que permite al usuario interactuar sin problemas y ofrece una gran facilidad de interpretacin y creacin de escenarios, aparte de tener en cada objeto una serie de atributos configurables con un entorno de simulacin grfico y muy atractivo. Sin embargo, es necesario adquirir licencias de pago para su uso. El aprendizaje de este software para poder realizar las simulaciones deseadas represent un largo costo de tiempo invertido en aprender a manejar todas las posibilidades que otorga.

Anlisis del comportamiento de la tecnologa Wimax (IEEE 802.16) y Wimax Mobile (IEEE 802.16e) con trfico de voz y datos en varios escenarios, usando el simulador NS-2. (7) Los autores plantean el anlisis del comportamiento de la tecnologa WiMax en su versin fija y mvil, utilizando diferentes esquemas de modulacin digital con trfico de voz y datos en base al simulador NS-2. EL uso de NS-2 permite visualizar los diferentes escenarios, interpretar los resultados para poder comprender el comportamiento de WiMax frente a la variacin de parmetros

como la distancia y tipo de modulacin entre la estacin base y la estaciones suscriptoras. Analizan y comparan los datos generados por el simulador, mediante los siguientes parmetros que permiten evaluar el funcionamiento de los escenarios planteados: throughput, retardo y prdida de paquetes. El anlisis de los resultados consisti en la depuracin de los archivos de traza mediante la utilizacin de lenguajes de programacin que permiten filtrar archivos de texto como por ejemplo AWK o PERL.

Implementacin de los protocolos de enrutamiento OSPF y RIP en el simulador Network Simulator 2(8) El autor realiza prcticas con el Network Simulator 2 para que puedan ser utilizadas en asignaturas de telemtica donde se simulan redes de ordenadores. Se simulan distintas topologas de red y con distintos protocolos de enrutamiento, es decir, se centran en el nivel de red, ya que a nivel de transporte trabajan con dos protocolos reconocidos por todos UDP y TCP. Se estudian los protocolos RIP y OSPF y se comparan los resultados en distintas topologas de red. Se programan los protocolos en OTcl y generan scripts para poder simularlos con NS-2, visualizndolos con el NAM y usando el TRACEGRAPH. En los scripts se modifica la topologa para poder mostrar con el NAM las ventajas y desventajas de estos protocolos a la hora de encaminar los paquetes de control y los paquetes de datos. Por otro lado, emulan redes ad-hoc y redes de sensores con protocolos adecuados a las caractersticas dinmicas de este tipo de topologas, dejando as una puerta abierta para seguir investigando el NS-2 con la informacin que ya poseen e intentando crear nuevos protocolos para este tipo de redes de sensores.

FORMULACIN DEL PROBLEMA

El uso de la simulacin en los procesos educativos constituye un mtodo de enseanza y aprendizaje en muchos campos, permitiendo afianzar los conceptos y aplicar conocimientos en contextos a los que en ocasiones es difcil tener acceso debido a que no se cuenta con los recursos requeridos para tal propsito En la electrnica, los simuladores se han convertido en herramientas importantes e indispensables para las actividades de docencia, investigacin y de aplicacin industrial, reduciendo costos en el desarrollo de pruebas y de capacitacin. Existen simuladores dedicados a la electrnica digital, electrnica anloga, redes de comunicacin, diseo de circuitos impresos, etc. En la actualidad existen diversas implementaciones de simuladores de redes como: Opnet, Omnet++, Glomosim, Network Simulator, entre otros. El NS-2 (Network Simulator 2) es un software de simulacin con licencia GNU (General PublicLicense) y es un programa ampliamente utilizado para la investigacin en redes de computadores y por las personas involucradas en la estandarizacin de los protocolos de la IETF (Internet EngineeringTaskForce).

En la Escuela de Ingeniera Elctrica y Electrnica (EIEE) de la Universidad del Valle, no se cuenta con un mdulo que incorpore el planteamiento de los diferentes escenarios de red (pensados y desarrollados mediante mdulos de la herramienta) cuyo propsito sea cuantificar el desempeo del protocolo TCP bajo condiciones controladas, para ser usada en las asignaturas que abordan los temas relativos a las redes de comunicacin, interconexin de redes, redes de computadores y redes inalmbricas. De acuerdo a lo anterior, Cmo desarrollar un mdulo de simulacin que sirva para experimentar y evaluar el desempeo del protocolo TCP en una red bajo condiciones especficas?

JUSTIFICACIN

El uso de simuladores en el mbito de la docencia permiten poner en prctica los conceptos fundamentales, convirtindose en herramientas que apoyan el proceso de enseanza-aprendizaje. Las prcticas realizadas en la Escuela de Ingeniera Elctrica y Electrnica (EIEE) de la Universidad del Valle, relacionadas con las asignaturas que abordan los temas de interconexin de redes, pueden ser de dos tipos: prcticas con equipos fsicos y prcticas de simulacin. Las prcticas con equipos fsicos permiten la configuracin, interconexin de redes y la operacin de los mismos, lo cual es fundamental en el proceso de formacin de los estudiantes; normalmente estos equipos suelen ser costosos, presentan limitaciones fsicas, requieren de una inversin permanente para su actualizacin tecnolgica y estn expuestos a sufrir daos. En cuanto a las prcticas de simulacin se propone implementar una estrategia que consiste en desarrollar varios mdulos que aborden los diferentes temas centrales alrededor de la interconexin de redes mediante el uso del software de simulacin NS-2. Para empezar, el primer mdulo de simulacin ser desarrollado en NS-2, el cual se ha convertido en una de las herramientas ms

utilizadas en el mbito acadmico y de investigacin, puesto que permite simular un amplio nmero de protocolos para redes de telecomunicaciones y de datos; tipos de redes (inalmbricas, cableadas, satelitales), elementos de red (enlaces, nodos); fuentes de trfico (telnet, web, Constant Bit Rate, Variable Bit Rate) NS2 es un software de cdigo abierto, lo que ha permitido a los usuarios extender su funcionalidad y crear nuevos objetos de red. La simulacin y evaluacin de desempeo de diferentes variantes del protocolo TCP en NS-2 en una red bajo diversas condiciones y el entendimiento del efecto real que tienen los diferentes factores sobre el desempeo de la misma, permitir abordar otros temas en un futuro y abrir la posibilidad de disear y desarrollar diferentes mdulos de simulacin (mediante varios mdulos) donde se pueda modelar, simular y experimentar con diversos escenarios.

OBJETIVOS

4.1

Objetivo General:

Desarrollar un mdulo de simulacin de una red de datos bajo NS-2 que permita evaluar el desempeo de dos variantes de TCP-por defecto y TCP-Linux bajo condiciones de congestin.

4.2

Objetivos Especficos:

1. Modelar una red de datos con trfico TCP, sometida a condiciones de

congestin.

2. Simular en NS-2 el modelo de la red anterior mediante el desarrollo del

programa en OTcl que permita incorporar las dos variantes TCP-por defecto y la variante TCP-Linux.

3. Evaluar el desempeo de la red para cada variante mediante el anlisis de

la ventana de congestin y del Throughput.

4. Elaborar un documento presentando los resultados obtenidos.

5. Elaborar un artculo presentando los resultados ms relevantes.

MARCO TERICO

5.1

NETWORK SIMULATOR 2 (NS-2)

NS-2 es un simulador de eventos discretos (suceso que se genera en un instante de tiempo particular) orientado a objetos, escrito en C++ con un intrprete OTcl (versin orientada a objetos de Tcl (ToolCommandLanguage), que representa la interfaz hacia el usuario (2). NS-2 se ha distribuido como software libre y de cdigo abierto, lo que ha permitido que estudiantes, ingenieros e investigadores aporten scripts que permiten que este siempre en proceso de desarrollo(9). NS-2 proporciona soporte para la simulacin de una gran cantidad de protocolos de las capas de aplicacin (HTTP, FTP, CBR, etc), transporte (TCP, UDP, RTP, SRM), protocolos de enrutamiento o de multicast, etc, tanto para redes cableadas como inalmbricas, y con topologas complejas con un gran nmero de generadores de trfico (10). NS-2 es probablemente el simulador que ha tenido el mayor impacto sobre el desarrollo de la Internet. Ha servido como una herramienta para explorar la Internet, para descubrir las propiedades de los protocolos propuestos, para la

identificacin de problemas y para probar las soluciones propuestas. Tambin se ha utilizado como una herramienta de verificacin para las propuestas de modelos analticos. Ha acompaado a la Internet y el trabajo de la IETF (Internet EngineeringTaskForce.). El IETF es el principal organismo de normalizacin de los protocolos de Internet (9). 5.1.1 Lenguajes NS-2 est basado en dos lenguajes de programacin, C++ (a nivel de datos) y OTcl (a nivel de control).El ncleo principal de NS-2 est escrito en C++, lo cual agiliza la simulacin y el lenguaje OTcl se utiliza para actuar sobre el simulador. La utilizacin de estos dos lenguajes permite combinar la velocidad de ejecucin propia de un programa compilado con la sencillez de OTcl(2).

Lenguaje C++

C++ es el lenguaje de programacin en el que est implementado NS-2. Mediante este lenguaje los usuarios pueden crear nuevas clases, en las cuales se implementa la funcionalidad para los diferentes objetos de red. El usuario tambin puede construir sus propios protocolos y modificar segn sus necesidades los ya existentes, por tanto es necesario utilizar el programa fuente del simulador y luego volver a compilar y vincular todos los mdulos para crear un nuevo ejecutable de NS-2. (10).El uso de C++ se debe a que es un lenguaje compilado ms eficiente en tiempo de ejecucin aunque desde el punto de vista del usuario puede ser ms lento en el momento de hacer una configuracin de los parmetros (3). Adems para las simulaciones detalladas de protocolos es necesario usar C++ debido a que es un lenguaje de programacin que puede manipular eficientemente octetos, cabeceras de paquetes e implementar algoritmos, que trabajen sobre grandes flujos de datos (1). Para estas tareas la velocidad de ejecucin es ms importante que el tiempo que pueda invertirse en su desarrollo (10).

Lenguaje OTcl

OTcl generalmente se refiere a una extensin orientada a objetos de Tcl.Tcl (ToolCommandLanguage) o lenguaje de herramientas de comando, es un lenguaje de script que ha sido concebido con una sintaxis sencilla para facilitar su aprendizaje. Se utiliza principalmente para el desarrollo rpido de prototipos, aplicaciones "script", interfaces grficas y pruebas. Es un lenguaje interpretado, y su cdigo puede ser creado y modificado dinmicamente.

NS-2 utiliza el lenguaje de programacin OTcl para desarrollar los scripts de simulacin, en los que se configuran las caractersticas de los escenarios (topologa, parmetros de los enlaces, protocolos, modelos de trfico), as como tambin para establecer la planificacin de los eventos (3). El uso de OTcl se debe a que es un lenguaje interpretado, por tanto permite realizar cambios de manera rpida e interactiva, aunque es ms lento en tiempo de ejecucin (3). No obstante, el estudio de las redes implica hacer modificaciones continuas en los parmetros de configuracin y en la exploracin de diferentes escenarios de simulacin, donde cambiar el modelo y volver a ejecutar es ms importante (tiempo de iteracin) (10).

5.1.2 Jerarquas Hay dos clases de jerarquas: el compilado en C++ y la jerarqua interpretada OTcl, con correspondencia uno a uno entre ellos (9).La jerarqua del compilado en C++ nos permite lograr eficiencia en la simulacin y ms rpidos tiempos de ejecucin. Esto es til, en particular, para la definicin detallada y funcionamiento de los protocolos. Esto permite reducir paquetes y el tiempo de procesamiento de eventos. En el script de OTcl proporcionado por el usuario, se puede definir una topologa de red en particular, los protocolos y aplicaciones especficas que se desea simular (cuyo comportamiento ya est definido en la jerarqua de compilado) y la forma de la salida que se desea obtener desde el simulador.

5.1.3 Herramientas del NS-2 Network Simulator utiliza una variedad de herramientas para manipular objetos y flujos de datos y tambin proporciona herramientas que permiten interpretar y analizar los resultados obtenidos de la simulacin de una manera grfica. Estas herramientas son NAM, Network AniMator y XGraph que crean una representacin a partir de los ficheros de traza generados por NS-2(1). Los ficheros de traza reflejan todos los eventos que han sucedido durante la simulacin de la red. Cada una de las trazas incluidas en estos ficheros contiene informacin sobre el instante de tiempo en que ha ocurrido, sobre los nodos implicados, informacin sobre la trama MAC, sobre el paquete IP, e informacin

adicional que depende del evento que se ha producido o del tipo de paquete del que se trata (2). Adems de estas herramientas para visualizar los resultados, tambin se pueden extraer mtricas cuantitativas de los resultados de la simulacin utilizando lenguajes como PERL o AWK para filtrar los ficheros que contienen las trazas mediante un post-procesado de los mismos.

5.2

TCP (Transmission Control Protocol)

TCP (que significa Protocolo de Control de Transmisin) es uno de los principales protocolos de la capa de transporte del modelo TCP/IP. Es el protocolo de transferencia fiable de datos, orientado a la conexin de la capa de transporte de Internet (11). TCP se definen en el [RFC 793], [RFC 1122], [RFC 1323], [RFC 2018] y [RFC 2581]. Se dice que es orientado a conexin porque antes de que un proceso de aplicacin pueda comenzar a enviar datos a otro, los dos procesos deben establecer previamente un acuerdo entre ellos (deben enviarse algunos segmentos para establecer parmetros que aseguren la transferencia de datos). Como parte del establecimiento de la conexin TCP, ambos lados de la conexin iniciarn varias variables de estado TCP asociadas con la conexin TCP(11). Muchos programas dentro de una red de datos compuesta por computadoras, pueden usar TCP para crear conexiones entre ellos a travs de las cuales puede enviarse un flujo de datos. El protocolo garantiza que los datos sern entregados en su destino sin errores y en el mismo orden en que se transmitieron. Tambin proporciona un mecanismo para distinguir distintas aplicaciones dentro de una misma mquina, a travs del concepto de puerto. En la pila de protocolos TCP/IP, TCP es la capa intermedia entre el protocolo de internet (IP) y la aplicacin. Habitualmente, las aplicaciones necesitan que la comunicacin sea fiable y, dado que la capa IP aporta un servicio de datagramas no fiable (sin confirmacin), TCP aade las funciones necesarias para prestar un servicio que permita que la comunicacin entre dos sistemas se efecte libre de errores, sin prdidas y con seguridad.

5.2.1 Funciones de TCP La funcin de TCP es convertir el intercambio de datagramas IP en una conexin de datos entre aplicaciones slida y confiable, que se implementa en el host final, asegurar que los datos se entreguen confiablemente, en secuencia y sin confusiones o errores. TCP proporciona control de flujo lo que permite al receptor regular la cantidad de datos por unidad de tiempo a la que el emisor debe enviarlos. TCP tambin dispone de mecanismos que le permiten responder a las condiciones de la red, ajustando su propio comportamiento para optimizar el rendimiento (1). TCP posibilita la realizacin de una tarea importante: multiplexar/demultiplexar; es decir transmitir datos desde diversas aplicaciones en la misma lnea o, en otras palabras, ordenar la informacin que llega en paralelo. Estas operaciones se realizan empleando el concepto de puertos (o conexiones), es decir, un nmero vinculado a un tipo de aplicacin que, cuando se combina con una direccin de IP, permite determinar en forma exclusiva una aplicacin que se ejecuta en una mquina determinada. La estructura de un segmento TCP est definida en (12).

5.2.2 Control de Congestin del Protocolo TCP La congestin de la red se presenta cuando la carga ofrecida es mayor que la que la red puede manejar. Puede definirse congestin como la situacin en la que el rendimiento de la red, o de una parte de ella, se degrada debido a la presencia de trfico excesivo. TCP implementa un conjunto de algoritmos con los que proporciona una comunicacin fiable extremo a extremo (entre dos hosts). El hecho de proporcionar una comunicacin fiable entre dos hosts implica, entre otras cosas, que hay que encontrar la forma de controlar que los paquetes enviados lleguen al destino sin perderse en el camino; y si se pierden, proporcionar los medios necesarios para detectar la prdida y volver a reenviarlos. Estas funciones son implementadas por los algoritmos de control de congestin y de recuperacin de segmentos perdidos del protocolo TCP. Al inicio de la conexin el emisor desconoce el estado de la red; incluso no es seguro que dicho estado sea constante durante una comunicacin. La solucin que propone TCP son los algoritmos SlowStart (Arranque lento: que pone a prueba la capacidad de la red mediante el aumento progresivo del ritmo de envo

de datagramas hasta detectar congestin) y CongestionAvoidance (Prevencin de Congestin: que, una vez que se conoce la capacidad de la red, trata de evitar llegar a la congestin de sta).

Arranque lento (Slowstart) La idea del arranque lento es que una nueva conexin empiece a transmitir despacio, aumentando su tasa de transferencia gradualmente segn las condiciones de la red (1). El propsito de SlowStart es consultar y detectar el estado de la red y adecuar el flujo TCP. Intenta evitar que una nueva conexin transfiera desde el inicio demasiados datos a una red congestionada. Se define una nueva variable, la ventana de congestin (cwnd), que limitar la cantidad de segmentos que el emisor podr enviar al receptor para no inundar la red y, en consecuencia, no provocar una situacin de congestin.

Prevencin de Congestin (CongestionAvoidance) Este algoritmo presupone que cualquier error en la red debe estar producido por congestin el algn punto entre emisor y receptor. En TCP el control de la congestin se hace implementando de forma conjunta arranque lento y prevencin de congestin, aunque se consideren algoritmos distintos. Prevencin de Congestin define una variable nueva, un umbral ssthresh con un valor inicial significativamente alto (32Kb, 64Kb), que indicar el tamao umbral de referencia para la ventana de congestin. El funcionamiento de prevencin de congestin consiste en incrementar cwnd, como en arranque lento, pero en vez de exponencialmente, hacerlo linealmente.

5.3

Variantes de TCP

El protocolo de nivel de transporte de datos TCP desde sus inicios ha sufrido diferentes cambios, con el fin de mejorarlo. Distintas versiones e implementaciones de TCP se han propuesto para mejorar la funcin de respuesta del algoritmo de control de congestin, aportando algunas modificaciones significativas que mejoran aspectos de la transmisin en general. La primera implementacin real de Internet se produjo sobre 1980, cuando DARPA comenz a convertir las mquinas de su red de trabajo (ARPANET) a los

nuevos protocolos de TCP/IP. En 1983 la transicin fue completa y DARPA exigi que todos los ordenadores que quisieran conectarse a ARPANET usaran TCP/IP (12). A continuacin se presentan las versiones ms conocidas de TCP. 5.3.1 TCP Berkeley El principal cometido de esta implementacin de TCP fue disminuir la gran complejidad existente en las comunicaciones en red. Para ello, los dos extremos de la transmisin tenan la responsabilidad en este aspecto, a pesar de las situaciones en las que se pudiera encontrar. Bajo esta distribucin de Berkeley, TCP funcionaba de manera correcta con la principal salvedad de no ofrecer grandes prestaciones en redes diferentes, congestionadas o de mala calidad, puesto que no tena en cuenta el tamao de la ventana de la red y s la del receptor. 5.3.2 TCP Tahoe La distribucin Tahoe de TCP, intentaba solventar los problemas que presentaba la implementacin de Berkeley, detectando para ello el estado de la red y el control de flujo lo que conllevaba, notablemente, la disminucin de prdidas de segmentos. Con este fin se aadieron los algoritmos Slow Start y Congestion Avoidance, que trataban detectar y controlar la posible congestin presente en la red. Igualmente se aadi el algoritmo Fast Retransmit para volver a transmitir los segmentos perdidos lo ms rpidamente intentando perder el menor tiempo posible. Es el ms sencillo y antiguo de los agentes TCP de NS-2. Tiene las principales bases de TCP y los siguientes agentes estn basados en l. Asume la prdida de un paquete cuando se recibe un nmero determinado de ACKs duplicados (generalmente 3) retransmitiendo inmediatamente o bien cuando expira el Restransmition Timer.

5.3.3 TCP Reno Esta versin de TCP presenta las mismas caractersticas de la versin de Tahoe ms el algoritmo Fast Recovery, que evita dentro de lo posible que el tamao de la ventana llegase a dos y se iniciara la fase Slow Start en redes que presentasen una determinada congestin con algunos picos de gran congestin. Funcionamiento muy similar al Tahoe pero incluye Fast Recovery, que es el estado en que se entra cuando se reciben 3 ACKs duplicados y por tanto cuando se considera que existe una prdida.

5.3.4 TCP New Reno Esta versin de TCP intenta solucionar los inconvenientes de los algoritmos Slow Start y Congestion Avoidance en relacin al tamao del umbral ssthresh. Para ello, desde esta versin se intenta buscar un valor de ssthresh inicial ptimo para el estado de la red mediante un nuevo algoritmo llamado Packet-Pair. En este algoritmo, el emisor enva series de dos paquetes conociendo el intervalo de tiempo existente entre ellos. Segn lleguen los ACK se ir conociendo el retardo existente y, dependiendo de este retardo, se podr conocer el estado en que se encuentra la red, la posible situacin de congestin, etc. Igualmente en esta versin se define la fase de retransmisin rpida, que acta cuando ms de un segmento de una misma ventana se pierde, complementando de esta forma a los algoritmos Fast Retransmit y Fast Recovery. Est basado en TCP Reno, pero modifica su comportamiento cuando se reciben ACKs nuevos. Es mucho ms eficiente en cuanto se producen varias prdidas de paquete. A diferencia de TCP Reno no sale del estado de Fast Recovery hasta que no se hayan recibido los ACKs de todos los paquetes que aun estaban por reconocer en el momento de entrar en el estado de Fast Recovery. 5.3.5 TCP Sack (Selective ACKnowledgement) Esta versin de TCP implementa lo anteriormente comentado aadiendo una serie de innovaciones. De esta forma se intent solucionar el problema que se ocasionaba en redes con gran probabilidad de prdidas de paquetes y redes con un trfico elevado, en el que las prdidas de paquetes llegaban a ser constantes e incluso excesivas. Cuando el receptor recibe nuevos datos tras la prdida de un segmento, el receptor, por medio de este algoritmo, enva un ACK duplicado a modo de bandera al emisor para que ste sepa qu segmentos han llegado correctamente y cules no, a fin de que vuelvan a ser enviados. Otra caracterstica peculiar de esta versin es que Sack realiza en todo momento una estimacin del trafico que hay pendiente en la red y slo enva o retransmite segmentos si el volumen de datos o trfico estimado fuese menor que el de la ventana de congestin, cwnd. 5.3.6 TCP Vegas Mediante esta versin se intenta que el emisor detecte de antemano las congestiones, comprobando constantemente la tasa de transferencia que se espera enviar y la que realmente se consigue. De esta manera y ante este hecho, se propondra transmitir un flujo ms o menos continuo de informacin entrando en juego el buffer de los routers de la red. Sin embargo, se tiene como

contrapartida que el protocolo TCP no dispone de un ancho de banda ciertamente estable, sino que su funcionamiento es a rfagas, por lo que estas modificaciones que se proponen desde Vegas bien pudieran no ser estables. El principal inconveniente de esta versin es el de la generacin de colas continuas, por lo que igualmente se continan estudiando polticas de gestin de buffers adecuadas. 5.3.7 TCP Linux Recientemente, un mdulo, NS-2 TCP Linux fue desarrollado para NS-2 para proporcionar agentes TCP basadas en Linux. Linux TCP tiene varias diferencias con respecto a la implementacin TCP en NS-2. TCP Linux no utiliza reconocimientos con retraso inicialmente, de modo que la ventana de congestin puede crecer ms rpido. Linux-TCP utiliza la informacin D-SACK para reorganizar los paquetes fuera de orden. Linux-TCP utiliza un algoritmo mejorado de deteccin de prdida de paquetes llamado score-boarding. Todas estas mejoras en Linux-TCP pueden causar que los resultados obtenidos mediante el uso de NS-2 TCP Linux difieran de los obtenidos utilizando TCP por defecto de NS-2. 6 METODOLOGA

Para abordar la solucin al problema y cumplimiento de los objetivos planteados se propone una metodologa que considera los siguientes pasos: Recoleccin y clasificacin de la informacin requerida. Definicin y diseo de los requerimientos de la red. Desarrollo del programa que modele el escenario usando lenguaje de programacin OTcly/o C++, verificando que est libre de errores. Ejecucin del programa para obtener los resultados Filtro y anlisis de los resultados. Elaboracin de informe y Artculo. Se presenta a continuacin la divisin de las etapas metodolgicas y las actividades a realizar en cada una de ellas, para cumplir con cada uno de los objetivos especficos:

Objetivo especfico 1: Modelar una red de datos con trfico TCP, sometida a condiciones de congestin. Actividad 1.1.Recopilar informacin sobre los objetos simulados a utilizar que son soportados por NS-2: generadores de trfico, tipos de enlace, modelos de error y diferentes variantes de TCP. Actividad 1.2.Clasificar y organizar la informacin recopilada para sistematizar su uso en las etapas de definicin, diseo y desarrollo. Actividad 1.3.Definir un modelo de red de datos con trfico TCP, sometida a condiciones de congestin que permita monitorear la evolucin de la ventana de congestin del protocolo TCP y el desempeo del sistema. Actividad 1.4.Disear la topologa, los protocolos y parmetros de operacin de la red.

Objetivo especfico 2. Simular en NS-2 el modelo de la red anterior mediante el desarrollo del programa en OTcl que permita incorporar las dos variantes TCP-por defecto y la variante TCP-Linux. Actividad 2.1.Definir las mtricas a observar y analizar en la red diseada. Actividad 2.2.Desarrollar el programa que modela la red objeto de estudio y ejecutarlo bajo NS-2, verificando que el programa est libre de errores. Actividad 2.3.Definir las clases y mtodos que utiliza el programa, describiendo sus funciones.

Objetivo especfico 3. Evaluar el desempeo de la red para cada variante mediante el anlisis de la ventana de congestin y del Throughput.. Actividad 3.1.Filtrar y graficar los resultados obtenidos en archivos para su posterior anlisis.

Actividad 3.2.Analizar los resultados concernientes a la ventana de congestin y al throughput obtenido para las diferentes variantes de TCP.

Objetivo especfico 4. Elaborar un documento presentando los resultados obtenidos.. Actividad 4.1.Elaborar documento que describa los requerimientos, topologa, elementos de red y parmetros del modelo utilizado. Actividad 4.2.Documentar el anlisis realizado a los resultados obtenidos con relacin a los parmetros de desempeo de inters (ventana de congestin y throughput).

Objetivo especfico 5. Elaborar Artculo presentando los resultados ms relevantes. Actividad 5.1.Realizar artculo para someterlo a publicacin presentando los resultados obtenidos.

RESULTADOS ESPERADOS

Al cumplir los objetivos satisfactoriamente se espera:

Obtener conocimientos bsicos del software de simulacin Network Simulator 2 (NS-2). Desarrollar un mdulo de simulacin que sirva de apoyo a la docencia en las asignaturas de redes de comunicacin. Elaborar un documento con los aspectos importantes de la concepcin y diseo del modelo desarrollado, as como de las funciones realizadas por el cdigo OTcl. Someter a publicacin un artculo que presente los resultados obtenidos durante el desarrollo del mdulo de simulacin.

PRESUPUESTO

DESARROLLO DE UN MDULO DE SIMULACIN DE UNA RED DE DATOS BAJO NETWORK SIMULATOR 2 Descripcin Fuentes de Financiacin Universidad del Valle Propios Especie Efectivo PERSONAL $4.000.000 $8.000.000 $8.000.000 $4.000.000 EQUIPO $ 2.300.000 $ 2.300.000

Otros

Estudiante Director de Trabajo de Grado Total Equipo de Cmputo Total

Linux Mint 14 Network Simulator 2 (NS2) Total Libros Artculos Total Fotocopias Impresiones Varios Total Internet Base de datos IEEE Espacio de Trabajo Transporte Total Gran Total Costo del Proyecto

SOFTWARE $ 0.0 $ 0.0 $ 0.0 BIBLIOGRAFA $ 240.000 $ 200.000 $ 440.000 PAPELERA $ 50.000 $ 150.000 $ 200.000 $ 400.000 SERVICIOS $ 1.000.000 $ 60.000 $ 350.000 $ 1.410.000 $4.150.000 $ 1.600.000 $ 1.600.000 $ 8.000.000 $ 6.000.000 $ 18.150.000

CRONOGRAMA DE ACTIVIDADES

DESARROLLO DE UN MDULO DE SIMULACIN DE UNA RED DE DATOS BAJO NETWORK SIMULATOR 2 Actividad MES 1 2 3 4 5 6 7 8 9 10

Modelar una red de datos con trfico TCP, sometida a condiciones de congestin.

A1.1.

A1.2. A1.3. A1.4.

Simular en NS-2 el modelo de la red mediante el desarrollo del programa en OTcl.

A2.1. A2.2. A2.3.

Evaluar el desempeo de la red mediante el anlisis de la ventana de congestin del y Throughput. A3.1. A3.2.

Elaborar un documento para ser usado como gua en la docencia de la simulacin de Redes. A4.1. A4.2. Elaborar Artculo presentando los resultados ms relevantes.

A5.1.

10 REFERENCIAS

1. BARRAGAN MANCILLA, Yunuel.Evaluacin de una Red utilizando herramientas de simulacin. Mxico : Universidad Autnoma Metropolitana Unidad Iztapalapa. Ciencias Bsicas e Ingeniera. Departamaento de Ingeniera Elctrica, 2003. pg. 52. 2. ZAMARRO PARRA, Elena.Generacin de escenarios de redes Bluetooth compatibles con el simulador NS-2. Madrid : Universidad Pontificia Comillas. Escuela Tcnica Superior de Ingeniera (ICAI). Ingeniera en Informtica., 2008. pg. 164. 3. FONTE AREQUIPA, Johanna Patricia y MORA MULLA, Fabiola Elizabeth.Implementacin de Protocolos de la Capa de Enlace de Datos en simuladores OMNET++ y NS-2. Quito : Escuela Politcnica Nacional. Facultad de Ingeniera Elctrica y Electrnica., 2008. pg. 381. 4. CHALMETA UGAS, Jordi.Estudio y anlisis de prestaciones de redes mviles Ad Hoc mediante simulaciones NS-2 para validar modelos analticos. Barcelona : Universitat Politcnica De Catalunya. Escuela Tcnica Superior de Ingeniera de Telecomunicaciones., 2009. pg. 138. 5. ROJAS QUIROS, Daniel Camilo.Herramientas de control en redes de computadoras con el simulador NS-2. Costa Rica : Universidad de Costa Rica. Facultad de Ingeniera Elctrica. Ciudad Universitaria Rodrigo Facio., 2010. pg. 152. 6. PELLICER CORBACHO, Rafael.Estudio comparativo de la implementacin de los protocolos RTP/RTCP en los simuladores Opnet Modeler y Network Simulator 2. Ganda : Universidad Politcnica de Valencia. Escuela Politcnica Superior de Ganda. Ingeniera de Sistemas de Telecomunicaciones., 2010. pg. 106. 7. ANDRADE QUINGA, Juan Carlos y NARANJO CULQUI, Soffa Vernica.Anlisis del comportamiento de la tecnologa Wimax (IEEE 802.16) y Wimax Mobile (IEEE 802.16e) con trfico de voz y datos en varios escenarios,

usando el simulador NS-2. Quito : Escuela Politcnica Nacional. Facultad de Ingeniera Elctrica y Electrnica., 2011. pg. 200. 8. SEVILLA VITORIA, Jess.Implementacin de los protocolos de enrutamiento OSPF y RIP en el simulador Network Simulator 2. Ganda : Universidad Politcnica de Valencia. Escuela Politcnica Superior de Ganda. Ingeniera de Sistemas y Telecomunicaciones., 2011. pg. 192. 9. ALTMAN, Eitan y JIMENEZ, Tania.NS Simulator for Beginners. s.l. : Morgan & Claypool, 2012. pg. 184. 10. BECERRA, Line Yazmin y PADILLA, Jhon Jairo.Manual de prcticas con NS-2. Bucaramanga : Universidad Pontificia Bolivariana. Facultad de Ingeniera Elctronica., 2008. pg. 28. 11. KUROSE, James F y ROSS, Keith W.Redes de Computadores. Un enfoque descendente basado en Internet. 2. 12. GONZLEZ SNCHEZ, Jos Luis.Protocolo TCP. Espaa : Universidad de Extremadura. Grupo de Investigacin de Ingeniera de Telemtica Aplicada y Comunicaciones Avanzadas (GITACA), 2003. pg. 59.

S-ar putea să vă placă și