simulaciÓn y evaluaciÓn del desempeÑo de dos variantes de tcp-por defecto y tcp-linux en ns-2

Upload: luquitas214

Post on 09-Feb-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    1/27

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

    LUZ KARIME RAMREZ ARAGN

    Anteproyecto de grado presentadocomo requisito parcial para optaral ttulo de Ingeniero Electrnico

    UNIVERSIDAD DEL VALLE

    FACULTAD DE INGENIERA

    ESCUELA DE INGENIERA ELCTRICA Y ELECTRNICAPROGRAMA ACADMICO DE INGENIERA ELECTRNICA

    SANTIAGO DE CALI2013

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

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    2/27

    LUZ KARIME RAMREZ ARAGNCdigo 0711078

    Aprobacin del director de proyecto

    ___________________________________________Ing. Oscar Polanco Sarmiento

    ______________________________Ing. Leandro Villa, M.ScCoordinador del rea de

    Telecomunicaciones

    ______________________________Ing. Hernando Vsquez, M.ScDirector del plan de Estudios

    Ingeniera Electrnica

    TABLA DE CONTENIDO

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    3/27

    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 herramientaque facilita el aprendizaje y el estudio de la redes de comunicacin. Ademspermite experimentar y evaluar el desempeo de una red sin necesidad de contarcon una infraestructura para su implementacin, proporcionando herramientas dedesarrollo para la construccin, diseo y anlisis de redes.

    El uso de las herramientas de simulacin en el proceso de enseanza-aprendizajeactualmente ha tenido un gran auge debido al avance de la tecnologa, por tantoes necesario disear mdulos temticos que incluyan la simulacin y permitanabordar temas de mayor complejidad.

    En la actualidad existen diversas implementaciones de simuladores de redescomo: Opnet, Omnet++, Glomosim, Network Simulator, etc. Sin embargo, Network

    Simulator o NS-2 es uno de los programas de software ms utilizados en el mbitoacadmico y de investigacin ya que ofrece la posibilidad de utilizar una granvariedad de topologas de redes, admite el acceso al cdigo interno y poseelicencia de distribucin libre, lo que ha permitido que sus usuarios difundan susdesarrollos en redes.

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    4/27

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

    1 ANTECEDENTES

    El software de simulacin NS-2 comenz a desarrollarse en 1989 como unavariante del simulador de red REAL Network Simulator. A partir de 1996 sedesarrolla NS-2 por el proyecto VINT (Virtual InternetworkTestbeb) de la agenciade proyectos de investigacin avanzada para la defensa de Estados Unidos

    (DARPA). En el proyecto intervienen como colaboradores la Universidad del Surde California, el centro de investigacin de Xerox en Palo Alto, los laboratoriosLawrence Berkeley y la Universidad de California en Berkeley.

    En la actualidad NS es desarrollado en colaboracin entre una serie deinvestigadores 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 delNS-2.

    Evaluacin de una Red Utilizando Herramientas de Simulacin(1)

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    5/27

    El autor realiza la simulacin del protocolo TCP con sus algoritmos de rendimiento,utilizando el simulador de redes NS (Network Simulator) debido a que estesoftware mostr ms flexibilidad que otros. Adems observa su desempeo, enun modelo con congestin.

    Gracias a que NS soporta diferentes versiones de TCP, el autor elige las versionesTCP Tahoe y TCP New Reno, para ver como implementan cada uno susalgoritmos de control de la congestin, el cdigo de la simulacin para las dosversiones es el mismo.Puesto que TCP tiene otras variantes e implementaciones, ste trabajo dejaespacio para continuar explorando con la simulacin y evaluacin de desempeode stas, claro est teniendo como referencia la variante TCP Tahoe (la cual es lavariante original de TCP).

    Generacin de escenarios de redes Bluetooth compatibles con el simuladorNS-2(2)

    El autor desarrolla una herramienta que permite de manera sencilla y flexiblemodelar y generar distintos escenarios de redes Bluetooth que se puedan usar enel entorno de simulacin de NS-2. Debido a que NS-2 presentaba deficiencias enel mbito de redes Bluetooth pues para su simulacin era necesaria la instalacinde un mdulo adicional llamado UCBT (University of Cincinnati - BlueTooth), elcual es un mdulo para simular redes Bluetooth en NS-2 desarrollado en laUniversidad de Cincinnati.Desarrolla una aplicacin mediante una interfaz grfica que permite modelar losescenarios, permitiendo cambios de los parmetros ms significativos de lasimulacin para las redes Bluetooth. La herramienta tambin permite generar unscript TCL correspondiente al escenario que el usuario haya creado paraposteriormente 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 lossimuladores OMNET++ y NS-2. (3)

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    6/27

    Los autores implementan los protocolos de capa de enlace de datos presentadosen el libro de Redes de Computadoras del autor Andrew Tanembaum en lossimuladores 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 elprocedimiento para la configuracin de los escenarios en los que se simula losprotocolos propuestos, verificando y analizando los resultados obtenidos.Los protocolos de la capa de enlace de datos a implementarse son seis, los cualeshan sido clasificados en dos grupos: tres protocolos elementales de enlace dedatos y tres protocolos de ventana corrediza.En particular, el trabajo se centra en introducir nuevos componentes querepresenten a protocolos en los simuladores OMNET++ y NS-2. En cuanto alsimulador NS-2 realizan una breve introduccin de las clases que implementan losprincipales elementos que intervienen en un escenario de simulacin, en base aesto se determina de dnde partir para la implementacin de los nuevosprotocolos planteados. La funcionalidad de los protocolos se implementa enlenguaje de programacin C++, la configuracin del escenario de simulacin y delos parmetros de los protocolos se realiza en un script para lo cual se hace usodel lenguaje de programacin OTcl.

    Estudio y anlisis de prestaciones de redes mviles Ad Hoc mediantesimulaciones NS-2 para validar modelos analticos (4)

    El autor valida mediante simulaciones hechas en el NS-2, un modelo matemticodesarrollado en el Grupo de Servicios Telemticos de la Universidad Politcnicade Catalua. El modelo matemtico que se valida tiene como objetivos obtener eltiempo medio que una ruta est disponible en una MANET, el mximo nmeroposible de saltos en la red y la probabilidad de que haya un nmero de saltos enuna comunicacin. Con el objetivo de analizar distintos parmetros de las redesMANET utiliza el simulador Network Simulator 2 (NS-2) por su potencial y por suamplio 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 rutasque realmente se usan en cada simulacin y el throughput.

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

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    7/27

    El autor elabora una gua de usuario utilizando como herramienta de simulacin elsoftware Network Simulator 2 (NS-2), en pruebas de control regulatorio de lalongitud 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 realizarpruebas de control regulatorio, cuando cambia el nmero de emisores y el retardode propagacin de los paquetes. Adems desarrolla una base introductoria paramodificar el cdigo fuente de NS-2, con el fin de extender sus funcionalidades connuevos controladores y habilitarlo para realizar pruebas de servo control. Tambin,elabora un manual que abarca la instalacin, fundamentos tericos del controlautomtico 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 Vozsobre IP (VoIP), extrados del protocolo de transporte en tiempo real, RTP.La curva de aprendizaje para cada uno de los simuladores es diferente. Para crearen NS2 un escenario implica el aprendizaje del lenguaje de programacin OTcl,para la creacin del script donde se define el escenario de simulacin. En cuantoa OpnetModeler es un software que permite al usuario interactuar sin problemas yofrece una gran facilidad de interpretacin y creacin de escenarios, aparte de

    tener en cada objeto una serie de atributos configurables con un entorno desimulacin grfico y muy atractivo. Sin embargo, es necesario adquirir licencias depago para su uso. El aprendizaje de este software para poder realizar lassimulaciones deseadas represent un largo costo de tiempo invertido en aprendera manejar todas las posibilidades que otorga.

    Anlisis del comportamiento de la tecnologa Wimax (IEEE 802.16) y WimaxMobile (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 suversin fija y mvil, utilizando diferentes esquemas de modulacin digital contrfico de voz y datos en base al simulador NS-2. EL uso de NS-2 permitevisualizar los diferentes escenarios, interpretar los resultados para podercomprender el comportamiento de WiMax frente a la variacin de parmetros

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    8/27

    como la distancia y tipo de modulacin entre la estacin base y la estacionessuscriptoras.

    Analizan y comparan los datos generados por el simulador, mediante lossiguientes parmetros que permiten evaluar el funcionamiento de los escenarios

    planteados: throughput, retardo y prdida de paquetes. El anlisis de losresultados consisti en la depuracin de los archivos de traza mediante lautilizacin de lenguajes de programacin que permiten filtrar archivos de textocomo por ejemplo AWK o PERL.

    Implementacin de los protocolos de enrutamiento OSPF y RIP en elsimulador 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 condos protocolos reconocidos por todos UDP y TCP.Se estudian los protocolos RIP y OSPF y se comparan los resultados en distintastopologas de red. Se programan los protocolos en OTcl y generan scripts parapoder simularlos con NS-2, visualizndolos con el NAM y usando elTRACEGRAPH. En los scripts se modifica la topologa para poder mostrar con elNAM las ventajas y desventajas de estos protocolos a la hora de encaminar lospaquetes de control y los paquetes de datos.

    Por otro lado, emulan redes ad-hoc y redes de sensores con protocolosadecuados a las caractersticas dinmicas de este tipo de topologas, dejando asuna puerta abierta para seguir investigando el NS-2 con la informacin que yaposeen e intentando crear nuevos protocolos para este tipo de redes de sensores.

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    9/27

    2 FORMULACIN DEL PROBLEMA

    El uso de la simulacin en los procesos educativos constituye un mtodo deenseanza y aprendizaje en muchos campos, permitiendo afianzar los conceptosy aplicar conocimientos en contextos a los que en ocasiones es difcil tener accesodebido a que no se cuenta con los recursos requeridos para tal propsito

    En la electrnica, los simuladores se han convertido en herramientas importantese indispensables para las actividades de docencia, investigacin y de aplicacinindustrial, reduciendo costos en el desarrollo de pruebas y de capacitacin.Existen simuladores dedicados a la electrnica digital, electrnica anloga, redesde comunicacin, diseo de circuitos impresos, etc.

    En la actualidad existen diversas implementaciones de simuladores de redescomo: Opnet, Omnet++, Glomosim, Network Simulator, entre otros. El NS-2

    (Network Simulator 2) es un software de simulacin con licencia GNU (GeneralPublicLicense) y es un programa ampliamente utilizado para la investigacin enredes de computadores y por las personas involucradas en la estandarizacin delos protocolos de la IETF (Internet EngineeringTaskForce).

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    10/27

    En la Escuela de Ingeniera Elctrica y Electrnica (EIEE) de la Universidad delValle, no se cuenta con un mdulo que incorpore el planteamiento de losdiferentes escenarios de red (pensados y desarrollados mediante mdulos de laherramienta) cuyo propsito sea cuantificar el desempeo del protocolo TCP bajo

    condiciones controladas, para ser usada en las asignaturas que abordan los temasrelativos a las redes de comunicacin, interconexin de redes, redes decomputadores y redes inalmbricas.

    De acuerdo a lo anterior, Cmo desarrollar un mdulo de simulacin que sirvapara experimentar y evaluar el desempeo del protocolo TCP en una red bajocondiciones especficas?

    3 JUSTIFICACIN

    El uso de simuladores en el mbito de la docencia permiten poner en prctica losconceptos fundamentales, convirtindose en herramientas que apoyan el procesode 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 lostemas de interconexin de redes, pueden ser de dos tipos: prcticas con equiposfsicos y prcticas de simulacin. Las prcticas con equipos fsicos permiten laconfiguracin, interconexin de redes y la operacin de los mismos, lo cual esfundamental en el proceso de formacin de los estudiantes; normalmente estosequipos suelen ser costosos, presentan limitaciones fsicas, requieren de unainversin permanente para su actualizacin tecnolgica y estn expuestos a sufrirdaos.

    En cuanto a las prcticas de simulacin se propone implementar una estrategiaque consiste en desarrollar varios mdulos que aborden los diferentes temascentrales alrededor de la interconexin de redes mediante el uso del software desimulacin NS-2. Para empezar, el primer mdulo de simulacin serdesarrollado en NS-2, el cual se ha convertido en una de las herramientas ms

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    11/27

    utilizadas en el mbito acadmico y de investigacin, puesto que permite simularun 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) NS-

    2 es un software de cdigo abierto, lo que ha permitido a los usuarios extender sufuncionalidad y crear nuevos objetos de red.

    La simulacin y evaluacin de desempeo de diferentes variantes del protocoloTCP en NS-2 en una red bajo diversas condiciones y el entendimiento del efectoreal que tienen los diferentes factores sobre el desempeo de la misma, permitirabordar otros temas en un futuro y abrir la posibilidad de disear y desarrollardiferentes mdulos de simulacin (mediante varios mdulos) donde se puedamodelar, simular y experimentar con diversos escenarios.

    4 OBJETIVOS

    4.1 Objetivo General:

    Desarrollar un mdulo de simulacin de una red de datos bajo NS-2 que permitaevaluar el desempeo de dos variantes de TCP-por defecto y TCP-Linux bajocondiciones 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 delprograma en OTcl que permita incorporar las dos variantes TCP-por defectoy la variante TCP-Linux.

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    12/27

    3. Evaluar el desempeo de la red para cada variante mediante el anlisis dela ventana de congestin y del Throughput.

    4. Elaborar un documento presentando los resultados obtenidos.

    5. Elaborar un artculo presentando los resultados ms relevantes.

    5 MARCO TERICO

    5.1 NETWORK SIMULATOR 2 (NS-2)

    NS-2 es un simulador de eventos discretos (suceso que se genera en un instantede tiempo particular) orientado a objetos, escrito en C++ con un intrprete OTcl(versin orientada a objetos de Tcl (ToolCommandLanguage), que representa lainterfaz hacia el usuario (2). NS-2 se ha distribuido como software libre y decdigo abierto, lo que ha permitido que estudiantes, ingenieros e investigadoresaporten scripts que permiten que este siempre en proceso de desarrollo(9).NS-2 proporciona soporte para la simulacin de una gran cantidad de protocolosde 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 degeneradores de trfico (10).

    NS-2 es probablemente el simulador que ha tenido el mayor impacto sobre eldesarrollo de la Internet. Ha servido como una herramienta para explorar laInternet, para descubrir las propiedades de los protocolos propuestos, para la

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    13/27

    identificacin de problemas y para probar las soluciones propuestas. Tambin seha utilizado como una herramienta de verificacin para las propuestas de modelosanalticos. Ha acompaado a la Internet y el trabajo de la IETF (InternetEngineeringTaskForce.). El IETF es el principal organismo de normalizacin de

    los protocolos de Internet (9).

    5.1.1 LenguajesNS-2 est basado en dos lenguajes de programacin, C++ (a nivel de datos) yOTcl (a nivel de control).El ncleo principal de NS-2 est escrito en C++, lo cualagiliza la simulacin y el lenguaje OTcl se utiliza para actuar sobre el simulador.La utilizacin de estos dos lenguajes permite combinar la velocidad de ejecucinpropia 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. Medianteeste lenguaje los usuarios pueden crear nuevas clases, en las cuales seimplementa la funcionalidad para los diferentes objetos de red. El usuario tambinpuede construir sus propios protocolos y modificar segn sus necesidades los yaexistentes, por tanto es necesario utilizar el programa fuente del simulador y luegovolver a compilar y vincular todos los mdulos para crear un nuevo ejecutable deNS-2. (10).El uso de C++ se debe a que es un lenguaje compilado ms eficienteen tiempo de ejecucin aunque desde el punto de vista del usuario puede ser mslento 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 eficientementeoctetos, cabeceras de paquetes e implementar algoritmos, que trabajen sobregrandes flujos de datos (1). Para estas tareas la velocidad de ejecucin es msimportante 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 suaprendizaje. Se utiliza principalmente para el desarrollo rpido de prototipos,aplicaciones "script", interfaces grficas y pruebas. Es un lenguaje interpretado, ysu cdigo puede ser creado y modificado dinmicamente.

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    14/27

    NS-2 utiliza el lenguaje de programacin OTcl para desarrollar los scripts desimulacin, en los que se configuran las caractersticas de los escenarios(topologa, parmetros de los enlaces, protocolos, modelos de trfico), as comotambin para establecer la planificacin de los eventos (3).

    El uso de OTcl se debe a que es un lenguaje interpretado, por tanto permiterealizar cambios de manera rpida e interactiva, aunque es ms lento en tiempode ejecucin (3). No obstante, el estudio de las redes implica hacermodificaciones continuas en los parmetros de configuracin y en la exploracinde diferentes escenarios de simulacin, donde cambiar el modelo y volver aejecutar es ms importante (tiempo de iteracin) (10).

    5.1.2 JerarquasHay dos clases de jerarquas: el compilado en C++ y la jerarqua interpretadaOTcl, con correspondencia uno a uno entre ellos (9).La jerarqua del compilado enC++ nos permite lograr eficiencia en la simulacin y ms rpidos tiempos deejecucin. Esto es til, en particular, para la definicin detallada y funcionamientode los protocolos. Esto permite reducir paquetes y el tiempo de procesamiento deeventos.

    En el script de OTcl proporcionado por el usuario, se puede definir una topologade red en particular, los protocolos y aplicaciones especficas que se deseasimular (cuyo comportamiento ya est definido en la jerarqua de compilado) y laforma de la salida que se desea obtener desde el simulador.

    5.1.3 Herramientas del NS-2Network Simulator utiliza una variedad de herramientas para manipular objetos yflujos de datos y tambin proporciona herramientas que permiten interpretar yanalizar los resultados obtenidos de la simulacin de una manera grfica. Estasherramientas son NAM, Network AniMator y XGraph que crean una representacina partir de los ficheros de traza generados por NS-2(1).

    Los ficheros de traza reflejan todos los eventos que han sucedido durante lasimulacin de la red. Cada una de las trazas incluidas en estos ficheros contieneinformacin sobre el instante de tiempo en que ha ocurrido, sobre los nodosimplicados, informacin sobre la trama MAC, sobre el paquete IP, e informacin

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    15/27

    adicional que depende del evento que se ha producido o del tipo de paquete delque se trata (2).

    Adems de estas herramientas para visualizar los resultados, tambin se pueden

    extraer mtricas cuantitativas de los resultados de la simulacin utilizandolenguajes como PERL o AWK para filtrar los ficheros que contienen las trazasmediante un post-procesado de los mismos.

    5.2 TCP (Transmission Control Protocol)

    TCP (que significa Protocolo de Control de Transmisin) es uno de los principalesprotocolos 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 deInternet (11). TCP se definen en el [RFC 793], [RFC 1122], [RFC 1323], [RFC2018] y [RFC 2581].

    Se dice que es orientado a conexin porque antes de que un proceso deaplicacin pueda comenzar a enviar datos a otro, los dos procesos debenestablecer previamente un acuerdo entre ellos (deben enviarse algunossegmentos para establecer parmetros que aseguren la transferencia de datos).Como parte del establecimiento de la conexin TCP, ambos lados de la conexininiciarn 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 puedeenviarse un flujo de datos. El protocolo garantiza que los datos sern entregadosen su destino sin errores y en el mismo orden en que se transmitieron. Tambinproporciona un mecanismo para distinguir distintas aplicaciones dentro de unamisma mquina, a travs del concepto de puerto.

    En la pila de protocolos TCP/IP, TCP es la capa intermedia entre el protocolo deinternet (IP) y la aplicacin. Habitualmente, las aplicaciones necesitan que la

    comunicacin sea fiable y, dado que la capa IP aporta un servicio de datagramasno fiable (sin confirmacin), TCP aade las funciones necesarias para prestar unservicio que permita que la comunicacin entre dos sistemas se efecte libre deerrores, sin prdidas y con seguridad.

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    16/27

    5.2.1 Funciones de TCPLa funcin de TCP es convertir el intercambio de datagramas IP en una conexinde 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 receptorregular la cantidad de datos por unidad de tiempo a la que el emisor debeenviarlos. TCP tambin dispone de mecanismos que le permiten responder a lascondiciones de la red, ajustando su propio comportamiento para optimizar elrendimiento (1).

    TCP posibilita la realizacin de una tarea importante: multiplexar/demultiplexar; esdecir transmitir datos desde diversas aplicaciones en la misma lnea o, en otraspalabras, ordenar la informacin que llega en paralelo. Estas operaciones serealizan 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 unamquina 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 quela red puede manejar. Puede definirse congestin como la situacin en la que elrendimiento de la red, o de una parte de ella, se degrada debido a la presencia detrfico excesivo. TCP implementa un conjunto de algoritmos con los queproporciona una comunicacin fiable extremo a extremo (entre dos hosts). Elhecho de proporcionar una comunicacin fiable entre dos hosts implica, entreotras cosas, que hay que encontrar la forma de controlar que los paquetesenviados 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 yde recuperacin de segmentos perdidos del protocolo TCP.

    Al inicio de la conexin el emisor desconoce el estado de la red; incluso no esseguro que dicho estado sea constante durante una comunicacin. La solucinque propone TCP son los algoritmos SlowStart (Arranque lento: que pone aprueba la capacidad de la red mediante el aumento progresivo del ritmo de envo

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    17/27

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

    Arranque lento (Slowstart)La idea del arranque lento es que una nueva conexin empiece a transmitirdespacio, aumentando su tasa de transferencia gradualmente segn lascondiciones de la red (1). El propsito de SlowStart es consultar y detectar elestado de la red y adecuar el flujo TCP. Intenta evitar que una nueva conexintransfiera desde el inicio demasiados datos a una red congestionada. Se defineuna nueva variable, la ventana de congestin (cwnd), que limitar la cantidad desegmentos 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 porcongestin el algn punto entre emisor y receptor. En TCP el control de lacongestin se hace implementando de forma conjunta arranque lento y prevencinde congestin, aunque se consideren algoritmos distintos.

    Prevencin de Congestin define una variable nueva, un umbral ssthreshcon un

    valor inicial significativamente alto (32Kb, 64Kb), que indicar el tamao umbral dereferencia para la ventana de congestin. El funcionamiento de prevencin decongestin consiste en incrementar cwnd, como en arranque lento, pero en vez deexponencialmente, 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 eimplementaciones de TCP se han propuesto para mejorar la funcin de respuestadel algoritmo de control de congestin, aportando algunas modificacionessignificativas que mejoran aspectos de la transmisin en general.

    La primera implementacin real de Internet se produjo sobre 1980, cuandoDARPA comenz a convertir las mquinas de su red de trabajo (ARPANET) a los

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    18/27

    nuevos protocolos de TCP/IP. En 1983 la transicin fue completa y DARPA exigique 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 BerkeleyEl principal cometido de esta implementacin de TCP fue disminuir la grancomplejidad existente en las comunicaciones en red. Para ello, los dos extremosde la transmisin tenan la responsabilidad en este aspecto, a pesar de lassituaciones en las que se pudiera encontrar. Bajo esta distribucin de Berkeley,TCP funcionaba de manera correcta con la principal salvedad de no ofrecergrandes 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 delreceptor.

    5.3.2 TCP TahoeLa distribucin Tahoe de TCP, intentaba solventar los problemas que presentabala implementacin de Berkeley, detectando para ello el estado de la red y elcontrol de flujo lo que conllevaba, notablemente, la disminucin de prdidas desegmentos. Con este fin se aadieron los algoritmos Slow Start y Congestion

    Avoidance, que trataban detectar y controlar la posible congestin presente en lared. Igualmente se aadi el algoritmo Fast Retransmit para volver a transmitir lossegmentos perdidos lo ms rpidamente intentando perder el menor tiempoposible.

    Es el ms sencillo y antiguo de los agentes TCP de NS-2. Tiene las principalesbases de TCP y los siguientes agentes estn basados en l. Asume la prdida deun paquete cuando se recibe un nmero determinado de ACKs duplicados(generalmente 3) retransmitiendo inmediatamente o bien cuando expira elRestransmition Timer.

    5.3.3 TCP RenoEsta versin de TCP presenta las mismas caractersticas de la versin de Tahoems el algoritmo Fast Recovery, que evita dentro de lo posible que el tamao de laventana llegase a dos y se iniciara la fase Slow Start en redes que presentasenuna determinada congestin con algunos picos de gran congestin.

    Funcionamiento muy similar al Tahoe pero incluye Fast Recovery, que es elestado en que se entra cuando se reciben 3 ACKs duplicados y por tanto cuandose considera que existe una prdida.

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    19/27

    5.3.4 TCP New RenoEsta versin de TCP intenta solucionar los inconvenientes de los algoritmos SlowStart 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 estealgoritmo, el emisor enva series de dos paquetes conociendo el intervalo detiempo existente entre ellos. Segn lleguen los ACK se ir conociendo el retardoexistente y, dependiendo de este retardo, se podr conocer el estado en que seencuentra la red, la posible situacin de congestin, etc. Igualmente en estaversin se define la fase de retransmisin rpida, que acta cuando ms de unsegmento de una misma ventana se pierde, complementando de esta forma a losalgoritmos 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 depaquete. A diferencia de TCP Reno no sale del estado de Fast Recovery hastaque no se hayan recibido los ACKs de todos los paquetes que aun estaban porreconocer 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 seriede innovaciones. De esta forma se intent solucionar el problema que seocasionaba en redes con gran probabilidad de prdidas de paquetes y redes conun 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, elreceptor, por medio de este algoritmo, enva un ACK duplicado a modo debandera al emisor para que ste sepa qu segmentos han llegado correctamentey cules no, a fin de que vuelvan a ser enviados. Otra caracterstica peculiar deesta versin es que Sack realiza en todo momento una estimacin del trafico quehay pendiente en la red y slo enva o retransmite segmentos si el volumen dedatos o trfico estimado fuese menor que el de la ventana de congestin, cwnd.

    5.3.6 TCP VegasMediante esta versin se intenta que el emisor detecte de antemano lascongestiones, comprobando constantemente la tasa de transferencia que seespera 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 entrandoen juego el buffer de los routers de la red. Sin embargo, se tiene como

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    20/27

    contrapartida que el protocolo TCP no dispone de un ancho de banda ciertamenteestable, sino que su funcionamiento es a rfagas, por lo que estas modificacionesque se proponen desde Vegas bien pudieran no ser estables.

    El principal inconveniente de esta versin es el de la generacin de colascontinuas, por lo que igualmente se continan estudiando polticas de gestin debuffers adecuadas.

    5.3.7 TCP LinuxRecientemente, un mdulo, NS-2 TCP Linux fue desarrollado para NS-2 paraproporcionar agentes TCP basadas en Linux. Linux TCP tiene varias diferenciascon respecto a la implementacin TCP en NS-2.

    TCP Linux no utiliza reconocimientos con retraso inicialmente, de modo que laventana de congestin puede crecer ms rpido. Linux-TCP utiliza la informacinD-SACK para reorganizar los paquetes fuera de orden. Linux-TCP utiliza unalgoritmo mejorado de deteccin de prdida de paquetes llamado score-boarding.Todas estas mejoras en Linux-TCP pueden causar que los resultados obtenidosmediante el uso de NS-2 TCP Linux difieran de los obtenidos utilizando TCP pordefecto de NS-2.

    6 METODOLOGA

    Para abordar la solucin al problema y cumplimiento de los objetivos planteadosse 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 lasactividades a realizar en cada una de ellas, para cumplir con cada uno de losobjetivos especficos:

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    21/27

    Objetivo especfico 1: Modelar una red de datos con trfico TCP, sometida acondiciones 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 ydiferentes variantes de TCP.

    Actividad 1.2.Clasificar y organizar la informacin recopilada para sistematizar suuso en las etapas de definicin, diseo y desarrollo.

    Actividad 1.3.Definir un modelo de red de datos con trfico TCP, sometida acondiciones de congestin que permita monitorear la evolucin de la ventana decongestin 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 medianteel desarrollo del programa en OTcl que permita incorporar las dos variantesTCP-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 yejecutarlo bajo NS-2, verificando que el programa est libre de errores.

    Actividad 2.3.Definir las clases y mtodos que utiliza el programa, describiendosus funciones.

    Objetivo especfico 3. Evaluar el desempeo de la red para cada variantemediante el anlisis de la ventana de congestin y del Throughput..

    Actividad 3.1.Filtrar y graficar los resultados obtenidos en archivos para suposterior anlisis.

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    22/27

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

    Objetivo especfico 4. Elaborar un documento presentando los resultadosobtenidos..

    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 conrelacin a los parmetros de desempeo de inters (ventana de congestin ythroughput).

    Objetivo especfico 5. Elaborar Artculo presentando los resultados msrelevantes.

    Actividad 5.1.Realizar artculo para someterlo a publicacin presentando losresultados obtenidos.

    7 RESULTADOS ESPERADOS

    Al cumplir los objetivos satisfactoriamente se espera:

    Obtener conocimientos bsicos del software de simulacin NetworkSimulator 2 (NS-2).

    Desarrollar un mdulo de simulacin que sirva de apoyo a la docencia enlas asignaturas de redes de comunicacin.

    Elaborar un documento con los aspectos importantes de la concepcin ydiseo del modelo desarrollado, as como de las funciones realizadas por elcdigo OTcl.

    Someter a publicacin un artculo que presente los resultados obtenidosdurante el desarrollo del mdulo de simulacin.

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    23/27

    8 PRESUPUESTO

    DESARROLLO DE UN MDULO DE SIMULACIN DE UNA RED DE DATOSBAJO NETWORK SIMULATOR 2

    DescripcinFuentes de Financiacin

    Universidad del VallePropios Otros

    Especie EfectivoPERSONAL

    Estudiante $4.000.000

    Director de Trabajo deGrado $8.000.000

    Total $8.000.000 $4.000.000

    EQUIPO

    Equipo de Cmputo $ 2.300.000

    Total $ 2.300.000

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    24/27

    SOFTWARE

    Linux Mint 14 $ 0.0Network Simulator 2 (NS-2) $ 0.0

    Total $ 0.0BIBLIOGRAFA

    Libros $ 240.000

    Artculos $ 200.000

    Total $ 440.000

    PAPELERA

    Fotocopias $ 50.000

    Impresiones $ 150.000

    Varios $ 200.000

    Total $ 400.000

    SERVICIOSInternet $ 1.000.000

    Base de datos IEEE $ 60.000

    Espacio de Trabajo $ 350.000

    Transporte $ 1.600.000

    Total $ 1.410.000 $ 1.600.000

    Gran Total $4.150.000 $ 8.000.000 $ 6.000.000

    Costo del Proyecto $ 18.150.000

    9 CRONOGRAMA DE ACTIVIDADES

    DESARROLLO DE UN MDULO DE SIMULACIN DE UNA RED DE DATOSBAJO 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.

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    25/27

    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 congestindel y Throughput.

    A3.1.

    A3.2.

    Elaborar un documento para ser usado como gua en la docencia de la simulacinde Redes.

    A4.1.

    A4.2.

    Elaborar Artculo presentando los resultados ms relevantes.

    A5.1.

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    26/27

    10 REFERENCIAS

    1. BARRAGAN MANCILLA, Yunuel.Evaluacin de una Red utilizandoherramientas de simulacin. Mxico : Universidad Autnoma Metropolitana UnidadIztapalapa. Ciencias Bsicas e Ingeniera. Departamaento de Ingeniera Elctrica,2003. pg. 52.

    2. ZAMARRO PARRA, Elena.Generacin de escenarios de redes Bluetoothcompatibles 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, FabiolaElizabeth.Implementacin de Protocolos de la Capa de Enlace de Datos ensimuladores OMNET++ y NS-2. Quito : Escuela Politcnica Nacional. Facultad deIngeniera 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 deTelecomunicaciones., 2009. pg. 138.

    5. ROJAS QUIROS, Daniel Camilo.Herramientas de control en redes decomputadoras 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 Simulator2. Ganda : Universidad Politcnica de Valencia. Escuela Politcnica Superior deGanda. Ingeniera de Sistemas de Telecomunicaciones., 2010. pg. 106.

    7. ANDRADE QUINGA, Juan Carlos y NARANJO CULQUI, SoffaVernica.Anlisis del comportamiento de la tecnologa Wimax (IEEE 802.16) yWimax Mobile (IEEE 802.16e) con trfico de voz y datos en varios escenarios,

  • 7/22/2019 SIMULACIN Y EVALUACIN DEL DESEMPEO DE DOS VARIANTES DE TCP-POR DEFECTO Y TCP-LINUX EN NS-2

    27/27

    usando el simulador NS-2. Quito : Escuela Politcnica Nacional. Facultad deIngeniera 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 : UniversidadPolitcnica de Valencia. Escuela Politcnica Superior de Ganda. Ingeniera deSistemas 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 conNS-2. Bucaramanga : Universidad Pontificia Bolivariana. Facultad de IngenieraElctronica., 2008. pg. 28.

    11. KUROSE, James F y ROSS, Keith W.Redes de Computadores. Un enfoquedescendente basado en Internet. 2.

    12. GONZLEZ SNCHEZ, Jos Luis.Protocolo TCP. Espaa : Universidad deExtremadura. Grupo de Investigacin de Ingeniera de Telemtica Aplicada yComunicaciones Avanzadas (GITACA), 2003. pg. 59.