martes, 16 de abril de 2013

Laboratorio 7: Generación de Tráfico con Ns-2

Para poder generar tráfico usando el simulador ns-2, basta con crear algún agente TCP o UDP y adjuntarle una fuente de tráfico de 3 posibles:
  • Application/Traffic/CBR - genera paquetes con un bitrate constante.
  • Application/Traffic/Exponential - en ciertos periodos, no se envía tráfico, mientras que en otros se vnía tráfico con una tasa constante. El largo de cada periodos de envío o no envío es distribuido exponencialmente.
  • Application/Traffic/Pareto - lo mismo que la exponencial, pero con una distribución Pareto.
  • Application/Traffic/Trace - el tráfico es generado desde un archivo, donde los tamaños y los tiempos de llegada de los paquetes están definidos.
En la siguiente imagen se puede ver una gráfica que muestra con el tiempo los periodos en los que se envía, y en los que no se envían paquetes. 


Como se puede observar, la línea azul que corresponde a el tráfico CBR es una línea constante sin interrupciones, cumpliendo con su funcion de tener un bitrate constante. En cambio, las líneas verde y roja contienen algunas interrupciones siguiendo las distribuciones Pareto y Exponencial respectivamente.

La topología usada para la gráfica fue:


Donde:
  • 1 utiliza tráfico con interrupciones siguiendo la distribución exponencial
  • 2 utiliza tráfico con interrupciones siguiendo la distribución Pareto
  • 3 utiliza tráfico CBR con bitrate constante
Las medidas de desempeño que se hicieron a cada generador de tráfico son las siguientes:
  • Jitter
  • Delay
  • Throughput
  • Latencia
Para realizar las mediciones, igual que anteriormente se utilizarán script en AWK que en base a los archivos de salida de ns-2, lee información del mismo y en base a ellos calcula jitter, delay, etc.

Throughput

El throughput, o la cantidad de bits que se transmiten exitosamente por segundo, se calcula sumando el total de bits que se envíaron en la transmisión desde un nodo hacia otro, y dividiendolo entre el tiempo de duración de la transmisión.

Calculando el throughput entre el nodo 1 y 0 (tráfico exponencial, variando el burst-time con 100, 300 y 500 ms).




Al incrementar el burst-time, el throughput incrementa, lo cual tiene sentido pensando en que el burst-time es el tiempo en el cual se estarán enviando paquetes.

Entre el nodo 2 y 0 (tráfico con distribución Pareto, variando el idle time, con 100, 300 y 500ms)




Al disminuir el idle-time, el throughput incrementa, debido a que el idle-time es el tiempo en el cual no se envían paquetes, por lo que existe un menor tiempo en el que no se envían paquetes.

Entre el nodo 3 y 0 (cambiando el tamaño de los paquetes a 256, 512 y 1024 bytes):




Código:


Jitter

Para calcular el jitter se utilizan los diferentes tiempos y números de secuencia de los paquetes. Se calcula la diferencia entre el tiempo anterior y el actual, dividiendolo entre la diferencia del número de secuencia anterior y actual.

El jitter calculado entre el nodo 1 y 0:


Entre el 2 y 0:

Entre el 3 y 0:


En este caso no hay jitter porque el tráfico es CBR, entonces no hay variaciones.

Código (obtenido de http://nile.wpi.edu/NS/analysis.html):


Para calcular el jitter, se hace uso de un comando de shell que utiliza AWK, PERL, cat y GREP. Almacena en un archivo los tiempos y números de secuencia calculados. El código de PERL usado fue:

El comando para calcular los jitters y almacenarlos es:


Donde se cambia grep " 3 0 cbr " por la conexión que vamos a calcular el jitter.

Delay

El delay o retraso, es el tiempo promedio que tarda un paquete en llegar de un nodo a otro. y se calcula tomando los tiempos en los que se envian los paquetes, y los tiempos en los que se reciben. Al restar los correspondientes a un paquete dado, se obtiene el delay en ese envío determinado, y promediando la suma de todos entre el total de paquetes enviados se obtiene el delay total.


Calculando el delay entre el nodo 1 y 0.

Entre el 2 y 0.

Entre el 3 y 0.


Código:




Referencias:

1 comentario:

  1. Bien; para la tarea, intenta lograr parametrizar el tráfico y que vaya cambiando mientras avance la simulación (por ejemplo incrementando la tasa). 7 pts.

    ResponderEliminar