We are in the process of creating a WAN Distribution layer. Prior to implementation, we would redistribute BGP routes learned from our different MPLS carriers into one core EIGRP instance. Our WAN consists of primarily two different routers. One one router, we will call R1, there is a Provider A. On router 2, R2, we have two other providers, Provider B and Provider C.
Provider A and B give us our primary circuits in our remote locations, which typically consist of T1 circuits. Provider C is a DSL provider and allow for a backup connection that is always on. As I said before, all of the Providers are BGP MPLS connections.
Here is the current topology in graphical form:
Problem: Suboptimal Routing for traffic because of the common redistribution metric that is used between the access routers and the WAN distribution switch.
Scenario #1: For remote location A, the primary circuit is comes from Provider A, and the backup circuit comes from Provider C. Provider A has QoS enabled on the MPLS network, carries voice traffic and is a larger circuit with stricter SLA's. Provider C is strictly a data only connection without any QoS and is not designed at this time to carry voice. Also the links from Provider C are typically smaller. So there would be a drastic performance hit both from the applications and voice perspective. Once the routes are redistributed into EIGRP, both paths become equally in cost and therefore equal cost load balancing will occur when traffic comes from the core through the WAN Distribution switch, with some of the traffic going over the preferred path, over Provider A, and some of the traffic going over the path through Provider C.
Scenario#2: For remote location B, the primary circuit comes from Provider B, and again he backup circuit comes from Provider C.
Solution #1: Rather than distribute routes from BGP to EIGRP on the access routers, create IBGP neighbors between the Access routers and the WAn Distribution switch and use local preference to control the routing for Scenario#1. For Scenario#2, use weighting to prefer Provider B over C.
Solution#2: Rather than create IBGP peers, prepend the Provider's C AS using the AS path prepend, and then adjust the redistribution metrics between EIGRP and BGP on the access routers so that the WAN Distribution will see the preference for the primary circuit to go over Provider A or B.
So which solution would you choose? Why?
Do you have any other ideas?
Almost perfect ;-).
You still have the issue if Site-B wants to talk to site-A, this traffic will never go via the DR as R2 has a more specific routes coming from Provider C.
So in addition to the default route, I would let Site-A and B subnets being propagated too via BGP. As R1 is configured to set a higher LP for its eBGP route, DR will prefer it as primary path. R2 is the only one announcing Site-B subnets but due to its weight configuration, it will prefer Provider B as primary. R2 will also receive Site-A subnets as iBGP routes with a higher LP so it will choose this one as primary.
I agree this path is fine. This is the return path (site-B to site-A) I was thinking about. In this case, R2 will need to choose between the eBGP route learned from Provider-C and a route learned from R1 via iBGP or from the Distribution Switch via EIGRP. So the way to make R2 chosing R1 to join site-a depends on the protocol you are running (BGP or EIGRP).
You should go with the solution you (and your team) are most comfortable with in term of support and troubleshooting as both of them are supported and works fine.
Personnaly, I would go with BGP as it allows you the finest control for your routing policy and because I'm comfortable with it. But you would need EIGRP anyway so R1 and R2 can join each other.