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