280 likes | 434 Views
Incentive-Compatible Inter-Domain Routing. Joan Feigenbaum Yale University http://www.cs.yale.edu/homes/jf/ Colloquium at Cornell University; October 2005 Joint work with Michael Schapira and Vijay Ramachandran. UUNET. AT&T. Comcast. Qwest. Inter-Domain Routing.
E N D
Incentive-CompatibleInter-Domain Routing Joan FeigenbaumYale Universityhttp://www.cs.yale.edu/homes/jf/Colloquium at Cornell University; October 2005 Joint work with Michael Schapiraand Vijay Ramachandran
UUNET AT&T Comcast Qwest Inter-Domain Routing Establish routes between autonomous systems (ASes). Currently done with the Border Gateway Protocol (BGP).
UUNET AT&T Comcast Qwest Why is Inter-Domain Routing Hard? • Route choices are based on local policies. • Autonomy: Policies are uncoordinated. • Expressiveness: Policies are complex. Always chooseshortest paths. Load-balance myoutgoing traffic. Avoid routes through AT&T ifat all possible. My link to UUNET is forbackup purposes only.
BGP-Route Processing • Each AS has a routing table with routes to other nodes: AS Path Dest. AS1 AS3 AS5 AS1 AS2 AS7 AS2 AS2 AS3 AS2 . . . Entire paths are stored (to prevent loops). • The computation of a single node is an infinite • sequence of stages: Receive routes from neighbors Send updatesto neighbors Choose“Best” Route UpdateTable
Path-Vector Protocol Design • Pros: • Route choices depend on neighbors’ choices. => enforces consistency • Best-route choices are made locally. => allows autonomy, expressiveness, … • Routes are loop free and can change with topology, without any node’s knowing the whole network. • Cons: • Policy-induced routing anomalies => Routes may not be stable.
Example of Instability: Oscillation Prefer routes through 3 Nodes oscillateforever between 1d, 2d, 3d and 12d, 23d, 31d 2 1 Prefer routes through 2 d Prefer routes through 1 3
Protocol Convergence • A balance of local and global constraints on policies can assure robust convergence. [Gao, Rexford, Griffin, Wilfong, Shepherd, Sobrinho, Jaggard, Ramachandran, Feamster, Johari, Balakrishnan, … ] • These results are concerned only with convergence to unique solutions. • Recently, private information, optimization, and incentive-compatibility have also been studied in inter-domain routing.
Economic Mechanism Design Approach to designing systems for self-interested agents Private information Strategies Mechanism t1 a1 Agent 1 p1 Output O tn an pn Agent n Payments Truthful mechanisms: Regardless of what other agents do, each agent i maximizes her utility by revealing her true private information.
Welfare-Maximizing Routing Private information:Route valuations Strategies Mechanism a1 v1(.) p1 AS 1 RoutesR1,…,Rn an vn(.) pn AS n • Maximize sum of nodes’ valuations = ∑ivi(Ri) . • A confluent routing tree and payments are computed in parallel for each destination. • Source nodes are paid for their contribution to the routing tree. • We want a BGP-style algorithm that computes routes and payments.
Classes of Routing Policies • Lowest-Cost Paths (LCP)Nodes’ private information is its own per-packet transit cost.Transit nodes are paid to carry transit traffic and reveal true costs. • General Policy RoutingNodes’ private information is an unrestricted per-route valuation. • Next-Hop RoutingNodes’ private information is a per-route valuation.Route valuations depend only on a route’s next hop. • Subjective-Cost RoutingNodes’ private information is its perceived cost for every other AS.Cost of a route is the sum of source’s perceived transit costs. • Forbidden-Set RoutingNodes’ private information is a set of ASes through which allocated routes are not allowed.
Question • These are mostly negative results. • Is there a realistic and useful class of routing policies (i.e., something broaderthan LCPs) for which we can get atruthful mechanism and a goodBGP-style algorithm?
General Approach • Find a class of policies for which BGP converges to an optimal tree T (i.e., onethat maximizes the sum of the valuations of all source nodes). • Use VCG payment formula to ensure truthfulness, i.e., payment to node k is pk = ∑ikvi(T) – hk(•) where hk is a function that does notdepend on node k’s valuation.
Dispute Cycles Relation 1: Subpath Relation 2: Preference Q1 R1 vi(Q1) > vi(Q2) . . . . . . d i i d . . . R2 Q2 Q1Q2 R1R2 • Valuations do not induce a dispute cycle iff there is no cycle formed by the above relations on all permitted paths in the network. • No dispute cycle => robust convergence [GSW02, GJR03]
Example of a Dispute Cycle v(12d) = 10 v(1d) = 5 v(23d) = 10 v(2d) = 5 2 1 1d 2d 3d d 31d 12d 23d 3 v(31d) = 10 v(3d) = 5 Dispute Cycle Subpath Preference
Policy Consistency Valuations are policy consistentiff, for all routes R1 and R2(whose extensions arenot rejected), R1 . . . . k i d . . . THEN vi((i,k)R1) > vi((i,k)R2) R2 IF vk(R1) > vk(R2) (analogous toisotonicity [Sob.03])
Optimality and Payment Formula • Theorem: If the valuation functions are policy consistent and do not induce a dispute cycle, then BGP computesoptimal routes. • Payment to node k: pk(Td) = ∑i ≠ k [vi(Td) – vi(Td-k)] • Td is the optimal routing tree to destination d. • Td-k is the optimal tree to d avoiding node k. • This is the VCG formula, with hk({vi}) = ∑i ≠ kvi(Td-k).
Computing Routes and Payments • The “algorithm”: Run n+1 parallel instances of BGPon G, G-1, G-2, …, G-n. • Result: optimal trees Td, Td-1, …, Td-n • For all i, k, node i can compute a component of the payment to k: pki(Td) = vi(Td) – vi(Td-k). • The total payment to node k can be broken down into these components:pk(Td) = ∑i ≠ kpki(Td).
Efficiently Computing Payments? • Node optimality: In a globally optimal routing tree, every node gets its most valued (locally optimal) route. • Theorem A: No dispute cycle + policy consistency => node optimality. • Theorem B: Node optimality => If k is not on the path from i to d, then payment component pki (Td) = 0.
ij pk i1 p3 i1 p5 Lowest-Cost Paths (LCP) LCP cost LCP and Path Prices Dest. Cost AS3 AS5 AS1 c(i,1) AS1 c1 • Initially, all payments are set to . • Then, each node runs the following computation: Update routes and payments Advertise modified routes and payments Receive routes and payments from neighbors Final state: Node i has accurate values.
bj pk ij ij ij pk pk pk Computing LCP Payments [FPSS02] =ck+Cost of min-cost k-avoiding path from i to j – Cost of LCP from i to j j Key observations: • Min-cost k-avoiding path • passes through one of i’s neighbors k a • Payment can be related to costs and payments at adjacent nodes, e.g., i b d =+cb+ci Using this, we can show that prices can be computed with local dynamic programming, with nodes exchanging only costs and payments.
Gao-Rexford Framework (1) Neighboring pairs of ASes have one of: • a customer-provider relationship(One node is purchasing connectivity fromthe other node.) • a peering relationship(Nodes have offered to carry each other’stransit traffic, often to shortcut a longer route.) peer providers peer customers
Gao-Rexford Framework (2) • Global constraint: no customer-provider cycles • Local preference and scoping constraints, which are consistent with Internet economics: • Gao-Rexford conditions => no dispute [GR01,GGR01] Preference Constraints Scoping Constraints . . . . R1 j provider k1 . . . . . . . . . . d . . . . i peer d i R2 . . . . . . m k2 k customer • If k1 and k2 are both customers, peers, or providers of i, then either ik1R1 orik2R2 can be more valued at i. • If one is a customer, prefer the route through it. If not, prefer the peer route. • Export customer routes to all neighbors and export all routes to customers. • Export peer and provider routes to all customers only.
Efficient Payment Computation • Next-hop valuations: The valuation of a route depends only on its next hop. • Observation: Next-hop valuations are policy consistent. • Theorem: If Gao-Rexford conditions hold and ASes have next-hop policies, then the payment-computation algorithm has the same space-efficiency as in the LCP case.
Example of Gao-Rexford + Next Hop v(245d) = 100v(235d) = 50v(236d) = 50 [21… unavail.] v(135d) = 100v(136d) = 100v(1245d) = 50[123…, 17…unavail.] cust./prov. peer v(35d) = 100v(36d) = 50v(3245d) = 30[31… unavail.] 3 1 2 4 v(45d) = 100v(4235d) = 50 5 6 v(6d) = 100v(635d) = 50v(63245d) = 50 v(5d) = 100v(536d) = 20v(54236d) = 8 v(7245d) = 100v(7235d) = 100v(7236d) = 100v(71245d) = 50v(7135d) = 50 7 d
Next-Hop Routing Table for AS7 • Store usable routes, availability of k-avoiding routes from neighbors (for all), and bestk-avoiding next hops (for preferred). • Payment components are derived from next hops:pki(Td) = vi(Td) – vi(Td-k) for transit k ; = 0 otherwise. Best k-avoiding next hops AS 2 AS 2 AS 1 Destination Optimal AS path AS 4 AS 5 AS 2 d Y Y Bit vector from update Alternate AS path AS 3 AS 5 AS 1 d Y Y Bit vector from update
Next-Hop Payment Computation • Send augmented BGP-update message whenever best route or availability of ak-avoiding route changes: • When an update message is received: • Store path and bits in routing table. • Scan bits to update best k-avoiding next hop. AS Path ki-avoiding path known?
Summary of Sufficient Conditions Hard(BGP may not converge) No assumptions Non-optimal(BGP will converge, butthe solution may be arbitrarilyfar from optimal.) No dispute cycle No dispute cycleand policy consistency Optimal convergence (but payment computation mightbe highly space-consuming) No dispute cycle andnext-hop or lowest-cost valuations(special cases ofpolicy consistency) Optimal convergenceand good BGP-style algorithm(Requires O(1) additional spaceper transit node.)