I'm a sys/net admin for a small hosting company, and I need to expand my understanding of how our WAN connections (two, exactly) work together to provide high availability for our hosted servers.
We have two onsite routers, each advertising BGP routes on our AS# 19772. We have one link over Sprint (BGP remote-as 1239) and one link over AT&T (BGP remote-as 7018). I have two questions - the second one considerably more in depth than the first - that I'd like an expert to chime in on, please & thank you :)
1.. When I run a BGP table lookup (e.g. Looking Glass) for one of the
/23 subnets we host & advertise, it shows BGP table as:
BGP routing table entry for 22.214.171.124/23, version 3560718486 Paths: (1 available, best #1, table Default-IP-Routing-Table) 1239 19772 126.96.36.199 (metric 10186060) from 188.8.131.52 (184.108.40.206) Origin IGP, metric 4294967294, localpref 100, valid, internal, best Community: 174:10004 174:20666 174:21000 174:22013 Originator: 220.127.116.11, Cluster list: 18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52
Notice the paths traverse Sprint's AS & our AS as well. This leads me to believe that if AS1239 went down (or more realistically if our routers lost BGP session to it) traffic could still arrive at that subnet over AS19772 (presumably via neighboring AT&T AS7018).
But, I'd like to KNOW, somehow, that this failover behavior will indeed happen if we lose our session to our BGP peer on AS1239.
Is there any way to verify, ahead of time, that AS7018 will advertise a direct neighboring route to AS19772 when it needs to?
EDIT: OK I think I have answered this first question by checking from within AS7018 via AT&T's looking glass:
firstname.lastname@example.org> show route protocol bgp 184.108.40.206 inet.0: 631792 destinations, 9475808 routes (631792 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 220.127.116.11/23 *[BGP/170] 1w6d 23:05:58, localpref 100, from 18.104.22.168 AS path: 7018 19772 I, validation-state: unknown > to 22.214.171.124 via em0.0
Notice the AS Numbers 7018 & 19772, to me means 7018 is properly neighboring with 19772 for this subnet. Yay! OK, onto #2:
2.. We are also advertising four
/26 prefixes as parts of a larger
/24 prefix. Since Sprint AS1239 doesn't advertise peers less than
/26s get "supernetted" into a
BGP routing table entry for 126.96.36.199/12, version 3549613850 Paths: (1 available, best #1, table Default-IP-Routing-Table) 1239 188.8.131.52 (metric 10186060) from 184.108.40.206 (220.127.116.11) Origin IGP, metric 4294967294, localpref 100, valid, internal, best Community: 174:10004 174:20666 174:21000 174:22013 Originator: 18.104.22.168, Cluster list: 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206
which is not ideal.. Notice how our AS19772 is not mentioned at all in that route.. just the AS1239 on the
To add to that, I'm being told that AT&T AS7018 doesn't forward routes smaller than
/24 AT ALL, so in that case my
/26s are lost as a direct neighbor..
Evidenced here via AT&T's looking glass:
email@example.com> show route protocol bgp 220.127.116.11 inet.0: 631773 destinations, 9475523 routes (631773 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 18.104.22.168/12 *[BGP/170] 2d 13:58:14, localpref 100, from 22.214.171.124 AS path: 7018 1239 I, validation-state: unknown > to 126.96.36.199 via em0.0
Shows AT&T AS7018 has the /12 route, through AS1239, but mention of the more specific /26 route via AS19772.
This leads me to believe that the
/26s are not multi-homed properly, and if our AS1239 session is cut, those nets will be unavailable.
So, OK, why not just advertise the four
/26s as one
/24? Well, on the routers we have an interface on one of the
/26 networks. The other three
/26 nets are static routed out a different interface.. I seem to remember during router interface turn-up we were having connectivity issues until we made the BGP advertisement mask match the interface mask..
Does anyone know if BGP advertising a
/24 from the routers would interfere with traffic on an interface that has a subnetted
/26 from that same
EDIT: Per the great answer provided by Ron:
OK, so the piece of the puzzle I am likely missing is the aggregate advertisement for BGP. If I begin advertising the /24 prefix, both neighboring AS's should see that and begin forwarding direct neighbor connections to it.
The last thing I would like to see is evidence that I can advertise an aggregate prefix that I don't have in the routing table. Does anyone have reference to some material I can review to confirm this?