Junos Asymmetric Routing

Jack Bates jbates at brightok.net
Fri May 28 15:44:16 UTC 2010

Ken Gilmour wrote:
> Strangely, BGP actually works without issues. The only issue is with 
> statically routed ranges.  

Same rules apply, just without control on your end. If a packet hits 
ISP2, ISP2 will send it to you by most ISP standards (prefer direct 
customers over peers). Outbound, you will send your normal route (you 
prefer ISP1).

There are methods of handling session based routing in some products 
from what I gather, but in traditional routing, each direction of a 
session is independent (session = 2 flows) and the router is unaware of 
actual sessions.

Some real world examples I've dealt with which reduces asymmetric 
routing, though not always eliminates it.

1) full backup ISP (we don't use it unless there's no other options)
a. AS prepend (tell the outside world we prefer them not to come this way)
b. community to ISP setting local pref (if the packet does hit provider, 
tell the provider we prefer them to use their external peer over sending 
direct to us).
c. set local pref on received routes so they are least preferred.

2) backup with partial traffic (generally we want to receive and send 
packets via this ISP if the customer is directly connected to them).
a. AS prepend (least preferred way to reach me)
b. set local pref on received routes based on providers communities 
(perhaps we'll only send this way if it's a non-bgp customer, or to any 
network which didn't come through exchange points; very ISP dependent).

The goal of the second is to reduce asymmetric traffic, while allowing 
us to use the backup link to reach the ISP's networks and their directly 
connected customers. Some multihomed customers may still go asymmetric. 
Primarily used in cases where ISP has piss poor exchange connectivity at 
times, so you want to reach their customers without going the long way 
around through the exchanges.

The first I've used before with split network scenarios, where one 
provider handles some networks, and the other provider handles other 
networks. Setting the local pref forces traffic even on ISP2 (backup ISP 
for specific network) to make it's way to ISP1 (primary ISP for the 
specific network) instead of coming direct (suboptimal, but symmetric). 
Source address based policy rules pushed traffic back out the correct 
path for that network so long as it was available.


More information about the NANOG mailing list