Approximate Load Balance Based on ID/Locator Split Routing Architecture 1 Sanqi Zhou, Jia Chen, Hongbin Luo, Hongke Zhang Beijing JiaoTong University
Motivation DHT based ID/Locator Split Routing Multipath Method SLUBP Algorithm Evaluation Conclusions 2
Motivation Issues of Internet: Scalability, Multihome, Mobility, etc. To solve the above problems, some ID/Locator split architectures are proposed. – LISP, SHIM6, HIP, etc. It is possible to improve the traffic engineering by implementing a multipath method based on the ID/Locator splitting. – QoS – Budget of customers and operators – Load balance (Considered in this paper) In most previous works, they build a centralized system to achieve traffic engineering – D. Saucerz, et. al. [1], S. Paul, et. al. [2] – A. Sridharan, et. al. [3], Z. Wang, et. al. [4] In some other proposals, the solutions lead to high time complexity – D. Saucerz, et. al. [5] 3
Motivation The target of this paper: Achieving load balance based on the ID/Locator splitting while – 1, by using a distributed system, – 2, keeping reasonable time complexity. 4
DHT based ID/Locator Split Routing 5 Step1-Step6: How to get the mapping information and forward the packet from one host to another.
Multipath method The packet forwarding proccess: 6
Multipath method Pseudocode of the multipath method When a packet received by an interface of a router: if (pkt.hdr.destIP != the interface IP) then if (the interface is connected with hosts) then if (lookup_cache_entry(pkt.hdr.destIP, DstLifEnt) == true) then SLUBP(pkt, LIF, DstLifEnt); //select the IPes from LIF and DstLifEnt for being encapsulated into pkt. else //the entry has not been cached Send a lookup packet according to the ID/Locator split routing architecture and drop pkt; return; end if else //pkt destines to the interface switch (pkt.hdr.ptl) { case a: decapsulate the first IP behind the header (i.e., E2 in Fig. 3) into pkt.hdr.destIP, and then lookup the routing entries to get the output interface IP which is to be taken as pkt.hdr.srcIP; pkt.hdr.ptl = b; break; case b: decapsulate the first IP into pkt.hdr.destIP; decapsulate the second IP into pkt.hdr.srcIP; pkt.hdr.ptl = c; break; case c: restore the original source IPes and destination IPes, and decapsulate the saved protocol field (i.e., “Protocol=x” in Fig. 3) into pkt.hdr.ptl; break; } end if Pass the packet to the existing forwarding procedure; 7
SLUBP Algorithm Basic principle – Choose the interfaces on the src router, src router neighbor, dst router, dst router neighbor, which own the minimum link utilization currently to forward the packets. (a) Single Path Routing (b) SLUBP 8
SLUBP Algorithm Time Complexity – The worst O(SLUBP) is O(m 3 log 2 N pkt ). m - neighbors per router N pkt - the number of packets in T interval which is used to calculate the link utilization (LU). – To our knowledge, the maximum bandwidth of a router interface today is less than 160Gbps [6]. Assuming T interval is 1 second (long enough to calculate the current traffic rate and LU), due to the IP packet size is at least 20Bytes, N pkt is less than Thus in the extreme condition, O(SLUBP) is still very small (less than 30m 3 ). Compared to LP and NLP which is usually a non-polynomial (NP) or high order polynomial (P) problem, SLUBP is a low order P problem thus can run in realtime. 9
Evaluation Environment (NS2) – 144 Scenarios made up of Router Topology: 4 types (random X 2, power law X 2) Routers per Topo: 100 Num. of hosts: 400 or 100 Traffic src distribution: Uniform, EXP, Pareto Traffic src type: CBR, EXP, Pareto Schedule Algorithm: NONE, RR, SLUBP 10
Evaluation Scenarios Topologies 11 DimensionsCase Synthetic Topologyrandlooserandtightpowloosepowtight Host Number Host DistUniformExponentialPareto Traffic DistUniformExponentialPareto Traffic Source TypeConstant Bit Rate (CBR)Pareto Schedule AlgorithmNONERound Robin (RR)SLUBP NameTopologyRouter#Link#Prob.One-Deg. randloosePure-random Random randtightPure-random Random powloosePower Law powtightPower Law
Evaluation Topology examples Random (100 routers) Power law (100 routers) 12
Evaluation Performance – NLU: Normalized link utilization. – LNR: Link number ratio, actually the probability density of NLU. 13
Evaluation link number ratio (LNR) 14
Evaluation link number ratio (LNR) 15
Evaluation Mean and Standard Deviation(STDEV) of NLU 16 Topology MeanSTDEV NONERRSLUBPNONERRSLUBP randloose randtight powloose powtight
Conclusions 17 Achieving load balance based on the ID/Locator split routing architecture – The average improving of NLU mean and STDEV of the 4 topologies are 75.2% and -12.8% when using RR, and are 99.6% and -10.6% when using SLUBP. – The NLU mean of SLUBP increases much more than RR (24.4%) while the STDEV decreases only a little less than RR (2.2%). The forwarding path is selected by each router locally other than using a central controller. The time complexity of SLUBP is the order of polynomial, and is much faster than the linear programming (LP) and non-linear programming (NLP).
References [1] D. Saucez, et. al., “Interdomain Traffic Engineering in a Locator/Identifier Separation Context”, Proc. INM, Oct [2] S. Paul, et. al., "An Identifier/Locator Split Architecture for Exploring Path Diversity through Site Multi-homing - A Hybrid Host-Network Cooperative Approach" Proc., IEEE ICC [3] A. Sridharan, R. Guerin, and C. Diot, “Achieving near-optimal traffic engineering solutions for current OSPF/IS-IS networks”, IEEE/ACM Trans. on Networking, Apr [4] Z. Wang, Y. Wang, and L. Zhang, “Internet traffic engineering without full mesh overlaying”, Proc. IEEE INFOCOM [5] M. Antic et. al., “Two Phase Load Balanced Routing using OSPF”, IEEE Jour. of Selected Area in Comm., Jan [6] Cisco, U.S. [Online] routers/ps5763/CRS- FP-140_DS.pdf. 18
Thank you! 19