A few months back I made a post regarding the dmzlink-bw feature. Since the post is relatively simple and receive hits daily I decided to make a practical example and post the dynamips/dynagen minilab files. First things first, it is important to know what the feature does. In very brief terms it is a feature that will propagate the link bandwidth of the external links (ebgp) to the ibgp peers via an extended community. What this does is make it possible for the ibgp peers to load balance traffic out the AS in a ratio based on the external link bandwidth value. Imagine a network that reach the limit of fiber or atm links or possibly a scenario where a device run out of routing capacity. In these situations dmzlink-bw could be helpful to load balance traffic out in the ratio based on the configured bandwidth of the external links.
The configuration is straight forward:
1) Enable the feature on the devices that need to consider the bandwidth value (CE1,CE2,C):
bgp dmzlink-bw
2) Enable the feature on the external peer neighbor statements (CE1,CE2):
neighbor ebgp-peer-ip dmzlink-bw
3) Send the extended community to the ibgp peers that need to consider the bandwidth value (CE1,CE2):
neighbor ibgp-peer-ip send-community extended
4) Enable bgp multipath where necessary (CE2,C)
maximum-paths ibgp 2
In the example I used the SP terms PE,P and CE, but in all practicality it could be any two routing domains with multiple links between them.
- The three links between the two domains are 100mb, 30mb, 120mb.
- P, PE1, PE2 are in AS 5
- C, CE1 and CE2 are in AS 2
- AS 2 want to make use of unequal load balance to send traffic to AS 5
- CE1, CE2 and C are configured for bgp dmzlink-bw
- CE2 is configured to accept two paths.
- C is configured to accept two paths.
- CE1 and CE2 send extended communities to C
- CE2 uses the link bandwidth to load balance over 120mb and 30mb pipes in the ratio 4:1
- CE2 sends the total bandwidth of the two links to C
- C use a ratio of 3:2 between CE1 and CE2
The dynagen .net file zipped with the configuration stored in the nvram files can be downloaded here bgp-dmz.zip. AS2 has been preconfigure to do unequal cost load balancing to AS5. The objective of this mini lab is to configure AS5 to unequal cost load balance to AS2. To keep it simple, load balance only to the loopback address on router C.
A quick video to briefly run through the configuration and verification:
This is excellent, i was trying to understand the concept of dmzlink-bw.
I would like you to clarify, when we use dmzlink-bw i think the load balancing is per packet based. Please confirm if my assumption is right and if it is recommended under per-packet based load balancing?
Ravikiran
Comment by Ravikiran — September 2, 2009 @ 7:36 am
It is still per flow as per the cef default. You will need to enable per packet on the interfaces if required.
Whether you decide to use per packet (better spread over the links, but possible jitter due to out of sync packets) or per flow (the safe default) all depends on the type of traffic.
hth
Comment by 21500 — September 2, 2009 @ 2:20 pm