martes, 30 de abril de 2013

Control de congestión

Para esta entrada se hizo uso de los módulos que se desarrollaron para generar topologías y generar patrones de tráfico en las tareas pasadas de laboratorio.

Topologías

Para esto se creo un script en python que genera código en python también que forman algúna topología común como estrella, anillo o árbol. Este es el código con algunas mejoras del que se realizo en laboratorio:



Tráfico

Esto se realizo con un archivo de texto que tenía algunos datos relevantes, los pasos a seguir son:

  • Se implementa una subclase de la clase Application.
  • Instanciar una o varios sockets dentro de esa aplicación.
  • Iniciar la programación de eventos cuando se llama StartApplication.
  • Parar la programación de eventos cuando StopApplication es llamada.
  • Se crean paquetes y se envían en cada evento.

El código y su archivo de entrada.
El archivo de entrada contiene varios renglones y cada uno contiene la información de un envío en el siguiente orden:
nodo_inicio, nodo_final, tiempo_inicio, tiempo_termino, ip, data_rate

Código:



Lo siguiente es comparar por lo menos dos diferentes esquemas de control de congestión (inventados por nosotros mismos, sin googlear ni por ideas ni código)

Las librerías que hay que importar para crear y modificar las tablas de ruteo son:



Este código base es lo más importante para los dos algoritmos de congestion que cree:


El primer algoritmo que hice de congestión es muy simple, solamente toma un nodo al azar y es al que se le da preferencia de transferir o enviar datos y así hasta que todos los nodos han completado alguna acción.

El segundo algoritmo lo que hace es tomar el primero que esta en la lista que quiere enviar o recibir algún paquete y darle prioridad a el y una vez que lo hiso se saca de la lista y se va por el siguiente y así hasta terminar.

Código



Vídeo Algoritmo 1:



Vídeo algoritmo 2:



Referencias

Ejemplos del paquete de ns3/src/routing
Injection

1 comentario:

  1. Me hubiera gustado algo de estadísticas comparativas, pero al parecer estabas muy ocupada con tu cumpleaños (¿y tu anillo nuevo de compromiso?); 8 pts.

    ResponderEliminar