SciELO - Scientific Electronic Library Online

 
vol.15 issue30Need for review of seismic threat studies due to Tohoku earthquake 2011Optimal location of distributed generation in distribution systems using a model of nonlineal whole mixed programming author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

Related links

  • On index processCited by Google
  • Have no similar articlesSimilars in SciELO
  • On index processSimilars in Google

Share


Tecnura

Print version ISSN 0123-921X

Tecnura vol.15 no.30 Bogotá July/Dec. 2011

 

Enrutamiento basado en el algoritmo de Dijkstra para una red de radio cognitiva

Routing based on Dijkstra's algorithm to a cognitive radio network

Luis F. Pedraza1, Danilo López2, Octavio Salcedo3

1 Ingeniero electrónico, magíster en Ciencias de la Información y las Comunicaciones. Docente e investigador de la Universidad Distrital Francisco José de Caldas. Bogotá, Colombia. lfpedrazam@udistrital.edu.co
2 Ingeniero electrónico, magíster en Teleinformática. Docente e investigador de la Universidad Distrital Francisco José de Caldas. Bogotá, Colombia. dalopezs@udistrital.edu.co
3 Ingeniero en sistemas, magister en Ciencias de la Información y las Comunicaciones, estudiante de Doctorado. Docente de la Universidad Distrital Francisco José de Caldas. Bogotá, Colombia. ojsalcedop@udistrital.edu.co

Fecha de recepción: 4 de junio de 2011 Fecha de aceptación: 29 de agosto de 2011


Resumen

En este artículo se presentan los resultados de la evaluación de un protocolo de enrutamiento para una red de radio cognitiva, basado en el algoritmo de Dijkstra, en el que los nodos buscan el camino más óptimo, dependiendo de los pesos de cada ruta o enlace. Para el desarrollo se uso Network Simulator 2 (NS2). En esta herramienta se implementa el protocolo, se genera el tráfico y se simula la movilidad de los nodos de la red de radio cognitiva.

Palabras clave: Algoritmo de Dijkstra, redes de radio cognitiva, throughput.


Abstract

This paper presents the results of the evaluation of a routing protocol for cognitive radio network, based on Dijkstra's algorithm, in which nodes seek the most optimal way, depending on the implements the protocol; the traffic is generated weights of each path or link. For development, and simulates the mobility of the nodes of the netwe used Network Simulator 2 (NS2). This tool work of cognitive radio.

Key words: Dijkstra's algorithm, cognitive radio networks, throughput.


1. Introducción

El rápido crecimiento de las redes inalámbricas y las comunicaciones móviles han limitado la disponibilidad de las bandas del espectro por la creciente demanda [1]. En un informe reciente de la Comisión Federal de Comunicaciones (FCC) se muestra que la mayoría del espectro asignado no es completamente utilizado por los usuarios licenciados o primarios, brindando la posibilidad de reutilizar estas bandas de frecuencias libres en un instante de tiempo (huecos espectrales), dando origen a la red de radio cognitiva que es definida por la FCC como una radio que puede cambiar los parámetros del transmisor basado en la interacción con el entorno en que éste opera [2].

El objetivo de la red de radio cognitiva es optimizar el uso del espectro reutilizando huecos espectrales sin interferir a los usuarios primarios. Para cumplir este fin los protocolos de enrutamiento juegan un papel muy importante ya que basados en los parámetros de calidad de servicio permiten determinar cuál es el mejor camino para enrutar la información, lo que se refleja en la eficiencia de la red, pues es elegida la mejor ruta y los costos se minimizan. Por tanto, a continuación se describe el estado del arte de los protocolos de enrutamiento en radio cognitiva basados en el algoritmo de Dijkstra, después se detalla el desarrollo del algoritmo de Dijkstra en el protocolo de enrutamiento, luego se implementa el escenario de simulación, y se muestran sus resultados, y finalmente, algunas conclusiones se presentan al respecto.

2. Estado del arte

Numerosos esfuerzos han sido realizados en la definición de las directrices y las limitaciones operativas del diseño de las redes de radio cognitiva (CRNs). Un primer escenario se centra en que las transmisiones de radio cognitiva (CR) no deben degradar notablemente la calidad del usuario primario (PU). Esto se puede lograr adaptando la potencia de transmisión de los usuarios de CR. Un Segundo escenario propone que los usuarios de CR deben interrumpir inmediatamente la transmisión cada vez que un PU activo es detectado. Esto requiere un frecuente monitoreo de las actividades de los PU.

En redes cognitivas las interferencias son fuctuantes en términos de frecuencia y localización. La mayoría de los estudios se han enfocado en la capa física y en la MAC; sin embargo, las investigaciones en enrutamiento de radio cognitiva son limitadas [1].

