Title: Incentive-Compatible Inter-Domain Routing
1Incentive-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
2Inter-Domain Routing
- Establish routes between autonomous systems
(ASes). - Currently done with the Border Gateway Protocol
(BGP).
3Why 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 ATT ifat all possible.
My link to UUNET is forbackup purposes only.
4BGP-Route Processing
- Each AS has a routing table with routes to other
nodes
Dest.
AS Path
AS3
AS5
AS1
AS1
AS7
AS2
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
ChooseBest Route
Send updatesto neighbors
UpdateTable
5Path-Vector Protocol Design
- Pros
- Route choices depend on neighbors choices. gt
enforces consistency - Best-route choices are made locally. gt allows
autonomy, expressiveness, - Routes are loop free and can change with
topology, without any nodes knowing the whole
network. - Cons
- Policy-induced routing anomalies gt Routes may
not be stable.
6Example 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
7Protocol 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.
8Economic 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.
9Welfare-Maximizing Routing
Private informationRoute valuations
Strategies
Mechanism
a1
v1(.)
p1
AS 1
RoutesR1,,Rn
an
vn(.)
pn
AS n
- Maximize sum of nodes valuations ?i vi(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.
10Classes 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 routes next hop. - Subjective-Cost RoutingNodes private
information is its perceived cost for every other
AS.Cost of a route is the sum of sources
perceived transit costs. - Forbidden-Set RoutingNodes private information
is a set of ASes through which allocated routes
are not allowed.
11Known Results Welfare Maximizationand
Inter-Domain Routing
Routing-Policy Class Good CentralizedAlgorithm? Good DistributedAlgorithm?
LCP ? ?
General Policy ?(and hard to approximate) ?(and hard to approximate)
Next Hop ? ?
Subjective Cost ?(incl. some special cases) ?(approx. is easy if gt1 tree)
Forbidden Set ? ?
12Question
- 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?
13General 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 ?i ? k vi(T) hk()
- where hk is a function that does notdepend on
node ks valuation.
14Dispute Cycles
Relation 1 Subpath
Relation 2 Preference
R1
Q1
vi(Q1) gt 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 gt robust convergence GSW02,
GJR03
15Example of a Dispute Cycle
v(12d) 10 v(1d) 5
v(23d) 10 v(2d) 5
1
2
1d
2d
3d
d
31d
12d
23d
3
v(31d) 10 v(3d) 5
Dispute Cycle
Subpath Preference
16Policy Consistency
Valuations are policy consistentiff, for all
routes R1 and R2(whose extensions arenot
rejected),
R1
. . . .
k
i
d
. . .
THEN vi((i,k)R1) gt vi((i,k)R2)
R2
IF vk(R1) gt vk(R2)
(analogous toisotonicity Sob.03)
17Optimality 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 ? k
vi(Td-k).
18Computing Routes and Payments
- The algorithm
- Run n1 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 ? k
pki(Td).
19Efficiently 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
gt node optimality. - Theorem B Node optimality gt If k is not on
the path from i to d, then payment component pki
(Td) 0.
20Lowest-Cost Paths (LCP)
LCP and Path Prices
LCP cost
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.
21Computing 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 is 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.
22Gao-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 otherstransit traffic, often to
shortcut a longer route.)
peer
providers
peer
customers
23Gao-Rexford Framework (2)
- Global constraint no customer-provider cycles
- Local preference and scoping constraints, which
are consistent with Internet economics - Gao-Rexford conditions gt no dispute GR01,GGR01
Preference Constraints
Scoping Constraints
. . . .
R1
j
k1
provider
. . . . . .
. . . .
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 or ik2R2 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.
24Efficient 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.
25Example of Gao-Rexford Next Hop
v(245d) 100v(235d) 50v(236d) 50 21
unavail.
v(135d) 100v(136d) 100v(1245d) 50123,
17unavail.
cust./prov.
peer
v(35d) 100v(36d) 50v(3245d) 3031
unavail.
1
3
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
26Next-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 1
AS 2
AS 2
Destination
AS 2
AS 4
AS 5
Optimal AS path
d
Y
Y
Bit vector from update
Alternate AS path
AS 1
AS 3
AS 5
d
Y
Y
Bit vector from update
27Next-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 k1 AS k2 AS ki
Y/N Y/N Y/N
AS Path
ki-avoiding path known?
28Summary 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.)