0

I used to think that eBGP does not support load balancing but in Cisco there is the maximum-path parameter that enable ECMP / Fortigate has ebgp-multipath as well so that is obviously not the case

However when connecting to external service provider - it seems either

  1. they will always want to have a preferred path and a secondary path ( e.g. local pref / as-prepend )

  2. only support load sharing e.g. prefix1 go path1 / prefix2 go path2

Why is that so ? Why isn't load balancing widely used in EBGP ?

Thank you

1
  • 1
    If you mean per-packet load balancing, that can be quite problematic. It will cause out-of-order packet delivery, slowing TCP and killing real-time protocols, e.g. VoIP. Routing protocols do not route; they exchange routing information. Routers deterministically route packets based on their routing tables. It is up to the router vendors to allow or not duplicate entries in the routing table. Cisco uses CEF that defaults to per-flow ECMP if the router is configured to use multiple paths with the maximum-paths command.
    – Ron Maupin
    Jul 3, 2022 at 15:40

1 Answer 1

4

In fact, eBGP load-balancing to external destinations is widely used.

The most common configuration will load-balance only to routes from the same neighbor AS.

Cisco's documentation in this area is terrible; but the feature you're interested in is bgp bestpath as-path multipath-relax. This allows load-balancing to different neighbor ASes.

Juniper similarly doesn't provide great docs on protocols bgp multipath multi-as but it does appear in the reference for multipath.

@Ron Maupin's comment about per-packet load-balancing requires consideration. However, in Junos, per-packet load-balancing actually uses a stateless hash to determine which path a packet will traverse; and this is consistent for e.g. a layer-4 flow, if so configured (the default). Similarly in Cisco and other major OSes, the default configuration will not induce reordering in the most common situations. You do need to watch out if your traffic is MPLS-encapsulated.

2
  • not sure why i am connected to several service providers across 2 lines to the same AS number but none allow load-balancing of traffic to them - i am referring to per flow instead of per packet
    – Noob
    Jul 6, 2022 at 16:14
  • @Noob you could edit your question and add more information, including e.g. show route or show ip bgp output for a prefix that doesn't route the way you desire, and your complete BGP configuration including route-maps/policy-statements. Without more specifics, I can only tell you how BGP works and what related features are implemented by the major vendors; I can't know the specifics of your environment. Jul 7, 2022 at 13:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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