In my routers ( on Gns3) I saw that I have not the
bgp bestpath as-path multipath-relax command:
R1(config-router)#bgp bestpath ?
aigp if both paths doesn't have aigp ignore on bestpath
compare-routerid Compare router-id for identical EBGP paths
cost-community cost community
igp-metric igp metric
med MED attribute
These terms are used to refer to the ways in which ISPs handle transient traffic. It describes how traffic is handed off from one ISP to another. In this context, we’re not talking about your local ISP that provides you with connectivity, but those ISPs (Tier 1 and Tier 2) that handle backbone Internet traffic. For more info on the Tier architecture of the Internet, take a look at this post:
Remember that these ISPs have multiple connections to other ISPs at various areas within their networks. When a packet is received, and it must be handed off to another ISP, it can be handed off at one of many different connection points.
Hot potato routing is the practice where ISP A will take a packet and route it to the closest available exit point of its own network to ISP B (or C, or D, or …), even if that is not the most efficient way to route it. In such a case, ISP A is essentially relieved of any further responsibility to the packet, and it is now “ISP B’s problem”. This policy is the most common that can be seen in networks, and is based on the peering agreements between ISP A and ISP B (and other ISPs). ISPs will keep track of the traffic ratio (the ratio of traffic flowing in one direction to that flowing in the other direction between peers), and if it is fairly even, then hot potato routing is acceptable and fair, because the ISPs will evenly share the burden of such exchanged traffic.
Cold potato routing is the (more expensive) practice of keeping traffic within an ISPs network for a larger part of the journey, by routing the traffic to the exit point from the ISP’s network that is closest to the final destination. This allows ISPs to provide higher quality network services to their customers. Content providers prefer the use of ISPs that offer cold potato routing because their payloads and the quality of the services they provide depend upon the timely delivery of traffic.
BGP is capable of achieving unequal cost load balancing for both iBGP and eBGP. In order to do this, you must first configure the maximum-path value to be 2 or greater, as shown in the lesson. Now, if you have two paths with equal weight, local pref, AS_PATH length, Origin, and MED, then you will achieve equal cost load balancing.
To achieve unequal cost load balancing, you must use the additional feature called dmzlink-bw. This feature will enable and configure BGP to distribute traffic proportionally to the bandwidths of the links.
More information about this command, the syntax, and how it is to be used can be found at the following Cisco documentation.
You can find out a lot more details about multi path routing for BGP in the following lessons:
Now the advantages of this are quite obvious. That you are making much more efficient use of the bandwidth that is available to you, and you are providing for redundant paths in the event that one path fails.
As for disadvantages, I don’t think there are any other than the fact that you should be careful how you configure it. For eBGP for example, you must make sure that you are using a loopback as the BGP source, otherwise, if the physical interface that is being used as the BGP source fails, your ECMP will fail too, even if you have an available link that is up between the BGP peers. See the eBGP Multi-Hop lesson for more info on that.
In addition, you can choose to create a different BGP session over each link, by applying multiple neighbor commands under BGP, one for each link. If you do this, BGP will initially share two copies of each prefix, but eventually, it will come down to tie-breaker rules to rule one out. In this case, you’ll have to make sure that both paths are enabled using the aforementioned lessons so that you don’t have only one link being used, and the other be idle.
So the disadvantages have more to do with ensuring that the configuration is correct, as complexity increases somewhat…
Hello Laz and Rene,
Thank you for all the great info. I have a real work issue that brought me to this lesson, and while it gave me a good start, I am still a little unsure on how to proceed.
My scenario is rather close to the ‘Two paths to one AS scenario’ except that each of my paths are their own router in HSRP. So I have a datacenter with two ISR’s with a separate L3VPN MPLS circuit on each. Thus far, they have been active/standby, but I would like to be active/active. I feel like I could easily replicate the scenario in the lesson by putting both circuits onto one ISR, but then I loose the device redundancy.
Does having the second router make this much more complicated? adding a simple diagram of the setup:
Some additional thoughts. The standby routers do have their own ASN which is then prepended twice so that R1 is preferred. Would it be possible to set the ASN on both routers to be the same and then use MHSRP to load balance between the two routers? I assume this would require the ISP to engage in ECMP?
From my understanding, you are running HSRP on the Site-facing interfaces of R1 and R2, correct?
(From the diagram it looks like you may be running it on the MPLS-facing interfaces, something that would not work since you would have two routers with different ASNs with interfaces on the same subnet. In such a case, to what ASN does the virtual IP address belong?)
The first thing to keep in mind is that from each site, how the outgoing traffic is routed is completely in your control. You can set up HSRP to load balance outgoing traffic between the two routers by making R1 active in some subnets, and R2 active in others. You can then route traffic out via either R1 or R2. You don’t actually have to change any BGP or MPLS configuration for that.
However, if you want to load balance incoming traffic, you’ll have to take a look at the 1.1.2 Different AS section in the lesson. Because your R1 and R2 routers are in different AS’es, this scenario matches up better with what you want to do. You will have to involve the ISP in that they will have to implement BGP multipath across their MPLS network. More in this can be found here: