martes, 30 de abril de 2013

Actividad 5. Control de tráfico

Para esta tarea se nos pidió lo siguiente:

Código documentado en blog (10 pts)
  • Desarrollen para ns-2/3 un módulo que permite
  • Crear topologías (reciclar de lab)
  • Generar “patrones” tráfico (reciclar de lab)
  • Comparar por lo menos dos diferentes esquemas de control de congestión (inventados por ustedes mismos, no anden googleando ni por ideas ni por código
Para esta tarea se utilizaron los códigos de dos laboratorios anteriores.
La congestión de redes es el fenómeno producido cuando a la red (o parte de ella) se le ofrece más tráfico del que puede cursar.

Primero aquí esta un video que muestra la simulación de tráfico ya que en el laboratorio que se pidió eso no pude realizarlo bien, y lo volví a realizar.




Aquí se puede ver que hay demasiada pérdida de paquetes, con un script en awk, se obtuvieron los datos de los paquetes enviados y recibidos, así como también los paquetes que se perdieron. Estos datos se obtuvieron a través de un archivo trace que genera la simulación, este archivo contiene los paquetes que son enviados, el tiempo, el nodo transmisor y receptor, entre otras cosas.

Código AWK:

En este código se obtiene como resultado el número de paquetes que fueron enviados, los que se recibieron, los paquetes que se perdieron en la comunicación y también un promedio de la cantidad de paquetes por cada medio segundo que se envían y reciben.




Como se puede ver los paquetes que se perdieron es una cantidad muy grande. En estos casos es cuando es requerido un control de congestión. Para esto lo que hice fue apagar o prender los enlaces con más tráfico después de analizar bien la situación y saber cuales son los enlaces con mayor tráfico. Este esquema es muy útil ya que tras analizar todos los enlaces puedes hacer que a cierto tiempo se apague el enlace y se renueve la conexión después. Esto con el fin de que ya no haya tanta pérdida de paquetes. Es una manera muy sencilla ya que lo único que se hace es "romper o apagar" enlaces donde se sabe que hay congestión para después volverlos a encender.


El código es el siguiente:


El resultado corriendo el script:




Video:




Como se puede ver ya no se pierden paquetes en la comunicación así que lo que se realizó tuvo éxito. 


Referencias:
http://elisa.dyndns-web.com/~elisa/teaching/comp/net/congestion.pdf 

1 comentario:

  1. El chiste es tomar las decisiones de apagar/prender durante la ejecución, no via análisis posterior. El análisis estadístico del método propuesto es deficiente. Faltó el otro método con el cual comparar. 4 pts.

    ResponderEliminar