"Selfish Routing"
Mike Lloyd
drmike at routescience.com
Sun Feb 16 01:15:46 UTC 2003
Iljitsch van Beijnum wrote:
> Utilization-based routing between two ASes is an excercise in futility
> if it's in a single location (load balancing is simpler and just as
> effective) and isn't simpler than across multiple ASes if the
> interconnects are in different places of the network topology
Pure utilization-based routing between 2 AS's is, in effect, load
balancing, so I'm not sure how to interpret your first instance. But in
any case, adding performance objectives to a load optimization problem
makes the solution more demanding. (It is possible in practice to
observe performance differences between 2 paths from AS A to directly
connected AS B - not as many as you see comparing different transit
choices to a far point, but they still exist.)
Optimization across topologically distant egress points from AS A to AS
B is harder, and if the choice is a nearby link to B and a far link to
some other AS C, harder still. But in practical networking, this is not
the common problem.
Practically speaking, most AS's fall between your two cases - that is,
they have at least one place in their topology where they border several
other AS's. This provides multiple pre-computed, loop-free paths to the
same end point. Picking the "best" one for near-optimal performance and
low congestion in this context is, I would suggest, beneficial, and if
done correctly, not prone to the suboptimality discussed in the paper
that started this thread.
> Besides, the whole point is that you'd be able to go from New York to
> London over Tokio if the direct line is congested.
Given good end to end performance measurement as part of the path
selection, a planet-circling route is unlikely. Few apps will perform
well if packets have to circumnavigate (streaming and email are among
the only candidates).
So to an extent, I agree - performing dynamic re-routing over arbitrary
paths purely to avoid congestion isn't a great idea. You can indeed end
up bouncing of satellites. But if you add performance sensitivity, you
have a harder optimization challenge, but a much more worthwhile result.
Mike
More information about the NANOG
mailing list