Given the following network, with all sites' network routing tables built via OSPF:
Site_A
|
Site_A_router
| \
| Intermediate_site_C_router -- Other_sites
| |
| Intermediate_site_D_router
| |
Site_B_router_1 Site_B_router_2
\ /
Site_B_LAN
|
Site_B
|
Site_B_router_3
|
Internet
Currently, there is no link between Site A and Site C. I'm looking at adding that in place and seting up unequal cost load balancing between Site A and Site B to provide some redundancy as well as get more effective bandwidth between Site A and hosts on the Internet and at Site B. From a significant amount of Googling, it appears I want to set up MPLS TE tunnels between the Site A router and one of the Site B routers to direct all traffic between the two sites over one of the two routes.
I'm stuck at trying to wrap my head around how the MPLS tunnels will fit into the scheme of the routed network. From my reading, MPLS TE layers on top of the OSPF derived routes and simply defines paths to take between two routers.
Do I need to advertise their existence at all via OSPF? I wouldn't think so, as I suspect that'd just end up routing all traffic from anywhere on the network destined to Site A through Site B then back across one of the two paths to Site A.
Alternately, would I just set the tunnels up on a Site B router but not advertise their existence and just allow them to sort any trafifc that arrives into one of the two tunnels paths? If this works in this manner, I'd expect hosts in site D, site C, and the other sites connected via site C to just route the traffic over the shortest OSPF route, ignoring the tunnels.
Complicating this is that many of the hosts in Site B build their routing tables via OSPF and thus there is no single gateway router that the hosts use to determine the next hop. Which of the three routers should I be setting the Site B -> Site A direction of the MPLS TE tunnel up on in order to get the appropriate load balancing?
If I set it up on router 3, I suspect only Internet-sourced traffic would be load balanced, as hosts in site B are going to be sending site A-destined packets through to either router 1 or 2 directly. Alternately, I could set it up on router 1, as that's almost certain to be the OSPF shortest route. However, then traffic is going to be routed from router 1 through to router 2 somewhat needlessly as traffic takes the alternate tunnel. I suspect this is overthinking things somewhat and is propably premature optimization.
Given this situation, what's the best practice way for doing what I'm trying to do?
Yes, you can create MPLS tunnels between the routers to make OSPF load balance between them (the tunnels) as OSPF does not support UCLB itself.
You do need to add a few mpls commands to your ospf config. See here
You ought to be able to create two tunnels between the site A router and the "main" router at site B (probably router 1) One tunnel would be between A-1 and B-1 directly and the other - through router B-2. Routers A-1 and B-1 will perform the load balancing of traffic
In this scenario, the hosts would need to be configured to use router B-1 as their default gateway in site B.
*Edited for correct router names.