05-18-2020 07:16 PM
Hi,
I'm hoping to get some guidance on how to connect IX and transit data into a network in a way that scales.
The existing network has a BGP free core which works really well. I'm going to be setting up some dedicated border routers that just "talk" to IX points and also transit providers.
I'm just not sure how to distribute this data to other parts of the BGP free core. I could run MPLS on the border routers, but, if we decide to take a full route table, MPLS will assign a local label to each received prefix, which is around 850k at this stage (maybe more). The routers we have (ASR 9ks) I believe support up to 1m - so this won't scale if the table continues to grow.
What are my options for distributing prefixes around the network - I've seen suggestions of using GRE tunnels - is this a viable option? Are there better approaches?
Thanks,
Greg
05-19-2020 03:42 AM
Hello @gregsamadams ,
I'm just not sure how to distribute this data to other parts of the BGP free core. I could run MPLS on the border routers, but, if we decide to take a full route table, MPLS will assign a local label to each received prefix, which is around 850k at this stage (maybe more). The routers we have (ASR 9ks) I believe support up to 1m - so this won't scale if the table continues to grow.
What are my options for distributing prefixes around the network - I've seen suggestions of using GRE tunnels - is this a viable option? Are there better approaches?
Thanks,
Greg
If you want to leverage MPLS switching capabilities you may implement per-ce resilient label allocation which avoid label space exhaustion in case of massive label utilization.
Resilient allocation should also supports multipath and PIC edge in case you need, so you can take advantage of it to achieve fast restoration or load sharing into your network.
Kind regards
05-19-2020 04:32 AM - edited 05-19-2020 04:33 AM
Greg, interesting topic.
Question
Why would you want to have all the routers in your core to hold the full BGP routing table?
Proposed Solution
Based on the assumption you should not have full routing table in the core, here's few things
Hope this helps.
Thanks, l.
05-19-2020 07:55 AM
I always use per-ce label allocation mode.
Once you enable label mode per-ce, you’ll end up with just a few next-hop labels for your INTERENET VRF as opposed to ~850K labels.
(btw the limit of ~1M is not routing platform specific, but rather result of the fact that the label field in the header is 20bits wide)
The “label mode per-ce” -in comparison with “label mode per-vrf” –the per-ce variant also allows you to use BGP PIC for fast reroute cause it forwards traffic to CE based on label lookup rather than IP lookup.
05-20-2020 05:26 AM
Thank you all for your replies.
Adam, I'm trying to see how this would work in our setup. We only run VRF's for L3VPN customers which often don't have external access.
Our ASR9k which is doing the IX and transit is accepting all of the routes into the global routing table. We're then distributing data throughout the network - through the BGP free core mpls to other sides of the network.
The P routers in our setup don't see the global route table (as expected), however, I'm concerned with how the border routers will cope with the label assignment to each of the prefixes in the global routing table.
Perhaps I've mis-understood what you have suggested doing.
Thanks,
Greg
05-26-2020 07:47 AM
hi Greg,
I think it wasn't clear from beginning that you are running Internet table in GRT.
to your concern:
I'm concerned with how the border routers will cope with the label assignment to each of the prefixes in the global routing table.
I think this should not be a problem in your case as GRT is used, and also for LDP (by default it's not allocating labels for BGP prefixes see link)
example topology: Interent --- border PE (bPE) --- P --- PE
1) PE will learn internet prefix via BGP (from RR or bPE), do lookup and find next-hop of bPE with associated label sent by P
2) P does not know about BGP prefixes, forwarding is done based on label, in this case pop the label and send IP packet to bPE
3) bPE receives IP packet, perform lookup and send it to peer
i think this is how it should work but it should be tested in lab
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide