2 de abril de 2013

Actividad 6: Topologías de Red y Enrutamiento

Laboratorio de Redes de Telecomunicaciones
Actividad 6

Topologías de Red


Primero veamos dos de las definiciones de topología de red que podemos encontrar en diferentes fuentes:
  • La topología de red es la representación geométrica de la relación entre todos los enlaces y los dispositivos que se enlazan entre sí habitualmente denominados nodos.
  • La topología de una red es el arreglo físico o lógico en el cual los dispositivos o nodos de una red (computadoras, impresoras, servidores, hubs, switches, enrutadores, etcétera) se interconectan entre sí sobre un medio de comunicación.
Existen algunas topologías de red básicas como pueden ser de malla, estrella, árbol, bus y anillo, y también algunas que surgen de la combinación de algunas de estas que habitualmente se les llama híbridas.

Topología en Malla

En una topología en malla, cada dispositivo tiene un enlace punto a punto y dedicado con cualquier otro dispositivo. El término dedicado significa que el enlace conduce el tráfico únicamente entre los dos dispositivos que conecta.


Una malla ofrece varias ventajas sobre otras topologías de red. Una de estas ventajas es que el uso de los enlaces dedicados garantiza que cada conexión sólo debe transportar la carga de datos propia de los dispositivos conectados, eliminando el problema que surge cuando los enlaces son compartidos por varios dispositivos. También una topología en malla es robusta porque si un enlace falla, no inhabilita todo el sistema.

Topología en Estrella

En la topología en estrella cada dispositivo solamente tiene un enlace punto a punto dedicado con el controlador central, habitualmente llamado concentrador. Los dispositivos no están directamente enlazados entre sí.


Una topología en estrella es más barata que una topología en malla. En una red de estrella, cada dispositivo necesita solamente un enlace y un puerto de entrada/salida para conectarse a cualquier número de dispositivos. Este factor hace que también sea más fácil de instalar y reconfigurar.

Topología en Árbol

La topología en árbol es una variante de la de estrella. Como en la estrella, los nodos del árbol están conectados a un concentrador central que controla el tráfico de la red. Sin embargo, no todos los dispositivos se conectan directamente al concentrador central. La mayoría de los dispositivos se conectan a un concentrador secundario que, a su vez, se conecta al concentrador central.


Topología en Bus

Una topología de bus es multipunto. Un cable largo actúa como una red troncal que conecta todos los dispositivos en la red.


Entre las ventajas de la topología de bus se incluye la sencillez de instalación. El cable troncal puede tenderse por el camino más eficiente y, después, los nodos se pueden conectar al mismo mediante líneas de conexión de longitud variable. De esta forma se puede conseguir que un bus use menos cable que una malla, una estrella o una topología en árbol.

Topología en Anillo

En una topología en anillo cada dispositivo tiene una línea de conexión dedicada y punto a punto solamente con los dos dispositivos que están a sus lados. La señal pasa a lo largo del anillo en una dirección, o de dispositivo a dispositivo, hasta que alcanza su destino. Cada dispositivo del anillo incorpora un repetidor.


Un anillo es relativamente fácil de instalar y reconfigurar. Cada dispositivo está enlazado solamente a sus vecinos inmediatos. Para añadir o quitar dispositivos, solamente hay que mover dos conexiones.

Modos de ruteo en NS-2


Ruteo es la función de buscar un camino entre todos los posibles de una red de paquetes cuyas topologías poseen una gran conectividad.

Para NS-2 existen varias protocolos de ruteo implementados, los cuales podemos ver en la tabla del siguiente enlace: Routing protocols in NS-2

La clasificación se basa en la semántica de entrega de mensajes.
  • Unicast - a solo un nodo especificado por el anfitrión
  • Multicast - a un grupo de nodos que han expresado interés en recibir mensajes
  • Broadcast - a todos los nodos de la red

En NS-2 podemos hacer uso de dos tipos de nodos, el unicast y multicast, y se pueden implementar fácilmente al escribir el script tcl, y se da de la siguiente manera:

Unicast
$ns rtproto type
type: Static, Session, DV, cost, multi-path

