Title: ISP and Egress Path Selection
1ISP and Egress Path Selection for Multihomed
Networks Amogh Dhamdhere, Constantine
Dovrolis Networking and Telecommunications
Group Georgia Institute of Technology
Presented by Karl Deng
2Problem Definition
Provision the multihoming configuration of a
source network S.
Inputs S D Di (i 1 .. M) R ri K
3Two Phases
Phase I - ISP Selection Select K ISPs that S will
subscribe to. Objectives Optimize monetary cost
and availability.
Phase II - Egress Path Selection Determine the
ISP that should be used to reach each of the M
major destinations. Objectives Select
congestion-free paths and minimize cost. (Avoid
long-term congestion.)
Phase-I can be repeated in long time scales, from
weeks to months, while Phase-II can be repeated
whenever there is a major change in the egress
traffic distribution.
4Phase I - ISP Selection
possible selections ?
Exhaustive search
5Exhaustive search
- the set of all possible combinations of K ISPs
from the set
- optimal combination
- total cost by taking into account of all three
factors
6Calculate the cost for each combination
- total cost
- monetary cost
- cost associated with the AS-level path length
- cost associated with path diversity
-- normalization factors
7Monetary cost
Constraint Tj lt A
- pricing function of ISP j
G - a mapping between ISP and destination e.g., j
G(i), map destination i to ISP j Tj depends on G
NP-hard and KM possible ways of mapping ?
Heuristic (FFD-like algorithm)
8Algorithm-1 a FFD-like algorithm
FFD - First Fit Decreasing
Basic idea Start with the largest destination,
in terms of traffic rate, and route it through
the lowest-cost ISP.
It is possible that Algorithm 1 will fail to find
a feasible mapping (due to the capacity
constraint).
9Cost associated with the path length
Constraint Tj lt A
pj(i) - AS-level path length to reach a
destination i through ISP j.
Similar to the monetary cost problem, also use
Algorithm-1.
10Cost associated with the path diversity
11Looking Glass Servers (LGS)
LGSs are routers inside an ISP that report
AS-level paths to given destination
networks. Most ISPs maintain public Looking
Glass Servers
We assume that each ISP in has a LGS from
which S can determine the AS-level paths to
destinations in D.
12Phase II - Egress Path Selection
Given the K ISPs selected by Phase I, determine
an optimal destination-ISP mapping.
Constraint None of the paths to the destinations
in D is congested.
Difficulty Available bandwidth of the upstream
network paths is generally unknown. ? We cannot
know a priori whether a given mapping will be
congestion-free or not ? Iterative routing
approach
13Iterative Routing Approach
S routes its egress traffic based on a certain
mapping for some time while measuring the loss
rate in the corresponding paths.
If any of these paths is congested the traffic is
rerouted based on a different mapping.
We allow a certain cost increase while trying to
keep the amount of rerouted and dropped traffic
as low as possible.
A two-step algorithm.
14A Two-step Algorithm
- 1. Initial mapping
- Assume that bottlenecks of all paths locate at
the K access links. - Calculate the minimum-cost mapping ? Algorithm-1
- 2. Stochastic search
- Find a congestion-free mapping in the vicinity of
the minimum-cost mapping - Simulated annealing
15Algorithm-2 Simulated Annealing
Starts with an initial mapping G and an initial
temperature T. Route traffic as in mapping
G. ccurr cost(G) repeat if ccurr 0
then return G congestion-free solution
else Generate new mapping Gnew Route traffic as
in mapping Gnew cnew cost(Gnew) if cnew ccurr
then Accept Gnew (i.e., G Gnew,
currcnew) else Accept Gnew with probability
e-(cnew-ccurr)/T end if T ?T cooling
rate end if until T 0
16Summary
- Phase I - ISP Selection
- Select K ISPs.
- To minimize
- Monetary cost - Algorithm 1 (FFD-like heuristic)
- Cost associated with AS-level path length -
Algorithm 1 - Cost associated with Path diversity
- Phase II - Egress Path Selection
- Determine the destination-ISP mapping.
- Two-step Algorithm
- Initial mapping - Algorithm 1
- Stochastic search - Algorithm 2 (Simulated
Annealing)