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

Lorenzo Colitti lorenzo at ripe.net
Thu Mar 3 22:51:54 UTC 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?


More information about the NANOG mailing list