Quick question about inbound route-selection
Richard A Steenbergen
ras at e-gerbil.net
Thu Jul 16 15:18:02 CDT 2009
On Thu, Jul 16, 2009 at 09:45:24AM -0400, Drew Weaver wrote:
> I realize that we can use communities, and prepends to control the
> inbound flow, I am just speaking from a purely natural standpoint.
I don't know where people are getting this "natural" bgp path selection
concept from, but it is completely misguided and needs to be corrected
before any more misinformation is spread.
On the modern Internet, the vast majority of paths look pretty much the
same across any major networks, even via metrics as irrelevent as
"as-path hop length". A "natural" path selection would be based on such
garbage data as "who has the lowest router id", "which network has the
smallest numeric value in their igp cost scheme when setting MEDs", or
the wonderfully non-deterministic "which path has been up the longest".
I recently heard some complaints from a bunch of customers who were
upset that they "couldn't send us any traffic using natural bgp", and
they didn't want to "artificially alter bgp's best path selection" with
route-maps and localprefs. After trying to explain that there was really
no such thing as "natural bgp", and having it fall on deaf ears, I went
to take a look at their routing tables to see what they were talking
about. It turned out that we were sending them MED values based on our
IGP costs while their other networks were sending them 0's, which was
making the tie-breaking decision go the other way for the vast majority
of the routes.
The BGP best path selection algorithm is really nothing special, it
provides almost no useful data for selecting between major well
connected networks on the modern Internet, and if you refuse to alter
any attributes you're going to end up with a giant mess of path
selection which would be better accomplished by asking a magic 8ball.
As for trying to determine where your inbound traffic is coming from by
looking at natural bgp, this is absolutely impossible to do correctly.
First off, your inbound is someone else's outbound, and the person
sending the traffic outbound is in complete and total control. The vast
majority of the traffic on the Internet is being picked by local-prefs
based on policies like "what does this make/cost me monetarily" or
"which major networks can I grab in a simple as-path regexp to balance
some traffic". But even if you ignore all of that, the "natural" path
selection is based on criteria which is specific to the other network or
even to a specific session which you can't possibly know about remotely
(e.g. their router id).
Richard A Steenbergen <ras at e-gerbil.net> http://www.e-gerbil.net/ras
GPG Key ID: 0xF8B12CBC (7535 7F59 8204 ED1F CC1C 53AF 4C41 5ECA F8B1 2CBC)
More information about the NANOG