Advanced Routing Algorithms and Load Balancing on MPLS
Tran Cong Hung Ph.D. (Posts & Telecommunications Institute of Technology, Viet Nam)
E-mail: conghung@ptithcm.edu,vn
Nguyen Hoang Thanh (Posts & Telecommunications Institute of Technology, Viet Nam)
E-mail: thanhnh@ptithcm.edu.vn
Nguyen Due Thang (Posts & Telecommunications Institute of Technology, Viet Nam)
E-mail: duc_thang@ptithcm.edu.vn Hae Won Jung (Electronics and Telecommunications Research Institute, Korea)
E-mail: hw-iung@etri.re.kr Tae II Kim (Electronics and Telecommunications Research Institute, Korea)
E-mail: tiMm@etri.re.kr Sung Hei Kim (Electronics and Telecommunications Research Institute, Korea)
E-mail: shkim@etri.re.kr Woo Jin Yang (Electronics and Telecommunications Research Institute, Korea) E-mail: boodmain@etri.re.kr
Abstract - In this paper, we will survey and classify researching advanced routing algorithms that take advantages of MPLS (Multiprotocol Label Switch) network to extent routing algorithms, supporting QoS (Quality of Service) services and traffic engineering and load balancing. We also consider some recent projects that are researching and working with advanced routing algorithms .This paper include 6 parts. Part 1 presents Introduction. Part 2 presents QoS based routing, Classification of QoS routing. Part 3 Traffic based routing presents Based on information of current network such as: Minimum Interference Routing Algorithm (MIRA)[7], Dynamic On line Routing Algorithm (DORA)[9] and Based on profile information such as: Profile Based Routing (PBR)[8]. Part 4 presents Employing advanced routing algorithms Part 5 presents load balancing. And last, Simulation with the combination of essential packages, we build simulate environment for MPLS based on ns2, setup some advanced routing algorithms, and evaluate them with old routing protocol.
1.   Introduction
From the requirement of real network, must be a new protocol that is the combination between IP protocol and protocols on broadband networks such as Frame Relay, ATM, ... .This protocol doesn't change entire existing architecture IP network and also not reduce the speed of broadband network. MPLS protocol is researched and developed. MPLS protocol is implemented by encapsulating a small header to IP package on MPLS domain, so that we don't have change so much. Each header has label, MPLS can use label for switching technique to reduce the time delay package on each router and remain the speed of broadband network. We introduce brief information about MPLS.[1][2][3]
There are many advanced routing algorithms on MPLS that are being researched. We classify advanced routing algorithms to two types. The one that support for constraint routing and QoS services is called QoS based routing algorithm. The other that support for finding solution satisfying many LSP demands and reducing blocking on future is called traffic based routing. In session 2, we discuss about QoS based routing algorithm, session 3 about Traffic based routing, session 4 about model and recent project, session 5 about load balancing and session 6 about simulation.
2.   QoS based routing
Today, Internet supports only "best-effort" services, but does not have a mechanism to guard packet lost, bandwidth, delay, jitter... While old services such as FTP, mail... are working well with traditional Internet, the other services such as Internet Telephony, Video-On demand ... request high bandwidth, low delay and small jitter.[4]
QoS is a set of requirement services for network when transferring data. In other words, QoS is level measurement of services for user, characterized by loss probabilities, bandwidth, end-to-end delay. QoS is a deal between user and network provider by Service Level Agreement (SLA).
QoS based Routing: Route the path satisfy the QoS services that is the agreement between user and network service provider about bandwidth, delay, loss probabilities, ... Besides these constraints, other constraints that must be satisfied are optimizing network resources. QoS Metric: SLA is expressed by QoS metrics. QoS metrics include bandwidth, jitter, cost, loss probability. Metric is classified to three kinds: additive, multiplicative, and concave
Set m(nhn2) is the metric of link (nhn2). With any path P,
P= (n],n2,n3, ...nh rij), metric m is:
additive, if m(P) = m(n1,n2) + m(n2,n3) + ... + m(nhnj)
multiplicative, if m(P) = m(nlyn2) * m(n2,n3) * ... *
m(nhnj)
concave, \im(P) = min{m(nj,n2), m(n2,n3), ... , m(nhnj)}
Classification of QoS routing
With some metrics, the path metric is affected by the links with minimum metrics (bandwidth, buffer space). We call these links the bottle links. We have link optimize
routing (find the path which is optimized at bottle links) and link constrained routing (find the best path with bottle links satisfy some constraints)
With some metrics, the metric of the path is the combination of all metrics of all links along this path. We have path optimize routing (find the path with optimize path metric.) and path constrained routing (find the path satisfy some constraint metrics)
Routing algorithms can be solved with polynomial time
- Link-constrained, path-optimization routing
- Link-constrained, link-optimization routing
- Multi-link-constrained routing
- Link-constrained, path-constrained routing
- Path-constrained, link-optimization routing
For these problems, first we must solve the link-constrained or link-optimization routing problem, we will have limited set of result dependent on number of link, and then we solve path-constrained or path-optimization routing problems.
Routing algorithms can't be solved with polynomial time (NP problems)
- Path-Constrained, Path-Optimization (PCPO) routing
- Multi-Path-Constrained routing (MPC): If all metrics are depended on common metric, we can convert MPC problem to shortest path with polynomial time.
To find optimal solution for these problems, we must trace all paths from source to destination, but the time to trace all of them is exponential function of number of vertices, so it is NP problems. We can only find the solution near the optimal solution by using searching algorithm with heuristic to reduce searching space. Example: with Multi-path-constrained routing problem, we can choose the heuristic is a metric that is a function combining all metrics, and the minimum value of that combination metric induces nearly optimal solution. [6]
There are many QoS-based routing algorithms that are systematically classified on [5].
3.   Traffic based routing
With shortest path algorithms, the drawback of these algorithms is that when an arc is good for many source-destination pairs, some source-destination pairs will choose this arc for their path and can induce the collision on this arc. Traffic based routing algorithm does not only optimize network resource for present time, but also for future demands. Traffic based routing algorithms will predict the links that will be blocked if we route many traffics through them and will reduce routing traffic going through these links. Classify
- Based on information of current network, compute and choose the links that will minimize ability of block for future demands.
- Based on statistical information measured by server or router, we have approximate information about demands on future. We call this statistical information "profile".   After   having   profiles,   we   solve   linear programming to find optimal solution satisfying all profiles, that is, find optimal solution for future.
Following, we will show some traffic-based routing algorithms that support basic concept and suggest general ideals for traffic-based routing algorithms.
3.1.      Based on information of current network
Minimum Interference Routing Algorithm (MIRA)[7] We know that to satisfy demand setup LSP, the less maxflow value we reduce of all ingress-egress pairs after choosing the path, the larger ability of network we have to satisfy for future demands. This problem can
be described by math formulation: Set 9sd is maxflow of
ingress-egress (s,d) pair that is computed after satisfying setup LSP demand, solution of problem is maximize sum
of 9sd of all ingress-egress pairs. The optimization goal
is:
Maximize    ^ 9sd
(s,d)eP(a,b)
Besides, we must find the traffic on each link of each ingress-egress pair, setup the path with bandwidth D and satisfy constraints: total bandwidth of all traffic going through each link is less than residual bandwidth of this link, and total traffic going in is equal traffic going out each node on networks.
Solving complete problem is NP problem. Author finds the approximate solution for solving problem and that can be described by MIRA algorithm: from the residual bandwidth information of all arcs, we can compute the maxflow of all ingress-egress pairs. With each ingress-egress pairs, we find mincut sets, and the arcs belonging to these sets are called critical links. The critical links have the properties that if we route the traffic of ingress-egress pairs going through them, the maxflow of the ingress-egress traffic pair will be reduced. So, the target of MIRA algorithm is maximizing avoiding routing through critical links.
This is the simulation results of MIRA. With the topology and bandwidth like in the script file, traffic from source 0 will go through the path 0 6 7 4 but with MIRA, after calculate for the critical links, traffic from source 0 go through path 0_1_2_3_4, so that 5,9 and 8,10 have more chance to establish an LSP through link 67

Figure 1: MIRA1
With MIRA algorithm, path from node 1 to 5 is 1-3-5, from 1 to 4 is 1-2-4 and the third path form node 2 to node 3 is 2-4-3. And then we use explicit route to establish ER-LSP along these nodes. With MIRA, our network can optimize resource for future demand.

Figure 2: MIRA2
Dynamic On line Routing Algorithm (DORA) [9]
DORA algorithm also is based on current network information to anticipate links that have largely able collision to avoid routing through them. DORA is different from MIRA that MIRA is based on maxflow, while DORA consider about the number of path going through a link (Consider all ingress-egress pairs). Set n is the number of path (of all ingress-egress pairs) going through an arc, the larger value of n, the larger ability collision on this arc on future, so that DORA choose n is the weight of each arc, and run shortest path algorithm to find the shortest path having minimum weight value. Furthermore, combining n with another optimal constrained metric (example m), DORA algorithm build weigh value by formulation: w = ari+(\ - a)in'
n\m} is normalized value of n,m that has the value in range [0,100].
0 < a < 1, choose  a  value is based on
experience.
3.2.       Based on profile information
Profile Based Routing (PBR)[8] We assume that by using server or router, we measured the traffic going through network, and have the profiles of traffic flow. Each profile belongs to class, include Bt denotes aggregate bandwidth requirement of aggregated LSP setup requests between source st and destination dt and is mapped to classID. We symbolize each profile by (classID, sh dh Bt) called commodity ith. For approximately satisfying all requests on future, we must solve simultaneous equations to find the amount traffic of each ingress-egress pair distributed on each link (first step). If the problem has solution, we apply the solution to our network. For each LSP demand, we determine its class and use solution (on first step) for each class to initialize network topology, then use shortest path algorithm to find optimal solution (second step). On general case, not all profiles can be
completely satisfied. PBR algorithm adds excess edges to the graph. Excess edge et is the edge that connect between ingress and egress pairs (Sjdj) of class /, and have infinite bandwidth (very large value). With adding excess edges, the simultaneous equations can always be solved and have many solutions. All PBR need is maximizing the number of satisfied LSP demands, so the target of PBR algorithm is minimizing the traffic routing through excess edges.
Excess edge for S1-D1

