jorge leonardo baÑol - universidad católica de pereira

78
ESTUDIO DE PROPUESTAS DE ALGORITMOS DE ENRUTAMIENTO BASADO EN RESTRICCIONES JORGE LEONARDO BAÑOL UNIVERSIDAD CATÓLICA DE PEREIRA FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES 2014

Upload: others

Post on 30-Jun-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

ESTUDIO DE PROPUESTAS DE ALGORITMOS DE

ENRUTAMIENTO BASADO EN RESTRICCIONES

JORGE LEONARDO BAÑOL

UNIVERSIDAD CATÓLICA DE PEREIRA

FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA

INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES

2014

Page 2: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

ESTUDIO DE PROPUESTAS DE ALGORITMOS DE

ENRUTAMIENTO BASADO EN RESTRICCIONES

JORGE LEONARDO BAÑOL

DIRECTORA

ING. LINE YASMÍN BECERRA SÁNCHEZ

UNIVERSIDAD CATÓLICA DE PEREIRA

FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA

INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES

PEREIRA

2014

Page 3: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

AGRADECIMIENTOS

Gracias, de corazón, a mi asesora, quien a pesar de sus ocupaciones tuvo la

disposición de colaborarme y servirme de apoyo en los momentos que lo solicitaba.

Gracias por su paciencia, dedicación, criterio y motivación. Su orientación fue

invaluable para la culminación de este proyecto.

Gracias a la Universidad Católica de Pereira por ser mi segunda casa y brindarme

las herramientas para ser un profesional pero sobre todo una gran persona.

Agradecimientos infinitos a todas las personas de la Universidad por su atención y

amabilidad durante mi instancia como alumno.

Y sobre todo, gracias a mi familia en especial a mi madre, porque es la responsable

de mis triunfos, siempre incondicional. Sin su apoyo y dedicación no hubiera

alcanzado ésta tan maravillosa etapa de vida. Eternamente agradecido.

Page 4: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

DEDICATORIA

A Dios por ser el guía de mis proyectos y por regalarme la fuerza necesaria para

culminar cada etapa de mi vida.

A mi madre por ser mi fuente de inspiración y el motivo de mis triunfos.

A familiares, amigos y a toda aquella persona que estuvo relacionada con este

proyecto.

Page 5: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

RESUMEN ABSTRACT

En el presente trabajo se pretende

describir el estudio realizado sobre los

algoritmos de enrutamiento basados en

restricciones, primero se dan algunos

conceptos importantes para el

desarrollo de este proyecto y luego se

hace la descripción de los algoritmos

existentes enfocados hacia la provisión

de calidad de servicio y de ingeniería de

tráfico.

Siendo un estado del arte se

mencionarán las características

principales, funcionamiento, ventajas y

desventajas de los algoritmos de

enrutamiento basados en restricciones

considerados por los autores más

importantes o de relevancia para el

enrutamiento usado en internet.

In the present work is to describe the

study of routing algorithms based on

constraints, we first give some

important concepts for the development

of this project and then the description

of the existing algorithms targeted

towards providing QoS ago traffic

engineering.

Being a major state of the art features,

performance, advantages and

disadvantages of routing algorithms

based on constraints considered by the

most important or relevant to the routing

used in internet authors mentioned.

Palabras clave: Enrutamiento,

Algoritmos, Protocolos, QoS, Ingeniería

de Tráfico, Redes.

Keywords: Routing, Algorithms,

Protocols, Quality of Service, Traffic

Engineering, Networks.

Page 6: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

TABLA DE CONTENIDO

TABLA DE CONTENIDO .................................................................................................... 6

ILUSTRACIONES ............................................................................................................... 8

TABLAS ................................................................................................................................. 9

INTRODUCCIÓN ............................................................................................................... 10

1. OBJETIVOS ............................................................................................................... 13

1.2 OBJETIVO GENERAL ....................................................................................... 13

1.3 OBJETIVOS ESPECÍFICOS ............................................................................. 13

2. METODOLOGÍA ........................................................................................................ 14

3. MARCO TEÓRICO .................................................................................................... 15

3.1. TIPOS DE ENRUTAMIENTO ............................................................................ 15

3.2. ALGORITMOS Y PROTOCOLOS DE ENRUTAMIENTO ............................ 16

3.3. ALGORITMOS DE ENRUTAMIENTO DE INTERNET ................................. 19

3.3.1. Algoritmo Bellman – Ford ........................................................................... 21

3.3.2. Algoritmo Dijkstra ........................................................................................ 24

3.4. QoS EN REDES IP ............................................................................................. 27

3.5. INGENIERÍA DE TRÁFICO ............................................................................... 28

3.6. MODELO IntServ – SERVICIOS INTEGRADOS .......................................... 30

3.7. MODELO DiffServ – SERVICIOS DIFERENCIADOS .................................. 31

3.8. MULTIPROTOCOL LABEL SWITCHING – MPLS ........................................ 31

4. ESTADO DEL ARTE DE LOS ALGORITMOS DE ENRUTAMIENTO

BASADOS EN RESTRICCIONES .................................................................................. 33

4.1. IMPORTANCIA DE LOS ALGORITMOS DE ENRUTAMIENTO BASADOS

EN RESTRICCIONES .................................................................................................. 34

Page 7: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

4.2. PROPUESTAS DE ALGORITMOS DE ENRUTAMIENTO BASADOS EN

RESTRICCIONES ......................................................................................................... 36

4.2.1. Algoritmos RSP ........................................................................................... 36

4.2.2. Algoritmos MCP ........................................................................................... 41

4.2.3. Algoritmos MCOP ........................................................................................ 51

4.2.4. Algoritmos CBR ........................................................................................... 55

4.3. DESAFÍOS DE INVESTIGACIÓN REFERENTE A ALGORITMOS DE

ENRUTAMIENTO BASADOS EN RESTRICCIONES ............................................. 69

CONCLUSIONES Y RECOMENDACIONES ................................................................ 71

BIBLIOGRAFÍA .................................................................................................................. 73

Page 8: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

ILUSTRACIONES

Ilustración 1. Protocolos de enrutamiento .............................................................. 19

Ilustración 2. Algoritmos de enrutamiento .............................................................. 20

Ilustración 3. Grafo algoritmo Bellman-Ford .......................................................... 22

Ilustración 4. Grafo algoritmo Dijkstra .................................................................... 25

Ilustración 5. Representación del proceso de búsqueda del algoritmo Jaffe's ....... 42

Ilustración 6. Representación del proceso de búsqueda de los algoritmos TAMCRA

y SAMCRA ............................................................................................................. 44

Ilustración 7. Clasificación de los algoritmos de enrutamiento para QoS .............. 55

Page 9: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

TABLAS

Tabla 1. Diferencias entre enrutamiento estático y dinámico ................................ 16

Tabla 2. Valores de funcionamiento del algoritmo Bellman-Ford, Fase 0 ............. 22

Tabla 3. Valores de funcionamiento del algoritmo Bellman-Ford, Fase 1 ............. 23

Tabla 4. Valores de funcionamiento del algoritmo Bellman-Ford, Fase 2 ............. 23

Tabla 5. Valores de funcionamiento del algoritmo Dijkstra, Fase 0 ....................... 25

Tabla 6. Valores de funcionamiento del algoritmo Dijkstra, Fase 1 ....................... 26

Tabla 7. Valores de funcionamiento del algoritmo Dijkstra, Fase 2 ........................ 26

Tabla 8. Valores de funcionamiento del algoritmo Dijkstra, Fase 3 ....................... 26

Tabla 9. Tiempo de complejidad de los algoritmos MCP ....................................... 51

Tabla 10. Tiempo de complejidad de los algoritmos MCOP .................................. 54

Tabla 11. Especificación de los algoritmos de enrutamiento basados en

restricciones ........................................................................................................... 65

Page 10: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

10

INTRODUCCIÓN

Desde hace algunos años se ha evidenciado un auge significativo en lo que ha

tecnología se refiere, se puede decir, que actualmente estamos inmersos en un

cambio al cual se le puede llamar revolución tecnológica, en esta revolución las

telecomunicaciones se ven involucradas por varias razones, la necesidad de

difundir de manera casi inmediata la información, la inclusión de la sociedad hacia

la cultura digital y sobre todo la masificación que ha tenido la Internet; y es que a

partir de una creciente necesidad por obtener mejores servicios, los investigadores

han tenido que trabajar en tecnologías que cubran estas necesidades.

Las ineficiencias existentes en la red de redes se pueden deber a los algoritmos

empleados para enrutamiento de paquetes de datos, pero se hace complicado tener

un paradigma para cada dispositivo que emplea tecnologías diferentes y más aún

para servicios que se encuentran inmersos en la llamada convergencia tecnológica.

Se hace necesario entonces desarrollar nuevos algoritmos o mejorar los que ya se

tienen.

Dentro de los avances en el área de las telecomunicaciones, se han venido

realizando trabajos de investigación que proponen mejoras a los protocolos y

específicamente a los algoritmos de enrutamiento, sobre todo a aquellos que son

utilizados para la Internet. Cabe recordar que el objetivo de los algoritmos de

enrutamiento es resolver peticiones de servicio de envío de paquetes de datos a

través de diferentes redes de datos, y para que funcione de forma razonable debe

cumplir con ciertas propiedades dentro de las cuales se destacan, optimización

sencillez, robustez, rápida convergencia y flexibilidad.

Este trabajo se centra en encontrar propuestas de algoritmos de enrutamiento

basados en restricciones, que han sido creados por diferentes investigadores

Page 11: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

11

tomando como base las necesidades existentes de mejorar la Calidad de Servicio

en la internet, o en su defecto algoritmos de enrutamiento basados en restricciones

existentes que han sido modificados para suplir las necesidades y brindar un mejor

servicio de enrutamiento.

También se menciona la importancia de la utilización de estos algoritmos para el

enrutamiento de internet. La mayoría de estos algoritmos se enfocan en encontrar

la mejor ruta sin importar las restricciones dadas al momento de solicitar algún

servicio de internet, algunas propuestas se acercan a los objetivos ideales de

solución, pero aún son muy complejos y consumen muchos recursos al momento

de realizar los cálculos de las rutas, lo que los hace inútiles cuando el tráfico de la

red aumenta considerablemente. Se hace necesario estudiarlos, revisarlos y dejar

bases para futuras investigaciones que apunten a mejorar los algoritmos de

enrutamiento basados en restricciones en función de lograr respuestas más óptimas

y soluciones más viables de ser implementadas.

A lo largo de este estudio se abordaran estos temas tratando de mostrar de la mejor

manera las características principales, ventajas, desventajas y en algunos casos,

detalles pequeños de funcionamiento y puesta en marcha de estos algoritmos de

enrutamiento basados en restricciones propuestos hasta el momento.

A continuación se describe la distribución del estudio de acuerdo a los objetivos

específicos.

En una primera parte se hablará brevemente del contexto del proyecto, objetivos,

metodología y la importancia de realizar el estudio. Posteriormente se trata el tema

de enrutamiento, protocolos y algoritmos de enrutamiento, se hace un pequeño

paréntesis para aclarar la diferencia entre algoritmos y protocolos de enrutamiento

que en algunos casos se suelen confundir.

Page 12: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

12

Por último se entra en materia con el objetivo principal del proyecto, se trata la

importancia de los algoritmos de enrutamiento basados en restricciones, se

mencionan los algoritmos más utilizados y recomendados por los autores para el

enrutamiento en internet, se presentan las propuestas de los algoritmos de

enrutamiento basados en restricciones así como detalles de su funcionamiento,

fortalezas y objetivos. Si bien es cierto que los algoritmos de enrutamiento basados

en restricciones se vienen estudiando desde los años 90 aproximadamente, en la

actualidad es un tema de sumo interés, teniendo en cuenta que en tecnologías

actuales como MPLS, los algoritmos de enrutamiento basados en restricciones

juegan un papel de suma importancia en la escogencia de los caminos en el proceso

de enrutamiento, si vale la pena aclarar que los avances que se tienen hasta el

momento no han sido lo suficientemente significativos y lleva a pensar que este

campo aún se queda corto en cuanto a su potencial real.

Para finalizar el tema se muestran los desafíos futuros en materia de algoritmos de

enrutamiento para lo cual este estudio servirá de base para trabajos o proyectos de

investigación que se deseen adelantar en el área de las telecomunicaciones.

Page 13: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

13

1. OBJETIVOS

1.2 OBJETIVO GENERAL

Realizar un estado del arte sobre las diferentes soluciones propuestas por

investigadores para hacer enrutamiento en Internet basado en restricciones.

1.3 OBJETIVOS ESPECÍFICOS

Establecer mediante exploración bibliográfica cuales son los algoritmos más

utilizados para el enrutamiento en Internet, estudiando su funcionamiento y

evolución para las redes actuales.

Determinar la necesidad e importancia de los algoritmos de enrutamiento

basado en restricciones.

Presentar las diferentes propuestas realizadas de los algoritmos de

enrutamiento basado en restricciones. Mostrando el funcionamiento,

fortalezas y objetivos.

Determinar los desafíos en investigación o trabajos futuros acerca de la

evolución de los algoritmos de enrutamiento teniendo en cuenta las redes

futuras.

Documentar la información recopilada durante el desarrollo del proyecto.

Realizar un artículo publicable y enviarlo a evaluación.

Page 14: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

14

2. METODOLOGÍA

Para la realización de este trabajo, la principal fuente de información fueron los

artículos de revistas científicas, de alto impacto internacional como las de la IEEE y

teniendo en cuenta que la modalidad es en base a una línea de investigación,

también el trabajo se apoyó en otras fuentes de información tales como libros, e

información arbitrada contenida en bases de datos.

En el transcurso y desarrollo de este trabajo se utilizará un enfoque metodológico

basado en observación, lectura e interpretación, debido a que el tema es novedoso,

se tienen pocas referencias en los libros y gran parte de la información relevante se

encuentra en inglés.

La metodología fue enfocada en tres fases principales. En una primera fase, se

realizó la exploración bibliográfica, partiendo de los fundamentos teóricos

necesarios para comprender el tema de estudio hasta los diferentes artículos

científicos que son el objeto de estudio de este trabajo. Seguido la segunda fase,

donde se enfatizó en el análisis de la información, realizando la sistematización de

la información encontrada, haciendo categorización y clasificación de dicha

información disponible. Por último la tercera fase centrada a la documentación, en

la cual se construye y se le da estructura al documento final con toda la información

recopilada ya organizada y clasificada.

Page 15: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

15

3. MARCO TEÓRICO

3.1. TIPOS DE ENRUTAMIENTO

Enrutamiento o también llamado encaminamiento, se le denomina al proceso de

buscar la mejor ruta posible dentro de varias opciones, para enviar de paquetes de

datos de una red origen hacia una red de destino.

Enrutamiento estático

La información es introducida manualmente en los routers por un administrador para

alcanzar un destino dado, lo que indica que no son adaptables a los cambios que

pueden producirse en la topología de la red. Es fácil de configurar, se establece un

