Вы находитесь на странице: 1из 8

Análisis del Tráfico generado por paquetes

UDP y TCP en la red de una Empresa usando


el Software NS2
Est. Miguel Salazar Nathaly Silvina, Estudiante IX EPIE, UNPRG, Est. Rodas Carrasco Frank
Orlando, Estudiante IX EPIE, UNPRG

Resumen— En el presente artículo se presenta el uso y


 Aplicación: Están contenidos los protocolos SMTP,
aplicación del software NS2, a través de la simulación de tráfico
generado por una empresa cualquiera. Agregando nodos y
para el correo electrónico; FTP, para la transferencia
conceptos que se explicarán desde un inicio, se podrá llevar a cabo de archivos; TELNET, para la conexión remota, y
tal proceso con el fin de analizar los resultados y profundizar más HTTP, Hypertext Transfer Protocol.
en el uso de tal herramienta de simulación.  Transporte: Se comprende a los protocolos TCP y
UDP, que se ocupan del manejo y el transporte de los
Palabras Claves—Protocolos, UDP, TCP, FTP, NS2. datos.
 Internet: Se ubica en el nivel de la red para enviar
los paquetes de información.
I. INTRODUCCIÓN  Acceso a la red: Es el correspondiente a la interfaz

E
n el presente artículo se analizará el tráfico telefónico de red.
generado por una empresa luego de haber sido generada
mediante valores aleatorios y simulada haciendo uso del III. PROTOCOLOS TCP Y UDP
software NS2, además de una interpretación de las resultados
TCP/IP soporta dos protocolos: TCP (transmission control
que se obtengan.
protocol) y UDP (user datagram protocol).
TCP es un mecanismo de transporte y orientado a conexión,
II. ARQUITECTURA TCP/IP que proporciona un flujo fiable de bytes, que asegura que los
datos lleguen completos, sin daños y en orden. TCP realiza
Fue desarrollado en 1969 por DARPA: Departamento de
continuamente medidas sobre el estado de la red para evitar
Proyectos Avanzados de Investigación de la Defensa de EE.UU.
sobrecargarla con demasiado tráfico. Además, TCP trata de
La arquitectura de Internet está basada en el protocolo enviar todos los datos correctamente en la secuencia
TCP/IP, diseñado para manejar la información en paquetes, especificada. Mientras que UDP es un protocolo de datagramas
debido a la gran versatilidad de comunicación que hay entre dos sin conexión, es usado para aplicaciones donde la velocidad es
computadoras conectadas a internet. En otras palabras, el más importante que la fiabilidad (audio, video). (Ramos, 2008)
protocolo TCP/IP es el que utilizan todas las computadoras Existen aplicaciones que utilizan TCP y otras que usan UDP:
conectadas a internet. Es el protocolo que hace posible la
comunicación entre todos los equipos, aunque haya diferencias
en cuanto a marca, hardware, software, formas de conexión y
sistema operative. Corona (2004)
Está formado por capas, algunos consideran 4, otros 5:
2

IV. PROTOCOLOS FTP Y CBR


(b) Unidireccional: Como no se transmiten acuses de recibo
FTP/TCP desde el receptor, solo se realiza una comunicación de una
Existían protocolos de transferencia de archivos estándar manera, es decir, en el enlace directo. El destino no envía
para ARPANET antes de que comenzara a funcionar el ningún paquete de datos al receptor, por lo tanto, ofrece tráfico
TCP/IP. Estas versiones tempranas de software de unidireccional.
transferencia de archivos evolucionaron hasta llegar al (c) Predecible: El UDP / CBR tiene una naturaleza predecible
estándar actual, conocido como File Transfer Protocol (FTP, de transmisión, ya que ofrece velocidad de bits constante,
protocolo de transferencia de archivos). (Comer, 1996) tamaño de paquete fijo y conocido, intervalo de paquetes fijo y
En dicho escenario de tráfico, TCP representa el tipo de conocido, y duración de flujo de paquetes fijo y conocido. La
datos y FTP representa el agente de tráfico de aplicaciones de transferencia de archivos se da entre las aplicaciones TCP/IP
cualquier aplicación que transporta datos TCP. Aquí TCP es utilizadas con mayor frecuencia, y que cuenta con mucho
un protocolo de capa de transporte y FTP es un protocolo de tráfico en red. (Sharma & Gupta, 2012)
capa de aplicación. Este escenario ofrece un entorno de Se caracteriza por tener una utilización de ancho de banda fijo
transmisión orientado a la conexión, donde la comunicación en la red y es típicamente usado por aplicaciones como video y
se produce en fases, a saber, establecimiento de la conexión, audio.
transmisión de datos, terminación de la conexión. Las tres
características básicas que se ofrecen son: V. NS2
(a) Confiable: TCP / FTP ofrece una comunicación confiable,
ya que ofrece entrega garantizada de datos mediante el uso de Es un simulador de redes que permite simular protocolos
los reconocimientos que garantizan la entrega de datos en un de red. El usuario define mediante un script la pila de
destino. En caso de que no se reciban acuses de recibo hasta el protocolos y otros aspectos básicos de la red a simular,
período de tiempo de espera, las retransmisiones se realizan proporcionando datos al programa acerca del escenario a
para garantizar la entrega de datos en el receptor. Podemos simular y del tipo y características del tráfico a utilizar.
decir que se requieren reconocimientos positivos, tiempos de Conforme avanza la simulación, se generan un conjunto de
espera y retransmisiones para garantizar la entrega de datos en datos de salida que se almacenan en un fichero de traza. A
una red. partir de las trazas de simulación se pueden utilizar lenguajes
(b) Bidireccional: aquí en TCP / FTP, en una dirección, es como Perl y AWK para filtrar la traza y obtener los índices de
decir, la dirección de avance, el emisor transmite los datos y prestaciones que se deseen evaluar. Finalmente, herramientas
en la otra dirección, es decir, la dirección inversa, el receptor tales como Network Animator (nam) permiten realizar un
acusa recibo del emisor transmitiendo acuses de recibo. análisis visual del envío y recepción de paquetes de datos y
Entonces, de esta manera ocurre la comunicación control a medida que avanza la simulación.
bidireccional.
(c) Conformidad: la red mientras trabaja con TCP / FTP Los conceptos vistos anteriormente se pueden
ofrece una naturaleza conforme. La red se está conformando implementar en NS2 de la siguiente manera:
en el contexto de las transmisiones, ya que ofrece control de
flujo y congestión. Control de flujo al evitar el Definición de fuentes de tráfico: FTP/TCP
desbordamiento del búfer del destinatario y el control de la
congestión al mantener el seguimiento de los acuses de recibo,
los tiempos de espera y las retransmisiones. (Sharma &
Gupta, 2012)
Sirve para compartir y transferir información entre dos
computadoras.

CBR/UDP
Este tipo de tráfico implica datos de tipo UDP y el Definición de fuentes de tráfico: CBR/UDP
agente de tráfico de la aplicación es CBR. Aquí, el primero es
un protocolo de capa de transporte y el último es el protocolo
de capa de aplicación. Ofrece transmisión de datos a
velocidad de bits constante y no se comunica por fases, y el
tráfico se mueve en una dirección desde la fuente hasta el
destino sin ningún comentario del destino. Ofrece tres
características básicas que se mencionan a continuación:
(a) No confiable: la red no es fiable porque no establece la
comunicación por fases y no depende de los acuses de recibo
para recuperar los mensajes perdidos. El nodo remitente no se Seteo de las características del tráfico CBR
responsabiliza por la entrega exitosa de los datos.
3

VI. ANÁLISIS DEL TRÁFICO GENERADO También añadimos el código del proceso de finalización
de la simulación, proceso que será llamado al final de
Para realizar un mejor análisis acerca del tráfico nuestro código.
generado en una red, presentaremos un ejemplo que consiste
en la simulación de una red LAN de una empresa.
En esta empresa podremos encontrar un conjunto de teléfonos
y computadoras que trasmitirán sus datos a través de un
mismo enlace.
De acuerdo a lo ya mencionado anteriormente, el
mecanismo de transporte más adecuado para la realización de
llamadas (en el caso de los teléfonos) es el UDP, mientras que
para el envío de correos electrónicos (a través de las
computadoras) es el TCP.
Además debemos aclarar que cada conjunto (de
teléfonos y de computadoras) se dividen en 3 subconjuntos:
En el caso de los teléfonos, un subconjunto que será
Para generar tráfico en esta red es necesario
parte del CallCenter de la empresa, mientras que el otro será
establecer los siguientes parámetros:
para la comunicación inter-áreas.
En el caso de las computadoras, un subconjunto realizará
constantes tareas en la red. - Número de teléfonos/computadoras
- Número de llamadas/sesiones
Habiendo definido las principales características de - Inicio de llamada/sesión
nuestra red, nuestro esquema quedaría de la siguiente manera: - Duración de llamada/sesión

