nanog mailing list archives

Re: Junos Asymmetric Routing


From: Jack Bates <jbates () brightok net>
Date: Fri, 28 May 2010 10:44:16 -0500

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.


Jack


Current thread: