Sei sulla pagina 1di 4

2012 International Conference on Computer Science and Service System

MPLS Traffic Engineering Load Balance Algorithm Using Deviation Path

Fenglin Li
Department of Computer Science and Technology Wuhan University of Science and Technology Wuhan, China e-mail: 15994207833@139.com

Jianxun Chen
School of Computer Harbin Engineering University Harbin, China e-mail: cjxwh@wust.edu.cn

AbstractSince conventional routing algorithm is easily leading to the problem that some segments of a network are quite congested while other segments along alternative routes are under utilized, this thesis proposed a new load balance algorithm called load balance algorithm using deviation path. Multiple Protocol Label Switching (MPLS) uses its explicit routing technology to implement traffic engineering. The new algorithm is based on this advantage of MPLS and is used to achieve load balance of traffic engineering in MPLS network. The simulation results of Network Simulator (NS2) showed that this algorithm can effectively balance the workload between different links and can improve the network performances with lower delay, smaller loss rate and higher throughput. Keywords- MPLS; Traffic Engineering; Network Simulation; Deviation Path

I.

INTRODUCTION

Along with the multi-fold growth of the netizen population, unceasing expansion of network scale, the exponential growth of network application and the explosive rising of network traffic, the existing network can hardly satisfy the need of network application, accordingly lead to the decrease of network performance and the increasing frequency of network congestion. Congestion typically manifests under two scenarios: (1) When network resources are insufficient or inadequate to accommodate offered load. (2) When traffic streams are inefficiently mapped onto available resources; causing subsets of network resources to become over-utilized while others remain underutilized [1]. The first type of congestion problem can be addressed by expanding the capacity of the network. However, network expansion is extremely expensive and its not the major cause. In fact, the primary cause of network congestion is the unbalanced distribution of network traffic. Therefore how to balance the network traffic and improve the internet quality of service is becoming the most crucial issue. II. MPLS TRAFFIC ENGINEERING

destination will be aggregated and sent through the same path. Therefore these algorithms have two problems. The shortest paths from different sources overlap at some links, causing congestion on those links. And a link may be congested despite the existence of under-utilized link in the network. The traffic from a source to a destination exceeds the capacity of the shortest path, while a longer path between these two routers is under-utilized. The main issue with conventional routing protocols is that they dont take capacity constraints and traffic characteristics into account when routing decisions are made. So some segments of a network can be very congested while other segments along alternative routes are under utilized. To optimize the utilization of resources in a network, an important network optimize technique Traffic Engineering came into being as required. Traffic Engineering is the process of controlling how traffic flows through ones network so as to optimize resource utilization and network performance [2]. Minimizing congestion is a primary traffic and resource oriented performance objective. In practice, there are many strategies that can be used for traffic engineering like IP-over-ATM [3], constraint based routing [4] and others. MPLS (Multiple Protocol Label Switching) Traffic Engineering overcomes the limitations of these approaches by perfectly combining the flexibility of layer 3 with the traffic management capability of layer 2 and is regarded as the key technique of next generation IP backbone network. Its emergence provides strong technical support for traffic engineering. B. Load Balancing Algorithms in MPLS Traffic Engineering Load balancing is an operation that distributes traffic flow rationally in the current network topology over multiple paths. And the paths are not required to be the shortest paths. There are three types of load balancing algorithm in MPLS: Topology-Based Static Load Balancing Algorithm TSLB is improved on the basis of traditional shortest path routing. In this algorithm, the shortest path in the set is examined to see if it meets the bandwidth requirement. If yes, that path is selected, otherwise that path is deleted from the feasible set [5]. Comparing with the shortest path routing, TSLB has effectively eased the congestion on the bottleneck. However since the algorithm is static, it wont be preempted. Resource-Based Static Load Balancing Algorithm
601