Multicast
$ns multicast
$ns mrtproto type
type: CtrMcast, DM, ST, BST

Ejemplo usando Unicast y protocolo DV


Para este ejemplo se creó una red de nodos que crean 3 caminos para ir desde el nodo 0 hasta el nodo 5, con el fin de ver como se comporta el método de ruteo para poder transmitir información desde el nodo 0 al 5, y cerrando caminos intencionalmente para observar que pasa cuando una ruta ya no es viable.


Ejemplo usando Multicast y protocolo BST


Una de las topologías más comunes en redes es la de estrella. Por ejemplo en la facultad en donde estudio, en base a una encuesta que se hizo hace tiempo al personal del mantenimiento de la red, se nos dio a conocer que la topología que ellos usaban para dar el servicio de red inalámbrica dentro de las áreas del campus era precisamente la topología en estrella. Por eso como parte de la aplicación a la vida real podemos hacer una simulación de una topología en estrella y en este caso usando un protocolo de ruteo para observar como se comporta la transmisión de datos.


Como podemos ver el nodo 0 funciona como un controlador central, los nodos 1 y 2 funcionan como nodos que están enviando datos en la red, y los nodos restantes marcados con azul, son los nodos que en algún momento están recibiendo los datos transmitidos.

Generación de topologías


En la página oficial del simulador podemos encontrar información de las diferentes opciones que tenemos de generadores de topologías y que son compatibles con NS-2. En mi caso seleccione la llamada BRITE de la Universidad de Boston, la cuál no fue difícil de instalar siguiendo las indicaciones de la página oficial.

Enlace al sitio oficial del generador: BRITE

Una vez que ejecutamos el programa, se nos muestra una interfaz gráfica donde podemos ajustar varios parámetros para la topología a generar, y es importante indicar en las casillas de verificación que deseamos que la salida se cree en el formato pasa NS.


De forma predeterminada los campos son llenados con ciertos valores, los cuales podemos dejar así o cambiarlos según necesitemos, por el momento solo modificaré los campos que indican la cantidad de nodos a crear.


Al picar el botón de construir topología se nos muestra una ventana donde marca el proceso, y una vez que dice generación completa, podemos cerrar las dos ventanas y ver el archivo que se nos ha generado.

En seguida verán un fragmento del archivo generado, donde podemos ver todos los nodos generados y los enlaces entre ellos.
proc create_topology{} {
  global ns

  #nodes:
  set num_node 100
  for {set i 0} {$i < $num_node} {incr i} {
    set n($i) [$ns node]
  }

  #links:
  set qtype DropTail

  $ns duplex-link $n(0) $n(85) 10.0Mb 0.08774701355539709ms $qtype
  $ns duplex-link $n(0) $n(91) 10.0Mb 0.0667961580090877ms $qtype
  $ns duplex-link $n(1) $n(40) 10.0Mb 0.11830949964036921ms $qtype
  $ns duplex-link $n(1) $n(11) 10.0Mb 0.15734186902154498ms $qtype
...
Al copiar el código generado por el programa en el script de una de nuestras simulaciones podemos observar mediante NAM, la topología generada por el programa, que en este caso fue de manera aleatoria (porque así se seleccionó en los parámetros del programa).


Esto genera una red de nodos algo grande, pero que es de gran utilidad porque podemos crear redes que sean parecidas a caso reales, y que hacerlo a "mano" escribiendo en el script que nodo conecta a cuál nodo, sería definitivamente muy tardado. Una vez creado esto podemos hacer pruebas de transmisión de datos entre nodos, y hacer pruebas de calidad como ya lo hemos hecho.

Aquí esta otra topología creada y algo más entendible ya que solo se pidieron crear 10 nodos.


Referencias:
Topología de red
Topologías básicas de red
Network components
Unicast and multicast routing

1 comentario:

  1. En lo de ruteo me hubiera gustado ver algoritmos tipo DSR, DSDV, AODV, ... (deberían estar incluidos en el ns-2) mientras en lo de la generación no estaría nada difícil escribir tu propio generador ;) 5 pts.

    ResponderEliminar

Nota: solo los miembros de este blog pueden publicar comentarios.