Excess edge for S2-D2 Figure 3: Excess edges are added to graph
Suppose we have k profile, let xt(e) is the amount traffic of commodity i route on edge e. The optimal goal is: f k \
Minimize ^ COSt(e)^Xi(e)
V i=l y
COSt(e) = co   if e  is  excess  edge,  and COSt(e) = 1 if e is normal edge.
And now, the simultaneous equations are changed to linear programming problem that can be solved with polynomial time. Its result is used for second step of PBR algorithm.
Assume that we have two commodities:
-class id 0, source 0, destination 2, aggregated bandwidth
28M
-class id 1, source 1, destination 3, aggregated bandwidth 25M
Required bandwidth from node 0 to 2 is 8M and from required bandwidth from node 1 to 3 is 9M. After calculate the commodity amount of each class id on each link, init residual bandwidth and then apply bread first algorithm to find the min-hop path. So that traffic from node 0 to node 2 (class-id 0) is 0 5 2 and from node 1 to node 3 (class-id 1) is 103.

Figure 4: PBR
4.   Employing advanced routing algorithms
Advanced routing algorithms are very difficult for implementing on router because router has limited memory, CPU speed and functions of operating system. So that, advanced routing algorithms are implemented on server with centralized model. Server get network information from distributed protocol such as OSPF-TE, IS-IS-TE,... then, server compute the optimal path, use the COPS,SNMP, telnet,... to control ingress-egress pairs setup new LSP.