Por otro lado, otras investigaciones se centran en la importancia de algoritmos de enrutamiento, tal como: en [3] en donde se describe el diseño de métricas de enrutamiento y analiza los diferentes protocolos de enrutamiento [4,5], presenta algoritmos basados en la interferencia [6], muestra un algoritmo adecuado para CRN en canales inalámbricos con desvanecimiento [7] y [8], desarrolla y evalúa algoritmos utilizando el camino más corto. Otros trabajos [4,7,9] se basan en la infraestructura centralizada. También son propuestos, algoritmos basados en demanda de modo reactivo para seleccionar rutas y canales [10,11,12]. En [13] el protocolo ROPCORN (Routing Protocol for Cognitive Radio Ad Hoc Networks) incorpora dos métricas de enrutamiento basadas en el costo de disponibilidad del espectro y en la estimación de carga. Las metas del ROPCORN son maximizar el rendimiento y minimizar la latencia de mensajes, mientras también se minimiza los demás recursos consumidos tales como memoria, red y capacidad.

Entre los protocolos de enrutamiento basados en el algoritmo de Dijkstra está SDCR (smallest delay cognitive routing) [1], que utiliza este algoritmo para encontrar la menor ruta de retraso de transmisión. En [14] la información de enrutamiento es optimizada para preservar la batería de los dispositivos, mientras se mantiene una calidad de señal aceptable. De la misma manera, ha sido analizado un protocolo de estimación probabilística que mejora el throughput al compararse con el tradicional algoritmo de Dijkstra [15].

El algoritmo ROPCORN tiene en cuenta una estrategia de ruta óptima, la cual se basa en protocolos de enrutamiento tradicionales como Dijkstra para calcular la ruta más corta teniendo en cuenta el menor costo.

Otro protocolo aplicado en CRN y que se fundamenta en el algoritmo de Dijkstra es IPSAG (IP Spectrum Aware Geographic) [16]. Este protocolo de enrutamiento reúne más posibilidades para lograr enrutamiento en tiempo real en CRN. El IPSAG ofrece flexibilidad en los saltos, intercambiando información en tiempo real con sus vecinos. La adaptación al usuario de CR es muy dinámica y cuenta con ventajas geográficas de enrutamiento en un nodo de red de alto throughput.

En redes cognitivas la capa de red es adaptable a los cambios del medio inalámbrico y a los diferentes servicios. Los usuarios de CR pueden realizar un esquema de enrutamiento multisalto mediante la detección de los parámetros de la capa red, analizando los resultados detectados y adaptándose a la capa física de la tecnología usada para lograr una óptima calidad de servicio (QoS).

En CRN el usuario de CR escoge la ruta con el peso de trayectoria óptimo de acuerdo con el tipo de servicio utilizado. Por ejemplo, el sistema debe evitar el envío de paquetes a través de enlaces que tienen una baja capacidad, ya que sería una limitante para poder brindar un servicio como la transmisión de video en tiempo real.

Adicional al peso de la trayectoria, es usado el nivel de utilización de la ruta, que es un parámetro que muestra qué tan activo es el enlace disponible, es decir, la cantidad de carga de tráfico existente en el enlace y la cantidad futura de carga capaz de soportar de acuerdo con la topología de la red, el servicio y la tecnología utilizada. Por medio del enrutamiento se debe evitar enlaces con un alto nivel de utilización y desviar el tráfico a los enlaces de menor uso [17].

Por lo anterior, los protocolos de enrutamiento tradicionales en las redes inalámbricas, como el vector distancia y el Path Vector, presentan problemas en redes cognitivas debido a que por su simplicidad no asimilan los cambios topológicos de forma adecuada. Por el contrario, los protocolos basados en Link state proporcionan una mejor información a los nodos del estado de la red ayudando a una mejor toma de decisiones en la ruta, utilizando parámetros como la capacidad de enlace y el retardo, y no en el número de saltos o la distancia [18].

Dijkstra elije la ruta más corta de las posibles opciones, lo que conlleva a expandirse mejor, ya que cada enrutador calcula las trayectorias de manera independiente, por tanto, es más probable encontrar la mejor solución del camino más corto en el tráfico global [19].

3. Algoritmo de Dijkstra

Para el algoritmo de la Fig. 1, cada nodo v del grafo G(V,E) tiene una etiqueta asociada L(v), esta etiqueta indica la menor distancia conocida para ir desde un nodo fijado u hasta este nodo. Inicialmente, el valor de L(v) corresponde al peso w(u,v) de la arista que une los nodos u y v, en el caso de que esta arista exista, siendo L(v) = ∞; en caso contrario (desconocimiento de las distancias), el algoritmo funciona creando un conjunto de nodos TD V, para los cuales se ha obtenido hasta ese momento el camino más corto desde u hasta ellos. Al final del algoritmo, L(v) contiene el costo del camino más corto para ir desde u hasta v [20, 21].

