90 likes | 129 Views
Constraint-Based Routing. Used in traffic engineering to compute routes for connections. Static Problems and Dynamic Problems Static Problems: known topology (network resources), known traffic pattern (Fixed), find routes for a particular optimization objective.
E N D
Constraint-Based Routing • Used in traffic engineering to compute routes for connections. Static Problems and Dynamic Problems • Static Problems: known topology (network resources), known traffic pattern (Fixed), find routes for a particular optimization objective. • Minimize maximum link utilization in the system • Minimize network cost • Minimize packet delay. • Static problems can usually be formulated as a traditional optimization problem.
Dynamic Problems: • Connections come and go dynamically. • No knowledge about the future traffic requirement. • Maximize the probability that future connection requests will not be blocked. • Use short paths • Use large paths • Use links that will not cause other connections to be blocked.
Static problems: LP formulation • Notation: • Let G=(V, E) represent the physical network, where V is the set of nodes and E is the set of links. • For each link (i, j) in E, let C(i, j) be the capacity of the link. • Let K be the set of traffic demands. For each k in K, let d(k), s(k), t(k) be the bandwidth, source and destination respectively. • For each k in K, (i, j) in E, let X(k, i, j) be the percentage of k’s demand satisfied by link (i, j). • Let alpha be the maximum link utilization.
Static problems: LP formulation • Objective: Minimize (alpha) • Flow conservation constraint 1: Sum_{j: (i, j) in E}{X(k, i, j)} – Sum_{j:(j, i) in E}{X(k, j, i)} = 0, for all k in K, i != s(k), j != t(k). • Flow conservation constraint 2a: Sum_{j: (i, j) in E}{X(k, i, j)} – Sum_{j:(j, i) in E}{X(k, j, i)} = 1, for all k in K, i == s(k) • Flow conservation constraint 2b: Sum_{j: (i, j) in E}{X(k, i, j)} – Sum_{j:(j, i) in E}{X(k, j, i)} = -1, for all k in K, i == t(k) • Sum{d(k)*X(k, i, j)} <= C(I, j) * alpha • 0 <= X(k, i, j) <= 1 • Alpha >= 0
Static problems: LP formulation • Formulate the problem of finding the optimal routing solution for optimal total load in the network. Total load = the sum of the bandwidth requirement in each link • The solution to the LP formulation yield the best routes for traffic demands. • Traffic may be partitioned into multiple routes. • How to figure out the actual route from the solution? • How to make sure the solution does not partition a route with multiple paths?
Dynamic Problem: • Flow are arriving dynamically. • How to assign a route for each flow to maximize the system performance? • Decisions must be made as the flows arrive. May not yield global optimization. • Which algorithm minimizes the total bandwidth usage? What are the problems with this algorithm? • Which algorithm minimizes the maximum link usage? What are the problems with this algorithm?
Dynamic Problem: • A hybrid algorithm between shortest path and shortest widest path: • f(i, j) be the current load, • a(i, j) = (f(i, j) + d(k)) / c(i, j) + T*MAX(0, (f(i, j) + d(k)) / c(i, j) – alpha)) • Minimum interference routing: • Compute the maximum flow between all pairs of edge routers • Links that are part of the maximum flow graph is critical (with criticality weight increased by 1). • Find the path with minimum criticality.
Multipath Load sharing: • Multiple paths can usually be found. • Need a traffic splitter to put packets to different paths • Must be fast • Must produce stable traffic distribution • Must maintain per-flow packet ordering • Will round robin work?
Multipath Load sharing: • Hashing-based traffic splitting: • Direct hashing: • H = distIP mod N • H = s1 xor s2 xor s3 xor s4 xor d1 xor d2 xor d3 xor d4 • H = CRC16(5-tuple) mod N • table based hashing • Have the ability to properly distributed the load.