control preciso del enrutamiento según los parámetros del administrador, tiene poca

escalabilidad, no genera sobrecarga en los routers ni en los enlaces de red

(Johnson, 2008).

Enrutamiento dinámico

Mantienen tablas de enrutamiento dinámicas por medio de mensajes de

actualización, estos mensajes contienen información acerca de cambios sufridos en

la red, que le indican al software del router que actualice la tabla. La red puede

crecer y adaptarse, por lo que el enrutamiento dinámico es escalable y adaptable.

Se adapta a fallas en la red. Se envían paquetes de datos e información de

actualización entre routers. La gran ventaja del enrutamiento dinámico está en que

para mantener las tablas de enrutamiento actualizadas no necesita manipulación

suplementaria por el administrador una vez esté configurado (Johnson, 2008).

Page 16: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

16

Tabla 1.

Diferencias entre enrutamiento estático y dinámico

Enrutamiento estático Enrutamiento Dinámico

Complejidad de la

configuración

Se incrementa con el

tamaño de la red.

Por lo general es

independiente del tamaño

de la red.

Conocimientos

requeridos del

administrador

No se requieren

conocimientos adicionales.

Se requiere de un

conocimiento avanzado.

Cambios de

topología

Se requiere la intervención

del administrador.

Se adapta

automáticamente a los

cambios de topología.

Escalamiento Adecuado para topologías

simples.

Adecuado para las

topologías simples y

complejas.

Seguridad Más segura. Menos segura.

Uso de recursos No se requieren recursos

adicionales.

Utiliza CPU, memoria y

ancho de banda de enlace.

Capacidad de

predicción

La ruta hacia el destino es

siempre la misma.

La ruta depende de la

topología actual.

Nota. Fuente: Johnson, A. (2008). Conceptos y protocolo de enrutamiento: guía de prácticas de

CCNNA EXPLORATION. PRENTICE-HALL

3.2. ALGORITMOS Y PROTOCOLOS DE ENRUTAMIENTO

La Capa de Red, dentro de una arquitectura de redes de datos, tiene como misión,

hacer llegar los paquetes de datos desde una estación transmisora (origen) hacia

una estación receptora (destino). Para llegar al destino, en tiempo y forma, puede

requerir que el algoritmo de ruteo, quien es el encargado de seleccionar las rutas y

las estructuras de datos, cumpla con ciertas propiedades que permitan la eficiencia

Page 17: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

17

del trabajo. Cuando un paquete llega a un router, este determina el enlace al cual el

paquete debe de ser transferido y se indexa una tabla en la cual se guardan los

valores de envío. Los algoritmos de ruteo, cuando operan en routers en redes de

comunicaciones, tienen la particularidad de intercambiar y procesar información

entre routers de las tablas que utilizan para el envío de paquetes (García Ramirez,

Miñana Caselles, López Fernández, & Sánchez Corbalán, 2010).

Para entender el concepto de algoritmo de enrutamiento se parte por definir que es

un algoritmo y que es enrutamiento; algoritmo es una “procedimiento de cálculo que

consiste en cumplir una serie o conjunto ordenado y finito de instrucciones que

conduce, una vez especificados los datos, a la solución que el problema genérico

en cuestión tiene para los datos considerados” (Vancells Flotats, 2002), mientras

que enrutamiento se refiere a la selección del camino o ruta en una red por donde

se envía información o datos (Tanembaum, 2003). Entonces se puede deducir que

algoritmo de enrutamiento hace referencia al conjunto de procedimientos que utiliza

un equipo que está conectado a una red para enviar un paquete de datos a otro

equipo.

Se puede considerar que un enrutador realiza dos procesos internos. Uno de ellos

maneja los paquetes de datos, busca en la tabla de enrutamiento, y selecciona la

ruta por la cual se enviarán los paquetes. El otro proceso se encarga de llenar y

actualizar dichas tablas, es ahí donde actúa el algoritmo de enrutamiento. Hay

ciertas propiedades que un algoritmo debe tener: exactitud, sencillez, robustez,

estabilidad, equidad y optimización. Los algoritmos de enrutamiento se clasifican en

dos grupos: los adaptativos y los no adaptativos.

Los algoritmos no adaptativos realizan un enrutamiento estático que consiste en

tomar la decisión de que ruta se usara para enviar paquetes de un destino a otro,

se hace por adelantado, fuera de línea y se carga en los enrutadores al arrancar la

red. En cambio los algoritmos adaptativos tienen en cuenta los cambios de topología

Page 18: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

18

y de tráfico.

En ocasiones resulta ser útil distinguir entre protocolos y algoritmos de

enrutamiento. El primero son un conjunto de reglas utilizadas por un router cuando

se comunica con otros router con el fin de compartir información de enrutamiento,

mientras que el segundo se encarga de elegir las rutas por donde pasarán los

paquetes (Tanembaum, 2003).

Los protocolos de enrutamiento de pueden clasificar en dos categorías:

Los que actúan dentro o fuera de un Sistema Autónomo: esta categoría

se divide en dos, los que permiten el intercambio de información dentro de

un Sistema Autónomo llamados protocolos de enrutamiento interno IGP

(Interior Gateway Protocol), y los que interconectan sistemas autónomos

entre sí llamados protocolos de enrutamiento externo EGP (Exterior Gateway

Protocol).

Dependiendo del algoritmo utilizado para el enrutamiento: en esta

categoría se mencionan tres, los protocolos de vector distancia: los cuales

buscan el camino más corto calculando la distancia y la dirección a cualquier

nodo de la red, se basan en vectores y utilizan métricas para calcular la ruta.

Los protocolos de estado de enlace: crean tablas de enrutamiento a partir de

bases de datos de la topología que luego son utilizadas por los routers para

conocer el estado de una red. Y por último los híbridos: son algoritmos que

toman las mejores características de los protocolos anteriores es decir,

utilizan la métrica de los protocolos vector distancia como métrica y para

realizar actualizaciones utilizan los cambios de tipología de las bases de

datos de tipología de la misma forma que los protocolos de estado de enlace.

Page 19: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

19

Ilustración 1. Protocolos de enrutamiento

Fuente: Elaboración Propia.

3.3. ALGORITMOS DE ENRUTAMIENTO DE INTERNET

Los algoritmos de enrutamiento son diseñados para lograr unos objetivos, y dichos

objetivos dependen del tipo de red; pueden ser clasificados en dos grandes

categorías: orientados al usuario y orientados a la red. Los orientados al usuario,

determinan el buen servicio a cada usuario, el tráfico debe moverse rápidamente de

la fuente hacia el destino. Y los orientados a la red, se enfocan en como proveer un

enrutamiento justo y eficiente, donde muchos usuarios reciben un servicio

aceptable, en vez de proveer el mejor servicio a unos pocos (Becerra Sánchez &

Padilla Aguilar, 2012).

Existen dos algoritmos que tienen un profundo impacto sobre las redes de datos y

en particular sobre enrutamiento en Internet, ambos son llamados algoritmos del

camino más corto, se hace referencia entonces al algoritmo Bellman-Ford y

algoritmo Dijkstra.

Page 20: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

20

Ilustración 2. Algoritmos de enrutamiento

Fuente: Medhi, D. (2007). Network Routing: Algorithms, Protocols, and Architectures. San

Francisco, EE.UU: Morgan Kaufmann.

Los algoritmos del camino más corto son aplicables a redes IP, mientras que los

algoritmos del camino más amplio son esenciales para enrutamiento de llamadas

dinámicas de redes de telefonía (Medhi, 2007).

Para seleccionar la ruta estos algoritmos utilizan una serie de criterios los cuales

son:

Número de saltos: Se elige el camino que tiene menor número de nodos a través

de la red, se puede medir fácilmente.

Mínimo costo: Se elige la ruta que implique el costo mínimo; a mayor velocidad,

menor costo (Máxima eficiencia), y a menor retardo, menor costo (minimiza el

retardo).

Ambos conceptos son relativamente justos y tienen un tiempo de procesamiento

Page 21: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

21

similar, el criterio de mínimo costo el más usado

3.3.1. Algoritmo Bellman – Ford

Determina la ruta más corta desde un nodo origen, de un modo más general que el

algoritmo Dijkstra, ya que permite valores negativos en los arcos. El algoritmo

devuelve un valor booleano si encuentra un circuito o lazo de peso negativo, en

caso contrario calcula y devuelve el camino mínimo con su coste, (Gil, Pomares, &

Candelas, 2010).

Este algoritmo simplemente relaja todas las aristas y lo hace lVl -1 veces, siendo lVl

el número de vértices del grafo. A continuación se muestra el pseudocódigo del

algoritmo. Se considera distancia [i] como la distancia más corta del vértice de

origen ingresado al vértice i y lVl el número de vértices del grafo (Cormen, 2001).

método Bellman-Ford (grafo G, nodo_origen o)

// iniciamos el grafo. Ponemos distancias a infinito

// menos el nodo de origen que tiene distancia 0

Distancia [origen] = 0

Para i=1 hasta lVl – 1:

Para cada arista E del grafo:

Sea (u, v) vértices que unen la arista E

Sea w el peso entre vértices (u, v)

Relajación (u, v, w)

Para cada arista E del grafo:

Sea (u, v) vértices que unen la arista E

Sea w el peso entre vértices (u, v)

Si Relajación (u, v, w)

Imprimir “Existe ciclo negativo”

Terminar algoritmo

Relajación (actual, adyacente, peso):