En cada iteración el algoritmo añade un nuevo nodo en la lista T. Esto se consigue escogiendo un nodo v' que todavía no pertenezca a T y que tenga una etiqueta L(v´) mínima. En otras palabras, se escoge el nodo v' más cercano a u y externo a la lista T. Una vez hecho esto, se actualizan las etiquetas de los nodos sobre los que incide v', de manera que se hace un nuevo cálculo de las distancias de u a estos nodos y se añade este nodo v' a T. El proceso se repite hasta que todos los nodos del grafo se encuentren en la lista.

A continuación se hace una descripción de los pasos del algoritmo [20, 22,23]:

  1. Para todo v ≠ u L(v) = w(u,v)
  2. L(u) = 0
  3. T = {u}
  4. Mientras T ≠ V Inicio
  5. Encuentra v' T de forma que D v T L(v') ≤:L(v)
  6. T = T U {v'}
  7. Para todo v T de forma que v' es adyacente a v
  8. Si L(v) > L(v') + w(v',v)
    Entonces L(v) = L(v') + w(v',v)
    Fin si
    Fin para
    Fin mientras
    Fin para

3.1. Complejidad algorítmica

La complejidad algorítmica es una métrica que permite encontrar una función matemática f(n) fácil de calcular y conocida, que acote el crecimiento de la función de tiempo [18], como se ve en la tercera columna de la tabla 1.

En la tabla 1 se observa que el algoritmo de enrutamiento que presenta una mayor complejidad (mayor desgaste de ejecución) es el algoritmo DCUR, seguido por el algoritmo de LARC; en cambio el algoritmo de Dijkstra es uno de los que presenta menor complejidad algorítmica en su ejecución.

4. Metodología

Para el desarrollo de esta investigación se realizó una simulación de una red de radio cognitiva en el software NS2, la cual se diseña con 6 nodos definidos como usuarios de CR y un nodo definido como un PU, como se observa en la Fig. 2.

En la Fig. 2 los nodos de 0 a 5 son los usuarios de CR y el sexto nodo es el PU. La funcionalidad de la simulación permite observar que los usuarios de CR, en ausencia de la PU, ocupan los tres canales asignados, y cada nodo CR pue-de transmitir y radiar a sus vecinos, sin ningún tipo de restricción de potencia o capacidad. Tan pronto como el PU aparece o se detecta por lo menos por uno de los nodos de CR, debido a la detección cooperativa, los usuarios de CR usan los dos canales restantes, e inmediatamente después el PU tendrá un canal disponible para transmitir. Los usuarios de CR seguirán usando dos canales hasta que el PU deje de usar su canal o deje de transmitir, permitiendo nuevamente a los usuarios de CR utilizar y compartir este canal adicional.

La esencia del algoritmo, busca un camino óptimo o la ruta de menor costo entre los nodos. En este caso de estudio el costo de cada enlace corresponde a la relación entre la rata de transferencia y el retardo del enlace.

5. Resultados

El comportamiento del throughput en el entorno de simulación, se muestra en la Fig. 3. Aquí el throughput de los usuarios de CR se basan en los valores de la tabla 2. Después de 3 segundos, el throughput se mantiene alrededor de 0.07 MBps.

Para la simulación se consideraron 7 nodos en un área de 400x400m, generando variables aleatorias promedio, como se muestran en la tabla 2. Para este caso, la velocidad asignada a cada nodo es de 2MBps.

Ahora se especifican parámetros de QoS para los usuarios de CR, tal como, rata de transferencia 2 0.1MBps, retraso : 0.1s y distancia de transmisión entre dos nodos menor que 100 m. En la Fig. 4, se presenta el throughput de los usuarios de CR. Después de 8 segundos, el throughput oscila alrededor de 6 kBps.

6. Conclusiones

En este artículo es evaluado el algoritmo de Dijkstra. Este algoritmo es sencillo de implementar en una CRN; sin embargo, el rendimiento de la red de radio cognitiva es bastante limitado, especialmente si se requieren parámetros de QoS.

El algoritmo de Dijkstra proporciona información a los nodos sobre el estado de la red, logrando tomar decisiones de la ruta, a partir de parámetros como la capacidad y el retardo del enlace.

Como trabajo futuro, se realizará una profunda evaluación del desempeño de este algoritmo de enrutamiento en comparación con otros algoritmos.


Referencias

[1] L. Yun, Q. Fengxie, Liu Zhanjun, and Z. Hongcheng, "Cognitive radio routing algorithm based on the smallest transmission delay," 2nd International Conference on Future Computer and Communication (ICFCC), vol.2, pp.306-310, May. 2010.        [ Links ]

[2] Federal Communications Commission. Notice of Proposed Rule Making and Order, ET docket no 03-222, Washington, 2003.        [ Links ]

[3] Y. Yang and J. Wang, Design Guidelines for Routing Metrics in Multihop Wireless Networks, The 27th Conference on Computer Communications (INFOCOM), pp.1615-1623, 13-18 April 2008.        [ Links ]

[4] C. Xin, B. Xie and C-C. Shen, "A novel layered graph model for topology formation and routing in dynamic spectrum access networks," First IEEE International Symposium on New Frontiers in Dynamic Spectrum Access Networks (DySPAN), pp.308-317, 8-11 Nov. 2005.        [ Links ]

[5] Y. Yang and Y. Li, Spectrum-aware Routing in Cognitive Networks, the Third International Conference on Cognitive Radio Oriented Wireless Networks and Communications (CrownCom), 2008.        [ Links ]

[6] S. C. Lin, K-C. Chen, "Spectrum aware opportunistic routing in cognitive radio networks," IEEE Global Telecommunications Conference (GLOBECOM), pp.1-6, 6-10 Dec. 2010.        [ Links ]

[7] Q. Wang, H. Zheng, "Route and spectrum selection in dynamic spectrum networks," Consumer Communications and Networking Conference (CCNC), vol.1, pp. 625- 629, 8-10 Jan. 2006.        [ Links ]

[8] Y. L. Chen and Y.H.Chin, "The quickest path problem," Computers and Operations Research, vol. 17, pp. 153-161, 1990.        [ Links ]

[9] M. Alicherry, R. Bhatia, and L. Li, Joint channel assignment and routing for throughput optimization in multi-radio wireless mesh Networks, The Eleventh Annual International Conference on Mobile Computing and Networking (ACM Mobicom), Cologne, Germany, pp. 58-72, Aug. 28- Sep. 2, 2005.        [ Links ]

[10] M. X. Gong and S.F. Midkiff, "Distributed channel assignment protocols: a cross-layer approach [wireless ad hoc networks]," Wireless Communications and Networking Conference, vol.4, pp. 2195-2200, 13-17 march 2005.        [ Links ]

[11] J. So and N. Vaidya, "A routing protocol for utilizing multiple channels in multi-hop wireless networks with a single transceiver," Technical Report, University of Illinois at Urbana-Champaign, Oct 2004.        [ Links ]

[12] S. Krishnamurthy, M. Thoppian, S. Venkatesan and R. Prakash, "Control channel based MAC-layer confguration, routing and situation awareness for cognitive radio networks," Military Communications Conference, (MILCOM), vol 1, pp.455-460, 1720 Oct. 2005.        [ Links ]

[13] A. Talay, and D. Altilar, "ROPCORN: Routing protocol for cognitive radio ad hoc networks," Conference on Ultra Modern Telecommunications & Workshops, ICUMT '09, pp.1-6, Oct. 2009.        [ Links ]

[14] C. Rochford, et ál, "An energy spreading technique for cognitive radio networks," International Symposium on Wireless Communication Systems (ISWCS), vol. 7, pp.991-995, Sept. 2010        [ Links ]

[15] H. Khalife, S. Ahuja, N. Malouch and M. Krunz, "Probabilistic path selection in opportunistic cognitive radio networks," Global Telecommunications Conference (GLOBECOM) pp.1-5, Nov. 30 -Dec. 4 2008.        [ Links ]

[16] C. Badoi, V. Croitoru, and R. Prasad, "IPSAG: an IP spectrum aware geographic routing algorithm proposal for multi-hop cognitive radio networks," Conference on Communications (COMM), vol. 8, pp.491-496, June. 2010.        [ Links ]

[17] K. Chen and R. Prasad, Cognitive Radio Networks. First edition, Wiley, 2009.        [ Links ]

[18] H. Agrawal, M. Grah, and M. Gregory, "Optimization of QoS routing," Conference on Computer and Information Science, vol. 6, pp.598-603, July. 2007.        [ Links ]

[19] A. Revenga and J. María, Flujo en redes y gestión de proyectos: teoría y ejercicios resueltos, First edition, España: Netbiblo, 2008.        [ Links ]

[20] S. Domínguez, Análisis de algoritmos multicast en redes overlay, Tesis Grado. Universidad de Cataluña, 2006.        [ Links ]

[21] S. Dutta, R. Chaki, and N. Chaki, "Optimal reactive routing protocol (ORRP): a new reactive routing protocol for the shortest path in ad hoc networks," Annual IEEE India Conference, New Delhi, Sept. 2006.        [ Links ]

[22] A. Kumar, D. Manjunath and J. Kuri, Communication Networking: An Analytical Approach. First edition, United States: Elsevier, 2004.        [ Links ]

[23] J. Villalobos, Introducción a las estructuras de datos. First edition. Colombia: Pearson, 2008.        [ Links ]

Creative Commons License All the contents of this journal, except where otherwise noted, is licensed under a Creative Commons Attribution License