Incentive-Compatible Interdomain Routing Joan Feigenbaum Yale University Vijay Ramachandran Stevens Institute of Technology Michael Schapira The Hebrew University 1 Interdomain Routing Establish routes between autonomous systems (ASes). Verizon AT&T Comcast Qwest Currently done with the Border Gateway Protocol (BGP). 2 Why is Interdomain Routing Hard? • Route choices are based on local policies. • Autonomy: Policies are uncoordinated. • Expressiveness: Policies are complex. Always choose shortest paths. Load-balance my outgoing traffic. Verizon AT&T Comcast Qwest My link to UUNET is for backup purposes only. Avoid routes through AT&T if at all possible. 3 Welfare-Maximizing Routing Private information: Route valuations v1(. ) Strategies a1 p1 AS 1 Mechanism vn(. ) an AS n pn Routes R1, …, Rn For each destination (independently / in parallel), compute: • A confluent routing tree that maximizes the sum of nodes’ valuations for that destination, i.e., ∑i vi(Ri) ; and • VCG payments (nodes are paid for their contribution to the routing tree) … using a BGP-compatible (distributed) algorithm. 4 VCG Payments Td is the optimal routing tree to destination d. Td-k is the optimal tree to d if node k is removed. • The VCG payment to node k is of the form pk = ∑i k vi(Td) – hk(•) where hk is a function that does not depend on k’s valuation. • If hk({vi}) = ∑i ≠ k vi(Td-k), then the payment to each node is pk(Td) = ∑i ≠ k [vi(Td) – vi(Td-k)]. 5 Payment Components • The total payment to node k can be broken down into payment components: pk(Td) = ∑i ≠ k pki(Td). • Each payment component depends only on the valuations at some node i: pki(Td) = vi(Td) – vi(Td-k). • Compute these in a distributed manner. • Problem: We don’t want to run an algorithm for every Td-k (not efficient). 6 Routing-Protocol Desiderata • Does not assume a priori knowledge of the network topology • Distributed • Autonomy-preserving • Dynamic (responds to network changes) • Space- and communication-efficient • Complies with Internet next-hop forwarding 7 BGP Route Processing • The computation of a single node repeats the following: Receive routes from neighbors Update Routing Table Choose “Best” Route Send updates to neighbors • Paths go through neighbors’ choices, which enforces consistency. • Decisions are made locally, which preserves autonomy. • Uncoordinated policies can induce protocol oscillations. (Much recent work addresses BGP convergence.) • Recently, private information, optimization, and incentive-compatibility have also been studied. 8 Known Results: Welfare Maximization and Interdomain Routing Routing-Policy Class Good Centralized Algorithm? Good Distributed Algorithm? (and hard to approximate) (and hard to approximate) Next Hop Subjective Cost (incl. some special cases) (approx. is easy if >1 tree) LCP* General Policy Forbidden Set 9 Question • These are mostly negative results. • Is there a realistic and useful class of routing policies (i.e., something broader than LCPs) for which we can get an incentive-compatible, BGP-compatible algorithm to compute routes and payments? 10 Gao-Rexford Framework (1) Neighboring pairs of ASes have one of: – a customer-provider relationship (One node is purchasing connectivity from the other node.) – a peering relationship (Nodes have offered to carry each other’s transit traffic, often to shortcut a longer route.) peer providers peer customers 11 Gao-Rexford Framework (2) • Global constraint: no customer-provider cycles • Local preference and scoping constraints, which are consistent with Internet economics: Preference Constraints k1 i k2 R . . . 1. . . Scoping Constraints d R . . .2. . . provider .... j peer i d m customer k • If k1 and k2 are both customers, peers, or providers of i, then either ik1R1 or ik2R2 can be more valued at i. • Export customer routes to all neighbors and export all routes to customers. • If one is a customer, prefer the route through it. If not, prefer the peer route. • Export peer and provider routes to all customers only. • Gao-Rexford conditions => BGP always converges [GR01] 12 Efficient Payment Computation • Next-hop valuations: The valuation of a route depends only on its next hop. • Theorem: If Gao-Rexford conditions hold and ASes have next-hop policies, then routes and payments can be computed with “good” space efficiency. * (We only run “BGP” once.) 13 Next-Hop Payment Computation • Send augmented BGP update message whenever best route or availability of a k-avoiding route changes: AS k1 AS k2 Y/N Y/N … … AS ki Y/N AS Path ki-avoiding path known? • When an update message is received: – Store path and bits in routing table. – Scan bits to update best k-avoiding next hop. 14 Next-Hop Routing Table • Store usable routes, availability of k-avoiding routes from neighbors (for all stored routes), and best k-avoiding next hops (for current most preferred route). Destination AS 1 AS 2 AS 2 Best k-avoiding next hops AS 2 AS 4 AS 5 Optimal AS path Y Y AS 3 AS 5 Y Y d AS 1 d Bit vector from update Alternate AS path Bit vector from update • Payment components are derived from next hops: pki(Td) = vi(Td) – vi(Td-k) for transit k ; = 0 otherwise. 15 Towards a General Theory • Gao-Rexford + Next-Hop valuations are a special case. • We identify a broad sufficient condition for valuations that permit BGP-compatible, incentive-compatible computation of routes and VCG payments. 16 Dispute Cycles Relation 1: Subpath Relation 2: Preference Q1 R1 vi(Q1) > vi(Q2) ... ... d i i d ... R2 Q2 R1 R2 Q1 Q2 • 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 BGP convergence [GSW02, GJR03] 17 Example of a Dispute Cycle v(12d) = 10 v(1d) = 5 v(23d) = 10 v(2d) = 5 2 1 1d 2d 3d 31d 12d 23d d 3 v(31d) = 10 v(3d) = 5 Dispute Cycle Subpath Preference 18 Policy Consistency R1 .... Valuations are policy consistent iff, for all routes R1 and R2 (whose extensions are not rejected), k i d ... THEN R2 (analogous to isotonicity [Sob.03]) IF vi((i,k)R1) > vi((i,k)R2) vk(R1) > vk(R2) 19 Optimality • Theorem: If the valuation functions are policy consistent and do not induce a dispute cycle, then BGP converges to the globally optimal routing tree. 20 Efficiently Computing Payments • Local optimality: In a globally optimal routing tree, every node gets its most valued route. • Theorem A: No dispute cycle + policy consistency => local optimality. • Theorem B: Local optimality => If k is not on the path from i to d, then payment component pki (Td) = 0. 21 Conclusions • Gao-Rexford + Next-Hop valuations are a reasonable class of policies that admit incentive-compatible, BGP-compatible computation of routes and VCG payments. • Only a constant-factor increase in BGP routing-table size is required. • Dispute-cycle-free and policy-consistent valuations generalize this result. 22 Future Work • Approximability of the interdomain-routing problem? – Without restrictions on policies, no good approximation ratio is achievable [FSS04]. • Remove bank? • Optimal communication complexity? 23 Technical Report Full version of this paper is available as Yale University Technical Report YALEU/DCS/TR-1342 http://www.cs.yale.edu/publications/ techreports/tr1342.pdf 24