AS Path Loops in practice ?

Robert E. Seastrom rs at seastrom.com
Mon Dec 8 20:50:21 UTC 2003


Jaideep Chandrashekar <jaideepc at cs.umn.edu> writes:

> Hi.
>   Apologies if this posting is off topic. 
> 
>   I'd observed some loops in the AS Paths as seen by the Route-Views
>   routeserver.
>   In one particular snapshot -- about 2% of the paths involved such
>   loops.
> 
>   Here are some examples.....(taken from route-views).
> 
> 11608 2914 1239 12064 22773 12064 11836
> 1221 4637 1239 12064 22773 12064 11836
> 1224 38 7228 1239 12064 22773 12064 11836
> 1239 12064 22773 12064
> 1239 12064 22773 12064 11836
> 19092 3356 1299 766 288 766
> 3356 1299 766 288 766
> 4181 3356 1299 766 288 766
> 6079 3356 1299 766 288 766
> 8220 1 3356 701 668 5058 48 3356
> 
>   RFC 1771  has the following to say:
> 
>  ----------------------------- 
> 9.3 Route Selection Criteria
> 
>     Generally speaking, additional rules for comparing routes among
>     several alternatives are outside the scope of this document. There
>     are two exceptions:
>       - If the local AS appears in the AS path of the new route being
>       considered, then that new route cannot be viewed as better than
>       any other route.  If such a route were ever used, a routing loop
>       would result.
>  ------------------------------
> 
>  So it seems to me that these paths violate the BGP spec.
> 
>  
>  Can anybody comment about whether these paths are in fact valid. Are
>  these used in specific settings by ISP's. Most of these loops are of
>  length < 3, but there are also some that are really long (5-6).
>  
>  Looking closely at the shorter paths, I get the feeling that these
>  loops are intentional, perhaps to acheive some traffic engineering
>  goal. Note that we tried to traceroute along some of these loops, and
>  in almost all the cases, there was no forwarding loop (so probably
>  not a flaky route).
> 
>  What sort of situations would warrant these AS Path loops.
>  
>  From my understanding of the BGP decision process - routes that
>  contain the current AS in the path are automatically excluded from
>  the path selection process. Is this correct ?
> 
>  Any comments would be helpful.

In many (most?) these "loops" are intentional, and a result of playing
prepending games...  There's no restriction on what you can prepend to
an AS path (and it can be handy to put stuff in there to keep other
providers from picking up your routes as we'll see momentarily), but
your peer generally wants to see the most recent as in the path as
your AS.

So if I (AS3066) wanted to send routes to Sprint that were not to be
picked up by UUnet, I could do as follows:

   route-map to-as1239-nothanks-uu permit 10
    set as-path prepend 3066 701

and apply it outbound in the advertisement to Sprint.

Then what you would see in the route reflector would be:

   1239 3066 701 3066

for routes that I originated internally.

Hope this helps,

                                        ---Rob





More information about the NANOG mailing list