Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
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
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
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.
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.
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.
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
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
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
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
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
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.
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.
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.
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.
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).
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
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
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.
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.
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
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
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.
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).
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)
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.
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
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,
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
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).
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).
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).
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.
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
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.
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
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
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.
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.
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
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.
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.
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
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.
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
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
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
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.
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
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.
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.
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
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
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
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).
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
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
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
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
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
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
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
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
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.
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
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
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
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.
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
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
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).
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
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.
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.
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
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.
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:
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.
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.