Para acercar nuestra simulación más a la realidad,


podemos definir las variables de número de
llamadas/sesiones, inicio de llamada/sesión, duración de
llamada/sesión lo menos constantes posible.
Para hacer eso posible, haremos uso de los
generadores de números aleatorios (RNGs).
Los números aleatorios nos permitirán obtener
distintos números de llamadas/sesiones, inicios de
llamada/sesión, duraciones de llamada/sesión para cada
teléfono/ computador, y eso es lo que ocurre en la
realidad, el número de llamadas que se realicen en el
CallCenter no será el mismo número de llamadas que se
realicen inter-área, de igual manera ocurre en el caso de
Donde el nodo 2 y 3 usarán mecanismo UDP, mientras las computadoras.
que el 4 usará TCP. A su vez, el uso de números aleatorios nos permite
Todos los paquetes que sean enviados de cualquiera de ajustar los anchos de banda de cada uno de los nodos a fin
estos 3 nodos, harán una “escala” en el nodo 0, para de no desperdiciar los recursos de nuestra red y lograr un
finalmente ser transmitidos al nodo 1. dimensionamiento eficiente.

Para iniciar, creamos un archivo en el “text editor”, Es así que generamos inicialmente un RNG, el cual
donde colocaremos el siguiente código para la creación de un servirá para generar diferentes números de semillas para
objeto de simulación y los archivos .nam y .tr los siguientes generadores que crearemos para las
distintas variables que se necesitan.
Generar diferentes semillas permitirá que los
números a generar sean lo más aleatorios posibles.

Una vez creado el generador, es necesario crear una


variable que será el número aleatorio que se genere:
4

Ahora procedemos a crear los distintos RNGs que


serán necesarios para cubrir las variables mencionadas
anteriormente:

Luego creamos las variables que serán los números


aleatorios que se generen por los distintos RNGs.
Es importante crear las variables clasificándolo de
acuerdo al uso que se le dará, por ejemplo la letra “C” indica
que todas las variables pertenecen a los teléfonos que se
usarán en el CallCenter, y la letra “E” pertenece a los
teléfonos que se usarán inter-áreas.

Para la obtención de los parámetros en el CallCenter, con


el fin de hacerlo lo más real posible, nos basamos en una
pequeña empresa de un usuario quien lo expuso en un foro:

De igual manera sucede con las computadoras:

Mientras que otros de los parámetros han sido sacados


de una entrevista hecha por una revista a una trabajadora en
esta área, "Rosa, que hace en torno a 150 y 180 llamadas
diarias, en las que no se pueden superar el tiempo máximo de
tres minutos. [...] la pausa entre llamadas y, como estipula el
convenio, disponen de entre 23 y 25 segundos [...] (Azul,
2017)

Sin embargo los valores reales nos dirigen a una


simulación muy lenta y con una generación de archivos
demasiado pesados, es por tal que a todos los valores reales
los hemos dividido entre 10.
Entonces, quedaría de la siguiente manera:
El diferenciar entre CallCenter e inter-áreas implica que
el rango de valores máximos y mínimos de los números
aleatorios sea diferente para cumplir con los requerimientos
antes mencionados.
Luego establecemos el número de teléfonos y
computadoras que se usarán en cada caso:
5

llamadas/sesiones y a las duraciones de las llamadas/sesiones


para poder calcular el inicio y el final de las llamadas/sesiones
(ya sea en CallCenter como en inter-áreas):

Además establecemos el número de nodos que


crearemos para cada mecanismo de transporte:

A continuación creamos las variables que almacenarán


