Academia.eduAcademia.edu

On Configuring BGP Route Reflectors

2007, 2007 2nd International Conference on Communication Systems Software and Middleware

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 Internal-BGP (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.

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.