A. Traditional routing algorithms Traditional IP routing algorithm like OSPF and ISIS compute the shortest way to the destination only based on the destination address and it means that traffic from different sources passing through a router with the same
978-0-7695-4719-0/12 $26.00 2012 IEEE DOI 10.1109/CSSS.2012.155

RSLB pre-computes the feasible set of paths the same way as TSLB, but it examines the paths to find the one with the lowest available bandwidth that can afford the need for the new arrival traffic. But when there are only few low-rate flows are sent during a long time, links with large capacity in the Internet will be idle for quite some time. Dynamic Load-Balancing Algorithm (DLB) As a dynamic algorithm, DLB overcomes the restriction of RSLB and TSLB. It not only pay attention to the network topology, but also take traffic bandwidth requirement, network resource engrossing and traffic characteristics into account. DLB reroutes the existing traffic flows to find a path for the new flow if the resource-based algorithm fails to find a path for the new flow. III. LOAD BALANCING ALGORITHM USING DEVIATION PATH (LBDP)

B. LBDP Model The general idea of deviation path load balancing algorithm is as follows: first of all, when a new flow is generated, creating its spanning-tree and get the isolines; secondly, when a congestion is about to happen, select a switch flow from the link; thirdly, search for available paths and choose the optimal one to relocate the selected switch flow; finally, switch the chosen flow to balance the load. Fig. 2 is the process of LBDP. IV. THE IMPLEMENTATION OF LBDP

Although we can use explicit routing technology to choose a path that steer clear of the hotspot when a LSP is established. But as we all know, network traffic can be very abruptly, thus the chance of congestion is still quite high. Therefore adaptive adjustment capability of a network is still very essential. A. General Terminology in LBDP G=(V,E) is a MPLS network topology graph, where V={v1, v2,, vn} is the set of vertices in G and E is the set of edges in G. Use e(i,j) to refer to the link between node vi and node vj. Isoline: a line on a network topology map connecting nodes with equal distance value to the destination of a certain flow. As seen from the spanning-tree in Fig. 1, for the certain flow from source node v0 to the destination node v13, nodes v8, v9, v11 and v12 have the equal distance value to v13, that means they are on the same isoline. Deviation Path [7]: For a given network topology G there is a path from node vi to node vj called p1, p1= vi,v1,v2,, vk,, vj . And another path from node vi to node vj called p2 is existed too, p2= vi,v1,v2,, vk,, vj . If vi,v1,v2,, vk= vi,v1,v2,, vk and vk+1 vk+1, then node vk+1 is called the deviation node of node vk+1 and p2 is the deviation path of p1 against node vk+1. For example, as shown in Fig. 1, there is a path from node v0 to node v13 called p1, p1=v0,v6,v8,v13. And another path from v0 to v13 is p2=v0,v6,v9,v13. So v9 is the deviation node of v8, and p2 is the deviation path of p1 against v8.

A. Create Spanning-tree and get isolines When a new flow is generated, use breadth-first search to create its spanning-tree and get the isolines. The information we gathered from this section can be quite useful for the implementation of the algorithm, especially for the path searching and selecting part. B. Monitoring and Flow selection Each LSR in the MPLS network periodically checks its outcome links. They recompute the bandwidth utilization rate of the links after each interval and if the value of a certain link e(i,j) exceed the predetermined threshold we set, it indicates that a congestion is about to happen. And what we need to do now is to select a proper flow and switch it onto another path that doesnt use link e(i,j). We can get the minimum bandwidth we must relocate by the following formula ,then select the flow with a minimum bandwidth that no less than disB in (1).

disB =

1 k n

flow(k ) B(i, j )

(1)

C. Path Searching Now presume that link e(i,j) is the congested link. According to the monitoring and flow selection part, we have selected flow[f] as the switch flow and we can easily get the current path it goes.

Figure 1. Network topology and its spanning-tree. Figure 2. LBDP flow chart

602