los números aleatorios generados:

Para hacer más aleatorios los números de


llamadas/sesiones realizadas por cada teléfono/computadoras,
generaremos un número aleatorio de llamadas/sesiones por
cada teléfono/computadora (ya sea para CallCenter como para
inter-áreas), a su vez ese número aleatorio lo almacenaremos
en una variable que crearemos:

Una vez listo el inicio de las llamadas/sesiones, el fin de


las llamadas/sesiones, el número de las llamadas/sesiones y el
número de teléfonos/computadoras, procedemos a la parte del
código que pertenece a la simulación.

En primer lugar, creamos los dos nodos, uno que actuará


como el nodo principal (n01) y el otro como el nodo sucursal
(n00):

También creamos otras variables que almacenarán el


resto de números aleatorios que se generen:
Luego, enlazamos ambos nodos y establecemos el
ancho de bancha, el tiempo de retardo y el tamaño de la
cola en ese enlace:

Luego creamos los subnodos que emplearán el


mecanismo UDP.

Lo siguiente es hacer el acomodo de los números Cada subnodo creado lo enlazamos con el nodo sucursal
aleatorios correspondientes al tiempo que se da entre (n00), también se establece el ancho de banda y el tiempo de
6

retardo perteneciente a cada enlace:

Después creamos un agente Sink en el nodo principal


n(01); al igual que el agente Null, el agente Sink libera los
paquetes recibidos, he ahí la razón por la que se crea en el nodo
Procedemos de igual manera con los subnodos que
principal:
emplearán el mecanismo TCP:

Conectamos cada agente TCP al agente Sink:

Enlazamos cada subnodo al nodo sucursal (n00) y


establecemos el ancho de banda y tiempo de retardo en cada
enlace:

Luego generamos tráfico FTP de acuerdo a cada sesión


que se origine en cada una de las computadoras, ya sean
computadoras que realicen mayor interacción con la red como
Luego procedemos a crear un agente UDP por cada
las que realizan el mínimo:
subnodo:

También creamos un agente Null en el nodo que recibirá


todo lo transmitido, en este caso el nodo principal n(01), Luego generamos tráfico CBR de acuerdo a cada llamada
debido a que este agente libera los paquetes recibidos: que se origine en cada uno de los teléfonos (en este caso a los
del CallCenter):

Conectamos cada agente UDP al agente Null:

Una vez generados los tráficos CBRs, le asignamos el


