Aplicación de la teoría del mínimo costo en redes MPLS para la optimización en la asignación del flujo en un LSP Mónica Huerta Xavier Hesselbach Dept de Ingeniería Telemática. Universidad Politécnica de Cataluña Jordi Girona 1 y 3. Campus Nord, Modulo C3, UPC. 08034 Barcelona . E-mail: [email protected] Dept de Ingeniería Telemática. Universidad Politécnica de Cataluña Jordi Girona 1 y 3. Campus Nord, Modulo C3, UPC. 08034 Barcelona E-mail: [email protected] Resumén: Multiprotocol Label Switching (MPLS) es una tecnología flexible que permite nuevos servicios en redes IP y que hace más efectivo el enrutamiento. MPLS lleva el trafico en una conexión virtual llamada Label Switched Path (LSP). Este articulo propone un método analítico para la minimización del ancho de Banda de un LSP usando la teoría del mínimo costo. Los resultados muestran que hay una optimización sustancial del ancho de banda, comparando los resultados obtenidos con los métodos: CPLEX y LIPSOL, donde LIPSOL hace una mejor distribución del flujo y por consiguiente una mejor optimización del ancho de Banda. Keywords: Ingeniería de tráfico, MPLS, LSP, mínimo costo I. INTRODUCCIÓN Hoy en día la arquitectura del Multiprotocol Label Switching (MPLS) está obteniendo un notable éxito, por su capacidad de coexistir con cualquier protocolo de la red y, sobre todo por su compatibilidad con cualquier tecnología de la red subyacente [1], [2]. La red IP se ha transformado en una extensa red en la que las opciones de negocio y los mercados de consumo inducen al desarrollo de nuevas aplicaciones. Existen aplicaciones de voz y multimedia que requieren una gran cantidad de ancho de banda y que éste se mantenga garantizado durante todo el servicio. Estos requerimientos de Calidad de Servicio hacen que los recursos de la red estén sobreutilizados en términos de velocidad y ancho de banda. Avanzamos hacia una convergencia entre voz y datos en la red IP y su infraestructura y protocolos han sido optimizados sólo para datos, así que los protocolos de encaminamiento IGPs (Interior Gateway Protocol) como RIP (Routing Information Protocol), OSPF (Open Shortest Path First) y EGPs (Exterior Gateway Protocol) como BGP4 (Border Gateway Protocol v4), no son la solución óptima. Muchos de estos protocolos de enrutamiento están basados en algoritmos para obtener el camino más corto (como RIP y BGP4, basados en el vector distancia) sin tener en cuenta métricas adicionales como retardo, jitter y congestión del tráfico. MPLS ha sido desarrollado para eliminar varios de estos problemas. Tiene la capacidad de soportar cualquier tipo de tráfico en una red IP sin tener que supeditar el diseño de la red a las limitaciones de los diferentes protocolos de enrutamiento, capas de transporte y esquemas de direcciones. La red MPLS esta orientada a conexión, en la cual uno o más LSP (Label Switching Path) son establecidos entre cada par de nodos LER (Label Edge Router) [3]. El ancho de banda no utilizada representa durante una transmisión, una perdida de costos para el operador y una perdida de QoS para el cliente, la cual lleva a pensar en una minimización del ancho de banda del canal [4]. La mayoría de los problemas de minimización de recursos en una red son NP Completos, y es uno de los principales problemas a la hora de optimización en el diseño de redes. Esos problemas pueden ser resueltos mediante las teorías del Multicommodity Flow y del mínimo costo [5], [6]. Muchas teorías de optimización han sido analizadas para ser aplicadas en redes. La Teoría del Mínimo Costo presenta nuevos panoramas para resolver problemas de optimización, específicamente en redes de banda ancha como lo es MPLS. Como lo demuestran Recientes investigaciones [4], [7]. El costo de un enlace puede ser definido en función del parámetro que se quiera optimizar, como lo puede ser dinero, una función del buffer, la utilización del ancho de banda y la asignación de flujos. El costo de la ruta viene a representar el costo total de todos los enlaces en la ruta. El problema de optimización esta en encontrar una ruta con un bajo costo en medio de todas las posibles [4]. En este artículo se propone dos algoritmos de asignación de flujos los cuales evalúan la distribución de los flujos en los enlaces de una red MPLS y permiten minimizar el ancho de banda en un LSP (Label Switching Path) utilizando técnicas de optimización basados en la teoría mínimo costo los cuales son evaluados con las herramientas de optimización GAMS y Matlab [8], [9]. Este articulo esta organizado de la siguiente manera: en la sección II se describe la tecnología de redes MPLS, la sección III se describe la teoría del Mínimo Costo. En la sección IV se presenta la propuesta del modelo y finalmente presentamos los resultados y las conclusiones en la sección V y VI respectivamente. II. MPLS MPLS es un mecanismo de enrutamiento flexible que esta basado en la asignación de flujos en rutas extremo extremo dentro de un Dominio Autónomo. La flexibilidad ofrece la libertad de escoger el criterio por el que los flujos de tráfico serán reconocidos y tratados como flujos distintivos, tal libertad permite que el tráfico entre un par destino-fuente sea dividido en rutas paralelas para evitar congestionar los enlaces en la red, siendo esta una de las aplicaciones primarias previstas para MPLS [2]. Las principales funciones de MPLS son: • Especificar mecanismos para gestionar flujos de tráfico de diferentes tipos (Ej.: flujos entre diferente hardware, diferentes máquinas,...). • Obtener independencia de los protocolos de la capa de enlace y la capa de red. • Disponer de medios para traducir las direcciones IP en etiquetas simples de longitud fija utilizadas en diferentes tecnologías de envío y conmutación de paquetes. • Ofrecer interfaces para diferentes protocolos de enrutamiento y señalización. • Soportar los protocolos de la capa de enlace de IP, ATM y Frame Relay. Entre las principales características del MPLS se destaca la división de los planos de control y de envío. El mecanismo de control se encarga básicamente de dos funciones: creación de rutas, que implica la construcción de las tablas de encaminamiento, y la señalización de las rutas. El módulo de envio es el encargado de la conmutación de paquetes a través del intercambio de etiquetas. Las etiquetas son insertadas al comienzo del paquete en la entrada de la red MPLS. En cada salto el paquete es encaminado según el valor de la etiqueta y sale por la interfaz correspondiente con otra etiqueta. Se obtiene una gran rapidez en la conmutación gracias a que las etiquetas son insertadas al principio del paquete y son de longitud fija, lo que hace que pueda hacerse una conmutación vía hardware. Mediante este sistema de intercambio de etiquetas se crean los LSP (Label Switching Path) Las etiquetas se distribuyen utilizando protocolos de señalización, los tres principales recomendados por la IETF (Internet Engineering Task Force) son: LDP (Label Distribution Protocol), RSVP (ReSource reserVation Protocol) y el CR-LDP (Constraint-Based Routing label Distribution Protocol) [10]. Una red MPLS esta compuesta por Routers MPLS: LSR (Label Switched Router) que representan el núcleo de la red (b ackbone)y los LER (Label Edge Router), que son los encargados de realizar la interfaz con otras redes, como se observa en la Fig. 1. Otra característica importante en MPLS es la posibilidad de hacer enrutamiento explícito, el cual consiste en una ruta que ha sido configurada en el LER de acuerdo a los criterios de QoS y a la información de enrutamiento de la red [2]. MPLS clasifica en el LER de entrada el tráfico de modo que le asigna un FEC (Forward Equivalence Class). III. TEORÍA DEL COSTO MÍNIMO Por definición una red es una díagrafica G = (V, E), en la cual cada borde e = (i, j) tiene una dirección desde su punto inicial i hasta su punto final j, donde V representa un conjunto de puntos denominados vértices, y E un conjunto de rectas de conexión denominadas bordes, en este caso los vértices representan los nodos de la red V = {1, 2…m} y E representa los enlaces E = {(i, j); i, j ∈ V}, el enlace (i, j) es incidente con los nodos i y j. Cada enlace tiene una capacidad asignada Uij >0 (máximo flujo posible a lo largo del enlace (i, j)). En un vértice s denominado fuente, se produce un flujo que circula a lo lago del enlace hacia otro vértice t llamado destino. El problema de flujo de costo mínimo se define como el envio de la oferta disponible a través de la red para satisfacer la demanda de manera tal que el costo de envío sea mínimo. A cada uno de los grafos se le asocia una cantidad bi , que representa la cantidad disponible del ancho de banda (si bi >0) o la demanda del ancho de banda (si bi <0). A los nodos con bi >0 se les denomina nodos fuente y a los nodos bi <0 nodos destinos. Si bi = 0 entonces al nodo i se le denomina nodo de trasbordo [5] Asociado a cada enlace, se especifica un costo unitario de envío. Este costo puede ser especificado en unidades monetarias, como una función del buffer, tiempo de retardo ó como ancho de banda utilizado. En este artículo aplicaremos la teoría del costo mínimo, para reducir el ancho de banda sobrante. El modelo utilizado para el problema del costo mínimo es el siguiente: Min ∑ ( i , j )∈E cij xij (1) Sujeto a: ∑ { j: (i , j)∈ E} xij − ∑ { j:( j, i)∈ E} x j i = bi (2) Para i =1….m, LERs LSRs LSP LSRs R1 LERs Nodos De Bordes R2 (3) Este modelo facilita la optimización del problema del mínimo costo mediante la ecuación 1, la cual representa la función objetivo bajo las restricciones que imponen las ecuaciones 2 y 3. R´2 RM Nodos Interiores xij ≥ 0 Para ( i, j ) ∈ E R´1 R´M LSP IV. MODELO PROPUESTO Red de acceso Nucleo de La red Figura 1. Topología típica de una red MPLS Red dde e acceso Tenemos una red que consiste en N nodos (routers), los nodos (m, n) están conectados en la dirección m? n con un ancho de banda equivalente b(m, n) en (bit / seg) . El número de enlaces es el número de pares (m, n) con b (m, n) >0 al cual denominaremos L. se asume que la red tiene la propiedad de que todos los nodos n pueden ser alcanzados por todos los nodos m lo que implica, según T. Ott [11]: N ≤ L ≤ N ( N − 1) (13) Para la demanda de tráfico se define la matriz [d (i, j)], donde d (i, j) es la cantidad de tráfico que entra en la red por el nodo i y sale por el nodo j. Se asume que b (m, n) y d (i, j) son constantes en el tiempo y que todos los flujos son flujos fluidos, es decir, que no tienen pérdida. La carga en el enlace (m, n) es X(m,n) y X(i,j)(m,n) ≥ 0 representa el flujo del tráfico del par de nodos (i, j) en el enlace (m, n), Fig. 2. El flujo, por supuesto, esta determinado por las rutas seleccionadas por el tráfico y por la asignación del tráfico en dicha ruta, así el flujo total de dicha ruta será: X ( m, n ) = ∑ x(i, )j ( m, n ) (14) i, j Esta ecuación interpreta que el flujo total es la sumatoria de cada flujo que pasa por el enlace, es decir, que para cada enlace puede pasar información de varios pares de (i, j), y en cada enlace tenemos la limitación: 0 ≤ X ( m, n ) ≤ b(m, n) (15) x ij m i j n Xmn Figura 2. flujo del tráfico del par de nodos (i, j) en el enlace (m, n) Una vez planteada la red se necesita optimizar el ancho de banda en los enlaces correspondientes entre cada nodo de entrada y el nodo de salida. En vista que tenemos varios nodos de entrada y varios nodos de salida, se tiene que aplicar la teoría del mínimo costo para optimizar el ancho de banda. A. Evaluación del modelo El modelo propuesto se basa en la red mostrada en la Fig. 3, donde se desea optimizar la asignación del flujo de un LSP. Para ello se aplican las ecuaciones del mínimo costo, como explicamos en la sección anterior, y se evaluan los resultados mediante CPLEX y LIPSOL. Para analizar la efectividad de la teoría del mínimo costo en la red MPLS se emplea la red de la Fig. 3, la cual consiste en 9 nodos, con 18 enlaces; la capacidad de cada enlace estará limitada entre 0 y 5 ? i, j. Los flujos de entrada f1, f2, f3, serán respectivamente: 5, 2, 3 y los flujos de salida f4, f5, f6 serán: -4, -3,-3; se asume que el costo de cada enlace = 1; ? i, j. con bi = fi f1 X14 1 X16 f2 X 47 4 X15 X24 X25 2 X48 X57 X58 5 7 8 f4 f5 X26 f3 X34 3 X35 X36 X67 X49 X68 X59 6 9 f6 X69 Figura 3. Red modelo MPLS a evaluar Para evaluar la asignación del flujo a través de CPLEX se empleo la versión libre de GAMS, en el cual se evaluó el siguiente algoritmo: $title PROBLEMA DE FLUJO EN REDES MPLS SET I conjunto de nodos en la red /I1*I9/ CONEX(I,I) conjunto de conexiones de nodos /I1.I4,I1.I5,I1.I6,I2.I4,I2.I5, I2.I6,I3.I4,I3.I5,I3.I6,I4.I7,I4.I8,I4.I9,I5.I7,I5.I8,I5.I9,I6.I7,I6.I8,I6.I9/; ** El conjunto de nodos I se duplica para hacer referencias a distintos elementos del mismo dentro de la misma restricción. ALIAS(I, J) PARAMETERS F(I) flujo de entrada y salida en el nodo I /I1 5, I2 2, I3 3, I4 0, I5 0, I6 0, I7 –4, I8 –3,I9 -3/ FMAX(I,J) capacidad maxima de la conexion entre I y J; FMAX(I,J)=5; ** Se declaran las variables de optimizacion. VARIABLES z valor de la funcion objetivo x(I,J) flujo que sale desde el nodo I hacia J; ** El limite superior de las variables de optmizacion es ** la capacidad maxima de las conexiones. x.lo(I,J)=0; x.up(I,J)=FMAX(I,J); ** Se declaran las restricciones. EQUATIONS COST funcion objetivo BALANCE(I) condicion de conservacion del flujo; COST .. z =E= SUM(CONEX(I,J),x(I,J)) ; BALANCE(I) .. SUM(J$CONEX(I,J),x(I,J))SUM(J$CONEX(J,I),x(J,I)) =E= F(I) ; MODEL flujored /ALL/; SOLVE flujored USING lp MINIMIZING z; Una vez evaluada la red con este algoritmo con CPLEX, se procedió a evaluar la red con LIPSOL, esto se realizó con MATLAB versión 6.5 function G= matrizllena (n,e,matriz); % n = numero de nodos % e = numero de enlaces % matriz = enlaces entre nodos G=zeros(n,e); for i=1:e; G(matriz(i,1),i)=1; G(matriz(i,2),i)=-1; end Aeq=matrizllena(9,18,[1 4; 1 5; 1 6; 2 4; 2 5; 2 6; 3 4; 3 5; 3 6; 4 7; 4 8; 4 9; 5 7; 5 8; 5 9; 6 7; 6 8; 6 9]); f=ones(18,1); beq=[5; 2; 3; 0; 0; 0; -4; -3; -3]; lb=zeros(18,1); ub=5*ones(18,1); [x,fval,exitflag,output]=linprog(f,[],[],Aeq,beq,lb,ub,[]); V. RESULTADOS OBTENIDOS VI. CONCLUSIONES Y TRABAJOS FUTUROS. La tabla 1 muestra los resultados obtenidos de la evaluación mediante CPLEX y LIPSOL. En este articulo se han presentado un modelo analítico utilizando la teoría del mínimo costo para la optimización del ancho de banda de un Label Switching Path (LSP) en redes MPLS. De los resultados obtenidos podemos deducir que el LIPSOL es un método más robusto que CPLEX para la distribución del flujo en un LSP. Este análisis abre una nueva línea de investigación entre las técnicas convencionales de optimización empleados en redes de comunicación multipath, específicamente en redes MPLS. Los resultados expuestos en este trabajo deben considerarse estimaciones aproximadas, que tienen el único objetivo de plantear unas cotas previas en las que basar futuros refinamientos. Para ello, se emplearán modelos matemáticos que reflejen la realidad de manera más ajustada, y herramientas de simulación que permitan considerar un gran número de situaciones hipotéticas diferentes y obtener, basándose en éstas, valores estimados más concluyentes. Como trabajo futuro se plantea utilizar este método analítico de optimización en control de flujos y enrutamiento y para la asignación del ancho de banda en redes MPLS Tabla 1: flujo en cada enlace evaluado con ambos algoritmos Enlace CPLEX LIPSOL Enlace CPLEX LIPSOL X14 5 1,6667 X47 4 1,3333 X15 0 1,6667 X48 3 1 X16 0 1,6667 X49 3 1 X24 2 0,6667 X57 0 1,3333 X25 0 0,6667 X58 0 1 X26 0 0,6667 X59 0 1 X34 3 1 X67 0 1,3333 X35 0 1 X68 0 1 X36 0 1 X69 0 1 Como se puede observar, de los datos obtenidos por CPLEX, existen enlaces que están subutilizados porque el flujo que por allí circula es cero, esto trae como consecuencia que algunos enlaces se encuentren a su máxima capacidad. LIPSOL demuestra una mejor distribución de los flujos de los enlaces. 6 CPLEX LIPSOL 5 4 3 2 X69 X68 X67 X59 X58 X49 X57 X48 X47 X36 X35 X34 X26 X25 X24 X15 0 X16 1 X14 distribución del flujo en cada enlace La distribución de los flujos obtenida en la tabla 1, nos da una visualización de la repartición de los flujos en los diferentes enlaces del modelo propuesto evaluado por CPLEX, indica que el enlace X14 se encuentra completamente ocupado, mientras que existen 12 enlaces por el cual no pasa ningún flujo. Para LIPSOL, el análisis para la distribución de los flujos obtenida en la tabla 1, nos indica que la repartición del flujo por los diferentes enlaces, que conforman la red, del modelo propuesto es más equitativa. Para obtener una mejor visualización de los resultados, se graficaron la capacidad máxima del enlace versus el flujo asignado a cada enlace, con ambos métodos. Podemos deducir que la evaluación realizada por el algoritmo LIPSOL distribuye de manera uniforme el flujo del enlace entre todos los enlaces posibles de la red, en cambio CPLEX a pesar de optimizar algunos enlaces tiende a sobrecargar algunos enlaces mientras otros se encuentran con poco uso como se puede ver en la Fig.4. Enlaces Figura 4 Asignación del flujo en los enlaces del modelo propuesto Referencias [1] D. Awduche et al. “Requirements for Traffic Engineering over MPLS”. IETF RFC 2702, September 1999R. [2] B. Jamoussi et al. “Multiprotocolo Label Switching Arquitecture”. IETF RFC 3031, January 2001. [3] E. Rosen, A. Viswanathan, R. Callon. “Multiprotocol Label Switching Architecture”. Internet Draft <draft-ietfmpls-arch-06.txt>, August 1999. [4] S. Chen, K Nahrtedt. “An overview of quality of service Routing for Next Generation High Speed Networks: problems and solutions”. IEEE Network, pp.64-71 November -December.1998 [5] K. Ahuja, T. L. Magnanti, and J. B. Orlin. “Network Flows: Theory, Algorithms and Applications”. PrenticeHall, Inc., Englewood Cliffs, NJ 1993. ISBN: 0-13617549-X [6] P. Chardaire, A. Lisser. “Minimum Cost Multicommodity flow”. November 1999. http://www.sys.uea.ac.uk/people/pc/hbook.pdf [7] A. Löbel “ Solving Large–Scale Real–World MinimumCost Flow Problems By a network Simplex Method” http://citeseer.nj.nec.com/lobel96solving.html [8] http://www.gams.com [9] http://www.mathworks.com/ [10] B.Jamoussi, et al. “Constraint – Based LSP setup Using LDP”. Internet Draft <draft-ietf-mpls-cr-ldp-05.txt>. January 2002. [11] T.Ott, T. Bogovic, T.Carpenter, “Algorithms for Flow Allocation for Multiprotocol label Switching”. Telecordia, Technical memorandum, TM-26027,2001.