On Fri, May 17, 2019 at 10:43 PM Blake Hudson <blake@ispn.net> wrote:
I manage a network like you describe: Two BGP edge routers, both routers accept a full eBGP feed from transit, both share routing information via iBGP. Both edge routers in my network have a complete view. If one transit provider is down or there is an upstream peering change, both still have a complete view. The only time they wouldn't have a complete view is during convergence or when there is a simultaneous outage of both transit providers at different physical facilities.
What I mean by not having a complete view, is that your two routers do not have the same information. One router has all the routes from the transit directly connected, but only a subset of routes from the other transit provider. And visa versa for the other router. Therefore the two routers might not make the same routing decisions. Let me show you an example from two routers in our network: albertslund-edge1#show bgp vpnv4 unicast vrf internet detail 8.8.8.0 255.255.255.0 BGP routing table entry for 8.8.8.0/24 20w0d received from 193.239.117.141 (66.249.94.118), path-id 0 Origin i, nexthop 193.239.117.141, metric 100, localpref 500,weight 0, rtpref 200, best, block best, selected, Community 60876:34307 As path [15169] As4 path Received label notag Imported from 185.24.168.254 (185.24.168.254); Route Distinguisher:60876:0 (default for vrf internet) Origin i, nexthop 185.24.168.254, metric 100, localpref 500,weight 0, rtpref 200, Community 60876:34307 As path [15169] As4 path Route target:60876:0 Received label 164540 --- ballerup-edge1#show bgp vpnv4 unicast vrf internet detail 8.8.8.0 255.255.255.0 BGP routing table entry for 8.8.8.0/24 43w1d received from 193.239.117.141 (66.249.94.118), path-id 0 Origin i, nexthop 193.239.117.141, metric 100, localpref 500,weight 0, rtpref 200, best, block best, selected, Community 60876:34307 As path [15169] As4 path Received label notag Imported from 185.24.171.254 (185.24.171.254); Route Distinguisher:60876:0 (default for vrf internet) Origin i, nexthop 185.24.171.254, metric 100, localpref 500,weight 0, rtpref 200, Community 60876:34307 As path [15169] As4 path Route target:60876:0 Received label 164140 29w2d received from 216.66.83.101 (216.218.252.202), path-id 0 Origin i, nexthop 216.66.83.101, metric 100, localpref 450,weight 0, rtpref 200, Community 60876:6939 As path [6939 15169] As4 path Received label notag 43w2d received from 149.6.137.57 (154.26.32.142), path-id 0 Origin i, nexthop 149.6.137.57, metric 200, localpref 100,weight 0, rtpref 200, Community 174:21100 174:22010 60876:174 As path [174 6453 15169] As4 path Received label notag --- One router knows about 2 paths, the other about 4 paths. Why? Because BGP only advertises the route that is in use. Everyone here of course knows this, I am just pointing it out because culling information before allowing it to be redistributed within your network is what BGP is already doing anyway. It is possible to remove some of that information from the local FIB too without losing anything at all. Using a default also gives you a dramatically shorter convergence time if one of the transits goes down. Having 800k routes can be harmful to your network even with equipment that can handle it. Yes I am aware that I am not doing what I am preaching here, but I am considering it :-). Regards Baldur