Luego generamos tráfico CBR de acuerdo a cada momento en el que cada uno de ellos inicia y finaliza de
llamada que se origine en cada uno de los teléfonos (ya sea los acuerdo a las variables establecidas en la primera parte del
de CallCenter o inter-área: código:

Ahora procedemos a crear los agentes TCP por cada


subnodo:
7

De igual manera que con los tráficos CBRs, le


asignamos al tráfico FTP el momento en el inicia y finaliza
de acuerdo a las variables establecidas en la primera parte
del código:

Finalmente se establece el fin de la simulación:


Sin embargo el ancho de banda se desperdicia ancho de
banda, por lo que se reduce, y este es el nuevo resultado un
tanto parecido:

Mediante el archivo Perl “desempeno.pl”, se verifica el


desempeño del nodo que se desee analizar, en este caso para
el nodo 0, que es el que recibirá el tráfico generado por los
paquetes TCP y UDP.

Para verificar solo el comportamiento resultante para solo


paquetes UDP, se verifica que el código Perl tenga
redactado el nombre del protocolo “cbr”.
Para observar solo el comportamiento resultante para solo
tráfico TCP, se verifica que el código Perl tenga redactado el
nombre del protocolo “tcp”.

Para graficar se realiza:

Según análisis hechos, el resultado sale en un nivel de 2Mb,


Este es el resultado para un ancho de banda en los enlaces que es el valor puesto en el enlace TCP, y conforme se
de ambos UDP, siendo el mayor de ellos 10Mb. Demuestra cambie, este se acopla al valor indicado. Aparte que a
el tráfico generado solo por UDP, al inicio ocupa gran parte diferencia de UDP, TCP es más ordenado para el envío de
del ancho de banda debido a que el nodo 0 recibe de ambos datos, controlado el flujo y la congestión. Mediante la
nodos simultáneamente y en grandes cantidades. Conforme simulación NAM además se podría observar otra de sus
pasa el tiempo se va reduciendo el tráfico, llegando en algún características, la transmisión bidireccional.
momento a quedarse solo el nodo generado para el
CallCenter, hasta ya no generar tráfico. Ocupa cerca de 4Mb
debido a que en el CallCenter se incluyeron gran cantidad de
teléfonos y llamadas, en otras palabras se determinó que
genere gran cantidad de tráfico. Para un mayor
entendimiento se podría observar la simulación del NAM.

Para observar el comportamiento resultante para ambos tipos


de tráfico, generado por los paquetes TCP y UDP, el código
8

Perl se ve modificado: traffic under AODV routing protocol in


MANET. International Journal of Computer
Applications, 56(15).
[5] Azul, M. (2017). El negocio del call center: las
empresas que te atienden al teléfono (y que no
conoces). Noticias de Empresas. [online] El
Confidencial. Obtenido de:
La gráfica que se origina como resultado de ambos tráficos: https://www.elconfidencial.com/empresas/2017-02-
25/call-center-empresas-negocio_1338289/

Miguel S. Nathaly Estudiante de


Ingeniería Electrónica en la Universidad
Nacional Pedro Ruiz Gallo, cursando
actualmente el noveno ciclo. Ha asistido a
disntitas conferencias relacionadas a su
carrera, asi como talleres. Ha sido
organizadora del SINTEL, actividad que
se lleva a cabo como parte del aniversario
En el código anterior se vio que se colocó un ancho de banda de de su Facultad,
6.5Mb que es suficiente según la gráfica resultante. Siendo
misma actividad que reune a diversas universidaes para
adecuada al no desperdiciarse.
conferencias y concursos relacionadas a la carrera. Tiene
conocimientos en programas de escritorio tales como
Finalmente, al aplicar el código “loss.awk”, se comprobó que AutoCAD, Matlab, Arduino, EAGLE, Proteus, entre otros.
no existe pérdida de paquetes Además de conocimientos en lenguajes de programación,
elaboración de placas circuitales y proyectos de ingeniería.

VII. CONCLUSIONES Rodas C. Frank Estudiante de Ingeniería


Se profundizó en el uso del software NS2, simulando tráfico Electrónica en la Universidad Nacional
de una empresa, y cambiando parámetros, tales como la Pedro Ruiz Gallo, cursando actualmente
reducción del tiempo de retraso para evitar el encolamiento y la el noveno ciclo. Asistió a diversas
pérdida de paquetes. conferencias organizadas por EPIE
Universidad Nacional Pedro Ruiz Gallo.
Se puso en práctica los conceptos de protocolo de transporte
Tiene conocimientos intermedios de
y aplicación, demostrando sus características mediante la
simulación. lenguajes tales como Arduino,
Assembler, C++. Domina plataformas
Se pudo comprobar que para el caso de los CallCenter se tales como EAGLE, Proteus, emu8086,
necesitaría un ancho de banda mayor al generar un tráfico Borland C++, entre otros. Tiene intereses
continuo y grande debido al número alto de llamadas y futuros respecto a la Bioingeniería.
teléfonos, que estos puedan poseer. De igual manera se
demostró que el tráfico generado por paquetes TCP, puede
llegar a ser mucho mayor si se hubiese simulado con iguales
parámetros indicados en el CallCenter, llegando a ocupar todo
el ancho de banda y más de ser el caso.

VIII. REFERENCIAS

[1] Corona, A. E. (2004). Protocolos TCP/IP de Internet.


[2] Comer, D. E. (1996). Redes globales de información
con Internet y TCP/IP: principios básicos, protocolos y
arquitectura. Pearson Educación.
[3] Ramos, J. M. G. (2008). Análisis del Comportamiento
de Tráfico «TCP» sobre Redes Inalámbricas de Banda
Ancha CDMA 2000-Edición Única. Recuperado a
partir de
https://repositorio.itesm.mx/handle/11285/569096
[4] Sharma, R., & Gupta, K. (2012). Comparison based
performance analysis of UDP/CBR and TCP/FTP

Вам также может понравиться