North American Network Operators Group

Date Prev | Date Next | Date Index | Thread Index | Author Index | Historical

Re: Heads up: Long AS-sets announced in the next few days

  • From: Lorenzo Colitti
  • Date: Thu Mar 03 17:52:29 2005

James A. T. Rice wrote:
You appear to be trying to take advantage of a side effect of this behaviour, in order to see what other ASn transitive adjacancies are available that would not normally be used, by inserting the ASns of transit AS's that would normally be used, into the as path you are announcing.
Yes, that's more or less what we are proposing.

I'm sure this was never an intended use for BGP as paths
No, obviously not. But many things in the protocols we use today are used in ways that the original authors didn't have in mind. Examples I can think of at the moment are IP-in-IP tunnels, TCP congestion control (bolted on to TCP long after it was first designed), NAT and private addresses, ..., but I'm sure there are many more.

So I think a more relevant question than "was this intended", rather "is this useful? If so, does it break existing stuff?"

More to the point, you are breaking a very fundemenatal convention
and expectation that if you see a given ASn in an as path, that route
will have transited that given ASn.
That is not true in all cases. RFC 1771, paragraph 5.1.6, says:

A BGP speaker that receives a route with the ATOMIC_AGGREGATE
attribute needs to be cognizant of the fact that the actual path to
destinations, as specified in the NLRI of the route, while having the
loop-free property, may traverse ASs that are not listed in the
AS_PATH attribute.
I think that most of the the AS-sets you see announced in the Internet today have this property, and ours are no different: the sequence before the AS-set shows which ASes the announcement has passed through, and the AS-set which ASes the announcement "might have passed through".

As such, inserting others ASns into an as path is about as helpful to
debugging as policy routing all your ICMP traffic to a box running
fakeroute!
I don't understand why this should be the case. If you exclude the
AS-set, then you get exactly the path that was followed by the
announcement. How does that hamper debugging?


Regards,
Lorenzo