2

I'm looking at a network with two independent core routers, each with a different sized uplink, one 50mbps and the other 100mbps to a different ISP. I'm trying to get redundancy as well as load balancing across both links.

Predominantly there are service routers connected to the core so I was thinking of doing iBGP in this area and publishing two default routes to access the internet. I thought of using VRRP but that would be more of a master/slave arrangement.

Is this a good approach to HA? If so, how could I engineer the traffic flow in this environment?

  • Are you using BGP on the connections to the ISP's? If so, are they providing a full table or just a default route? – Teun Vink Aug 13 '15 at 8:16
  • Hi Teun, BGP full tables, 500k+ routes – OJS Aug 14 '15 at 0:38
  • Ok, and do you have a public AS number and routable IP-space as well? – Teun Vink Aug 14 '15 at 7:28
  • @TeunVink Yes I do have a public AS with some /24s – OJS Aug 17 '15 at 1:00
1

In case you can't setup a full-mesh iBGP and passing tables to SVC routers, I would suggest to setup an IGP between Core and SVC Routers and let it load-balance the default route.

Also you can have iBGP to SVC routers and publish the default route. So, if you get multipath enabled and the metrics to both Core Routers match, then you will also have two default routes on SVC routers. Keep in mind that you need to have it full-mesh.

Regarding HA in core layer, definitely iBGP between Core Routers would be the best strategy.

One point I forgot to add is, in case you are using Cisco routers, you might also need BGP relaxed best-path selection, which allows load-sharing between two similar routes from different ASs. You can read more here.

| improve this answer | |
1

With two default routes you can achieve redundancy but other routers in your network will just follow the default route to the closest core router so load balancing might not be according to your needs.

The easy solution is to just have full table everywhere but if some routers aren't up for it (limited TCAM or similar) you might need to opt for using a default route.

Make sure that your core routers have a direct link between each other and exchange the full table over the iBGP session between them. If both core routers inject a default route but one loses its ISP link it needs to see the routes from the other core router so it still have valid paths to the Internet.

With full tables like this you can also fine-tune the local-preference/MED/whatever of routes you receive from respective ISP to achieve more even load balancing. Do note how your other routers will still follow the default so traffic might go via one core router to the next core router and exit to your ISP. Full table avoids that.

| improve this answer | |
  • Thanks @kll, In my simulation for deployment to IRL i have this setup: 2 ISP routers, connected together also using BGP (with some public ranges on them) 2 Border routers, each connecting to an ISP via BGP to get a full table. They have nexthop-self set so that the iBGP routes share for networks that I'm not advertising explicitly and they are directly connected. 2 SVC routers, each with OSPF to both border routers who then publish a default route each for any stir/repeat SVC router additions for expansion. – OJS Aug 20 '15 at 5:32
  • When I use this method using iBGP i don't get two routes to any given destination. When both bdrA and B are up, on bdrB i have one route to say 1.1.0.0/16 via bdrA. This route is advertised from ISP-A and B. If I reboot bdrA router uncleanly (eg simulation power cut) the iBGP route from bdrA is removed and replaced with 1.1.0.0/16 nexthop ISP-B. Sometimes svcA and B still can't ping 1.1.1.1 even if bdrB can. Shouldn't the routing table on bdrB have both routes from both sources at once? FYI ebgp multihop is off. – OJS Aug 20 '15 at 5:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.