350 likes | 363 Views
The strength of routing Schemes. Main issues. Eliminating the buzz: Are there real differences between forwarding schemes: OSPF vs. MPLS? Can we quantify them?. Outline. Define packet forwarding paradigms: Vanilla IP, OSPF, MPLS, general bifurcation Compare their relative strength:
E N D
Main issues Eliminating the buzz: • Are there real differences between forwarding schemes: OSPF vs. MPLS? • Can we quantify them?
Outline • Define packet forwarding paradigms: • Vanilla IP, OSPF, MPLS, general bifurcation • Compare their relative strength: • upper and lower bounds on performance ratio • A centralized heuristic for vanilla IP forwarding • control is centralized anyway • achieves good performance
Packet forwarding in practice • Vanilla IP • forward all packets destined to some addr. to a selected shortest path • OSPF • like above, but allow equal splitting when multiple shortest paths exist • MPLS • pre-select routes for flows.
Forwarding Modelling • Network as a graph:G(V,E), |V|=n, |E|=m. Nv – the set of neighbors of node v.ce>0 – the capacity of link e E D={di,j} – the demand matrix • Routing assignment:R: V4[0..1], φu,v(i,j) is the relative amount of (i,j)-flow that is routed from a node u to a neighbor v. 1. For all u,i,jV: Σv Nuφu,v(i,j)=1 2. For all u,i,j,vV, v Nu: φu,v(i,j)=0
source invariance • A routing assignment R is source invariant if it does not depend on the source: φu,v(i1,j) = φu,v(i2,j) φu,v(j)
Routing Paradigms • Unrestricted Splitable Routing (US-R) • Restricted Splitable Routing (RS-R) • Split over at most L outgoing links • Special case: Unsplittable flow problem (RS-R1) • Standard IP Forwarding (IP-R) • Source invariant RS-R1 • OSPF Routing (OSPF-R) • Source invariant routing assignments splitting flow evenly among next hops. u,jV, vNu : φu,v(j)=1 u,j,v,v’V, if φu,v(j)>0 and φu,v’(j)>0 then φu,v(j)= φu,v’(j)
How packets are splitted? • Option 1 (basic): packet sprinkler • each packet chooses next hop with prob. φu,v(j) • may cause reordering hurts performance. • Option 2 (flow-cached): hashing • each flow is hashed to next hop with prob. φu,v(j) • may not result in splitting at desired ratios • can we afford double hashing/buckets at core?
Performance Measures Decide on an allocation matrix • say use max-min fairness • Min Congestion • congestion factor (CF) = link flow / link capacity • hard constraint: congestion 1, • soft constraints minimize the penalty • Max Flow (MF)
Hardness Result IP-R is NP even for a single destination!
Hardness Result • nodes 1,2,…,n are connected to nodes x and y with • infinite capacity • node i has demand ai • node x is connected to dest with capacity B • node y is connected to dest with capacity ai -B Equiv. to subset sum: The partition can be made if the max cong. = 1. 1 2 3 n … x y dest
Comparison between paradigms Lower Bound on ratio: Example that shows the ratio is at least as high as (f(n)) Upper Bound on ratio: Show that a ratio of, at least, O(g(n)) can always be achieved. • If f(n)=g(n)the bound is tight(g(n)).
Lower bound Ω(N) IP-R: single path CF=N RS-R1: separate routes CF=1 OSPF-R: divide equally CF=1 Upper bound O(N) IP-R can use the highest flow of RS-R1/OSPF-R IP-R vs RS-R1 and OSPF-R 1 2 3 n … x n … dest
Lower bound Ω(N) IP-R: single path CF=N, MF=1 RS-R1: separate routes CF=1, MF=N OSPF-R: divide equally CF=1 , MF=N Upper bound O(N) IP-R can use the highest flow of RS-R1/OSPF-R IP-R vs RS-R1 and OSPF-R 1 2 3 n … x n … dest
N flows, each carry a unit demand OSPF-R use single path thruput is 1 use two paths thruput is 2 use more - still limited by 2 (due to the first split) RS-R1 can do N Lower bound Ω(N) OSPF-R vs. RS-R1Max Flow (basic) 1 N N-1 N-2 N-3 1 1 1 N
N flows, each carry a unit demand OSPF-R to max. throughput must split the flows max thruput is log N given log* N stages: max thruput is 2 RS-R1 can do N Lower bound Ω(N) N-1 N-2 N-3 1 1 1 OSPF-R vs. RS-R1Max Flow (flow-cached) 1 N N N-1 N-2 N-3 1 1 1
N flows, each carry a unit demand OSPF-R use single path CF=N use two paths CF=N/2 on the down link RS-R1 can do CF=1 Lower bound Ω(N) OSPF-R vs. RS-R1Congestion Factor (both cases) 1 N N-1 N-2 N-3 1 1 1 N
What do we have thus far? • IP-R vs. RS-R1 and OSPF-R (N) in both criteria. • OSPF-R vs. RS-R1 O(N) in all criteria and cases. • But, we sometime used fairly complex topologies! • What if topologies are simple? or very simple?
A Simple Topology 1 2 3 S D L wlog, the link capacities are C1 C2 CL
OSPF-R cl non-decreasing use all links from l* and above. throughput is given by: (L- l* +1) cl* = C/ ln L OSPF-R vs. RS-R1Max Flow (basic)
OSPF-R cl non-decreasing use all links from l* and above. throughput is given by: (L- l* +1) cl* = C/ ln L OSPF-R vs. RS-R1Max Flow (basic)
OSPF-R cl non-decreasing use all links from l* and above. throughput is given by: (L- l* +1) cl* = C/ ln L RS-R1 can achieve C Lower bound Ω(log L) We can also show that for any capacity allocation OSPF-R can achieve, at least, C/ ln L, hence (log L) OSPF-R vs. RS-R1Max Flow (basic)
A centralized heuristic for vanilla IP forwarding • Aim: improve performance of centrally controlled IP networks. • Why centralized? • networks are centrally controlled anyway: IPNC. • Static weight setting sucks!
sources 1 2 n 1 2 n destinations
A centralized heuristic for vanilla IP forwarding • Aim: improve performance of centrally controlled IP networks. • Why centralized? • networks are centrally controlled anyway: IPNC. • Static weight setting sucks! • dynamic link weights adjustment
Link Weights • The family of exponential weights: • Proved to perform well by [AAP93] for related problems. • [Fortz, Thorup,2000] used a piece-wise linear approximation of it. • control the routing sensitivity to load.
Algorithm Input: network topology & demand matrix Output: forwarding tables 1. sort flows 2. initialize link weights 3. for every flow in sort order 4. route flow along SP with IP constraint 5. adjust weights
Simulation Setting • Two types of random networks: Flat & Inet • demand di,j{1,2,3…}.D = Σi,j di,j • Demand matrices • Destinations – uniformly chosen • Sources – uniformly or Zipf-like chosen (param.=.5) • Link capacities – all 1 • Infinite bandwidth requirements • Three heuristics: rand, sort, dest • α=β/D, β=0,1,20,100,D
Total Flow • When =D (Max Sensitivity) the flow increase by 30-50% • All other cases, the total flow is almost the same. • Even =1 improved performance significantly with almost no penalty in added flow.
Summary • At least, in theory OSPF cannot compete with MPLS abilities. • In practice vanilla IP may be enough if you have central control.