On Configuring BGP Route Reflectors
Yuri Breitbart
Minos Garofalakis
Anupam Gupta
Kent State University
Intel Research Berkeley
Carnegie Mellon University
Abstract— The Border Gateway Protocol (BGP) is the
standard protocol for exchanging routing information
between border routers of Autonomous Systems (ASes) in
today’s Internet. Within an AS, border routers exchange
externally-learned BGP route advertisements via InternalBGP (I-BGP) peerings. Naive solutions for these I-BGP
peering sessions (e.g., based on full-mesh topologies) simply
cannot scale to the sizes of modern AS networks. Carefully
designed route-reflector configurations can drastically reduce the total number and connection cost of the required
I-BGP sessions. Nevertheless, no principled algorithmic
approaches exist for designing such configurations, and
current practice relies on manual reflector selection using simple, ad-hoc rules. In this paper, we address the
novel and challenging optimization problems involved in
designing effective BGP route-reflector configurations for
AS networks. More specifically, we consider the problems
of selecting route reflectors in an AS topology to minimize:
(1) the total connection cost of all I-BGP peering sessions,
and (2) the average distance traversed by route advertisements within the AS. We present N P-hardness results
that establish the intractability of these problems, and
propose several polynomial-time approximation algorithms
(based on LP-rounding and combinatorial techniques) with
guaranteed (constant-factor or logarithmic) bounds on the
quality of the approximate solution. Our simulation results
validate our approach, demonstrating the effectiveness of
our configuration algorithms over a wide range of network
topologies.
I. I NTRODUCTION
The Border Gateway Protocol (BGP) [1], [2] has
become the de facto inter-domain routing protocol for exchanging reachability information between Autonomous
Systems (ASes) in today’s Internet. BGP is a path-vector
protocol that constructs inter-AS paths by successively
propagating advertisements of address prefixes (i.e., aggregated IP addresses) between AS border routers that
are configured as BGP peers [1]. Upon receiving an
advertised route, a BGP-configured router determines
whether it defines the “best” path (based on local routing
policies [3]) to the corresponding prefix. If this is indeed
Work done while all the authors were with Bell Labs, Lucent
Technologies, 600 Mountain Avenue, Murray Hill, NJ 07974.
Amit Kumar Rajeev Rastogi
IIT New Delhi
Bell Labs India
the case, the router installs the path and address prefix
in its routing table; further, if the route was imported
from an external AS, the router also needs to advertise
the route to all border routers in its own AS through
Internal-BGP (I-BGP) peering sessions.
Before the recent explosion in the size of Internet Service Provider (ISP) networks, advertisements of
externally-learned routes were implemented using a full
mesh of I-BGP peerings amongst all border routers in the
AS. Thus, each BGP speaker had to propagate external
advertisements to all other border routers in its AS via
distinct I-BGP peering sessions (i.e., TCP connections).
Under such a brute-force solution, it is easy to see that, as
the number n of border routers in the AS grows, the total
number of required I-BGP peerings (i.e., n(n − 1)/2)
quickly gets out of hand [4]. Maintaining such large
numbers of I-BGP sessions is simply infeasible given
the hardware capabilities of contemporary router architectures. Furthermore, the total “length” of the required
TCP connections (and, as a consequence, the intra-AS
network distance traversed by BGP route advertisements)
also explodes quadratically with the number of border
routers in the AS. This can result, for example, in
wasting significant amounts of network link bandwidth
over I-BGP exchanges. Obviously, using a full mesh
of I-BGP peerings severely limits the scalability of AS
networks and makes for extremely inefficient use of
precious AS resources.
Route reflectors [1], [4], [5] tackle this scaling problem
by dividing the I-BGP topology into clusters of border
routers and defining a route reflector server for each
cluster. Briefly, a route reflector is a router in the AS
network that takes on the responsibility of propagating
BGP route advertisements to and from the client border
routers in its cluster. Route reflectors are connected over
a full mesh of I-BGP peerings and also have peering
sessions with the clients in their cluster. Upon learning
a new external BGP route, a client router forwards the
advertisement to the route reflector for its cluster, which,
in turn, can propagate the advertisement to all other
clients in its cluster as well as all other route reflectors in
the AS. When receiving an advertisement from a routereflector peer, a reflector can forward the advertisement
only to clients in its cluster (and not to other reflectors
in the I-BGP mesh). Essentially, one can think of a
route reflector as a proxy agent that disseminates routes
between its reflector peers on one side and its clients on
the other (in both directions) [4].
An important advantage of route reflector configurations is that client routers behave in the exact same way
that is required in the original BGP specification and,
thus, can be completely oblivious to the fact that some
of the route updates that they receive are reflected. Thus,
deploying route reflectors requires a software upgrade
only on the AS routers that are designated as reflectors.
This is in contrast to other I-BGP scaling techniques,
like AS confederations, that typically require a fork-lift
software upgrade of all the routers in the AS [1], [4].
Using route reflectors can result in dramatic reductions
in the number of required I-BGP peering sessions and
the total length of TCP connections for I-BGP peerings.
For instance, assuming a total of n client (border) routers
and r route reflector servers in the AS, the total number
of I-BGP sessions becomes n + r(r − 1)/2, where the
first term accounts for all client-reflector sessions and
the second term accounts for the full reflector-reflector
mesh. Obviously, this is a much smaller number than the
number of sessions in the full client-client mesh since,
typically, r << n.
Example 1: Consider the simple AS-network topology depicted in Figure 1. Further, assume that each
network edge depicted has an associated weight/length
of 1. Obviously, using a complete client-client mesh,
gives rise to 8 · 9/2 = 36 I-BGP peerings. For the
total length (i.e., connection cost) of all these I-BGP
sessions, note that each client is within a distance of 2
of two other clients and within a distance of 3 of the
remaining six clients, giving a total connection cost of
1
2 · 9 · (2 · 2 + 3 · 6) = 99.
AS
AS border routers
(clients)
Other AS routers
Reflectors selected
Fig. 1.
Example AS-Network Topology
On the other hand, using the three highlighted AS
routers as route reflectors reduces the number of peerings
as well as the total connection cost to only 3 · 3 + 3 =
12. Note that the relative improvement obtained using
reflectors can be made arbitrarily large by appropriate
choices for the edge weights and the sizes of the client
clusters.
Clearly, deploying route-reflector configurations can
result in drastic reductions in the total number of IBGP peerings, the total length of I-BGP connections, as
well as the total distance traversed by BGP route advertisements within an AS. However, the benefits attained
by such configurations are highly dependent on how
reflectors are chosen in the network. Current practice is
to select reflectors manually, using ad-hoc rules typically
relying on human judgement or geographical proximity;
an example rule could be: “choose one reflector from
each Point-Of-Presence (POP) in the network and assign
all clients in the POP to that reflector”. Such ad hoc
solutions can result in poor reflector selections that fail to
minimize I-BGP connection costs or distances traversed
by advertisements.
In this paper, we formalize and address the challenging optimization problems involved in effectively
configuring BGP route reflectors in large AS networks.
More specifically, we consider the problems of selecting
route reflectors in an AS network topology in order to
minimize (1) the total connection cost (i.e., “length”)
of all I-BGP peering sessions, and (2) the average
distance traversed by route advertisements within the
AS. Despite the obvious practical importance of these
problems, to the best of our knowledge, ours is the first
systematic study and collection of algorithmic results on
the optimization issues that arise in BGP route-reflector
configurations. The main technical contributions of our
work can be summarized as follows.
• Formalization and N P -hardness Results for BGP
Route Reflector Confi guration Problems. We present
formal statements of the optimal BGP route-reflector
configuration problem with the objective of minimizing
(1) total I-BGP connection cost and (2) average routeadvertisement distance. Our reflector-selection problems
bear some similarity to the well-known Facility Location
Problem (FLP) that has been extensively studied in
the combinatorial optimization literature [6], [7]. However, our optimality metrics have very distinctive, novel
characteristics that distinguish our BGP configuration
problems from FLP and its many known variants. Unfortunately, our reflector-configuration problems are also
computationally intractable: we present N P -hardness
proofs for both of our BGP optimization problems.
• Novel Approximation Algorithms for Effectively
Confi guring BGP Route Reflectors. Given the intractability of optimal reflector configuration, we propose several novel, polynomial-time algorithms that are
provably near optimal for our two reflector-selection
problems.
For the problem of minimizing total I-BGP connection
costs, we present two constant-factor approximation
algorithms with similar worst-case performance guarantees. Our first algorithm is based on solving a continuous,
Linear-Programming (LP) relaxation [6] of the problem
and rounding off the LP solution to a near-optimal
configuration. Our second algorithm is completely combinatorial (i.e., does not require solving an LP) and relies
on the interesting observation that exploring several
constant-factor FLP approximations over a space of input
parameters is guaranteed to produce a constant-factor
approximate solution to our problem.
Similarly, for the problem of minimizing the average
distance traversed by route advertisements, we propose
two approximation algorithms and prove their worstcase guarantees. Our first algorithm is based on LP
rounding and provides a constant factor approximation.
Our second algorithm is combinatorial and combines
Bartal’s general results for approximating finite metric
spaces using trees [8] with a dynamic-programming
algorithm to give an O(log n log log n) approximation
guarantee.
|C| denote the number of elements (i.e., nodes or edges)
in sets V , E , and C , respectively. Table I summarizes
some of the notation used throughout the paper with a
brief description of its semantics. Additional notation is
introduced when necessary.
Symbol
G = (V, E)
n = |V |, m = |E|
C⊆V
R⊆V
d(i, j)
r(i)
P
∆R (j) = i∈R d(j, i)
ξ(R)
Semantics
AS Network graph
Number of nodes/edges in G
Client (border) routers in the AS
Route reflector servers in the AS
Length of shortest path between
nodes i and j in G
Reflector server for client node i ∈ C
Total distance between reflector j and
all reflector nodes in R
URS or WRS cost for reflector set R
TABLE I
N OTATION .
We use d(i, j) to denote the length (i.e., total edge
weight) of the shortest path between nodes i and j in
G. (Note that d() is obviously a metric over V × V .)
• Experimental Results Validating our Reflector ConIt is easy to see that deploying a full I-BGP mesh
fi guration Techniques. To gauge the effectiveness of
between clients in C results in a total connection cost
P
P
out BGP reflector configuration techniques, we have
(“length”) of i∈C j∈C d(i, j)/2. On the other hand,
conducted a series of simulation experiments on a broad
assume that a subset of AS nodes R ⊆ V have been
range of AS-network topologies. Our results clearly
designated as route reflectors, and let r(i) denote the
demonstrate that, compared to “naive”, ad-hoc reflectorroute reflector server for the cluster of client node i.
selection strategies, our proposed algorithms can offer
Then, the total cost of I-BGP peering sessions is reduced
P
P
P
substantial benefits and result in drastic relative improveto i∈C d(i, r(i)) + i∈R j∈R d(i, j)/2. This cost is
ments (as high as 62%) in the I-BGP connection and
drastically smaller than that of the full client-client mesh,
routing costs.
since the quadratic cost term is restricted to reflector
Due to space constraints, several of our theoretical nodes in R and, typically, |R| << |C|.
results are presented here without proof. All the details
Let us now consider the total network distance tracan be found in the full version of this paper [9].
versed by route advertisements in the AS. Under a full
client-client I-BGP mesh, an advertisement received at
II. S YSTEM M ODEL AND P ROBLEM F ORMULATION
client i is forwarded directly to all other clients, giving
P
Notation and System Model. We model the AS network a total distance of j∈C d(i, j). Thus, assuming each
as an edge-weighted undirected graph G = (V, E), client receives one external route advertisement packet,
where V = {1, 2, . . . , n} denotes the set of network the distance traversed by these packets in the AS network
in a quadratic fashion to give a
nodes (i.e., AS routers) and E is a set of undirected once again explodes
P
P
edges representing the physical links that connect the total distance of i∈C j∈C d(i, j). On the other hand,
routers. Each edge in E has a weight associated with by deploying a set of route reflectors R, the distance
by an advertisement packet received at client i
it, which essentially represents the cost of routing I- traversed P
P
BGP message traffic using the edge. As an example, becomes i∈C d(i, r(i))+ j∈R d(r(i), j); the first term
one possibility for the edge weights is to use the link is essentially the transmission cost from each reflector
weights assigned by the intra-AS routing protocol (e.g., to all of its clients, while the second is the transmission
OSPF). A subset of network nodes C ⊆ V are identified cost from the reflector for client i to all other reflectors.
as reflector clients (or, simply, clients); they basically Assuming one external route advertisement per client,
distance
covered by these advertisement
correspond to the border routers in the AS that peer with the total AS
h
i
P
P
BGP speakers in neighboring ASes to exchange prefix packets is i∈C n · d(i, r(i)) + j∈R d(r(i), j) . It is
reachability information. We let n = |V |, m = |E|, once again easy to see that, by appropriately choosing
reflectors in R, this distance can be made drastically
smaller than the corresponding distance for the full
client-client mesh.
Problem Statement. Despite the obvious practical importance of optimizing the configuration of BGP route
reflectors in an AS network, to the best of our knowledge, there have been no previous results on this very
interesting problem. In our work, we consider two
distinct problem variants. The first variant (referred to
as “Unweighted Reflector Selection (URS)”) tries to
minimize the total connection cost of all I-BGP peerings
in the configuration. The second variant (referred to
as “Weighted Reflector Selection (WRS)”) attempts to
minimize the average distance traversed by BGP route
advertisements within the AS.
More formally, let ∆R (j) denote the sum of the
shortest-path distances from a reflector j to all reflectors
P
in R or, equivalently, ∆R (j) = i∈R d(j, i). Our URS
and WRS problems can be stated as follows.
[Unweighted Reflector Selection (URS) Problem]:
Given an AS G = (V, E) and a set of clients C ⊆ V ,
compute a set of reflectors R ⊆ V such that ξ(R) =
P
P
i∈C minj∈R {d(i, j)} +
j∈R ∆R (j)/2 is minimum.
[Weighted Reflector Selection (WRS) Problem]:
Given an AS G = (V, E), a set of clients C ⊆ V , and a
weight parameter 0 < w < 1, compute a set of reflectors
P
R ⊆ V such that ξ(R) = i∈C minj∈R {d(i, j) + w ·
∆R (j)} is minimum.
Note that both the URS and the WRS problems,
essentially boil down to computing a set of reflector
nodes R and not the individual assignments of clients
to reflectors. This is because, given a set of reflectors
R, assigning each client i to the reflector j ∈ R that
minimizes the min{} term in the objective function (i.e.,
d(i, j) in URS and d(i, j) + w · ∆R (j) in WRS) always
results in minimizing the overall problem objective.
Thus, assignments and overall configuration costs are,
in a sense, “fixed” once R is selected.
The objective function in the WRS problem tries to
capture the average distance traversed by externallylearned BGP route advertisements under the assumption
that client routers receive advertisements at a uniform
rate. For example, when w = 1/n then n times the
WRS objective function gives exactly the total distance
traversed by advertisements in the AS assuming each
client receives one route advertisement from external
BGP peers (derived earlier in this section). As we
demonstrate in the full paper [9], different values of the
weight parameter w can allow WRS to also model more
complicated scenarios, e.g., situations where reflectors
are allowed to selectively propagate routes learned by
their clients. Thus, we address the general case of WRS
with arbitrary values for the weight parameter w.
Finally, we should note that our system model and
problem formulation are very general and allow both
clients (i.e., border routers) as well as non-clients in
the AS to be chosen as reflectors. Of course, if certain
network nodes are not equipped to reflect BGP route
advertisements, then our model can prevent such nodes
from being chosen as reflectors by simply excluding
them from V .
III. T HE URS P ROBLEM : C OMPLEXITY AND
A PPROXIMATION A LGORITHMS
Our Unweighted Reflector Selection (URS) formulation bears some similarities to the well-known Facility
Location Problem (FLP) [6], [7]. There is, however, one
crucial difference. If we view the reflector nodes in R
as “facilities” then, in our URS problem, the cost of
each individual facility is zero; nevertheless, the set of
chosen facilities as a whole has an associated cost given
P
by the total of their pairwise distances ( j∈R ∆R (j)/2)
(since reflectors need to be fully meshed). Associating
a cost with a set of facilities rather than individual
facilities makes URS a novel combinatorial optimization
problem that is very different from FLP and its many
known variants. Unfortunately, as the following theorem
demonstrates, it is highly unlikely that we can find an
optimal solution to URS in a computationally-efficient
manner.
Theorem 1: The URS problem is N P -hard.
Given the intractability of URS, we seek to find efficient (i.e., polynomial-time) approximation algorithms
with a guaranteed upper bound on the deviation from the
optimal solution. We propose two novel, constant-factor
approximation algorithms for URS; our first algorithm is
based on LP rounding, whereas the second is completely
combinatorial (i.e., does not require solving an LP).
A. Integer Programming Formulation and LP RoundingBased Approximation Algorithm
The URS problem can be formulated as the following
Integer Program (IP). Variables xij , yii′ , and ziji′ j ′ are
0-1 variables with the following semantics. Variable xij
is 1 iff node i is selected as a reflector and client j
is assigned to it. Variable yii′ is 1 iff both i and i′
are selected as reflectors. Finally, variable ziji′ j ′ is 1 iff
nodes i and i′ are chosen as the reflectors for clients j
and j ′ , respectively.
Minimize
X
j∈C,i∈V
d(i, j) · xij +
X d(i, i′ )
i,i′ ∈V
2
· yii′ (1)
subject to the following constraints:
∀j ∈ C :
X
xij = 1
(2)
ziji′ j ′ = xij
(3)
∀j, j ′ ∈ C, i, i′ ∈ V : ziji′ j ′ = zi′ j ′ ij
(4)
i∈V
∀j, j ′ ∈ C, i ∈ V :
X
i′ ∈V
′
′
∀j, j ∈ C, i, i ∈ V : ziji′ j ′ ≤ yii′
′
′
∀j, j ∈ C, i, i ∈ V : xij , yii′ , ziji′ j ′ ∈ {0, 1}
(5)
(6)
In the above formulation, Equation (1) essentially captures the objective function (cost) of our URS problem
formulation. Constraint (2) ensures that a reflector server
is selected for every client, while Constraints (3–5) guarantee that values of the y and z variables are consistent
with values of x. Let (x, y, z) be an optimal solution
to the above IP; then, the optimal set of reflectors R is
simply R = {i : xij = 1 for some j }.
Directly solving an IP formulation (like the one
presented above) is known to be computationally intractable [6]. We have instead used this formulation to
derive a constant-factor approximation algorithm to URS
based on LP-rounding techniques. Briefly, our algorithm
is based on solving the continuous LP relaxation of the
IP, and then rounding the fractional LP solution to a
nearby integer solution (i.e., a URS configuration) in a
way that increases the cost of the fractional solution by a
constant factor. Our LP-rounding scheme for URS is, in
fact, similar to the LP-rounding scheme we have devised
for WRS which is developed in detail in Section IV. We
state our main theorem below and refer the interested
reader to the full paper [9] for all the details.
Theorem 2: There exists a polynomial-time approximation algorithm for URS based on LP-rounding that is
guaranteed to be within a factor of 16 of the optimal
URS solution.
B. Combinatorial Approximation Algorithm
We now propose a combinatorial constant-factor approximation algorithm for URS. The key observation
exploited in our algorithm is that we can produce a
near-optimal solution to URS by exploring near-optimal
solutions to multiple instances of the Bounded Facility
Location (BFL) problem [7]. Briefly, the BFL problem
can be stated as follows: “Given a set of facilities V ,
clients C , costs c(i) for locating each facility i, distances
d(i, j) between clients and facilities, and a constant k ,
find a subset of facilities R ⊆ V of size no more
P
P
than k such that
j∈C mini∈R {d(i, j)} +
i∈R c(i)
is minimized.” BFL has been extensively studied in
the literature and, recently, Jain and Vazirani [7] have
proposed the best-known combinatorial approximation
algorithm. Their algorithm is based on the primal-dual
method, provides a guarantee of 6 on the quality of
the computed BFL solution, and has a worst-case time
complexity of O(|V |2 log |V |).
The instances of the BFL problem that we solve for
our URS algorithm are parameterized by two variables:
(1) a network node i ∈ V , and (2) the upper bound k
on the number of facilities. In the parameterized BFL
instance BFL(i, k), the set of clients C and the distances
d() are identical to those defined in the URS problem
instance; further, we use V as the set of all facilities, k
as the bound on the number of facilities to be opened,
and set the cost of each facility l ∈ V as c(l) = k·d(i, l).
Thus, for instance BFL(i, k), node i essentially serves
as the basis/origin for defining the costs of individual
facilities. The set of facilities R that are returned as an
(approximate) solution to instance BFL(i, k) obviously
correspond to to a subset of the network nodes V ; further,
the cost of the solution R for the BFL(i, k) instance is
P
P
ξB (R, i, k) = j∈C mini∈R {d(i, j)} + l∈R k · d(i, l).
The following lemma demonstrates that, given any subset
of nodes R ⊆ V , the cost of R as a solution to BFL(i, k)
always dominates the cost of the same subset R when
viewed as a solution to the URS problem. Lemma 2 then
shows that, given any R ⊆ V , there always exists a node
i ∈ R such that the cost of R as a solution to BFL(i, |R|)
is within a factor of two of R’s cost as a URS solution.
Lemma 1: Let R be a solution to the BFL instance
BFL(i, k). Then, ξ(R) ≤ ξB (R, i, k).
Proof: Both ξ and ξB are identical with respect to
the cost of assigning clients to facilities/reflectors in R,
since in each case clients are assigned to the closest
node in R. So we only need to show that the cost of
P
connecting reflectors in ξ(R) (that is, l∈R ∆R (l)/2)
P
does not exceed l∈R k · d(i, l). Consider an arbitrary
pair of reflectors l, l′ in R. Then, due to the triangle
inequality, d(l, l′ ) ≤ d(i, l) + d(i, l′ ). Thus, in ξ(R),
since each reflector l is connected to at most k − 1
other reflectors in R (note that |R| ≤ k ), it follows that
P
P
l∈R ∆R (l)/2 ≤
l∈R (k − 1) · d(i, l). Thus, ξ(R) ≤
ξB (R, i, k).
Lemma 2: Let R be a solution to the URS problem,
and let |R| = k . Then there exists a node i ∈ R such
that ξB (R, i, k) ≤ 2 · ξ(R).
Proof: Let i be the reflector in R for which
P
∆ (i) =
l∈R d(i, l) is minimum. Thus, ξ(R) ≥
PR
min
{d(l,
j)} + k · ∆R (i)/2. Now, consider the
l∈R
j∈C
problem instance BFL(i, k). The cost of the solution
to BFL(i, k) consisting of facilities R is ξB (R, i, k) =
P
j∈C minl∈R {d(l, j)} + k · ∆R (i), which is less than or
procedure URS VIA BFL(G = (V, E) , C)
1. minCost := ∞, R := ∅
2. for k := 1 to |V |
3.
for each node i in V {
4.
Let R′ be the near-optimal solution to BFL(i, k)
due to the Jain-Vazirani primal-dual algorithm
5.
if ξB (R′ , i, k) < minCost then
6.
minCost := ξB (R′ , i, k), R := R′
7.
}
8. return R
Fig. 2.
Polynomial-Time Combinatorial Algorithm for URS
equal to 2 · ξ(R).
Algorithm URS VIA BFL (depicted in Figure 2) exploits the results in Lemmas 1 and 2 to produce a nearoptimal URS solution. The key idea in URS VIA BFL
is to explore approximate solutions to BFL(i, k) for
all possible choices of the number of facilities k =
1, . . . , |V | and basis node i ∈ V , and select the one that
results in the minimum BFL cost. As Theorem 3 shows,
this solution is guaranteed to be within a constant factor
of the optimal URS solution.
Theorem 3: Algorithm URS VIA BFL computes a set
of reflectors R ⊆ V for which ξ(R) is within a factor
of 12 of the cost of the optimal URS solution.
Proof: Suppose that Ropt is the optimal solution to
the URS problem and further, it contains kopt reflectors. Note that URS VIA BFL iterates through all nodes
i ∈ V for all values of k , and chooses R to be the
near-optimal set of reflectors, say R′ , computed by the
Jain and Vazirani primal-dual algorithm for the BFL
instance BFL(i′ , k ′ ) and for which the cost ξB (R′ , i′ , k ′ )
′
be the optimal solution over all
is minimum. Let Ropt
BFL instances BFL(i, k), i ∈ V and k = 1, . . . , |V |.
′
Further, let i′opt and kopt
be the values such that for
all i ∈ V and k = 1, . . . , |V |, and for all R ⊆
′ , i′ , k ′ ) ≤ ξ (R, i, k). Then, since the
V , ξB (Ropt
B
opt opt
′ ) computed by the Jain-Vazirani
solution to BFL(i′opt , kopt
algorithm is within a factor of 6 of optimal, we have
′ , i′ , k ′ ). By Lemma 2,
ξB (R′ , i′ , k ′ ) ≤ 6 · ξB (Ropt
opt opt
′
′
′
ξB (Ropt , iopt , kopt ) ≤ 2 · ξ(Ropt ). Further, by Lemma 1,
for the set of reflectors R = R′ returned by the procedure, ξ(R′ ) ≤ ξB (R′ , i′ , k ′ ). Thus, ξ(R) ≤ 12 · ξ(Ropt ).
Time Complexity. It is easy to see that the worstcase time complexity of Algorithm URS VIA BFL is
O(n4 log n): the Jain-Vazirani algorithm runs in time
O(n2 log n) and our algorithm invokes it O(n2 ) times.
IV. T HE WRS P ROBLEM : C OMPLEXITY
A PPROXIMATION A LGORITHMS
AND
Theorem 4 establishes the intractability of our
Weighted Reflector Selection (WRS) problem. The remainder of this section then proposes two novel, provably near-optimal algorithms for WRS: a constant-factor
approximation algorithm based on LP rounding and
a combinatorial O(log n log log n) approximation algorithm.
Theorem 4: The WRS problem is N P -hard.
A. Integer Programming Formulation and LP RoundingBased Approximation Algorithm
Similar to URS, WRS can be formulated as the
following Integer Program (IP). The 0-1 variables xij
and ziji′ j ′ used below have exactly the same semantics
as in our URS IP formulation, while the 0-1 variables
yiji′ have a value of 1 iff both i and i′ are selected
as reflectors and client j is assigned to reflector i. The
semantics of the various IP equations/constraints are also
similar to the URS case.
Minimize
X
d(i, j) · xij + w ·
j∈C,i∈V
X X
j∈C
d(i, i′ ) · yiji′ (7)
i,i′ ∈V
subject to the following constraints
∀j ∈ C :
X
xij = 1
(8)
ziji′ j ′ = xij
(9)
∀j, j ′ ∈ C, i, i′ ∈ V : ziji′ j ′ = zi′ j ′ ij
(10)
∀j, j ′ ∈ C, i, i′ ∈ V : ziji′ j ′ ≤ yiji′
(11)
i∈V
∀j, j ′ ∈ C, i ∈ V :
X
i′ ∈V
′
′
∀j, j ∈ C, i, i ∈ V : xij , yiji′ , ziji′ j ′ ∈ {0, 1}
(12)
We now propose a constant-factor approximation algorithm for WRS that relies on rounding the solution
to the continuous, LP relaxation of the above IP. Our
LP-rounding algorithm consists of two phases. First, we
apply the filtering technique of Lin and Vitter [10] to
obtain a new fractional solution, with the property that
whenever a client j is fractionally assigned to a (partially
chosen) node i, the distance d(i, j) associated with that
assignment is not too big. Second, we show how a
fractional solution with this “closeness property” can be
rounded to a near-optimal integer solution.
Consider the LP relaxation of the IP (7)-(12), where
the 0-1 value constraints (12) are replaced with ∀j, j ′ ∈
C, i, i′ ∈ V , xij ≥ 0, yiji′ ≥ 0 and ziji′ j ′ ≥ 0. We
can solve this LP in polynomial time [6]. Let (x, y, z)
denote the optimal fractional solution to the LP. In the
following, we show how to round this fractional solution
to an integer solution without increasing the value of the
LP objective function by more than a constant factor.
The first step is filtering [10]. Let α be a constant
between 0 and 1 (we fix its value later). For each client
j , we define a quantity cj (α) as follows. Sort the nodes in
V in ascending order of distance from j , and let π be the
resulting permutation on nodes such that d(π(1), j) ≤
d(π(2),
j) ≤ · · · ≤ d(π(n), j). Define i∗ = min{i′ :
Pi′
∗
i=1 xπ(i)j ≥ α} and cj (α) = d(π(i ), j). We will use
the following fact later to prove our approximation result.
(1 − α)cj (α) ≤
X
i≥i∗
xπ(i)j d(π(i), j) ≤
X
d(i, j)xij (13)
i∈V
Let Vj = {i ∈ V : d(i, j) ≤ cj (α)}, i.e., the
“neighborhood” of j in the graph within radius cj (α).
P
Note that i∈Vj xij ≥ α. Also, due to Equation (13)
above, it follows that assigning j to any node in Vj will
increase the connection cost by at most a constant factor
(i.e., 1/(1 − α)). We can show the following property
about the fractional LP solution.
Lemma 3: Consider two clients j and j ′ . Then
P
i∈Vj ,i′ ∈Vj ′ ziji′ j ′ ≥ 2α − 1.
P
Given a client j , define ∆(j) = i,i′ ∈V d(i, i′ )yiji′ .
This is exactly the contribution of j to the second term
in our WRS objective function (Equation (7)).
We now show how to get a near-optimal integral
solution. Algorithm WRSROUND shown in Figure 3
computes a feasible integer solution (x̂, ŷ, ẑ) that is
within a constant factor of the optimal fractional solution (x, y, z). Briefly, our rounding procedure works
by clustering all the clients in C in its main whileloop (Steps 4–15). Each cluster has a client j that is
the seed of the cluster. The set of seed clients are stored
in seedSet and Sj is the cluster with client j as the seed.
By the operation of WRSROUND, every client j ′ ∈ Sj
has the following properties: (1) (β + 1) · cj (α) + γ ·
w · ∆(j) ≤ (β + 1) · cj ′ (α) + γ · w · ∆(j ′ ) (Step 5),
and (2) d(j, j ′ ) ≤ β · max{cj (α), cj ′ (α)} (Steps 9–12).
Here, β > 2 and γ are parameters whose value we
shall specify later. After the construction of cluster Sj
is complete, we select an arbitrary node in Vj as the
route reflector for all the clients in Sj . For the sake of
concreteness, let this reflector be denoted as i∗ (j). Thus,
the set of reflectors returned by WRSROUND is exactly
R = {i∗ (j) : j ∈ seedSet}.
Due to the manner in which seeds are chosen in
WRSROUND, clients in seedSet satisfy the following
property.
Lemma 4: Let j and j ′ be two clients in seedSet.
For nodes i ∈ Vj and i′ ∈ Vj ′ , d(i, i′ ) > (β − 2) ·
max{cj (α), cj ′ (α)}.
procedure WRSROUND(c(α)[ ], V [ ], ∆[ ])
1. R := ∅
2. activeSet := C
3. seedSet := ∅
4. while activeSet 6= ∅ {
5.
Let j be a client in activeSet with the minimum
value for (β + 1) · cj (α) + γ · w · ∆(j)
6.
seedSet := seedSet ∪{j}
7.
Sj := {j}
8.
for each client j ′ in activeSet {
9.
if d(j, j ′ ) ≤ β · max{cj (α), cj ′ (α)} {
10.
activeSet := activeSet −{j ′ }
11.
Sj := Sj ∪ {j ′ }
12.
}
13.
}
14.
Add an arbitrary node in Vj to R
15. }
16. return R
Fig. 3. Algorithm for Rounding the Fractional LP Solution to a
Route-Reflector Configuration
We next show that for each client j ∈ seedSet, the sum
of the distances of its reflector i∗ (j) to other reflectors in
R is a good approximation of ∆j . This is the key lemma
for our constant-factor approximation proof.
Lemma 5: Let j be a client in seedSet. Then,
X
β+2
∆j .
d(i∗ (j), i∗ (j ′ )) ≤
(β
−
2)
· (2α − 1)
j ′ ∈seedSet
Proof: Due to Lemma 4, it follows that for j, j ′ ∈
seedSet, Vj ∩ Vj ′ = ∅. Also, due to Constraint (11),
yiji′ ≥ ziji′ j ′ . Thus,
∆j =
X
d(i, i′ ) · yiji′ ≥
i,i′ ∈V
X
X
X
d(i, i′ ) · ziji′ j ′ .
i∈Vj j ′ ∈seedSet i′ ∈Vj ′
Now, we know from Lemma 4 that d(i, i′ ) ≥ (β −
2) · max{cj (α), cj ′ (α)}, where i ∈ Vj and i′ ∈ Vj ′ . But
since i, i∗ (j) ∈ Vj and d satisfies the triangle inequality,
d(i, i∗ (j)) ≤ 2 · cj (α). Similarly, we can show that
d(i′ , i∗ (j ′ )) ≤ 2 · cj ′ (α). So it follows that
d(i, i′ ) ≥ d(i∗ (j), i∗ (j ′ )) − 2cj (α) − 2cj ′ (α)
4
≥ d(i∗ (j), i∗ (j ′ )) −
d(i, i′ ).
β−2
∗
∗ ′
So we get d(i, i′ ) ≥ β−2
β+2 d(i (j), i (j )). Now, we can
modify the above equation for ∆j as follows by first
substituting for d(i, i′ ) and then applying Lemma 3.
X
β−2 X X
d(i∗ (j), i∗ (j ′ ))ziji′ j ′
∆j ≥
β + 2 i∈V j ′ ∈seedSet i′ ∈V ′
j
j
≥
X X
β−2 X
d(i∗ (j), i∗ (j ′ ))
ziji′ j ′
β + 2 j ′ ∈seedSet
i∈V i′ ∈V ′
≥
(β − 2) · (2α − 1)
d(i∗ (j), i∗ (j ′ )).
β+2
j ′ ∈seedSet
j
X
j
This proves the desired result.
The following lemma builds on Lemma 5 to show that
assigning each client j ′ ∈ Sj to route reflector i∗ (j) does
not increase the contribution of j to the overall objective
β+2
.
function value by too much. Let γ = (β−2)·(2α−1)
Lemma 6: Consider a client j ∈ seedSet. Let j ′ ∈
P
Sj . Then, d(i∗ (j), j ′ ) + w · i∈R d(i∗ (j), i) ≤ 2(β +
1)cj ′ (α) + γ · w · ∆j ′ .
We are now in a position to show the near-optimality
of the final rounded integer solution (x̂, ŷ, ẑ) obtained
through WRSROUND. In this solution, all variables are
set to 0 except the following, which are set to 1:
1) x̂i∗ (j)j ′ , where j ∈ seedSet and j ′ ∈ Sj .
2) ŷiji′ , where x̂ij is set to 1, in Step (1) above, and
i′ ∈ R.
3) ẑiji′ j ′ , where x̂ij and x̂i′ j ′ are both set to 1 in
Step (1) above.
This integer solution is clearly feasible and, as the
following theorem shows, within a constant factor of the
optimal LP solution.
Theorem 5: The cost of integer solution (x̂, ŷ, ẑ) derived above is within a factor of 21 of the cost of the
optimal LP solution (x, y, z).
Proof: The cost of the integer solution (x̂, ŷ, ẑ) is
P
P
P
given by j∈C ·( i∈V d(i, j)·x̂ij + i,i′ ∈V ŷiji′ ·d(i, i′ )).
P
P
Due to Lemma 6,
i∈V d(i, j) · x̂ij +
i,i′ ∈V ŷiji′ ·
d(i, i′ ) ≤ 2(β + 1) · cj (α) + γ · w · ∆j . Further, applying
Equation (13) and the fact that 1 − α < 1, we get
P
P
P
d(i, i′ )) ≤
i,i′ ∈V ŷiji′ · ´
i∈V d(i, j) · x̂ij +
j∈C ·(
³
P
P
2(β+1)
Thus,
i∈V d(i, j) · xij + γ · w · ∆j .
j∈C
1−α
n
o
of the
the cost of (x̂, ẑ) is within max 2(β+1)
1−α , γ
optimal fractional solution (to the LP). Choosing
α = 13/21 and β = 3, we get the (optimal) value of 21
for the constant approximation factor.
B. Combinatorial Approximation Algorithm
The rounding-based algorithm in the previous section can be computationally expensive due to the large
number of variables in the LP that must be solved. We
now present a combinatorial algorithm for computing
a near-optimal set of reflectors R whose WRS cost
P
ξ(R) = j∈C mini∈R {d(i, j) + w · ∆R (i)} is within
O(log n log log n) of the optimal solution. Further, the
worst-case time complexity of the algorithm is O(n4 |C|)
(remember that |C| is the number of clients in G).
Our overall approach is based on transforming the
network graph G into a 2-hierarchically well-separated
tree (2-HST) T [8], and then using dynamic programming to compute a constant-factor approximation to the
optimal set of reflectors for T . Our rationale is that it is
much easier to develop good approximation algorithms
for trees compared to general graphs. Using Bartal’s
general results [8], we are guaranteed that transforming
the network graph to a 2-HST can increase the cost
of the final set of reflectors by a factor of at most
O(log n log log n).
1) Mapping the General WRS Problem to 2-HSTs:
A k -hierarchically well-separated tree (k -HST) T for a
graph G is defined as a rooted, edge-weighted tree with
the following properties [8], [11]: (1) Every node in G
is a leaf of T ; (2) the distance of a node in T to each of
its children is the same; and, (3) the distances between
successive nodes along any path from the root to a leaf
are decreasing by a factor of at least k .
Bartal [8] has shown that k -HSTs can be used to
probabilistically approximate an arbitrary finite metric
space (i.e., edge-weighted graph G), so that the expected distance between any two nodes in the k -HST
is within a factor of at most O(log n log log n) of their
distance in G. Bartal’s result has been used to develop
effective approximation algorithms for several N P -hard
graph optimization problems, like k -median and group
Steiner tree. Recent work has also demonstrated ways
to de-randomize Bartal’s result to obtain deterministic
performance guarantees through HSTs [11].
Our approach is based on solving the WRS problem
for the 2-HST approximation T of the AS-network graph
G. Let u be an arbitrary node in the 2-HST T , and let
dT () denote the node-distance metric defined by T (i.e.,
dT (u, v) is the distance between u and v in T ). We
denote the subtree of T rooted at node u by Tu . We
also use pu to refer to the parent of u in T and define
lu = dT (u, pu ). Note that, by the definition of 2-HSTs,
the distance of an arbitrary node u to a leaf in its subtree
Tu is at most lu . Finally, observe that all the nodes in
V , including all clients C ⊆ V , are leaves in T .
Given a set of reflectors R, the WRS cost of R
based on the distances in T is given by ξT (R) =
P
mini∈R {dT (i, j)+w·∆R,T (i)}, where ∆R,T (i) =
Pj∈C
d
l∈R T (i, l). Using the results in [8], [11] to construct T , we can guarantee that ξ(R) ≤ ξT (R) ≤
O(log n log log n) · ξ(R). Thus, a constant-factor approximation algorithm for WRS in T is always within
O(log n log log n) of the optimal WRS solution for G.
Our goal is to design a dynamic-programming algorithm that exploits the hierarchical structure of the
2-HST approximation T of G to solve the WRS in
T . The main difficulty in computing the truly optimal
reflector set for T using such an approach is that,
given a set of reflectors R, a client j in a subtree Tu
of the HST can be assigned to a reflector outside of
Tu , even though Tu already contains a reflector in R.
(Remember that WRS always assigns j to the reflector i
′
that minimizes dT (i, j) + ∆Ropt
,T (i).) However, if we
impose a restriction on the assignment of clients to
reflectors to avoid such scenarios, then it is possible to
compute the (“restricted”) optimal set of reflectors using
dynamic programming.
lu
lu
lu
u
i
j’
u
j
i’
(a) Assignment without restriction
Fig. 4.
lu
i
j’
j
i’
(b) Assignment with restriction
Example of Restricted Assignment
More formally, et T (R, j) denote the smallest subtree
of T that contains client j and a reflector from R.
Then, in our restricted version of WRS in T , each
client j is assigned to the best reflector in T (R, j)
(rather than T ). In other words, the cost function for
a set of reflectors R in our restricted WRS problem in T (denoted by ξTres (R)) can be expressed as
P
j∈C mini∈T (R,j) {dT (i, j) + ∆R,T (i)}. Figure 4 gives
an illustrative example of the restriction that we impose
for solving WRS in T , for clients j, j ′ and reflectors
R = {i, i′ }. Note that T (R, j) = Tu and, thus, the
assignment shown in Figure 4(a) (where j is assigned
to i′ ) does not satisfy our restriction. In contrast, the
assignment of j to i in Figure 4(b) is in line with our
restriction on WRS. The key observation here is that, as
the following lemma shows, restricting the assignment
of clients in this way does not degrade the quality of
the solution obtained by more than a (constant) factor of
two.
′
be the reflector sets that
Lemma 7: Let R and Ropt
′ ), reminimize the cost functions ξTres (R) and ξT (Ropt
′
spectively. Then, ξT (R) ≤ 2 · ξT (Ropt ).
Next, we present our dynamic-programming algorithm
that computes the optimal set of reflectors R for our
restricted WRS problem over T . From our discussion
above and Lemma 7, we can then guarantee that the
WRS cost for this set R in G (i.e., ξ(R)) is within a
factor of O(log n log log n) of the optimal solution.
2) Solving the Restricted WRS Problem over T : Our
goal is to compute a set of reflectors R that minimizes
the cost ξTres (R) using dynamic programming to exploit
the hierarchical structure of T . The key observation is
that we can view this cost ξTres (R) as the sum of edge
costs in T , where the cost of edge (u, pu ) is defined as
follows. Assume that R contains a total of K reflectors
and Tu contains k reflectors from R. Also, let C(Tu )
denote the number of clients in subtree Tu and let N
be the number of clients outside of Tu that are assigned
to reflectors in Tu in the computation of ξTres (R). We
distinguish two cases for the cost of edge (u, pu ):
1) If k = 0, then, since there are no reflectors from R
in subtree Tu , all clients in Tu are assigned to reflectors outside Tu . Thus, edge (u, pu ) contributes
lu for each client in C(Tu ) to the overall cost, and
the edge cost is C(Tu ) · lu .
2) If k > 0, then (by our restriction) all clients in Tu
are assigned to reflectors in Tu . In this case, the
contribution of edge (u, pu ) to the overall cost is
N · lu + w · (N + C(Tu )) · (K − k) · lu + w ·
(|C| − N − C(Tu )) · k · lu , where: (1) the first
term is due to the N clients outside Tu that are
assigned to reflectors in Tu via edge (u, pu ), (2) the
second term is the contribution of edge (u, pu ) to
the connection cost between reflectors for the N +
C(Tu ) clients assigned to reflectors in Tu , and (3)
the final term is the contribution of edge (u, pu ) to
the connection cost between reflectors for the |C|−
N − C(Tu ) clients assigned to reflectors outside
Tu .
It is easy to verify that the cost ξTres (R) is exactly the
sum of the above-defined costs over all edges of T . Note
that the cost of edge (u, pu ) depends entirely on the total
number K of reflectors in R, the number of reflectors k
from R in Tu , and the number of clients N outside Tu
that are assigned to reflectors in Tu . Further, assignments
of clients to reflectors in ξTres (R) can be shown to satisfy
the following property, which we use in developing our
dynamic-programming algorithm.
Lemma 8: Consider a subtree Tu containing a reflector from R. Let C ′ be a subset of clients not in Tu that
are assigned to a reflector in Tu . Then, all clients in C ′
are assigned to the same reflector in Tu .
We now use our edge-cost formulation to compute the
set of reflectors R in T that minimizes ξTres (R). We begin
by describing how to compute the optimal reflector set
R containing exactly K reflectors; the overall optimal
for ξTres () can then be computed by iterating over all
possible values of K in {1, . . . , |V |} and selecting the
solution with minimum cost.
Consider a set of subtrees T of T , and let
ξTres (T , k, K, N ) denote the minimum value of the total
cost for all edges incident on nodes belonging to T
when: (1) K total reflectors are chosen in T , (2) k
reflectors are chosen in the subtrees in T , and (3) N
clients outside T are assigned to the k reflectors in
T . (If there are fewer than k leaves in T , then define
ξTres (T , k, K, N ) = ∞.) Thus, ξTres ({T }, K, K, 0) is
essentially the optimal value of the cost for our restricted
WRS over T when exactly K reflectors are chosen.
Our algorithm computes the values ξTres (T , k, K, N ) recursively, using the dynamic-programming relationships
outlined below. Note that our algorithm considers each
case in the order listed below.
1) k > no. of leaves in T : Set
ξTres (T , k, K, N ) = ∞
2) k = 0 and T = {Tu }: Set
ξTres (T , k, K, N ) =
P
C(Tu ) · lu + v:pv =u ξTres ({Tv }, 0, K, 0)
3) T = {Tu } and Tu is a leaf (k = 1): Set
ξTres (T , k, K, N ) = = N · lu + w · (N + C(Tu )) · (K −
1) · lu + w · (|C| − N − C(Tu )) · lu
4) T = {Tu } and Tu is an internal node (k > 0): Set
ξTres (T , k, K, N ) = N ·lu +w ·(N +C(Tu ))·(K −1)·lu
+ w · (|C| − N − C(Tu )) · k · lu
+ ξTres ({Tv : pv = u}, k, K, N )
5) T = {T1 , . . . , Tl } and l > 1 (k > 0):
K, N ) to be the minimum of:
Set ξTres (T , k,
a) ξTres ({T1 }, 0, K, 0)+ξTres ({T2 , . . . , Tl }, k, K, N +
C(T1 ))
b) min0<i<k,j∈{0,N } {ξTres ({T1 }, i, K, j)+
+ξTres ({T2 , . . . , Tl }, k − i, K, N − j)}
Pl
c) ξTres ({T1 }, k, K, N + u=2 C(Tu ))+
Pl
+ u=2 ξTres ({Tu }, 0, K, 0)
(4) above handle these two scenarios for k = 0
and k > 0, respectively.
2) T = {T1 , . . . , Tl } and l > 1: In this case,
we can partition T into two subsets {T1 } and
{T2 , . . . , Tl }. By Lemma 8, in the optimal solution,
the N external clients are assigned to a single
reflector either in {T1 } or {T2 , . . . , Tl }; thus, we
only need to consider only two possibilities (0 and
N ) for the number external clients assigned to each
subset. Further, the k reflectors can be arbitrarily
distributed among {T1 } and {T2 , . . . , Tl }. Thus,
considering all possibilities for distributing k and
N between the two subsets of T , and selecting the
one that results in minimizing the total cost guarantees that the resulting value for ξTres (T , k, K, N )
is optimal (Case (5b)).
Note that the two extremes, when zero or all k
reflectors are chosen from T1 , need to be handled
separately (Cases 5(a) & 5(c)). In the former
case, all N external clients must be assigned to
{T2 , . . . , Tl }, including clients from T1 , since no
reflector is chosen in T1 and clients in T1 must
be assigned to some reflector in T (remember
that k > 0). Similarly, when all k reflectors are
assigned in T1 , all N external clients as well as
all the clients in {T2 , . . . , Tl } must be assigned
to T1 . (When a non-zero number of reflectors is
assigned to both subsets, then all internal clients
are assigned to internally-chosen reflectors.)
Using induction on the number of HST nodes in
T , we can prove that the above set of dynamicprogramming rules correctly computes the optimal value
of ξTres (T , k, K, N ). The induction step is based on the
following two cases.
While computing the optimal value for the cost function ξTres () as described above, we can also discover the
corresponding optimal set of reflectors R using standard
dynamic-programming techniques. The details can be
found in the full paper [9].
1) T = {Tu } and Tu is an internal node: In this case,
if k = 0, then the cost of the edge (u, pu ) is simply
C(Tu ) · lu (since every client in Tu is assigned
to a reflector outside Tu ) and, by the induction
P
hypothesis, v:pv =u ξTres (Tv , 0, K, 0) is the cost of
edges associated with the subtrees rooted at Tu ’s
children. If, on the other hand, k > 0, then (since
at least one reflector is chosen in Tu ) no clients in
Tu are assigned to reflectors outside Tu . Thus, the
cost of the edge (u, pu ) is N ·lu +w ·(N +C(Tu ))·
(K − k) · lu + w · (|C| − N − C(Tu )) · k · lu , which
is due to the outside clients assigned to reflectors
in Tu and the connection costs between reflectors
within Tu and outside of Tu . Finally, since the
k reflectors and N outside clients are distributed
among the subtrees of Tu , the cost of edges within
Tu is ξTres ({Tv : pv = u}, k, K, N ). Cases (2) and
Time Complexity. Our dynamic-programming algorithm is based on the recursive relationships defined above and has a worst-case time complexity of
O(n4 |C|). To see this, note that there are O(n3 |C|)
different combinations of parameter values for ξTres ().
The 2-HST T contains at most 2n nodes and, assuming
a fixed order on the child subtrees of each internal node,
there are at most O(n) possibilities for T . Furthermore,
k, K ≤ n and N ≤ |C|. Finally, since computing ξTres ()
for a specific choice of parameter values may involve
O(n) steps in the worst case (Case (5b)), the worst-case
time complexity of our dynamic-programming algorithm
is O(n4 |C|).
Note that mapping the network graph G = (V, E)
to the 2-HST T using Bartal’s results requires only
O(n(n + m)) time, which is clearly dominated by the
complexity of our dynamic-programming step. Thus,
the overall time complexity of our combinatorial WRS
approximation algorithm (denoted by 2HST+DP) is
O(n4 |C|).
V. E XPERIMENTAL S TUDY
In this section, we present results from a simulationbased experimental study designed to test the effectiveness of our proposed reflector-configuration algorithms
for both the unweighted (URS) and the weighted (WRS)
cost objectives. Our study focuses on our combinatorial
approximation algorithms for URS and WRS since they
are most likely to be of interest in practice, where
solutions to large-scale LPs can prove to be inordinately
expensive. Our goal is to demonstrate that our algorithms
are not only theoretically sound but also give significant
benefits over naive solutions in practice for a variety of
AS topologies.
Experimental Testbed. We present simulation results
for AS topologies generated using the following two
models. For each model, the number of nodes n is varied
between 50 and 200, and the set of clients coincides with
the set of all nodes (i.e., V = C ).
• Waxman model: The Waxman model [12] is a
popular topology model for networking research
(e.g., [13]) that allows the generation of different
network structures by varying two key parameters:
(1) α, that controls the density of short edges in the
network; and (2) β , that controls the average node
degree. Edge weights in the final Waxman graph are
assigned using a uniform distribution.
• TreeClusters model: Our TreeClusters model is intended to model topologies with router clusters that,
we believe, occur naturally in large ISP networks.
Briefly, this model distributes routers into a number
of tree-shaped clusters whose roots are connected in
a full mesh with edges of higher weight (i.e., “longhaul” lines). The key parameters for our TreeClusters model include: (1) the number of clusters, (2)
the branching factor for the tree shapes, (3) the ratio
of the edge weights between inter-cluster and intracluster edges, and (4) the distribution of nodes to
clusters.
We compare the performance of our combinatorial
approximation algorithms for URS (i.e., URS VIA BFL)
and WRS (i.e., 2HST+DP) with that of a “naive” randomized strategy (termed NAIVE). Briefly, NAIVE works
by selecting k routers in the AS-network at random to
serve as reflectors for each value of k = 1, . . . , |V |,
and choosing the reflector configuration with minimum
(URS or WRS) cost. (Our experiments have shown the
corresponding costs for the full client-client I-BGP mesh
to be one or two orders of magnitude worse than those
of our algorithms [9], so we do not consider the fullmesh approach further.) In the remainder of this section,
we present our results for networks with n = 100, 150
nodes, the α parameter and edge-weight distribution for
Waxman graphs fixed at 0.1 and uniform(1,60),
respectively, and specific choices for other model parameters; similar results were obtained for other parameter
settings. To minimize the effects of randomization, we
ran our simulations 10 times with different random seeds,
and compared the best costs obtained for both NAIVE and
our algorithms.
Experimental Results. Table II presents the results of
our simulations for URS over Waxman graphs with
150 nodes. The first column in the table represents the
average node degree in the generated Waxman network
(which increases with larger values of β ), and the
final column gives the relative cost improvement of
our URS VIA BFL algorithm over NAIVE. Our results
indicate that our algorithm clearly outperforms naive random reflector selections, offering relative cost benefits as
high as 38%. As expected, the benefits of URS VIA BFL
decrease as the connectivity (i.e., average node degree)
in the network increases: for very “tightly-connected”
ASes choosing reflector servers intelligently does not
make much of a difference, since all routers are within
a short distance of each other.
Avg. Node
Degree
2.00
2.52
4.79
NAIVE
Cost
29875
14547
6424
URS VIA BFL
Cost
18528
10304
5256
Relative
Benefit
.379
.291
.181
TABLE II
URS VIA BFL VS . NAIVE FOR WAXMAN G RAPHS , n = 150,
α = 0.1, β ∈ {0.1, . . . , 0.4}
.
A small subset of our results for the URS problem
with 100-node graphs generated using the TreeClusters
model is depicted in Table III. (The “Cluster Distance”
column gives the ratio of inter-cluster to intra-cluster
edge weights.) The results shown are for the case of
asymmetric tree-cluster sizes, where a randomly chosen
cluster is populated with 50 nodes and all other clusters are of (approximately) equal size; the results for
symmetric clusters are qualitatively similar. Clearly, our
URS VIA BFL algorithm offers substantial performance
benefits (as high as 62%) relative to NAIVE, in terms of
overall URS cost.
Finally, Table IV depicts a subset of the results of
our simulation-based comparison of the 2HST+DP and
No. of
Clusters
6
6
6
6
Branching
Factor
3
4
3
4
Cluster
Distance
20
20
100
100
Relative
Benefit
0.584
0.571
0.473
0.619
TABLE III
URS VIA BFL VS . NAIVE FOR T REE C LUSTERS G RAPHS , n = 100,
A SYMMETRIC C LUSTERS
.
NAIVE algorithms for WRS over 100-node TreeClusters
graphs with asymmetric clusters. (Due to space constraints, the corresponding table for Waxman graphs can
be found in [9].) Our 2HST+DP algorithm emerges
as the clear winner, offering relative WRS-cost benefits
as high as 48% over NAIVE. Note that making the
clusters more “compact”, by either increasing the cluster
distance (i.e., the ratio of inter-cluster to intra-cluster
edge weights) or increasing the branching factor of the
tree clusters, typically increases the relative benefits of
our 2HST+DP algorithm. The same observation holds
for the number of clusters, as increasing the number of
clusters, in general, implies higher client-reflector and
reflector-reflector WRS costs for uninformed reflector
selections.
No. of
Clusters
8
12
8
12
8
12
8
12
2HST+DP
Branching
Factor
3
3
5
5
3
3
5
5
Cluster
Distance
20
20
20
20
100
100
100
100
Relative
Benefit
0.208
0.261
0.227
0.279
0.222
0.380
0.470
0.481
TABLE IV
T REE C LUSTERS G RAPHS , n = 100,
A SYMMETRIC C LUSTERS
VS . NAIVE FOR
.
VI. C ONCLUSIONS
In this paper, we have proposed the first principled, algorithmic approach for designing effective routereflector configurations for AS networks. We have presented N P -hardness results that establish the intractability of these configuration problems, and proposed several
polynomial-time approximation algorithms (based on
LP-rounding and combinatorial techniques) with guaranteed (constant-factor or logarithmic) bounds on the
quality of the approximate solution. The effectiveness of
our algorithms has been verified through a preliminary
simulation evaluation.
R EFERENCES
[1] J. Stewart, “BGP4 Inter-Domain Routing in the Internet”,
Addison-Wesley Networking Basics Series, 1999.
[2] Y. Rekhter and T. Li, “A Border Gateway Protocol (BGP-4),”
Internet RFC-1771, Mar. 1995.
[3] T.G. Griffin and G. Wilfong, “An Analysis of BGP Convergence
Properties,” in Proc. of ACM SIGCOMM, Sept. 1999.
[4] Rohit Dube, “A Comparison of Scaling Techniques for BGP,”
SIGCOMM Computer Communication Review, vol. 29, no. 3,
July 1999, (See also addendum in October 1999 issue.).
[5] T. Bates and R. Chandra, “BGP Route Reflection: An Alternative to Full Mesh IBGP,” Internet RFC-1966, June 1996.
[6] D. S. Hochbaum, “Approximation Algorithms for NP-Hard
Problems”, PWS Publishing Company, 1997.
[7] K. Jain and V. V. Vazirani, “Approximation Algorithms for
Metric Facility Location and k-Median Problems Using the
Primal-Dual Schema and Lagrangian Relaxation,” in Proc. of
the Annual Symposium on Foundations of Computer Science
(FOCS), 1999.
[8] Y. Bartal, “On approximating arbitrary metrics by tree metrics,”
in Proc. of the Annual ACM Symposium on the Theory of
Computing (STOC), 1998.
[9] Y. Breitbart, M. Garofalakis, A. Gupta, A. Kumar, and R. Rastogi, “On Configuring BGP Route Reflectors,” Tech. Rep., Bell
Labs, July 2001.
[10] J. H. Lin and J. H. Vitter, “ǫ-approximations with minimum
packing constraint violation,” in Proc. of the Annual ACM
Symposium on the Theory of Computing (STOC), 1992.
[11] M. Charikar, C. Chekuri, A. Goel, and S. Guha, “Rounding via
trees: deterministic approximation algorithms for group steiner
trees and k-median,” in Proc. of the Annual ACM Symposium
on the Theory of Computing (STOC), 1998.
[12] B. M. Waxman, “Routing of multipoint connections,” IEEE
Jrnl. on Selected Areas in Communications, vol. 6, no. 9, Dec.
1988.
[13] Y. Breitbart, C.Y. Chan, M. Garofalakis, R. Rastogi, and A. Silberschatz, “Efficiently Monitoring Bandwidth and Latency in
IP Networks,” in Proceedings of IEEE INFOCOM’2001, Apr.
2001.