Figure 5: Centralized server model supports for advanced routing algorithm on MPLS
Some typical projects are working with advanced routing algorithms on MPLS with server
RATES (Traffic engineering server)[10] is developed by Bell laboratories, RATES uses TE-server to compute optimization paths based on MIRA, then COPS server setup paths by COPS protocol [15] .RATES uses CORBA for distribution programming.
TEQUILA (Traffic Engineering for Quality of Service in the Internet at Large Scale)[17] is the project of European collaborative. It proposes an architecture providing QoS on Internet. TEQUILA has main components such as control plane, data plane, management plane.. .TEQUILA uses SLS for getting request of network users, and its modules communicate together with CORBA. Each router is configured by COPS protocols.
MATE (Traffic Engineering Automated Manager)[ll] uses SPeCRA algorithm [12] for routing. This algorithm is simple than MIRA. This model was experimented on router Linux. MATE sends request message to router though SNMP/Telnet to configure routers, request router get information by TFTP, then router update its configuration by itself.
5. Load balancing
MPLS has ability to split traffic on some routes. Traffic routing and traffic splitting provide load balancing function and increasing performance network. With equal load balancing, load is balanced based on per-packet round robin, or source-destination address based hasting. With unequal load balancing, the processing will more complicated to avoid loop problem. The problem is now computing the load ratio on each route to optimize network utilization [21],[22]. With static load balancing, traffic matrix is computed based on average traffic for a
long time, and then we compute based on these matrix. With dynamic load balancing, we will not know traffic demand on future, and we must use measurement system.
6.   Simulation
Building an environment simulation is too important to evaluate the efficiency of routing algorithms and select the best options to these algorithms. ns2 [19] is open source simulation on linuz OS, and is usually used to implement new package for research. Originally, ns2 don't have MPLS module, we use module MNS [20] for MPLS. To distribute extensive network information, we use package QOSPF [13][14][18] because IS-IS-TE, OSPF-TE... is not completely built on ns2. Some advanced routing need a package to solve linear programming problems, we use PPRN package [16]. And last, we edit and repair the different version of these packages, combine them with our module together, and have complete MPLS environment for testing and simulating advanced routing algorithm.

Figure 6: Original conceptual model of MNS on ns2

Figure 7: Our conceptual model to deploy advanced routing algorithms on ns2 with MNS
There are a large number of the QoS based routing algorithms. It is the result of the combination of many constraints and optimization problems, the combination of many types of metrics such as bandwidth, delay, jitter... and the combination of many proposal heuristics to solve QoS NP problems. We didn't go deep into QoS-based routing, and to see clear result of comparison between advanced routing algorithm and traditional routing algorithms, we implement some traffic-based routing algorithms. The considered traditional routing algorithm is MHA, min-hop algorithm. MHA will choose the route with minimum hop-count. If the route satisfies bandwidth demand, it will be chosen to setup LSP. If not, the demand will be rejected. The comparison result is on the graph with the number of satisfied requests (axis Y) and the total number of requests (axis X), and showed by xgraph (on ns2).
Topology is similar to the topology used on [7]. On this topology, the thin edges have capacity 1200 unit, and the thick edges have capacity 4800 unit. There are four ingress-egress pairs (S0,D0) (S1,D1) (S2,D2) (S3,A^. Correctively, the PBR
use four commodities, each commodity has 2700 unit. We use uniform random function supported by ns2 to create random bandwidth and random ingress-egress pairs. DORA algorithm
use Of = 0.5 .

Figure 8: Topology is used in our experiments
On experiment 1, we have 500 LSP demands, each demand randomly chooses ingress-egress pairs and demanded bandwidth from 100 to 400 unit. On experiment 2, we have 1000 LSP demands, each demand randomly chooses ingress-egress pairs and demanded bandwidth from 10 to 40 unit. We can see on the figure 6 that DORA and MIRA algorithm satisfy the number of demands more than PBR and MHA on these cases, and especially with large number demands, the distinction is so clear. On two these experiments, PBR doesn't have right profile because its profiles predict that each commodity (ingress-egress pair) has total 2700 unit bandwidth, but it is not true. So the PBR algorithm is not efficiency.

Figure 9: Number of requested LSP is satisfied on experiment 1 and 2
On experiment 3, we create simple conditions to PBR having right profile. We define a profile and force the traffic of network to follow this profile. The profile that although each demand randomly chooses ingress-egress pair and bandwidth, the total demanded bandwidth of each ingress-egress pair doesn't exceed 2700 unit is imposed to network. We have 1000 LSP demands, each demands
randomly choose ingress-egress pairs and demand bandwidth from 10 to 40 unit. With suitable profile, PBR prove its efficiency than two first experiments. Because demanded bandwidth of all ingress-egress pairs doesn't exceeds 2700 unit, actually we have approximately 420 LSP demands for each ingress-egress pair (<1000) as we see on figure 10.
rEi3^i|Hj^n^uui| x GraDh
V
JUU.UUUU.....................................!....................................!....................................!....................................!..............rnirn
JU.UUUU.....................................;........................................................................................................................
200.0000.....................................1........................................................................................................................
1 L.U.UUUU.....................................|.................................;....................................;....................................;...............
100.0000....................................;...................................I....................................I....................................I...............
Fin nnnn : : : :
= ; ; 1 x
100.0000 200.0000 300.0000 -100.0000

Figure 10: Number of requested LSP is satisfied on experiment 3
From three these experiments, we proved the efficiency of advanced routing algorithms (traffic-based routing algorithm) with traditional routing algorithm (MHA) on MPLS for satisfying LSP demands (so express the ability to reduce collision) on dynamic networks and also showed the difference between profile and non-profile traffic-based routing algorithms (on simulation environment).
7.   Conclusion
Nowadays, with the appearance of new services and constraints for MPLS network of users, providers and administrators, it is necessary to build new advanced routing algorithms on MPLS. MPLS supports infrastructure and potential environment to developing these algorithms. On this paper, we presented main characteristic and classified advanced routing algorithms on MPLS. We also simulated some algorithms to see their efficiency and mention about some project with advanced routing algorithm. On future, many projects will be built for supporting advanced routing algorithm, not only on servers but also for routers that now only support IP routing protocols and CSPF (constrained shortest path first) (for traffic engineering). If we want to develop advanced routing algorithm on MPLS routers, the algorithm must be simplified and improved to fit with router devices. And this is our future research plans for advanced routing algorithm on MPLS.
References
[1] Uyless   Black,   "MPLS   Label   Switching   Network",
PRENTICE HALL, 2002.
[2] Vivek    Alwayn,    "Advanced    MPLS    Design    and
Implementation", Cisco Press, 2002.
[3] Sean Harnedy, "MPLS Primer", PRENTICE HALL, 2002.
[4] Wei Sun, "QoS/Policy/Constraint Based Routing", January
1999.
[5] Shigang Chen, Klara Nahrstedt, "An Overview of Quality-of-
Service Routing for the Next Generation High-Speed Networks: Problems and Solutions", 1999.
[6] L. Guo and I. Matta. "Search Space Reduction in QoS
Routing", In Proceedings of the 19th International Conference on Distributed Computing Systems, Austin, Texas, June 1999. [7] M. Kodialam, and T. Lakshman, "Minimum Interference
Routing with Applications to MPLS Traffic Engineering", in Proceedings of IEEE INFOCOM, March 2000.
[8] Subhash Suri, Marcel Waldvogel, Daniel Bauer, and Priyank
Ramesh Warkhede, "Profile-Based Routing and Traffic Engineering",
Computer Communication 2002.
[9] R. Boutaba, W. Szeto, and Y. Iraqi, "DORA: Efficient
Routing for MPLS Traffic Engineering" Journal of Network and
Systems Management, Vol. 10, No. 3, September 2002.
[10]        P. Aukia et al, "RATES: A Server for MPLS Traffic
Engineering", IEEE Network, vol. 14, Mar./Apr. 2000.
[11]        A.  Elwalid et al.,  "MATE:  MPLS Adaptive Traffic
Engineering", Proc. IEEE INFOCOM '01, Anchorage, AK, Apr. 2001.
[12]        J. C. de Oliveira, F. Martinelli, and C. Scoglio, "SPeCRA: A
Stochastic Performance Comparison Routing Algorithm for LSP
Setup in MPLS Networks", Proc. IEEE GLOBECOM '02, Taipei,
Taiwan, Nov. 2002.
[13] Z. Zhang, C. Sanchez, B. Salkewicz and E. Crawley, "Quality of Service Extensions to OSPF or Quality of Service Path First Routing", Internet Draft, September 1997.
[14] G. Aposto,opoulos, et. al., "QoS Routing Mechanism and OSPF Extensions", RFC 2676, August 1999.
[15]        Jim boyle, et   al., "The COPS(Common Open Policy Service) Protocol", draft-ietf-rapcops-08.txt, Nov. 1999. [16]        http ://www-eio. upc. es/~j castro/pprn. html
[17]        http://www.ist4equila.org [18]        http://www.ironet/qosr.html [19]        http://www.isi.edu/nsnam/ns/
[20]        http://flower.ce.cnu.ac.kr/~fog l/mns/mns2.0/source/iTins_v2.0
.tar
[21] "Deliverable title: Definition and analysis of TE functions in different network scenarios", Eurongi, June 2004.
[22]        http://www.eurongi.org

TRAN CONG HUNG was born in VietNam in 1961
He received the B.E in electronic and Telecommunication engineering with first class honors from HOCHIMINH university of technology in VietNam, 1987.
He received the B.E in informatics and computer engineering from HOCHIMINH university of technology in VietNam, 1995. He received the master of engineering degree in telecommunications engineering course from postgraduate department HaNoi university of technology in VietNam, 1998.
He received Ph.D at HaNoi university of technology in VietNam, 2004. His main research areas are B - ISDN performance parameters and measuring methods, QoS in high speed networks, MPLS. Currently, he is a lecturer, deputy head of Faculty of Information Technology II and head of section Network & Data Transmission in Posts and Telecoms Institute of Technology (PTIT), in HOCHIMINH City, VietNam.

NGUYEN HOANG THANH was born in VietNam in 1981
She has received the B.E in Information Technology from PTIT, 2003 with graduation thesis entitled "Advanced Routing in Multiprotocol Label Switching Networks". She won the Consolation Award of Students' Science Research Movement given by Minister of Education and Training, 2003, First Prize in Students' Science Research Movement, Posts and Telecommunications Institute of Technology, 2002. Science Research project: Managing Network Devices remotely based on Java Agent Technology, Voice portal using VXML (or Accessing internet by telephone), 2003, Implementation a Local Exchange of 4 subscribers, 2001. Currently, she is a lecturer of Faculty of Information Technology II and in section Network & Data Transmission in Posts and Telecoms Institute of
Technology (PTIT), in HOCHIMINH City, VietNam.
nNGUYEN DUC THANG was born in VietNam in 1982 He has received the B.E in Information Technology from PTIT, 2004 with graduation thesis entitled "Research GIS on mobile application and distributed computing". He won First Prize in Students' Science Research Movement, Posts and Telecommunications Institute of Technology, 2003 with project "Research and apply image processing algorithms on map paper recognition" . Some science research projects: Finding optimized solution for managing LAB from network, Implementation a batch OS called MECURY OS. Currently, he is a teaching assistant of Faculty of Information Technology II and in section Computer Science in Posts and Telecoms Institute of Technology (PTIT), in HOCHIMINH City, VietNam.