domingo, 7 de abril de 2013

Topologías y ruteos

Para esta semana la tarea es hacer una topología, probar los modos de ruteo y hacer un generador de topologías.

Primero la topología. Elegí la siguiente topología ya que tenía que pensar en alguna que tuviera alguna aplicación real, así que me di a la tarea de hacer un dibujo muy aproximado a la topología que utilizan en el ciber de mi colonia. El encargado me dijo lo que usaban y me pareció sencillo de hacerlo y además aprovechar que tiene un verdadero uso, por eso me pareció bien basarme en esto.


Como es posible ver es una topología estrella, que tiene bastantes ventajas y que es por eso que se usa en el ciber, por ejemplo cuando algún cable se daña, solo afecta al terminal relacionado y no a todos los demás terminales además que es muy fácil agregar o eliminar terminales.
Entonces empecé a diseñarlo en ns-3.

Código en python:



Vídeo del funcionamiento:



Construcción de otras topologías:

Anillo




Árbol





Modos de ruteo

En NS-3 la manera más sencilla de crear un nuevo modo de ruteo es modificando alguno ya existente, por ejemplo el OLSR, tiene las dos funciones básicas que hay que leer RouteOutput y RouteInput. Y así poder utilizar la tabla de ruteo.
Por ejemplo:



Y se establecen de esta manera:



Ese es el olsr, y el ejemplo esta ya hecho en la carpeta de wireless/mixed-wireless.py el que yo hice implementa el ipv4, y la manera en que lo llamo podemos verla en el código que ya mostré pero aquí esta más específicamente, en la línea 69:




Tabla de ruteo

Generador de topologías

El generador que hice es un programa en python que genera a su vez código en python de varios tipos de topologías, el usuario puede elegir si quiere hacer una topología aleatoria, de estrella o de anillo, el programa toma como primer parámetro el tipo de topología y el segundo parámetro es el numero de nodos y regresa un código en python, que se corre en ns-3 para poder verlo.
Para poder verlo es necesario que movamos el archivo generado a la carpeta de ns-3 y así usar todas las funciones de red.
Código:



Ejemplos
Estrella 8 nodos
Código generado:



Captura de pantalla:



Anillo 4 nodos
Código generado:



Captura de pantalla:



Aleatoria 5 nodos
Código generado:



Captura de pantalla:



Referencias

3 comentarios:

  1. Hola Cecy, me gusta tu blog, te podrías poner en contacto conmigo para conversar un par de cosas de proyectos que espero te agraden

    Saludos!

    ResponderEliminar
  2. La gráfica de árbol es un anillo :P 6 pts.

    ResponderEliminar