Assume that nowpath= Vs,,Vi,Vj,, Vd, if we can find a deviation path of nowpath called bpath that uses Vj as the deviation node, namely bpath= Vs,,Vi,Vj,, Vd, then we can use it as the path for flow switching since its a path that steer clear of congested link (Vi,Vj). The same rule applies to nodes Vs,,Vi, so our searching nodes would be snode(0)=Vj, snode(1)= Vi,, snode(k)= Vs. As for the rest nodes Vj+1,, Vd, their deviation paths are pointless for us due to their use of link e(i,j). Once the searching nodes are settled, what we must do now is to search their qualified deviation paths and select the best one. In order to search the deviation paths of searching node snode(p), a simple and efficient way is to search the isoline where snode(p+1) located and its two neighbor isolines if they are existed. And the searching of other isolines are not necessary as the nodes on them are not in the neighbor set of snode(p+1). The specific steps are as follows: Search the nodes on isoline Tm-1: Assume that snode(p+1) is on isoline Tm, so Tm-1 is the isoline before Tm and its also the isoline where snode(p) is located. If theres a node snode(p) on isoline Tm-1 and e(snode(p), snode(p+1)) E, then its the node we are looking for. A qualified deviation against snode(p) is found while no loop is existed and available bandwidth is wide enough. Search the nodes on isoline Tm: the method is the same as the previous step. If Tm+1 is existed, then search the nodes on isoline Tm+1. Until now the research part is over. The specific procedures are as follows: INPUT: network topology G, source node Vs and destination node Vd, Tsd=(TWX,ZDL), SS /*SS={snode(p)|p=0,1,k}. Tsd is consists of isolines: TWX and shortest path of each node: ZDL. */ OUTPUT: LSP Procedure SSlsp(G, nowpath, Vi, Vj, Vs, Vd) BEGIN Find the isolines of each searching nodes, like the isoline of snode(p) is st(q); For (m=1;m<k+1;m++) //search for the deviation paths against snode(m-1) BEGIN searchIsoline(snode(m), T(st(m)-1: Vd), snode(m-1)); // Search the nodes on isoline Tm-1, namely T(st(m)-1: Vd) searchIsoline(snode(m), T(st(m): Vd), snode(m)) IF T(st(m+1): Vd) THEN searchIsoline(snode(m), T(st(m)+1: Vd), snode(m+1)) END END Procedure searchIsoline(snode(p), T(st(q): Vd), snode(t)) BEGIN //find the qualified nodes on isoline Tq TEMP T(st(q): Vd)- {snode(t)} //TEMP is used to store nodes on isoline Tq except snode(t) IF Vr TEMP && e(Vr ,exists, snode(p)) E THEN BEGIN Set templsp= Vs, Vsnode(p), ZVr; // ZVr is the shortest path from Vr to the destination Vd

IF templsp has no loop && its available bandwidth >= B(flow[k]) THEN BEGIN //minlsp is the shortest qualified path so far IF var minlsp doesnt exist, THEN minlsp templsp; ELSE //minlsp exists BEGIN IF templsp.length< minlsp.length THEN minlsp templsp; ELSE IF templsp.length=minlsp.length && templsp.abw<minlsp.abw //templsp.abw is the available bandwidth of templsp THEN minlsp templsp; END END END END D. Flow Switch Use MPLS explicit routing technology to establish a ERLSP based on the selected path, and map the selected switch flow onto the ER-LSP. V. SIMULATION RESULTS To evaluate the efficiency and performance of LBDP, NS2: a free, flexible and widely-used network simulator with open source code is used in this paper. Comparing with the Shortest Path First Algorithm (SPF) and Load Balance by Sideway Algorithm (LBAR) [6], the simulation results showed that LBDP has obvious advantages. The simulation network topology is as shown in Fig. 3. There are two flows here: one is from node 1 to node 14, the other is from node 2 to node 14. The hotspot link in this case is e(3,6), and its particularly prone to congestion. Fig. 3 presents the case with SPF, according to the strategy of SPF, no actions will be taken when congestion happened. Fig. 4 is the case with LBAR. LBAR is an algorithm that uses the concept of adjacent regions which are defined as the polygons adjacent to a link, and distributes some of the flows on the congested link to its adjacent region based on some policy of priority. In Fig. 3 the congested link is e(3,6), and based on LBAR its adjacent region path is arpath=3-5-8-1015-9-6. So it is used to replace the congested link of the original path in spite of the existence of other shorter paths like 3-5-8-10-15-14. Also, as we can see in Fig. 5 that another congestion happened after the first balance action was taken. In other words, LBAR cant solve the problem in some cases, it just dislocate the hotspot. But LBAR, in contrast, is much better than SPF: it can solve the congestion problem under some circumstances and the performance of the network is improved at some point. Fig.6 is the case using LBDP. The switch flow it selected is the one with node 1 as the source node and the deviation path it chose is dpath=1-4-7-11. It is obvious that the length of the selected path is as long as the original path which is much shorter than the adjacent path in LBAR. And in other cases the path from LBAR is always no less than LBDP. In my simulation I looked at three different comparison criteria for the network load balance algorithm: Fig.7 showed the packet loss of three algorithms. The results indicate that

603

no packet is dropped ever since LBDP avoided the congested path. As to LBAR, the dropped packets is reduced at first, but quickly increased due to the second congestion. In Fig. 8, we can see that LBDP has increased the throughput of the network pretty well but it turns out not to be as good as LBDP. And Fig. 9 is about the network delay. As the figure illustrated, LBDP has smaller delay than the average standard of SPF, meanwhile LBAR is quite time consuming. After all, based on the analysis and evaluation above we can tell that LBDP can significantly increase bandwidth utilization ratio and throughput, and reduces both delay and packet losses. We can conclude from the comparison of three algorithms that the proposed algorithm can obviously improve the network performance.

Figure 8. throughput

Figure 3. SPF

Figure 9. delay

VI.

CONCLUSION

Figure 4. LBAR 1st balance

In this paper, we first discuss the general issues of traditional routing algorithms. We then present the MPLS TE technique and three load balancing algorithms of MPLS TE. After that, based on our study, a new load balancing algorithm called LBDP is proposed. Finally, the simulation results of NS2 showed that LBDP can effectively balance the workload between different links and can improve the network performances. Also, the feasibility and the validity of this algorithm are proved. ACKNOWLEDGMENT We are grateful for helpful comments from Zhang Kai, and the anonymous reviewers. We would also like to thank Yuan Shuai and Xiang Shuangshuang for helpful discussions. REFERENCES
[1] D.Awduche, J.Malcolm, J.Agogbua, M.ODell and J.McManus, Requirements for Traffic Engineering Over MPLS, RFC2702 IETF, September 1999. Xipeng Xiao, Alan Hannan, Brook Bailey and Lionel Ni, Traffic Engineering with MPLS in the Internet, IEEE Network, 2000. C. Semeria, Traffic Engineering For The New Public Network, Juniper Networks Whitepaper, September 2000. B.Fortz, J.Rexford, and M.Thorup, Traffic Engineering With Traditional IP Routing Protocols, IEEE Communication Magazine, October 2002. Keping Long, Zhongshan Zhang and Shiduan Cheng, Load balancing algorithms in MPLS traffic engineering, In 2001 IEEE Workshop on High Performance Switching and Routing, 2001, pp.175-179. Chen Janxun, Zhang Yong and Ma Chengguang, Load Balance by Sideway Algorithm for MPLS Traffic Engineering, Computer and Digital Engineering, 2006. Wang Mingzhong, Xie Jianying and Chen Yinglin, A New Algorithm for Finding Kth Shortest Path, Computer engineering and applications, 2004.

Figure 5. LBAR 2nd congestion

[2] [3] Figure 6. LBDP [4]

[5]

[6]

[7]

Figure 7. packet loss

604

Potrebbero piacerti anche