[j-nsp] Full BGP table, one provider w/ 2 routers, slow forwarding convergence
Clarke Morledge
chmorl at wm.edu
Thu Aug 14 07:55:14 EDT 2014
I am trying to resolve a forwarding convergence problem in our existing
architecture all doing BGP with full routing feeds with upstream
providers. In one particular case, I am multihomed with one single
provider (single AS) with two routers (A and B) existing in different
locations for redundancy.
My objective initially is an active/passive scenario, failing over to the
backup link to this provider in the event of a fiber cut, using BFD to
signal to BGP a problem. My first thought was to establish one external
BGP group connecting to neighbor A, sending out my routes without much AS
prepending and setting a high local preference for incoming routes. A
second external BGP group connects to neighbor router B, using lots of AS
prepending for my routes going out, and using a lower local preference for
routes coming in.
In testing the design, my advertisements going out get updated almost
immediately with my upstream provider, per looking at their looking glass
during a "fiber cut." But on my end, even though BGP starts to change
the preference for the incoming routes fairly quickly, it takes a long
time to push the changes to the forwarding tables in the PFE. With the
full Internet table, I have seen it take up to about 80 to 90 seconds for
a few selected routes.
My objective was to get the failover to complete in less than 20 seconds.
Presumably, if I were only handling the default route, the solution would
be trivial, but at this point I need to keep on receiving the full
Internet table.
Can I do what I need to do with some sort of BGP multipath load balancing,
but with keeping my traffic engineering objectives intact?
Below are some config snippets. Thanks for any suggestions/solutions.
Clarke Morledge
College of William and Mary
--------------------------------
Upstream Provider ASN: 65001
Upstream Provider Router A (Primary): 172.16.0.2
Upstream Provider Router B (Backup): 172.16.1.2
[edit policy-options policy-statement bgp-isp-router-b-out]
term local-16 {
from {
route-filter 192.168.0.0/16 exact;
}
then {
as-path-prepend "65002 65002 65002 65002 65002 65002 65002 65002
65002";
accept;
}
}
[edit policy-options policy-statement bgp-isp-router-a-out]
term local-16 {
from {
route-filter 192.168.0.0/16 exact;
}
then {
as-path-prepend "65002 65002 65002";
accept;
}
}
[edit policy-options policy-statement bgp-isp-router-b-in]
term default {
then {
local-preference 285;
accept;
}
}
[edit policy-options policy-statement bgp-isp-router-a-in]
term default {
then {
local-preference 290;
accept;
}
}
[protocols bgp]
group isp-router-a {
type external;
import bgp-isp-router-a-in;
export bgp-isp-router-a-out;
peer-as 65001;
bfd-liveness-detection {
minimum-interval 999;
multiplier 10;
}
neighbor 172.16.0.2;
}
group isp-router-b {
type external;
import bgp-isp-router-b-in;
export bgp-isp-router-b-out;
peer-as 65001;
bfd-liveness-detection {
minimum-interval 999;
multiplier 10;
}
neighbor 172.16.1.2;
More information about the juniper-nsp
mailing list