Si distancia [actual] + peso < distancia [distancia adyacente

Page 22: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

22

Distancia [adyacente] = distancia [actual] + peso

Funcionamiento

V= ID de los vértices.

Distancia [u]= Distancia más corta desde vértice inicial a vértice con ID=u.

Predecesor [u]= Almacena el ID del vértice anterior al vértice con ID=u.

Tabla 2.

Valores de funcionamiento del algoritmo Bellman-Ford, Fase 0

Vértices 0 1 2 3 4

Distancia [u] ∞ ∞ ∞ ∞ ∞

Previo [u] -1 -1 -1 -1 -1

Nota. Fuente: elaboración propia

Ilustración 3. Grafo algoritmo Bellman-Ford

Fuente: Cormen, T. (2001). Introduction To Algorithms. North America: MIT Press.

Una vez establecido el grafo, se debe seleccionar un nodo origen y un nodo destino

antes de ejecutar el algoritmo.

Page 23: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

23

Arcos calculados desde el nodo origen (0) hasta el nodo destino (4).

0 --------- (5) --------- 3, actualizamos la tabla.

Tabla 3.

Valores de funcionamiento del algoritmo Bellman-Ford, Fase 1

Vértices 0 1 2 3 4

Distancia [u] 0 ∞ ∞ 5 ∞

Previo [u] -1 -1 -1 1 -1

Nota. Fuente: elaboración propia

3 ----------(2) --------- 4, actualizamos la tabla.

Tabla 4.

Valores de funcionamiento del algoritmo Bellman-Ford, Fase 2

Vértices 0 1 2 3 4

Distancia [u] 0 ∞ ∞ 5 7

Previo [u] -1 -1 -1 1 2

Nota. Fuente: elaboración propia

Coste total = 7.

El algoritmo de vector distancia es iterativo, asíncrono y distribuido. Iterativo en el

sentido de que éste proceso continúa hasta que no se intercambia información entre

los vecinos. Es interesante notar que este algoritmo se termina por sí mismo; no

existe una señal que le indique al algoritmo cuando parar, simplemente se para. Es

asíncrono porque no requiere que los nodos operen de manera conjunta entre ellos.

Por último es distribuido porque cada nodo recibe información de uno o más de sus

nodos vecinos directamente enlazados a él, realiza el cálculo y luego distribuye de

regreso el resultado de los cálculos a sus nodos vecinos (Kurose & Ross, 2013).

Page 24: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

24

3.3.2. Algoritmo Dijkstra

Determina la ruta más corta desde un nodo origen hacia los demás nodos para

ello es requerido como entrada un grafo cuyas aristas posean pesos. Una

consideración importante es que si los pesos de las aristas registran valores

negativos no se puede usar el algoritmo, para ello se utiliza el algoritmo

anteriormente mencionado, Bellman – Ford, (Gil, Pomares, & Candelas, 2010).

El algoritmo parte de un vértice origen que será ingresado, a partir de ahí se entra

a evaluar sus adyacentes, teniendo en cuenta que este algoritmo utiliza una técnica

voraz o greedy, básicamente define que para que una ruta sea óptima todas la

demás rutas deben de ser óptimas también. Se busca el que esté más cerca del

punto de origen, se toma como punto intermedio y se verifica si se puede llegar más

rápido a través de éste a los demás vértices. Después se sigue repitiendo el

proceso (Cormen, 2001).

Dijkstra (Grafo G, nodo_salida s)

inicializar

for cada v perteneciente a V[G]

do distancia[v] = infinito

padres[v] = nulo

distancia[s] = 0

S = vacio

Q = V[G]

mientras Q no vacío

do u = nodo v con min d[v]

S = S unión u 'se añade al conjunto de nodos finalizados'

for cada v perteneciente adyacente u

Relajación

if distancia[v] > distancia[v] + peso(u,v) then

distancia[v] = distancia[u] + peso(u,v)

Page 25: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

25

padre[v] = u

Funcionamiento

V= ID de los vértices.

Distancia [u]= Distancia más corta desde vértice inicial a vértice con ID=u.

Visitado [u]= 0 si el vértice ID=u no fue visitado y 1 si ya fue visitado.

Predecesor [u]= Almacena el ID del vértice anterior al vértice con ID=u.

Tabla 5.

Valores de funcionamiento del algoritmo Dijkstra, Fase 0

Vértices 0 1 2 3 4 5

Distancia [u] ∞ ∞ ∞ ∞ ∞ ∞

Visitado [u] 0 0 0 0 0 0

Previo [u] -1 -1 -1 -1 -1 -1

Nota. Fuente: elaboración propia

Ilustración 4. Grafo algoritmo Dijkstra

Fuente: Cormen, T. (2001). Introduction To Algorithms. North America: MIT Press.

Page 26: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

26

Tomando el grafo, se ha escogido la ruta, donde el nodo inicial es (0) y el nodo final

es (4) la tabla quedaría así.

0 ----------- (9) ---------- 3, actualizamos la tabla.

Tabla 6.

Valores de funcionamiento del algoritmo Dijkstra, Fase 1

Vértices 0 1 2 3 4 5

Distancia [u] 0 7 ∞ 9 ∞ 14

Visitado [u] 1 0 0 1 0 0

Previo [u] -1 0 -1 0 -1 0

Nota. Fuente: elaboración propia

3 ---------- (2) ----------- 5, actualizamos la tabla.

Tabla 7.

Valores de funcionamiento del algoritmo Dijkstra, Fase 2

Vértices 0 1 2 3 4 5

Distancia [u] 0 7 20 9 ∞ 11

Visitado [u] 1 0 0 1 0 1

Previo [u] -1 0 3 0 -1 3

Nota. Fuente: elaboración propia

5 --------- (9) ------------- 4, actualizamos la tabla.

Tabla 8.

Valores de funcionamiento del algoritmo Dijkstra, Fase 3

Vértices 0 1 2 3 4 5

Distancia [u] 0 7 20 9 20 11

Visitado [u] 1 0 0 1 1 1

Previo [u] -1 0 3 0 5 3

Nota. Fuente: elaboración propia

Page 27: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

27

En un algoritmo de estado de enlace, la topología de la red y todos los coses de

enlaces son conocidos. Esto se puede obtener haciendo que cada nodo realice una

transmisión de paquetes estado enlace hacia todos los demás nodos en la red.

Cada paquete estado enlace contiene las identificaciones y los costes de los

enlaces que se encuentran directamente enlazados a ese nodo. El resultado de la

transmisión es que todos los nodos obtienen información idéntica y completa de la

red (Kurose & Ross, 2013).

3.4. QoS EN REDES IP

Según la ITU (Unión Internacional de Telecomunicaciones) E.800: “Efecto global de

las prestaciones de un servicio que determinan el grado de satisfacción de un

usuario al utilizar dicho servicio”.

Según la IETF (Grupo de Trabajo de Ingeniería de Internet) RFC 2386: “Conjunto

de requisitos del servicio que debe cumplir la red en el transporte de un flujo”

(Crawley, Nair, Rajagopalan, & Sandick, 1998).

(Tanembaum, 2003), Se puede definir calidad de servicio como la capacidad que

tiene una red para proporcionar diferentes niveles de servicio en base a distintos

perfiles de tráfico. La calidad puede ser utilizada para diferentes momentos, para

administrar la congestión o en caso contrario para evitarla. La técnica para la gestión

de la congestión, toma como prioritario el tráfico que utilizan algunas aplicaciones

que requieren más del ancho de bando que les puede proporcionar la red. La calidad

permite controlar algunas características en la transmisión de paquetes, tales como:

ancho de banda, la latencia, el jitter y las pérdidas de paquetes en la red. La

necesidad de aplicar QoS (Calidad de Servicio) en redes IP surge necesariamente

de las siguientes necesidades:

Dar prioridad a las aplicaciones que requieren altos niveles de servicio.

Brindar seguridad, flexibilidad y crecimiento para servicios emergentes,

Page 28: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

28

haciendo uso eficiente de la infraestructura de la red.

Mejorar las prestaciones para servicio en tiempo real.

Actuar de forma rápida y eficiente ante las incidencias.

Proporcionar mecanismos para priorizar y responder a los cambios en el

perfil de tráfico establecido.

Optimizar los recursos dependiendo de la cantidad de usuarios y del nivel de

disponibilidad.

3.5. INGENIERÍA DE TRÁFICO

(Martínez & Cesares, 2005), una red se compone de tres aspectos básicos: el

primero, un sistema de demandas representado por el tráfico; el segundo, un

sistema de restricciones definido por los elementos de la red y por último un

sistemas de respuesta compuesto por los protocolos y los procesos de la red. La

ingeniería de tráfico se encarga de establecer los parámetros y los puntos de

operación para estos tres sistemas, teniendo en cuenta la aplicación de nuevas

tecnologías y los principios científicos para medida, caracterización modelado y

control de tráfico en redes de paquetes.

El objetivo fundamental de la Ingeniería de Tráfico es mejorar las prestaciones de

red tanto a nivel de tráfico como a nivel de recursos. Lograr este objetivo implica

mejorar la QoS ofrecida al tráfico de internet a través de métricas como: jittler,

retardo, pérdida de paquetes, entre otros. La ingeniería de tráfico puede ser utilizada

como un complemento del modelo DiffServ (Differentiated services - Servicios

Diferenciados) para hacer buen uso de los recursos de la red.

MPLS (Multi-Protocol Label Switching - Conmutación de etiquetas multiprotocolo)

es considerado como la solución para la ingeniería de tráfico porque provee mayor

funcionalidad de manera integrada y con bajo costo. Además, ofrece aspectos

automáticos de la ingeniería de tráfico como la posibilidad de establecer un LSP

Page 29: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

29

(Label Switched Path – Intercambio de Rutas por Etiqueta) explícito que permite

emular un circuito conmutado en un modelo de enrutamiento.

(España Boquera, 2003), cuando se combina MPLS con DiffServ y un enrutamiento

basado en restricciones se convierte en una excelente y complementaria

abstracción de QoS en redes IP. La ingeniería de tráfico es considerada como un

proceso iterativo de planificación y optimización de red, donde se busca la

optimización de recursos y la eficiencia de la red. La optimización de la red tiene

como objetivo administrar el tráfico sobre una infraestructura de red haciéndolo de

manera eficiente, evitando la congestión, asegurando la entrega de los servicios y

optimizando la utilización de los recursos disponibles.

La TE (Traffic Engineering – Ingeniería de Tráfico) consiste entonces en adaptar el

tráfico que es totalmente dinámico a la topología y capacidad de la red. Partiendo

de la premisa que los protocolos de enrutamiento son deficientes la ingeniería de

tráfico surge como propuesta de mejora de distribución de tráfico de forma uniforme,

de esta manera se consigue un crecimiento de la vida operativa de la red y por ende

un ahorro de inversiones por parte del operador prestador del servicio.

La TE de Internet se encarga del problema de evaluación de rendimiento y

optimización de redes IP durante su operación. El problema principal que se

enfrenta en la ejecución de técnicas de TE es que el enrutamiento de los paquetes

en Internet está basado en el algoritmo del camino más corto, lo cual hace que estos

se congestionen, mientras que otras rutas alternativas permanecen sub-utilizadas.

Con el fin de mejorar el rendimiento de la red, la TE incluye la aplicación de

tecnologías y principios científicos para la medición, caracterización, modelado y

control del tráfico de Internet (Becerra Sánchez & Padilla Aguilar, 2012).

Page 30: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

30

3.6. MODELO IntServ – SERVICIOS INTEGRADOS

Este modelo incluye dos nuevas clases para el control de Calidad de Servicio en

internet (Departamento de Sistemas Telemáticos y Computación (GSyC), 2012) :

Servicio Garantizado (Guaranteed Service): asegura a un flujo de tráfico

garantías de retardo de extremo a extremo. Esto hace que ningún paquete

sea descartado teniendo en cuenta que este flujo de tráfico este dentro de

los parámetros establecidos. Este modelo es orientado a aquellas

aplicaciones que requieren que el flujo no supere el tiempo contratado

después de que se envía el paquete desde el origen hacia el destino.

Servicio de Carga Controlada (Controlled Load Service): utiliza técnicas que

permiten hacer uso eficiente de los recursos brindándole al usuario un flujo

de datos con calidad similar a como si la red estuviera sin congestión.

IntServ es un modelo de Calidad de Servicio (QoS) basado en reserva dinámico de

recursos donde se necesita que los routers lo implementen para proveer QoS a un

determinado flujo de datos. (Cabrejas Fernández & Gonzáles Tejerina), el protocolo

(RSVP, Resource Reservation Protocol), en el modelo InterServ es utilizado para la

señalización de reserva de recursos. Con este protocolo un host puede solicitar un

servicio dependiendo de la aplicación o de la cantidad de flujo requerido, para este

caso, el nodo origen envía un mensaje PATH hacia el destino especificando las

características de tráfico, los routers que intervienen en la trasmisión de los datos

reenvían el mismo mensaje PATH a otro router hasta llegar al nodo destino, este

nodo responde con mensaje RESV solicitando la reserva de recursos solicitada. Los

routers que reciben el mensaje pueden aceptar o no la petición, en caso de que si,

se reserva ancho de banda y espacio en el buffer, y la gestión de flujo será enviado

a cada router, en caso de que no, se envía un mensaje de error al nodo destino y la

señalización se da por terminada (Wroclawski, 1997).

Page 31: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

31

3.7. MODELO DiffServ – SERVICIOS DIFERENCIADOS

Este modelo pretende garantizar la mayor QoS en la redes IP de gran tamaño como

lo es Internet, hacen que la implementación sea fácil y de bajo coste ya que no hay

necesidad de realizar grandes cambios en la estructura de las redes actuales. El

objetivo principal de este modelo consiste en dividir el flujo tráfico entrante y

clasificarlo en diferentes niveles de servicios para asignarle prioridades específicas

dependiendo del nivel de servicio. A cada prioridad se le asigna un número que

identifica el tipo de DS Field (Campo de Servicio Diferenciado). A este

comportamiento se le llama PHB (Per Hob Behavior – comportamiento por salto).

Diffserv tiene una particularidad importante y es que facilita la estabilidad y la

difusión en la redes, ya que no necesita que se implemente esta arquitectura en

todos los nodos de la red.

Como se mencionaba anteriormente este modelo incorpora el concepto PHB para

darle prioridades de tráfico a un paquete en particular y así poder recibir un mejor

trato por parte de la red. El PHB no se maneja en las cabeceras de los paquetes IP

sino mediando los valores del campo DSCP (Differentiated Services Code Point –

Punto de Codificación Diferenciados) (Blake, y otros, 1998).

3.8. MULTIPROTOCOL LABEL SWITCHING – MPLS

El modelo MPLS (Multiprotocol Label Switching - Multiprotocolo de Conmutación de

Etiquetas) fue propuesto por la IETF (Internet Engineering Task Force – Grupo de

Trabajo de Ingeniería de Internet) con el propósito de mejorar la velocidad en los

routers al momento de encaminar los paquetes. Esta tecnología está siendo

considerada, debido a su multiplicidad en redes, como una importante solución de

Ingeniería de Tráfico y soporte para redes VPN (Virtual Private Network – Redes

Privadas Virtuales) (Tanembaum, 2003).

Page 32: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

32

El objetivo principal de MPLS consiste en la generación de etiquetas de tamaño fijo

que actúan como indicadores dentro de un catálogo. Proporciona una mayor

flexibilidad en el encaminamiento, un mayor rendimiento de red y provee mejor

escalabilidad de la red.

En redes IP, cuando un flujo de datos es enviado a través de la red, cada router

procesa toda la información del encabezado del paquete, basándose en esta

información y la información de destino almacenada en la tabla de enrutamiento, el

router determina la interfaz de destino. Este proceso se repite cada vez que un

paquete atraviesa una etapa dentro de la red. La asignación de etiquetas a un

mismo conjunto de paquetes IP con características similares, pretende dar solución

a este problema. A ese conjunto de paquetes que se renvían de la misma manera

se les denomina FEC (Forwarding Equivalence Classes – Clases Equivalentes de

Envío).

Dentro de la arquitectura MPLS la asignación de una FEC se realiza cuando un

paquete entra en la red. La FEC es codificada como una etiqueta y cuando el

paquete es enrutado al próximo salto la etiqueta es utilizada para indicar dentro de

una tabla el próximo salto y una nueva etiqueta.

Los routers que soportan MPLS son conocidos como LSR (Label Swiching Router

– Conmutador de Etiquetas). Cuando un router tiene implementado el procedimiento

de distribución de etiquetas puede operar con un LSR dentro de la red. Su función

básica es la de permitir la comunicación de cambios de etiquetas FEC entre LSRs.

Para ello necesita utilizar el protocolo LDP (Label Distribution Protocols – Protocolo

de Distribución de Etiquetas) el cual está constituido por un conjunto de

procedimientos con el que un LSR informa a otro de un cambio de etiquetas.

Page 33: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

33

4. ESTADO DEL ARTE DE LOS ALGORITMOS DE ENRUTAMIENTO

BASADOS EN RESTRICCIONES

El enrutamiento basado en restricciones selecciona la mejor ruta que corresponde

a las restricciones establecidas con el objetivo de reducir el coste y balancear la

carga en la red. Esas restricciones son impuestas por dos entes, uno son las

políticas de enrutamiento, que gestionan y controlan el acceso a los recursos de la

red, y el otro, son los requisitos de la calidad de servicio, dado por el uso del ancho

de banda, retrasos, jitter y las pérdidas de paquetes (Nayak & Murthy, 2013).

El encaminamiento basado en restricciones necesita de un modelo capaz de

identificar la mejor ruta, el camino menos congestionado y el envió de paquetes en

la red. Con el enrutamiento basado en políticas, se consideran factores como: los

protocolos, tamaño de los paquetes, seguridad y topología, además se debe

considerar que utilizan algoritmos del camino más corto. Este tipo de enrutamiento

puede ser visto como un problema de asignación de recursos, y como tal, presenta

dificultades.

En el enrutamiento basado en restricciones no se reservan recursos, apenas se

calcula la ruta y para ello es necesario conocer la disponibilidad de los recursos de

la red para establecer las restricciones en el uso de los mismos. Según las

restricciones el problema a resolver puede ser tratable o no. Normalmente se utilizan

protocolos IGP (Interior Gateway Protocol) y algoritmos off-line. La complejidad de

este tipo de enrutamiento se presenta en función del número de nodos y arcos de

la red (Kuipers, Van Mieghem, Korkmaz, & Krunz, 2002).

Encontrar un enrutamiento óptimo basado en restricciones tiene una gran dificultad

computacional, la utilización de modelos matemáticos o de simple heurística para

disminuir el tiempo de respuesta en la resolución de problemas de gran complejidad

es una alternativa que puede ser planteada en la planificación de redes de datos

Page 34: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

34

(Khan & Alnuweir, 2004).

En general, el enrutamiento basado en restricciones ayuda a la optimización

operativa de la red y puede ser presentado como un modelo de programación

matemático que puede presentar de manera automática una solución que satisfaga

las restricciones impuestas al tráfico. Esta propuesta permite reducir drásticamente

la intervención manual del administrador de red para configurar los caminos

explícitamente (Karaman, University, & Istanbul, 2006).

4.1. IMPORTANCIA DE LOS ALGORITMOS DE ENRUTAMIENTO BASADOS

EN RESTRICCIONES

La necesidad de soportar diferentes tipos de tráfico y aplicaciones con altas

demandas de calidad hacen que se establezcan nuevos requerimientos de

enrutamiento en la Internet. También se requieren nuevos paradigmas de

enrutamiento para manejar acuerdos de servicios entre los proveedores y los

usuarios de la red. Algunos factores cobran cada vez más importancia en el

enrutamiento en internet, políticas administrativas, requisitos de desempeño,

balanceo de carga y escalabilidad son algunos de los más relevantes. Los

algoritmos de enrutamiento basados en restricciones tienen en cuenta estos

factores.

(Pachnicke, Paschenda, & Krummrich, 2008), estos algoritmos permiten una

evaluación exacta en base al comportamiento actual del tráfico a través de métodos

rápidos de análisis permitiendo hasta cinco veces más tráfico en una red en

comparación a otros. Durante los últimos tiempos la comunidad investigadora de

internet se ha visto interesada en el estudio de estos algoritmos que combinados

con tecnologías como ATM (Asynchronous Transfer Mode – Modo de Transferencia

asíncrona), PNNI (Private Network-Network Interface) y MPLS cobran más interés.

Page 35: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

35

Con MPLS, se asocian etiquetas de longitud fija a los paquetes en un ingreso del

router, y basándose en estas etiquetas se toman las decisiones de envío en los

routers interiores de los LSP (Label Switched Path - Camino Conmutado por

Etiqueta). MPLS TE puede aumentar la disponibilidad de la ruta, reducir el jitter y

reducir la tasa de pérdida. Un proceso CBR (Constraint-Based Routing -

Enrutamiento Basado en Restricciones) puede ser incorporado dentro de cada

router operando conjuntamente con los procesos de los protocolos de enrutamiento

intra-dominio convencionales.

Algo significativo desde el punto de vista del administrador de la red es la reducción

de la participación del mismo en la configuración manual de los caminos para

satisfacer ciertos servicios. Aunque es cierto que estos algoritmos para seleccionar

la mejor ruta necesitan de cálculos matemáticos muy complejos también es cierto

que se está trabajando actualmente en propuestas que permitan seleccionar el

mejor camino teniendo en cuenta estas consideraciones.

El problema del enrutamiento de internet es que se hace seleccionando la ruta más

corta, esto trae como consecuencia que algunos caminos se congestionen porque

son sobre-utilizados y otros sean sub-utilizados, lo que conlleva a la congestión de

la red. Partiendo de esta premisa, y teniendo como objetivo principal evitar estos

problemas de congestión surgen numerosas propuestas y mecanismos para hacer

Ingeniería de Tráfico. Dentro de estas propuestas surge MPLS, como tecnología

que proporciona ingeniería de tráfico en el sentido que el enrutamiento no es basado

en el camino más corto sino que el enrutamiento es basado en restricciones, esto

quiere decir que al momento de seleccionar la ruta se tienen en cuenta parámetros

en la búsqueda del camino más apropiado dependiendo del tipo de tráfico que se

va a enviar, y no del camino más corto. Hasta ahora se conoce que MPLS trabaja

con un algoritmo sencillo basado en restricciones llamado CSPF (Constrain Shortest

Path First), el cual es una extensión del algoritmo Dijkstra, ya que implementa una

modificación sencilla que permite agregarle restricciones de ancho de banda

Page 36: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

36

(Medhi, 2007).

Debido a esto surge la necesidad de indagar y conocer cuáles son los algoritmos

de enrutamiento basados en restricciones disponibles hasta el momento y cuáles

son las propuestas que han surgido respecto al tema, y que este trabajo sirva de

referencia para futuras investigaciones que estén relacionadas con los nuevos

paradigmas de enrutamiento en internet.

4.2. PROPUESTAS DE ALGORITMOS DE ENRUTAMIENTO BASADOS EN

RESTRICCIONES

A continuación se darán a conocer algunas propuestas que se han realizado hasta

el momento sobre algoritmos de enrutamiento basados en restricciones.

4.2.1. Algoritmos RSP

El problema RSP (Restricted Shortest Path – Camino más Corto Restringido) es

descrito de la siguiente manera. (Ergun, Sinha, & Zhang, 2002), teniendo un Grafo

G que tiene vértices V y bordes B. Cada B (Borde) es asociado a un costo y a un

retraso positivo en ambos casos. El costo de una ruta es definida como la sumatoria

de los costos a lo largo de todos los bordes, la mayoría de las veces el retardo total

de la ruta excede el coste mínimo. Basado en las restricciones de QoS que exige

una aplicación y la disponibilidad de los recursos de la red, el objetivo es seleccionar

una ruta que satisfaga las restricciones y al mismo tiempo optimize otros parámetros

a tener en cuenta como el costo.

RSP además de ser objeto de estudio, también es un concepto asociado a

diferentes problemas de rutas de aprovisionamiento que se presentan en las redes

de alta velocidad en cuanto a Calidad de Servicio se refiere. Muchas

aproximaciones de algoritmos de cálculos complejos han sido propuestas para dar

Page 37: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

37

solución a este problema. A continuación se presentan algunas de las propuestas

de algoritmos basados en restricciones para QoS que pretenden dar solución al

problema RSP.

Algoritmos Exactos

Una solución exacta para el problema RSP es encontrar la ruta de manera

sistemática analizando cada una de las rutas desde la fuente hasta el destino. Sin

embargo, debido a que el número de rutas crece exponencialmente con el tamaño

de la red, este método no es muy recomendado para la práctica.

(Kuipers, Van Mieghem, Korkmaz, & Krunz, 2002), una alternativa de solución

puede ser el algoritmo Bellman-Ford basado en restricciones (CBF). Estos

mantienen una lista de las rutas desde la fuente para todos los otros nodos con

incremento de coste y disminución de retraso. Selecciona el nodo de la lista que

satisfaga el destino y que tiene un coste mínimo, luego analiza los vecinos de este

nodo utilizando la búsqueda de primero en amplitud, y si es necesario agrega

nuevas rutas a la lista mantenida en cada destino. Este proceso continua siempre y

cuando el destino cumpla con las restricciones y exista una ruta para ser explorado.

Aunque el algoritmo CBF (Constraint Bellman-Ford) resuelve los problemas de RSP,

el tiempo de ejecución necesario para que se cumpla este algoritmo crece

exponencialmente en el peor de los casos.

El problema RSP también puede ser resuelto a través de los algoritmos de tiempo

pseudo-polinómico. (Garey & Johnson, 1990), en términos generales la complejidad

de estos algoritmos depende de los valores actuales de los datos de entrada

(retardo de enlace, restricciones dadas de retardo, etc.) y del tamaño de la red.

Estos algoritmos incrementan el tiempo de ejecución si lo datos de entrada son muy

grandes.

Page 38: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

38

Aproximación Óptima

(Kuipers, Van Mieghem, Korkmaz, & Krunz, 2002), es un enfoque general que busca

soluciones a los problemas de NP-complete a través de un algoritmo de tiempo

polinomial que encuentre una aproximación, una óptima solución cuantificable. Un

algoritmo es considerado óptimo si retorna una ruta cuyo coste es mayor al tiempo

de los costes de ruta óptima.

Dos ejemplos de algoritmos de aproximación óptima para el problema RSP son

considerados en (Hassin, 1992). El primero inicialmente determina una UB (Upper

Bound – Límite Superior) y una LB (Lower Bound – Límite Inferior) en el coste óptimo

señalado por OPT. El algoritmo inicia con LB=1 y UB igual a la suma de los costos

de los enlaces mayores, luego ajusta sistemáticamente estos límites utilizando un

procedimiento de prueba. El segundo algoritmo es solamente una extensión del

primero, y usa una técnica llamada particionamiento de intervalo.

El funcionamiento de los algoritmos de aproximación mejora con valores de

optimización pequeños mientras que causan aumento en la complejidad

computacional.

Heurístico Atrás-Adelante

(Kuipers, Van Mieghem, Korkmaz, & Krunz, 2002), en los algoritmos Atrás-Adelante,

el grafo es analizado basado en la concatenación de dos segmentos:

La ruta explorada hasta cierto punto desde una fuente hacia un nodo

intermedio.

El retraso mínimo o coste mínimo de la ruta desde un nodo intermedio hacia

un destino.

Page 39: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

39

Estos algoritmos BFH (Backward-Forward Heuristic – Heurístico Atrás-Adelante), se

implementan en forma centralizada o distribuida. En forma distribuida el algoritmo

envía un paquete de prueba a través de los enlaces predilectos de uno en uno, si el

paquete de prueba es aceptado por el nodo receptor este se lo envía al nodo

siguiente. Si el paquete de prueba es rechazado el algoritmo intenta con el siguiente

enlace predilecto. La forma centralizada puede ser implementada de dos maneras,

la primera implementación se realiza determinando la ruta de menor retardo (LDP,

Least Delay Path) y la ruta de menor coste (LCP, Least Cost Path), en cada uno de

los nodos involucrados desde un nodo intermedio hasta el destino.

BFH inicia desde la fuente y explora el grafo similar a como lo hace el algoritmo

Disjkstra con una modificación en los procesos de relajación: un enlace (u, v) es

relajado si se reduce el coste total desde la fuente hasta v, mientras que la

aproximación del retardo de extremo a extremo obedece a las restricciones de

retraso.

La complejidad computacional del algoritmo Heurístico Atrás-Adelante utilizando la

implementación centralizada, es tres veces mayor que la del algoritmo Dijkstra.

Composición Lineal Basado en Lagrangiano

(Kuipers, Van Mieghem, Korkmaz, & Krunz, 2002), en los algoritmos de composición

basados en lagrangiano, se busca que el grafo tenga un solo peso que se obtiene

de la combinación lineal del retraso y del coste de cada enlace. Dos multiplicadores

para el retraso y coste son usados para obtener diferentes combinaciones lineales.

Una cuestión clave es cómo determinar los valores adecuados para los

multiplicadores.

Esto se puede hacer sistemáticamente encontrando de manera iterativa el camino

más corto con respecto a la combinación lineal y ajustando los valores

Page 40: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

40

multiplicadores en dirección de una solución óptima. Se puede demostrar que si los

pesos de las rutas se distribuyen de manera uniforme en el espacio retraso-coste,

la búsqueda termina después de un número finito de iteraciones del algoritmo

Dijkstra. Se puede utilizar el algoritmo de ruta K-Shortest para cerrar la brecha entre

la solución óptima y la ruta retornada por combinación lineal.

Algoritmos Híbridos

(Kuipers, Van Mieghem, Korkmaz, & Krunz, 2002), también es posible diseñar

heurísticos eficientes para el problema RSP usando combinaciones de los

algoritmos mencionados anteriormente. En (Guo & Matta, 2003), se menciona una

propuesta. De acuerdo a esta heurística, el costo de la ruta de menor retraso es

seleccionado como la restricción de coste.

El problema se resuelve minimizando una función de longitud no lineal, similar a una

que es usada en TAMCRA, que proporciona más prioridad para las rutas de menor

costo. Para minimizar la función de longitud no lineal, se usa un algoritmo de ruta

basado en k-shortest llamado DCCR (Delay-Cost-Constrained Routing –

Enrutamiento Restringido de Costo-Retraso).

El desempeño del algoritmo DCCR depende de k, si k es largo, el algoritmo alcanza

un buen desempeño a expensas de un incremento en el tiempo de ejecución. Con

el fin de mejorar el rendimiento con valores más pequeños de k, el espacio de

búsqueda puede ser reducido usando un algoritmo basado en Lagrangiano antes

de aplicar DCCR. La complejidad de este algoritmo híbrido, llamado SSR (Search

Space Reduction – Reducción del Espacio de Búsqueda) + DCCR, depende del

basado en Lagrangiano y de los algoritmos de ruta k-shortest.

Page 41: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

41

4.2.2. Algoritmos MCP

(Lee, Hu, & Miao, 2009), en los últimos años, numerosos algoritmos de

programación estática han sido propuestos para diferentes contextos. Las

características más importantes de estos avances son la asignación de tareas al

procesador en el inicio de la operación de programación el cual disminuye tráfico de

la red. En general, estos algoritmos utilizan métodos basados en listas, lo cual hace

que el tiempo de complejidad disminuya en comparación a otros.

La idea principal de estos métodos está basado en el establecimiento de listas

ordenada de tareas con asignación de prioridades para cada una, luego continua

con la ejecución de las tareas seleccionadas desde la lista en el procesador inactivo.

Sin embargo, la diferencia más significativa de estos algoritmos está en la

asignación de prioridades a las tareas en ejecución.

El algoritmo MCP (Modified Critical Path – Camino Crítico Modificado), está

diseñado sobre la base de un atributo llamado el último tiempo de inicio posible de

un nodo. Los nodos de último tiempo de inicio posible están determinados a través

de la técnica ALAP (As Late As Possible). Esto se hace mediante el desplazamiento

de las tareas hacia arriba del grafo, desde los nodos de salida hacia los nodos de

entrada sujetando los nodos de tiempo de inicio hacia abajo del grafo. El algoritmo

MCP construye una lista de nodos en un incremento lexicográfico del orden de las

listas del último tiempo de inicio posible. En cada paso de programación el primer

nodo es removido de la lista y programado a un procesador que permite en primer

lugar el tiempo de inicio.

A continuación se presentan algunas representaciones de algoritmos de solución

para el problema MCP.

Page 42: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

42

Aproximación Jaffe’s

(Jaffe, 1984), Jaffe propone dos soluciones para el problema MCP bajo dos

restricciones. La primera es un algoritmo de tiempo Pseudo-Polinomial que tiene

una complejidad en el peor de los casos poco atractivo. La segunda es un algoritmo

de aproximación llamado algoritmo Jaffe’s. En (Nayak & Murthy, 2013), las dos

restricciones se combinan en una sola medida SMM (Single Mixed Metric – Métrica

Mixta Individual) utilizando una función lineal, el algoritmo utiliza el algoritmo del

camino más corto de Dijkstra y encuentra un camino viable.

(Kuipers, Van Mieghem, Korkmaz, & Krunz, 2002), este algoritmo primero determina

dos multiplicadores positivos, nombrados d1 y d2. Luego usa estos multiplicadores

para asignar un peso compuesto para todos los enlaces w (u, v) combinando

linealmente con los pesos originales.

Ilustración 5. Representación del proceso de búsqueda del algoritmo Jaffe's

Fuente: Kuipers, F., & Mieghem, P. (2003). Bi-directional Search in QoS Routing. Lecture Notes in

Computer Science, 102-111.

El algoritmo encuentra la ruta más corta w teniendo en cuenta las restricciones

antes mencionadas. En la figura se representa la forma como se realiza el proceso

de búsqueda, donde todas las posibles rutas entre los nodos de fuente y destino

Page 43: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

43

son indicados por círculos negros. Las rutas de igual longitud w son indicadas por

una línea. La búsqueda para la ruta de la mínima longitud es equivalente al

desplazamiento de esta línea hacia afuera desde el origen hasta una ruta golpeada.

Esta ruta es la que retorna el algoritmo Jaffe’s.

La figura también muestra que no necesariamente la ruta predilecta se encuentra

dentro de la región de factibilidad establecida por las dos restricciones. Jaffe sugiere

usar una función no lineal cuya minimización garantice encontrar un camino factible,

siempre y cuando el camino exista. Sin embargo, ningún algoritmo de la ruta más

corta está disponible para minimizar una función no lineal. Cabe resaltar que el

algoritmo Jaffe’s puede ser extendido a un número arbitrario de restricciones.

Algoritmo de Repliegue o Iwata’s

(Iwata, 1996), calcula de una en una la ruta más corta de manera individual

recibiendo medidas de QoS. Si existe una ruta más corta que dada una medida de

QoS cumple con todas las restricciones el algoritmo se detiene. Sino, la búsqueda

se repite usando otras medidas de QoS hasta que la ruta sea factible o hasta que

todas las medidas QoS sean analizadas. En el peor de los casos la complejidad del

algoritmo es dos veces mayor que el algoritmo Dijkstra.

(Kuipers, Van Mieghem, Korkmaz, & Krunz, 2002), Un problema con el enfoque de

repliegue es que no garantiza la optimización de la ruta seleccionada; una sola

medida daría lugar a un camino viable o incluso uno cerca. Este algoritmo funciona

bien cuando los pesos del enlace se relacionan positivamente. Ya que si uno de los

pesos es más pequeño que los otros, estos son propensos a ser pequeños también,

lo que causaría una trayectoria más larga a partir de las restricciones dadas.

Page 44: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

44

TAMCRA Y SAMCRA

(Neve & Mieghem, 2000), TAMCRA (Tuneable Accuracy Multi-Constrained Routing

Algorithm, Algoritmo de Enrutamiento Multi-Restringido de Precisión Sintonizable) y

(Mieghem, Neve, & Kuipers, 2001), SAMCRA (Self-Adaptive Multi-Constrained

Routing Algorithm, Algoritmo de enrutamiento Multi-Restringido Auto-Adaptativo)

están basados en tres conceptos fundamentales:

Una medida no lineal de la longitud de la ruta.

Un enfoque de ruta k-shortest

Principio de rutas no-dominio.

Ilustración 6. Representación del proceso de búsqueda de los algoritmos TAMCRA y SAMCRA

Fuente: Kuipers, F., & Mieghem, P. (2003). Bi-directional Search in QoS Routing. Lecture Notes in

Computer Science, 102-111.

(Kuipers, Van Mieghem, Korkmaz, & Krunz, 2002), la figura (a) representa el

proceso de búsqueda utilizando una función de composición lineal similar a la del

algoritmo Jaffe’s. Si los dos pesos de la ruta están altamente relacionados, el

enfoque lineal tiende a funcionar bien. Dado que no sea el caso, una función no

lineal es más apropiada. La figura (b) representa el proceso de búsqueda usando

Page 45: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

45

una función no lineal.

En TAMCRA el concepto de ruta k-shortest es aplicado a los nodos intermedios en

la ruta desde la fuente hacia el destino. Al atravesar el grafo, el algoritmo realiza un

seguimiento de las múltiples sub-rutas desde la fuente hacia los nodos intermedios.

No todas las rutas son almacenadas, pero una distinción eficiente se hace basado

en el no-dominio de una ruta.

TAMCRA sólo considera las sub-rutas de no-dominio. Esta propiedad le permite

reducir de manera eficiente el espacio de búsqueda sin comprometer la solución de

encontrar un camino viable. Como algoritmo exacto, SAMCRA garantiza encontrar

una ruta viable si existe. Además, asigna espacio de memoria solo cuando es

realmente necesario y ajusta auto-adaptativamente el número de caminos

almacenados en cada nodo. Lastimosamente, en el peor de los casos puede

ocasionar un crecimiento exponencial en los nodos.

(Nayak & Murthy, 2013), SAMCRA es el sucesor de TAMCRA, incluye los tres

conceptos fundamentales de TAMCRA y agrega otro más “Mirar hacia adelante”. En

contraste con TAMCRA donde se fija el valor de k, en SAMCRA el valor de k

aumenta de manera exponencial en el peor de los casos. El tamaño de la cola se

puede adaptar de forma independiente en cada nodo durante el cálculo de la ruta

en lugar de requerir tamaño de cola de k-máximo en cada nodo. La ventaja de

SAMCRA sobre TAMCRA es que el espacio de búsqueda se reduce por el pre-

cálculo del camino más corto hacia el destino.

Algoritmo de Aproximación Chen’s

Chen and Nahrstedt (Chen & Nahrstedt , 1998), proponen dos algoritmos basados

en programación dinámica el EDSP (Extended Dijkstra’s Shortest Path – Camino

más Corto de Dijkstra Extendido) y el EBF (Extended Bellman-Ford). (Kuipers, Van

Page 46: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

46

Mieghem, Korkmaz, & Krunz, 2002), cuando el grafo es escaso y el número de

nodos relativamente grandes, se espera que EBF pueda dar un mejor rendimiento

que EDSP en términos de tiempo de ejecución. Sin embargo, para lograr un buen

desempeño se necesitan grandes restricciones, lo cual hace que este enfoque tenga

bastante intensidad computacional para fines prácticos. (Nayak & Murthy, 2013), en

estos algoritmos el problema MPC es simplificado reduciendo el tamaño del peso

de los enlaces.

Algoritmo Aleatorio

(Kuipers, Van Mieghem, Korkmaz, & Krunz, 2002), se fundamenta principalmente

es tomar las decisiones al azar durante la ejecución del algoritmo de modo que evita

las trampas imprevistas durante la búsqueda de un camino viable. (Korkmaz &

Krunz , 2001), proponen un algoritmo aleatorio para el problema MCP. Este

algoritmo se compone de dos partes. La fase de iniciación y la búsqueda aleatoria.

En la fase de iniciación, El algoritmo calcula las rutas más cortas de cada uno de

los nodos desde el intermedio hasta el destino, cada enlace de peso y la

combinación lineal de todos los pesos. El algoritmo inicia desde la fuente y explora

el grafo usando un algoritmo aleatorio BFS (Breadth-First Bearch, Búsqueda

Primero en Amplitud). El BFS encuentra nodos de los cuales se tienen altas

probabilidades para encontrar el destino. Mediante el uso de la información obtenida

en la fase de inicialización, el aleatorio BFS puede comprobar si existe una

posibilidad de éxito antes de descubrir el nodo. Si no hay ninguna posibilidad, el

algoritmo prevé la trampa y no vuelve considera tales nodos. Si el primer intento de

BFS aleatorizado falla, la búsqueda se repite de nuevo. En el peor de los casos la

complejidad del algoritmo aleatorio es mayor que el Dijkstra.

(Nayak & Murthy, 2013), la ventaja principal de este algoritmo es que trabaja bajo

cualquier número de restricciones. La principal desventaja del algoritmo es que

Page 47: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

47

funciona si el estado verdadero de la información está disponible en cada nodo.

Puede que no funcione con información errónea debido a la naturaleza dinámica de

los estados de la red.

Algoritmo H_MCOP

(Korkmaz & Krunz, 2001), proponen un algoritmo heurístico llamado H_MCOP

(Multi-Constrained Optimal Path, Camino Óptimo de Múltiples Restricciones).

Propone encontrar una ruta viable para cualquier número de restricciones y al

mismo tiempo reducir al mínimo la función de longitud de la ruta. La búsqueda de

este camino se hace mediante la aproximación de la función no lineal, igual a como

se hace en TAMCRA.

(Kuipers, Van Mieghem, Korkmaz, & Krunz, 2002), para cumplir estos objetivos,

H_MCOP ejecuta dos versiones modificadas del algoritmo Dijkstra en direcciones

atrás y adelante. En la dirección hacia atrás, el algoritmo calcula el camino más

corto de cada nodo hacia el destino, en una combinación lineal de todos lo pesos.

Luego estas rutas son utilizadas para estimar adecuadamente cuales son las sub-

rutas. En la dirección hacia adelante, usando Dijkstra Mirando hacia Adelante,

H_MCOP inicia desde la fuente y descubre cada nodo intermedio basado en una

ruta P, donde P es un camino determinado heurísticamente completo desde la

fuente hasta el destino que se obtiene mediante la concatenación de la sub-ruta

enviada desde la fuente hacia un nodo intermedio y la estimación restante de sub-

ruta desde el nodo intermedio hacia el destino.

Dado que el algoritmo considera rutas completas antes de llegar al destino, se

puede prever algunos caminos viables durante la búsqueda. Si se utiliza este

algoritmo sólo para el problema MPC, la ejecución termina cuando encuentra o

prevé un camino factible, lo que reduce el tiempo de ejecución del algoritmo.

Page 48: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

48

Ruta Heurística Limitada

(Yuan & Liu, 2001), presenta dos heurísticas para el problema MCP: la heurística

“granularidad limitada” y la LPH (Limited Path Heuristic - Heurística Ruta Limitada).

LPH tiene altas probabilidades de encontrar una ruta viable, siempre y cuando la

ruta exista. (Kuipers, Van Mieghem, Korkmaz, & Krunz, 2002), LPH está basado en

el algoritmo Bellman-Ford y usa dos de los conceptos fundamentales de TAMCRA,

que son el no-dominio y el almacenamiento en la mayoría de las rutas k por cada

nodo. Sin embargo, mientras TAMCRA usa una k-shortest como enfoque, LPH

guarda la primera ruta k, que no es necesariamente las más corta. LPH no

comprueba si una ruta obedece a unas restricciones dadas, lo hace cuando

encuentra el destino.

Algoritmo HAMCRA

(Kuipers & Mieghem, 2003), proponen un algoritmo híbrido combinando los

conceptos de los algoritmos SAMCRA y TAMCRA. HAMCRA usa la misma función

no lineal y los mismos conceptos agregando uno nuevo LB (Lower Bound – Límite

Inferior) que permite la reducción del espacio de búsqueda. El concepto de LB, se

incluye para para calcular y comprobar si la ruta de extremo a extremo cumple con

las restricciones.

(Nayak & Murthy, 2013), HAMCRA encuentra caminos factibles muy rápido, pero la

complejidad aumenta cuando las restricciones están estrictamente relacionadas con

el peso de las rutas multidimensionales de caminos más cortos y los enlaces de

pesos están negativamente relacionados.

Algoritmo A*Prune

(Liu & Ramakrishnan, 2001), considera el hecho de encontrar no sólo uno, sino

Page 49: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

49

múltiples caminos más cortos que están dentro de las restricciones. La función de

longitud lineal usada en este algoritmo es la misma utilizada en el algoritmo Jaffe’s.

Sino no hay caminos viables, el algoritmo devolverá sólo aquellos que están dentro

de las restricciones.

(Kuipers, Van Mieghem, Korkmaz, & Krunz, 2002), los pesos de estos caminos

serán utilizados para evaluar si una sub-ruta puede convertirse en un camino viable,

algo similar a como lo realiza el algoritmo H_MCOP. Después de realizar la fase de

inicialización, el algoritmo procede de una manera similar a Dijkstra. El nodo con el

peso más corto seleccionado de extremo a extremo es extraído de la pila y luego

todos sus vecinos son analizados. Los vecinos que causan un bucle o una violación

de las restricciones son dados de baja.

(Nayak & Murthy, 2013), en el peor de los casos la complejidad del algoritmo

A*Prune crece exponencialmente con el tamaño de la red.

Algoritmo MPMP

(Shin, P. Chong, & Jay Siegel, 2002), el principal objetivo del algoritmo MPMP (Multi-

Pre Paths Multi-Post Paths) es reducir el tiempo de complejidad y reducir la EDR

(Erroneous Decision Rate – Tasa de Decisión Errónea) en comparación a TAMCRA

y H_MCOP. EDR es definida como la fracción de instancias que un esquema de

enrutamiento encuentra en una ruta no viable.

(Nayak & Murthy, 2013), MPMP busca la ruta correcta usando el algoritmo Dijkstra

modificado con una nueva métrica llamada “Margen Mínima Normalizada”. A

diferencia de TAMCRA y H_MCOP, MPMP selecciona múltiples pre-rutas y múltiples

post-rutas en cada nodo. La medida de “Margen Mínima Normalizada” reduce el

tiempo de ejecución mediante la detección muy rápida de la ruta factible.

Page 50: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

50

Algoritmo de enrutamiento NLR_MCP

(Feng, 2006), propone un algoritmo lagrangiano no lineal para solucionar el

problema MCP. Se fundamenta principalmente en una función de costo no lineal.

Este algoritmo ejecuta dos veces el algoritmo Dijkstra, una en dirección de reversa

y otra en dirección hacia adelante.

El algoritmo Dijkstra en dirección inversa trata de buscar el camino desde cualquier

otro nodo que minimice la función de coste, mientras se evalúa la ruta desde ese

nodo hasta el destino. Si es algoritmo Dijkstra en dirección de reversa puede

encontrar el camino deseado, el algoritmo se detiene y retorna esta ruta. Sino,

continúa ejecutando el algoritmo Dijkstra en dirección hacia adelante. El resultado

de una simulación muestra que el coste de NLR_MCP comparado con el de H_MCP

puede ser mucho mejor.

Algoritmo MCSP

(Li, Harms, & Holte, 2007), han propuesto un algoritmo exacto A*_MCSP (Multi

Constraint Shortest Path – Camino más Corto Multi-Restringido) el cual introduce la

noción de estado y la relación de dominio entre los estados. A* es un algoritmo de

búsqueda primero en amplitud que utiliza una estrategia de búsqueda muy conocida

en la inteligencia artificial. Para cada nodo en el árbol de búsqueda, A* mantiene la

distancia recorrida hasta el momento y estima la distancia recorrida y la distancia

de mirar hacia adelante. A*_MCSP elimina el coste de mantener los caminos

parciales similar a como lo hace el algoritmo A*Prune.

Tiempo de complejidad de los algoritmos MCP

La siguiente tabla muestra el comparativo del tiempo de complejidad de los

algoritmos de enrutamiento para el problema MCP.

Page 51: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

51

Tabla 9.

Tiempo de complejidad de los algoritmos MCP

Nota. Fuente: Nayak, P., & Murthy, G. R. (2013). Survey on Constrained Based Path Selection QoS

Routing Algorithms: MCP and MCOP Problems. Journal of Information Systems and Communication,

384-390.

4.2.3. Algoritmos MCOP

(Nayak & Murthy, 2013), tiene las mismas consideraciones del problema MCP, ya

que MCOP (Multi-Constrained Optimal Path, Camino Óptimo de Múltiples

Restricciones) es una instancia del problema MCP. Una solución MCOP puede ser

usada para resolver problemas MCP, pero no viceversa. El objetivo principal del

problema MCOP es encontrar la ruta de menor costo con un retardo atado.

Otro caso especial del problema MCOP es conocido como el problema RSP,

mencionado anteriormente en este trabajo. Por lo que a continuación se describirán

los algoritmos que no fueron tratados para el problema RSP.

Algoritmo FPAS

(Chen & Nahrstedt , 1998), propone un FPAS (Fully Polynomial Approximation

Scheme – Esquema de Aproximación Completamente Polinomial) para el problema

Page 52: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

52

MCOP basado en la construcción de un grafo auxiliar. Este algoritmo proporciona

una solución precisa para problemas MCOP con baja complejidad y tiene como

objetivo mejorar el desempeño de la red. El autor utiliza el concepto no lineal de las

restricciones de una ruta para reducir la complejidad, e introduce las iteraciones

limitadas del propio algoritmo para perfeccionar la precisión de la solución obtenida

continuamente. Para averiguar la tasa de éxito de enrutamiento, el autor también se

ha centrado en el análisis teórico utilizando la propiedad de Markov del modelo

analítico.

Algoritmo DCLC

(Chen & Nahrstedt , 1998), proponen un algoritmo de enrutamiento DCLC (Delay

Constrained Least Cost – Menor Costo Restringido de Retardo) que tiene como fin

encontrar un camino P desde la fuente hasta el destino, donde P es el conjunto de

todos los caminos posibles desde la fuente hacia el destino que cumplen con las

restricciones de retraso. (Nayak & Murthy, 2013), se ha comprobado que el

problema DCLC es NP-completo.

Algoritmo SF-DCLC

(Nayak & Murthy, 2013), el algoritmo SF-DCLC (Función de Selección para Menor

Costo Restringido de Retardo) requiere información de red limitada en cada nodo y

es capaz de encontrar un camino que satisface el retraso dado, si existe tal camino.

El mayor problema que tiene este algoritmo es que encuentra una ruta de menor

costo con respecto al retraso que no es más que el límite autorizado.

Algoritmo LCLD

(Prakash & Selvan, 2008), se ha propuesto un algoritmo que utiliza una función de

peso, que siempre es capaz de encontrar un camino basado en menor costo y

Page 53: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

53

menor retraso satisfaciendo el retraso dado si existe tal camino. LCLD (Least Cost

Least Delay – Menor Retraso Menor Costo) es una versión modificada de SF-DCLC.

(Nayak & Murthy, 2013), el objetivo de este algoritmo es satisfacer los

requerimientos de QoS para cada conexión admitida y para lograr una mejor

eficiencia en la utilización de recursos. Se puede encontrar un bucle libre en la ruta

con restricción de retraso y tiene altas probabilidades de encontrar la ruta óptima si

existe tal ruta. El resultado de una simulación muestra que el algoritmo LCLD tiene

mejor desempeño en términos de paquetes recibidos, número de paquetes

perdidos, rendimiento y por último el retraso final.

Algoritmo FPSA

(Prakash & Selvan, 2008), proponen un algoritmo de selección de ruta para el

problema MCP que tiene como objetivo encontrar una ruta viable si hay más de una

ruta viable dentro de la red. La ruta viable es seleccionada de tal manera que

debería consumir menos recursos de red entre los múltiples caminos viables

disponibles.

(Nayak & Murthy, 2013), por lo tanto, requiere de algunos criterios de optimización

que deben satisfacer el camino factible entre los múltiples caminos viables. La

optimización puede ser considerada por la selección del número de saltos contados,

menor retraso, rendimiento y ancho de banda. El algoritmo FPSA encuentra la ruta

viable mediante la adopción de dos restricciones, ancho de banda y retardo. El

resultado de la simulación muestra que ofrece una tasa de éxito mayor en

comparación a H_MCOP.

Tiempo de complejidad de los algoritmos MCOP

La siguiente tabla muestra el comparativo del tiempo de complejidad de los

Page 54: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

54

algoritmos de enrutamiento para el problema MCOP.

Tabla 10.

Tiempo de complejidad de los algoritmos MCOP

Nota. Fuente: Nayak, P., & Murthy, G. R. (2013). Survey on Constrained Based Path Selection QoS

Routing Algorithms: MCP and MCOP Problems. Journal of Information Systems and Communication,

384-390.

Clasificación por problemas RSP, MCP y MCOP de los algoritmos de

enrutamiento basados en restricciones para QoS

En base a los algoritmos expuestos anteriormente se muestra una clasificación de

las propuestas para solucionar los problemas MCP y RSP-MCOP. Los algoritmos

presentados a continuación son clasificados en estáticos y dinámicos. (Nayak &

Murthy, 2013), los algoritmos de enrutamiento estáticos pueden ser clasificados

dentro de los genéricos (encuentran el camino que satisface múltiples restricciones)

y al mismo tiempo optimizan las métricas. También pueden ser clasificados en no

genéricos (encuentra la ruta viable que satisface solo las restricciones y no optimiza

ninguna métrica).

Page 55: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

55

Ilustración 7. Clasificación de los algoritmos de enrutamiento para QoS

Fuente: Elaboración propia

4.2.4. Algoritmos CBR

(Karaman, University, & Istanbul, 2006), estos algoritmos son esquemas para la TE

(Traffic Engineering – Ingeniería de Tráfico) específicamente diseñados para operar

con la estructura MPLS (Multiprotocol Label Switching – Conmutación de Etiquetas

Multiprotocolo). Las primeras propuestas para CBR (Constraint-Based Routing,

Enrutamiento Basado en Restricciones) incluyen WSP (Widest Shortest Path – Ruta

más Corta más Amplia) y SWP (Shortest-Widest Path, Ruta más Amplia más Corta).

(Guerin, Orda, & Williams, 1997), WSP selecciona la ruta con la capacidad máxima

de ancho de banda entre los que tienen como máximo un salto de longitud. (Wang

& Crowcroft, 1996), SWP primero optimiza en número de saltos, y cuando hay

múltiples caminos, elige el camino que tiene más ancho de banda. Ambos se

Page 56: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

56

destacan por ser algoritmos de enrutamiento de QoS para TE. WSP y SWP utilizan

un algoritmo del camino más corto, Dijkstra o Bellman-Ford, para los cálculos de la

ruta. Todos los algoritmos de generación de trayectoria de esta sección que son

MIRA (Minimum Interference Routing Algorithm - Algoritmo de Enrutamiento de

Interferencia Mínima), FRA (Fuzzy Routing Algorithm – Algoritmo de Enrutamiento

Confuso), PBR (Profile Based Routing – Enrutamiento Basado en Perfiles) y PPBS

(Parallel Path Based Bandwidth Scheme – Esquema de Ancho de Banda Basado

en Camino Paralelo) hacen uso de los algoritmos del camino más corto con

asignaciones de pesos, para seleccionar los enlaces que cumplan con los objetivos

de TE.

Aunque muchos de estos algoritmos aún siguen en investigación, trabajando en la

mejora de características que lo hagan más viables para su utilización y puesta en

marcha, se describen a continuación los algoritmos a tener en cuenta para futuras

investigaciones, ya que se aproximan a los que la Ingeniería de Tráfico busca dentro

de sus objetivos.

Algoritmo MIRA

(Kar, Kodialam, & Lakshman, 2000), se propone para el problema de balanceo de

cargas. El algoritmo MIRA (Minimum Interference Routing Algorithm - Algoritmo de

Enrutamiento de Interferencia Mínima) opera en los ingresos del Router de origen y

produce una sola ruta para una petición, asumiendo que conoce todas las rutas

potenciales en el dominio como de sus ingresos y los puntos finales de egreso y los

enlaces que participan.

(Karaman, University, & Istanbul, 2006), durante la construcción de una ruta, MIRA

considera minimizar la interferencia con las rutas potenciales entre todos los otros

pares de ingreso y egreso. Minimizando la interferencia se está maximizando el

Máximo flujo, que es el ancho de banda residual mínima en los enlaces de ruta

Page 57: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

57

sobre el consumo asumido en todos los otros caminos en el dominio. Para hacer

esto, el algoritmo intenta minimizar las cargas de los enlaces críticos en la red. En

una amplia descripción, un enlace crítico es aquel que se encuentra en la

encrucijada de tráfico potencial de dominio.

Enlaces críticos son aquellos “cuando una ruta es dirigida a través de ellos, el flujo

máximo de uno o más pares de ingresos-egresos disminuye” (Kar, Kodialam, &

Lakshman, 2000). Para medir un enlace crítico, MIRA asigna un parámetro x de

modo que un enlace x-crítico entre dos nodos es uno que no puede satisfacer una

demanda extra de x cantidad de ancho de banda y no tiene un enlace alternativo o

una ruta con capacidad residual. Los enlaces críticos de una ruta no necesariamente

restringen a los enlaces cuello de botella. Un enlace cuello de botella es uno con la

capacidad residual mínima en una ruta, y no es crítico si sus puntos finales pueden

ser de otro modo conectados con suficiente cantidad de ancho de banda.

MIRA se enfoca en dos módulos. El primero calcula los enlaces críticos para todo el

resto de los caminos entre pares de ingresos-egresos en la red en una entrada de

valor x fija para el modulo. Luego asigna pesos para los enlaces de dominio y

ejecuta un procese de algoritmo de camino más corto en estos pesos para encontrar

la conexión entre los nodos de ingreso y egreso de las peticiones actuales. El

cálculo de enlaces críticos es realizado en ciertos intervalos fuera de línea por el

segundo módulo. Estos pesos asignados son medidas de la criticidad a lo largo de

los enlaces con la importancia relativa de la conexión de los ingresos y egresos.

MIRA tiene dos versiones, el S-MIRA y el L_MIRA. En ambas versiones se intenta

minimizar la interferencia que se está formando con el resto de las rutas respetando

la importancia administrativa en S-MIRA y la capacidad de ruta residual de L_MIRA.

(Kar, Kodialam, & Lakshman, 2000), los resultados de la simulación muestran que

la proporción de rechazo de las nuevas solicitudes demostró una cierta tendencia

para x de manera que esta relación ha incrementado con disminuciones locales

Page 58: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

58

como el incremento de x, y ha sido el mínimo cuando la x es la cantidad de ancho

de banda de la demanda entrante.

MIRA puede ser mejorado aún más para la elección de x, basado en el uso potencial

de las capacidades restantes de las estimaciones de tráfico. MIRA no permite dividir

el tráfico, y no considera alternativo LSP’s entre pares de ingreso y egreso. Este

algoritmo ha sido probado contra el enrutamiento mínimo-salto y el WSP, y superó

tanto en interferencia como en la proporción de aceptación LSP y cambios de ruta

sobre fallos de los enlaces en sus ajustes empíricos.

Algoritmo FRA

(Khan & Alnuweir, 2004), FRA (Fuzzy Routing Algorithm – Algoritmo de

Enrutamiento Confuso) opera en una lógica confusa. Cuando el algoritmo está en

línea, procesa para generar rutas con base en el flujo sin ningún conocimiento previo

del resto del tráfico. FRA busca tres objetivos:

Maximizar el Maxflow: La capacidad del enlace de cuello de botella en la ruta.

FRA primero optimiza para seleccionar la ruta con el máximo de recursos

residual en el enlace de cuello de botella.

Maximizar el ancho de banda residual en los enlaces que no sean del enlace

de cuello de botella.

Minimizar la longitud de la ruta por su número de saltos. El algoritmo aplica

una función a un conjunto de miembros confusos combinando estos tres

objetivos dentro un criterio y elegir incrementalmente entre los enlaces para

establecer la ruta de acceso a partir del Router de Ingreso.

(Karaman, University, & Istanbul, 2006), en cada paso, los enlaces inciden para que

el nodo recién agregado sea probado y actualizado por sus valores de inscripción,

y el enlace con el mejor de estos valores es agregado para la siguiente ruta, de un

Page 59: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

59

modo similar a como lo hace el Disjktra’s. El algoritmo termina tan pronto como se

alcanza el Router de destino. FRA supera a WSP y MIRA en los ajustes de

simulación, en la capacidad de utilización del enlace y las formas de negociación.

Algoritmo PBR

(Suri, Waldvogel, Bauer, & Ramesh Warkhede, 2003), PBR (Profile Based Routing

– Enrutamiento Basado en Perfiles) es un algoritmo de control de admisión

orientado en el algoritmo CBR basado en el conocimiento previo de las clases de

flujos, llamados perfiles, esperado para solicitar la entrada en el dominio.

(Karaman, University, & Istanbul, 2006), el objetivo principal del PBR es maximizar

el flujo de admisión. Las demandas de QoS de los flujos son asumidas en su medida

de ancho de banda. Una clase de tráfico es una agregación de LSPs cada uno con

su Router de entrada y salida conocido, y cantidad máxima de ancho de banda

esperado por el tráfico. Puede haber varias clases entre un par de ingreso y egreso,

y una ruta de acceso puede caer en una de estas clases junto con otros LSPs. La

asignación de ancho de banda para los perfiles se calcula fuera de línea para el

segundo módulo en ciertos intervalos.

La asignación de recursos de dominio para cada perfil de tráfico es entonces

resuelto por programación lineal para el establecimiento de caminos con cantidades

suficientes de ancho de banda para cada uno de estos perfiles, para minimizar el

costo de estos caminos. El resultado de esta fase es un conjunto de caminos para

cada uno de los perfiles de tráfico, donde la capacidad total de los caminos

asignados a un perfil es suficiente para su requisito de ancho de banda dado.

La segunda fase opera en línea, y encamina las solicitudes entrantes de ruta uno a

la vez. Se asume que la clase de tráfico de cada solicitud de flujo se conoce por un

mapeo predefinido. En esta fase, la ruta con la distancia mínima de salto y residuos

Page 60: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

60

suficientes es seleccionada entre las rutas que entran en esta clase. El flujo es

rechazado si este no se puede encaminar con las capacidades restantes en

cualquiera de las rutas en la clase a la que pertenece. El funcionamiento de PBR

puede ser descrito como una forma de WSP extendido con control de admisión

basado en perfiles de tráfico.

La complejidad computacional de la primera fase es proporcionalmente alta, y es la

principal debilidad del algoritmo. PBR necesita una enmienda de optimización para

esta fase. PBR ha sido probado contra MIRA y WSP, en topologías restringidas, y

en contra del enrutamiento del camino más corto, y es mejor que estos algoritmos.

Algoritmos PPF & M-AIMD

(Wang, Patek, Wang, & Liebeherr, 2002), proponen PPF (Primary Path First –

Primera Ruta Principal) y M-AIMD (Multipath-Additive Increase Multiplicative

Decrease, Ruta Múltiple Aditiva Incremental Multiplicativa Disminuida) para el

control de admisión y ajuste de tráfico en rutas preestablecidas.

(Karaman, University, & Istanbul, 2006), los algoritmos asumen las fuentes

conocidas de flujos con la demanda máxima de ancho de banda de cada uno, y es

conocida como la “demanda declarada”. La demanda declarada es fija para cada

fuente a lo largo de la ejecución de los algoritmos. La capacidad máxima de una

ruta también es dada y fijada. La demanda declarada de una fuente puede o no,

exceder la capacidad de su ruta de acceso principal.

Hay que tener en cuenta que ambos algoritmos asumen conexiones entre cada

fuente-ingreso y egreso-destino de modo que un flujo entrante de una fuente se

puede encaminar a través de cualquier enrutador de entrada en el dominio MPLS,

y esto tiene muy poco sentido práctico. PPF y M-AIMD no describen el

establecimiento de los caminos y no hacen uso de cualquier conocimiento adicional

Page 61: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

61

de la topología. Ambas versiones tienen como objetivo el consumo primario de los

recursos de ruta y distribuir el tráfico global de manera equitativa basado en la

demanda declarada y la capacidad primaria de las fuentes. En PPF, esta equidad

se logra mediante el uso de un parámetro umbral fijado en la distribución de la carga

actual. En M-AIMD, los parámetros externos se utilizan para el control de admisión.

PPF tiene dos fases que se ejecutan fuera de línea. La primera fase se ejecuta para

el control general de admisión y determina el ancho de banda permitido para cada

flujo. La segunda fase se ejecuta para la distribución actual y el ajuste de este tráfico

a través de los caminos. Para la primera fase, un parámetro de umbral se fija a la

diferencia entre el exceso de capacidad global en todas las rutas y la capacidad

adicional total requerida por fuentes sobrecargadas promediadas por el número de

fuentes sobrecargadas. Si una demanda de los router’s de origen cae por debajo

de este umbral, que es también el caso de que no supere su capacidad asumida,

entonces se envía. De lo contrario, si la demanda adicional está por encima de este

valor, se asigna una cantidad de ancho de banda adicional del valor de umbral. Al

determinar estas tasas, PPF ejecuta los ajustes de ruta del tráfico actual en el

dominio a través de todos los caminos. PPF es computacionalmente costosa,

especialmente en la segunda fase.

La segunda versión, M-AIMD, logra tareas de control de admisión y trayectoria

dentro del mismo proceso en función de cada ruta. El bucle de realimentación indica

a las fuentes si cada ruta está congestionada, utilizado hasta su capacidad en el

estado dado. M-AIMD tiene por objeto mejorar la admisión de tráfico desde una

fuente hasta su exigencia declarada. Para esto, el algoritmo da prioridad al consumo

de recursos de trayectoria primaria como en PPF y no permite el enrutamiento en

ruta secundaria a menos que se congestione la ruta o camino principal. El algoritmo

se ejecuta por separado en cada fuente en los mismos intervalos que las llegadas

de los caminos de retroalimentación. M-AIMD permite aumentar la tasa de

transmisión a través de un camino cada vez que el consumo global de la fuente en

Page 62: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

62

la red es de su demanda declarada y la vía de acceso no está congestionada, y

disminuye la tasa si la ruta está congestionada.

Como solución a la derivación desde el consumo primario, M-AIMD describe una

versión con corrección PPF que implica movimientos de tráfico sucesivos como en

la PPF. En esta versión, las fuentes tienen que conocer la utilización de la ruta en

función de cada fuente, las mismas fuentes envían la información asignada en las

rutas primaria y secundaria periódicamente a todas las demás fuentes. El

rendimiento de M-AIMD/PPF es insignificante comparado con M-AIMD. La

retroalimentación pesada y el cálculo de esta versión también hacen que sea menos

deseable.

Algoritmos PPBS & FBLB

(Tang, Siew, & Feng, 2005), PPBS (Parallel Path Based Bandwidth Scheme –

Esquema de Ancho de Banda Basado en Camino Paralelo) y FBLB (Feedback

Based Load Balancing - Equilibrio de Carga Basado en Retroalimentación). PPBS

opera para la construcción de ruta entre cada par de Router de borde de dominio.

FBLB es un algoritmo de equilibrio de carga y divide cada flujo agregado a través

de sus trayectorias paralelas producidas por PPBS.

(Karaman, University, & Istanbul, 2006), PPBS es un algoritmo fuera de línea para

calcular rutas de acceso para cada par de ingreso-egreso en la entrada de recursos

del dominio y la topología, y los requisitos de ancho de banda de los flujos

agregados entre cada par. Un par de ingresos-egresos puede tener múltiples rutas

en medio, y estas rutas son distintas, comparten enlaces o Router intermedios. Dos

caminos que conectan dos pares distintos de nodos finales pueden compartir

enlaces. FBLB se agrega en PPBS para balancear la carga de un par de ingreso-

egreso a través de las trayectorias paralelas que conectan a los dos. Para cada

Router de ingreso-egreso en el dominio, PPBS iterativamente ejecuta los algoritmos

Page 63: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

63

del camino más corto, conectando los pares y los recortes, los enlaces y los nodos

de transito de la ruta obtenida fuera del grafo hasta que los dos Routers ya no están

conectados.

La estructura operacional de PPBS permite diferenciar entre múltiples FECs con la

misma fuente y destino. PPBS puede ser visto como un algoritmo de cálculo de las

rutas estáticas, y admitir dinámicamente flujos basado en la capacidad actual. PPBS

también es aplicable para la construcción de desplazamiento incremental por

requerimientos de flujo. Los cálculos del camino más corto de PPBS son

exclusivamente para cuentas de salto, los enlaces residuales de ancho de banda

no se cuentan. FBLB extiende PPBS para el equilibrio y la distribución de la carga

de cada flujo agregado a través de sus trayectorias paralelas incrementales. El

cálculo es para dividir un flujo de manera que la proporción de flujo en cada uno de

estos caminos para el ancho de banda global del flujo tenga la misma proporción

que la Maxflow de la trayectoria sobre el Maxflow total de los caminos paralelos para

el flujo.

FBLB se ejecuta en el estado actual de los recursos y las demandas de un

mecanismo dinámico de retroalimentación que informe a cada router de ingreso la

capacidad actual de los enlaces en los caminos que está considerando. El algoritmo

especifica tablas en cada Router de entrada manteniendo la capacidad actual de

cada ruta que se origina en él, y actualizaciones periódicas de esta base de datos

con los paquetes de prueba a lo largo de cada uno de estos caminos para informar

sobre sus capacidades residuales actuales. El balanceo de carga en FBLB todavía

está restringido en el sentido de que opera en un flujo agregado sobre sus

trayectorias paralelas dadas. Intercepción de rutas entre distintos Router fuente-

destino no son considerados en PPBS y si en FBLB. (Karaman, University, &

Istanbul, 2006), PPBS y FBLB se ponen a prueba respectivamente, para su tasa de

admisión de flujo contra el esquema simple de LSP, y rutas congestionadas. Los

algoritmos demostraron actuaciones estables para sus objetivos de diseño.

Page 64: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

64

Algoritmo V-PREPT

(Oliveira, Scoglio, Akyildiz, & Uhl, 2004), V-PREPT se describe para implementación

descentralizada para funcionar en todos los routers de dominio y comprobar la

capacidad de sus enlaces cada vez provocada por el algoritmo de enrutamiento.

(Karaman, University, & Istanbul, 2006), el objetivo de V-PREPT es la minimización

de re-enrutamiento causado por preferencia. El algoritmo formula esto como 3

factores combinados aditivamente con cada uno de sus coeficientes “Tuning” que

son entradas para el algoritmo. Estos tres factores son:

Minimizar el número de LSPs anticipado: la correlación directa con el

objetivo.

Minimizar la cantidad de ancho de banda anticipado: destinado a reducir el

desperdicio de ancho de banda anticipado a la LSP con menor cantidad de

ancho de banda satisfaciendo la demanda.

minimizando en la prioridad LSP: de manera que, entre los LSP cuyas

prioridades permita, todavía se consideran sus prioridades relativas. Tras la

llegada de una solicitud de un enlace.

V-PREPT ordena las prioridades de LSP en base a este criterio y se apropia de

ellos, utilizando el ancho de banda reservado como un tie-break. Cada instancia de

V-PREPT utiliza el conocimiento de LSPs en los enlaces que inciden al Router que

se está ejecutando. Junto con el ancho de banda solicitado y la prioridad de la ruta

de acceso está formando, el algoritmo requiere estados LSP que mantienen en los

routers la tasa asignada y las prioridades de derecho de prioridad para cada uno de

sus enlaces.

(Karaman, University, & Istanbul, 2006), también se describe Adapt-V-PREPT, una

versión de V-PREPT que también considera las preferencias para las tasas de

Page 65: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

65

ancho de banda en lugar de toda la cantidad asignada a una ruta en la suposición

que algunos de tráfico puede renunciar a parte de sus recursos para reducir el riesgo

de ser precedido y desviado. Adapt-V-PREPT tiene características de

funcionamiento similares a V-PREPT. Los algoritmos son probados en distintas

solicitudes de ancho de banda y su funcionamiento es bastante cerca de lo óptimo.

Tabla 11.

Especificación de los algoritmos de enrutamiento basados en restricciones

Algoritmos de enrutamiento basados en restricciones

Para QoS Objetivos y/o fortalezas Restricciones

Algoritmos

exactos

Encuentran sistemáticamente en modo de fuerza

bruta los caminos más viables.

Búsqueda primero en

profundidad con

retroceso.

Algoritmo de

aproximación

óptima

Solucionar el problema NP-complete a través de

un algoritmo polinomial que encuentre una

aproximación de un camino que cumpla con la

mayoría de las restricciones.

El coste de la ruta debe

ser mayor al tiempo de

los costes de la ruta

óptima.

Heurístico

atrás-adelante

Encuentra una ruta óptima basándose en el

análisis que realiza el algoritmo en los nodos

intermedios. Tiene la posibilidad de retroceder

hacia nodos anteriores si ve que el camino no es

el más apropiado y se sale de las restricciones.

Ruta con menor retardo

y ruta con menor coste.

Composición

lineal basado

en lagrangiano

Encuentran sistemáticamente y de manera

iterativa el camino más corto combinando

linealmente dos multiplicadores que actúan en pro

de encontrar la ruta más óptima.

Utiliza dos

multiplicadores: el

retraso y el coste de

cada enlace

Algoritmos

Híbridos

Combinan las técnicas de algoritmos como el

TAMCRA y el lagrangiano. Tienen como objetivo

encontrar la ruta de menor retraso.

El coste de la ruta de

menor retraso es

seleccionado como la

restricción de coste.

Aproximación

Jaffe’s

Utiliza el algoritmo Dijkstra en combinación con

las dos restricciones para encontrar la ruta más

corta.

El algoritmo Jaffe’s puede ser extendido a un

número arbitrario de restricciones.

Utiliza dos restricciones

que se combinan

linealmente para

encontrar el camino más

óptimo. La ruta de

Page 66: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

66

menor longitud y la ruta

de menor peso.

Algoritmo

Iwata’s

Calcula de una en una la ruta más corta que

cumpla con todas las restricciones dadas. El

algoritmo hace cálculos individuales en cada nodo

para determinar la ruta óptima.

Los pesos de los

enlaces deben ser

positivos.

TAMCRA Y

SAMCRA

Se basan en tres conceptos fundamentales. Una

función no lineal para el cálculo de la ruta, un

enfoque de ruta K-shortest aplicado a los nodos

intermedios y el principio de rutas no-dominio

para reducir el espacio de búsqueda.

Utiliza una función composición lineal similar a la

del algoritmo Jaffe’s con el objetivo de encontrar

la ruta más corta.

K-shortest donde k son

las restricciones de

longitud, que se

preestablecen antes o

durante la búsqueda del

camino más óptimo.

Algoritmo de

aproximación

Chen’s

El objetivo se centra en encontrar la ruta más

corta utilizando una función lineal que intenta

reducir el tamaño del peso de los enlaces.

Se necesitan grandes

restricciones para que el

algoritmo tenga un buen

desempeño.

Algoritmo

aleatorio

Su función principal es la de tomar las decisiones

al azar durante la ejecución del algoritmo para

evitar las trampas imprevistas durante la

búsqueda del camino más corto, es decir que el

algoritmo prevé que nodo es óptimo antes de

analizarlo.

Trabaja bajo cualquier

número de restricciones.

Algoritmo

H_MCOP

Encuentra el camino óptimo sin importar el

número de restricciones y al mismo tiempo

reducen al mínimo la función de longitud de la

ruta.

Para la búsqueda de la ruta utiliza la misma

función no lineal del algoritmo TAMCRA.

Combinación lineal de

todos los pesos de los

enlaces.

Ruta heurística

limitada

Está basado en el algoritmo Bellman-Ford

combinado con dos de los conceptos

fundamentales de TAMCRA, que son las rutas no-

dominio y el enfoque k-shortest.

K-shortest como

principal restricción con

la modificación de que

no necesariamente

tenga en cuenta la ruta

Page 67: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

67

más corta.

Algoritmos

HAMCRA

Es el resultado de la combinación de los

algoritmos TAMCRA Y SAMCRA. Utiliza la misma

función no lineal y los mismos conceptos

agregando uno nuevo LB (Lower Bound), se

incluye para calcular y comprobar si la ruta

cumple con las restricciones de extremo a

extremo.

Los pesos de los

enlaces deben ser

positivos. Cuando los

pesos de los enlaces

son negativo el

algoritmo aumenta la

complejidad.

Algoritmos

A*Prune

El objetivo principal es encontrar no solo una sino

múltiples rutas más cortas. Utiliza la misma

función de longitud lineal del algoritmo Jaffe’s

Son escogidos solo los

caminos que tengan el

menor peso en los

enlaces.

Algoritmos

MPMP

El objetivo principal del algoritmo es reducir el

tiempo de complejidad y la tasa de decisión

errónea en comparación a TAMCRA y H_MCOP.

Utiliza una métrica con el objetivo de reducir el

tiempo de ejecución del algoritmo, ya que detecta

rápidamente el camino óptimo.

Busca la ruta más corta

agregándole una

métrica llamada

“Margen Mínima

Normalizada”.

Algoritmo

NLR_MCP

Se fundamenta principalmente en una función de

costo no lineal. Ejecuta el algoritmo dijkstra dos

veces en dirección hacia atrás y hacia adelante.

Son seleccionadas las

rutas con el mínimo

coste.

Algoritmo

MCSP

Es un algoritmo de búsqueda primero en amplitud

que utiliza una estrategia de búsqueda muy

conocida en la inteligencia artificial. Elimina el

coste de mantener los caminos parciales similar a

como lo hace el algoritmo A*Prune.

Noción de estado y la

relación de dominio

entre los estados.

Algoritmo

FPAS

Buscan solucionar el problema MCOP y tienen

como objetivo mejorar el desempeño de la red,

utilizando el concepto no lineal de las

restricciones de una ruta para reducir la

complejidad.

Ruta de menor coste y

menor retardo.

Algoritmo

DCLC

Tiene como objetivo encontrar un camino P,

desde la fuente hasta el destino, donde P son

todos los caminos posibles que cumples con las

restricciones de retraso.

Menor retraso.

Page 68: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

68

Algoritmo SF-

DCLC

Es una extensión del algoritmo DCLC. La ventaja

principal de este algoritmo es que busca el

camino viable con información limitada.

Menor coste teniendo

en cuenta que el retraso

no exceda el límite

autorizado.

Algoritmo

LCLD

Utiliza una función que siempre es capaz de

encontrar un camino basado en menor coste y

menor retraso. Es una versión modificada del

algoritmo SF-DCLC. El objetivo del algoritmo se

centra en encontrar la ruta viable tratando de

optimizar los recursos de la red

Menor coste y menor

retraso.

Algoritmo

FPSA

Tiene como objetivo encontrar la mejor una ruta

viable dentro de un conjunto de caminos viables.

Utiliza criterios de optimización basados en la

selección de número de saltos contados. La ruta

viable es seleccionada teniendo en cuenta que

debe consumir menos recursos de red.

Adopta dos

restricciones, ancho de

banda y retardo.

Para TE Objetivos y/o fortalezas Restricciones

Algoritmo

MIRA

Pretende solucionar problemas de balanceo de

cargas. Minimiza la interferencia del flujo de la

red. Este algoritmo ha sido probado contra el

enrutamiento mínimo-salto, y superó tanto en

interferencia como en la proporción de

aceptación.

Ancho de banda

Algoritmo FRA

Busca tres objetivos: maximizar el flujo máximo,

maximizar el ancho de banda residual en los

enlaces y minimizar la longitud de la ruta por su

número de saltos. FRA supera a MIRA en cuanto

a la capacidad de utilización del enlace y las

formas de negociación.

Ancho de banda

Algoritmo PBR

El objetivo principal de PBR es maximizar el flujo

de admisión. Es un algoritmo de control de

admisión orientado en el conocimiento previo de

las clases de flujos, llamados perfiles. PBR ha

sido probado contra MIRA y ha mostrado mejor

desempeño en la selección de la ruta más óptima.

Ancho de banda

Page 69: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

69

Algoritmos

PPF & M-AIMD

Solucionan el problema de control de admisión y

ajuste de tráfico en rutas preestablecidas. Ambas

versiones tienen como objetivo el consumo

primario de los recursos de ruta y distribuir el

tráfico global de manera equitativa basado en la

demanda declarada y la capacidad primaria de

las fuentes.

Ancho de banda

Algoritmos

PPBS & FBLB

PPBS opera para la construcción de ruta entre

cada par de Router de borde de dominio. FBLB

es un algoritmo de equilibrio de carga y divide

cada flujo agregado a través de sus trayectorias

paralelas producidas por PPBS.

Ancho de banda

Algoritmo V-

PREPT

el objetivo de V-PREPT es la minimización de re-

enrutamiento causado por preferencia, basado en

tres factores: minimizar el número de LSP

anticipado, minimizar la cantidad de ancho de

banda anticipado y minimizar la prioridad de LSP.

Ancho de banda y

prioridades en las rutas

de acceso

Nota. Fuente: Elaboración propia

4.3. DESAFÍOS DE INVESTIGACIÓN REFERENTE A ALGORITMOS DE

ENRUTAMIENTO BASADOS EN RESTRICCIONES

Aunque hay que considerar que actualmente se ha avanzado en el tema, quedan

muchos desafíos a los cuales los investigadores tienen que apuntar, si bien es cierto

hasta el día de hoy existen propuestas que se consideran viables para su

implementación aún no cumplen con todos los requisitos impuestos por las

restricciones.

Un caso común y a tratar en futuras investigaciones está relacionado

específicamente con los algoritmos de enrutamiento basados en restricciones para

QoS donde se presentan problemas de complejidad y precisión de cálculo. La

complejidad en la mayoría de los algoritmos por no decir en todos aumenta

considerablemente con respecto a los algoritmos tradicionales. Se necesita

Page 70: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

70

entonces implementar mejores soluciones asociadas a la evaluación de nuevas

alternativas de cálculo, es decir, funciones de longitud no lineal para obtener

mejores resultados en la selección de una ruta con múltiples restricciones, teniendo

en cuenta que actualmente que actualmente ningún algoritmos del camino más

corto está disponible para minimizar una función de tipo no lineal.

También es importante resaltar que se necesita profundizar en las técnicas

importantes utilizadas por la mayoría de los algoritmos basados en múltiples

restricciones, técnicas de anticipación, reducción de espacio de búsqueda,

ampliación de los pesos entre otras, necesitan ser reevaluadas para obtener

mejores beneficios en la búsqueda de una ruta y en la optimización de recursos de

la red (Kuipers, Van Mieghem, Korkmaz, & Krunz, 2002).

Una posible línea de trabajo es tratar de implementar estos algoritmos en redes ad-

hoc para encontrar una ruta desde el origen hasta el destino tomando en cuenta

ciertos parámetros establecidos antes o durante la búsqueda del camino viable. Una

propuesta interesante sería la de diseñar un algoritmo de enrutamiento

especializado en redes móviles ad-hoc que permitan considerar múltiples

restricciones (Nayak & Murthy, 2013).

En cuanto a Ingeniería de Tráfico aún quedan muchas cosas por hacer, sobre todo

en el enrutamiento selectivo a través de FECs con respecto a las demandas de flujo.

El tráfico en tiempo real necesita tener mejor seguridad para los parámetros de QoS.

La mayoría de los algoritmos de enrutamiento para la TE actúan en modo línea, por

lo que sería importante tratar de profundizar en la ejecución de procesos de

algoritmos fuera de línea y que al mismo tiempo optimicen las estimaciones de flujo

(Karaman, University, & Istanbul, 2006).

Page 71: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

71

CONCLUSIONES Y RECOMENDACIONES

Las propuestas presentadas en este trabajo han sido seleccionadas gracias

a un minucioso proceso de exploración bibliográfica. Basado en las

recomendaciones por parte de los autores, son presentados los algoritmos

que de algún otro modo son considerados soluciones potenciales para

resolver problemas de enrutamiento.

En la actualidad, por las crecientes necesidades de servicios en tiempo real

de los usuarios de las redes IP, se ha buscado una mejor forma de llevar a

cabo la QoS y la TE en los algoritmos de enrutamiento basados en

restricciones y así lograr una mejor eficiencia y optimización de la red, por tal

motivo se presenta en este trabajo los algoritmos de enrutamiento basados

en restricciones que están teniendo más auge y que se proyectan como

respuestas a las necesidades de los usuarios finales.

Un algoritmo de enrutamiento basado en restricciones es exitoso si los

recursos de la red son suficientes para satisfacer los requerimientos dados

en una petición de servicio.

Los algoritmos de enrutamiento basados en restricciones son elementos

clave en una red de comunicaciones ya que no solamente son los

encargados de escoger el camino por el cual serán transportados los

paquetes sino que tienen en cuenta ciertas prioridades a la hora de escoger

la ruta proporcionando así una toma de decisiones más precisas y acorde a

las demande de QoS.

Este trabajo sirve de base para futuras investigaciones en donde estos

algoritmos sean explorados más a fondo en escenarios diferentes de red, por

ejemplo en la red móvil ad-hoc inalámbrica.

MPLS permite un amplio rango de funcionalidades en el enrutamiento

basado en restricciones para la ingeniería de tráfico. La investigación en esta

línea sigue abierta para el trabajo sobre el enrutamiento selectivo través

FECs con respecto a las demandas de flujo. Sobre todo el tráfico en tiempo

Page 72: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

72

real necesita tener la seguridad específica sobre los parámetros de calidad

de servicio. Algoritmos actuales procesan principalmente en una sola medida

de QoS y abordan el problema que deja las conexiones abiertas para el

próximo tráfico.

Se pudo establecer de acuerdo a la exploración bibliográfica que existen

algoritmos de enrutamiento basados en restricciones que son utilizados para

dar soporte y brindar mejores soluciones en Calidad de servicio e Ingeniería

de Tráfico, los cuales son clasificados y explicados es este trabajo. Se obtuvo

un conocimiento general sobre su importancia y su funcionalidad en el

proceso de enrutamiento.

Es importante resaltar la experiencia adquirida y la profundización de

contenidos tan importantes como le es el tema de estudio de este trabajo,

durante el transcurso de este proyecto se fortalecieron conocimientos

adquiridos durante la carrera y además se agregaron nuevos conocimiento

que serán de ayuda al momento de ejercer como ingeniero de sistemas y

telecomunicaciones. Fue un gusto enorme haber desarrollado mi informe

final en esta línea de investigación.

Page 73: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

73

BIBLIOGRAFÍA

Becerra Sánchez, L. Y., & Padilla Aguilar, J. J. (2012). Estudio de Propuestas para

Soportar. Entre Ciencia e Ingeniería, 53-76.

Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., & Weiss, W. (1998). An

Architecture for Differentiated Services. Request for Comments: 2475, 1-36.

Cabrejas Fernández, H., & Gonzáles Tejerina, M. (s.f.). Escuela Politécnica

Superior. Obtenido de

http://www.uam.es/ss/Satellite/EscuelaPolitecnica/es/home.htm

Chen, S., & Nahrstedt , K. (1998). On Finding Multi-constrained Paths. IEEE, 874-

879.

Cormen, T. (2001). Introduction To Algorithms. North America: MIT Press.

Crawley, E., Nair, R., Rajagopalan, B., & Sandick, H. (1998). A Framework for

QoS-based Routing in the Internet. Request for Comments: 2386, 1-37.

Departamento de Sistemas Telemáticos y Computación (GSyC). (Octubre de

2012). E.T.S. de Ingeniería de Telecomunicación. Obtenido de

http://docencia.etsit.urjc.es/moodle/

Ergun, F., Sinha, R., & Zhang, L. (2002). An improved FPTAS for Restricted

Shortest Path. Information Processing Letters, 287–291.

España Boquera, M. C. (2003). Servicios avanzados de telecomunicación. Madrid:

Ediciones Díaz de Santos, S.A.

Page 74: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

74

Feng, G. (2006). The revisit of QoS routing based on non-linear Lagrange

relaxation . International Journal of Communication Systems, 9-22.

García Ramirez, M., Miñana Caselles, Ó., López Fernández, V., & Sánchez

Corbalán, A. (2010). Servicios de red: una visión práctica. Lulu.

Garey, M. R., & Johnson, D. S. (1990). Computers and Intractability; A Guide to the

Theory of NP-Completeness. New York: W. H. Freeman & Co.

Gil, P., Pomares, J., & Candelas, F. (2010). Redes y Transmisión de datos.

Alicante: Publicaciones Universidad de Alicante.

Guerin, R., Orda, A., & Williams, D. (1997). QoS routing mechanisms and OSPF

extensions. IEEE GLOBECOM, 1903-1908.

Guo, L., & Matta, I. (2003). Search space reduction in QoS routing. Computer

Networks, 73-88.

Hassin, R. (1992). Approximation Schemes for the Restricted. Mathematics of

Operations Research, 36-42.

Iwata, A. e. (1996). IEICE Transactions and Communications, 999-1006.

Jaffe, J. (1984). Algorithms for finding paths with multiple constraints. Networks: An

International Journal, 95-116.

Johnson, A. (2008). Conceptos y protocolo de enrutamiento: guía de prácticas de

CCNNA EXPLORATION. PRENTICE-HALL.

Kar, K., Kodialam, M., & Lakshman, T. (2000). Minimum interference routing of

Page 75: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

75

bandwidth guaranteed tunnels with MPLS traffic engineering applications.

IEEE Journal on Selected Areas in Communications, 2566-2579.

Karaman, A., University, I., & Istanbul, S. (2006). Constraint-Based Routing in

Traffic Engineering. Computer Networks, 49-54.

Khan, J. A., & Alnuweir, H. M. (2004). A Fuzzy Constraint-Based Routing Algorithm

for Traffic Engineering. IEEE GLOBECOM, 1366-1372.

Korkmaz, T., & Krunz , M. (2001). A randomized algorithm for finding a path subject

to multiple QoS constraints. Computer Networks, 251-268.

Korkmaz, T., & Krunz, M. (2001). Multi Constrained Optimal Path Selection. IEEE

INFOCOM, 834-843.

Kuipers, F., & Mieghem, P. (2003). Bi-directional Search in QoS Routing. Lecture

Notes in Computer Science, 102-111.

Kuipers, F., Van Mieghem, P., Korkmaz, T., & Krunz, M. (2002). An Overview of

Constraint-Based Path Selection Algorithms for QoS Routing. IEEE

Communications Magazine, 50-55.

Kurose, J., & Ross, K. (2013). Computer Networking: A Top-Down Approach (Sexta

Edición ed.). Pearson.

Lee, R., Hu, G., & Miao, H. (2009). Computer and Information Science. Berlin:

Springer-Verlag Berlin Heidelberg.

Li, Y., Harms, J., & Holte, R. (2007). Fast Exact MultiConstraint Shortest Path

Algorithms. Proceedings of IEEE ICC, 123-130.

Page 76: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

76

Liu, G., & Ramakrishnan, K. (2001). A*Prune: an algorithm for finding K shortest

paths subject to multiple constraints. IEEE INFOCOM, 743-749.

Martínez, J., & Cesares, V. (2005). Conmutadores de paquetes: arquitectura y

prestaciones. Valencia: Editorial de UPV.

Medhi, D. (2007). Network Routing: Algorithms, Protocols, and Architectures. San

Francisco, EE.UU: Morgan Kaufmann.

Mieghem, P., Neve, H., & Kuipers, F. (2001). Hop-by-Hop Quality of Service

Routing. Computer Networks, 407-423.

Nayak, P., & Murthy, G. R. (2013). Survey on Constrained Based Path Selection

QoS Routing Algorithms: MCP and MCOP Problems. Journal of Information

Systems and Communication, 384-390.

Neve, H., & Mieghem, P. (2000). TAMCRA: A Tunable Accuracy Multiple

Constraints Routing Algorithm. Computer Communications, 667-679.

Oliveira, J., Scoglio, C., Akyildiz, I., & Uhl, G. (2004). New preemption policies for

DiffServ-aware traffic engineering to minimize rerouting in MPLS networks.

Journal IEEE/ACM Transactions on Networking , 733-745.

Pachnicke, S., Paschenda, T., & Krummrich, P. (2008). Assessment of a constraint-

based routing algorithm for translucent 10 Gbits/s DWDM networks

considering fiber nonlinearities. JOURNAL OF OPTICAL NETWORKING,

365-377.

Prakash, P., & Selvan, S. (2008). A Characterized and Optimized Approach for

End-to-End Delay Constrained QoS Routing. World Academy of Science:

Page 77: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

77

Engineering and Technology, 436-443.

Prakash, P., & Selvan, S. (2008). A Feasible Path Selection QoS Routing Algorithm

with two Constraints in Packet Switched Networks . World Academy of

Science: Engineering and Technology, 444-450.

Shin, D.-W., P. Chong, E., & Jay Siegel, H. (2002). A Multi-Constrained Routing

Scheme using modified Dijkstra’s Algorithm. World Scientific, 1-12.

Suri, S., Waldvogel, M., Bauer, D., & Ramesh Warkhede, P. (2003). Profile-based

routing and traffic engineering. Computer Communications, 351-365.

Tanembaum, A. S. (2003). Redes de computadoras. México: PEARSON

EDUCACIÓN.

Tang, J., Siew, C., & Feng, G. (2005). Parallel LSPs for constraint-based routing

and load balancing in MPLS networks. IEE Proceedings Communications,

6-12.

Vancells Flotats, J. (2002). Algoritmos y programas. Editorial UOC.

Varios, A. (2002). Diccionario de Internet. Madrid: Editorial Complutence, S. A.

Wang, J., Patek, S., Wang, H., & Liebeherr, J. (2002). Traffic Engineering with

AIMD in MPLS Networks. Lecture Notes in Computer Science, 192-210.

Wang, Z., & Crowcroft, J. (1996). Quality-of-service routing for supporting

multimedia applications. IEEE Journal on Selected Areas in

Communications, 1228-1234.

Page 78: JORGE LEONARDO BAÑOL - Universidad Católica de Pereira

78

Wroclawski, J. (1997). The Use of RSVP with IETF Integrated Services. Request

for Comments: 2210, 1-33.

Yuan, X., & Liu, X. (2001). Heuristic algorithms for multi-constrained quality of

service routing. IEEE INFOCOM, 844-853.