11-12-2015 11:50 AM - edited 03-05-2019 02:44 AM
Good day!
I am entry Level with my BGP Routing so please bare with me guys...My question is simply how do you tell the Size of your BGP Table? Hopefully that is the right question or maybe I should be asking how to tell the number of Routes the BGP Table has? Im not sure which is why I am asking you guys, lol. Im inquiring for Network Design/Scaling/Future planning purposes. Alot of Datasheets list the # of Max BGP Routes supported but how do I check my existing or customers existing Router/BGP Stats to find out where they currently stand? Hopefully someone can clear up some of my confusion. It will be greatly appreciated.
Thanks in Advance!
11-12-2015 01:03 PM
Hello,
There are several commands can be used to see the size of your BGP table and also the number of BGP routes.
The most common one is show processes memory | include BGP
You can see the current size of BGP table and also allocated size.
*********************************************
To see the number of routes in the BGP table and also memory size:
show ip bgp summary (giving you different reports)
***********************
To see the number of BGP routes in the Routing table :
show ip route summary
*******************************************
please take a look at the link below.
http://www.cisco.com/c/en/us/support/docs/ip/border-gateway-protocol-bgp/12512-41.html
How many routes your router can store is depending on the type of your router. ASR 1000 with 8G memory can store up to 1M routes.
How many routes you have is depending on the number of your BGP neighbors and the number of routes coming from each neighbor. All routes will be stored in the BGP table and the best ones go inside the routing table so if you are going to buy a router, you need to calculate memory for all the routes (BGP table) plus memory for the best routes(routing table) plus a safe margin.
*******************
Check the link below for the numberof routes in ASR 1000. Look for "With 8-GB memory"
http://www.cisco.com/c/en/us/products/collateral/routers/asr-1000-series-aggregation-services-routers/data_sheet_c78-441072.html
Hope it helps,
Masoud
11-12-2015 01:03 PM
Adding to what just Masoud mentioned, the maximum size that can be supported is again dependent on various factors (below configurations increase the memory consumption by the BGP process and thus lesser routes can be supported):
- soft-reconfiguration inbound
- BGP Dampening
- BGP Multipath
Also, for getting total routes holded by BGP, you can look at show ip route summary command as well along with show ip bgp all summary (this will show the prefixes holded by various address-families). it also shows the overhead values and the memory consumed.
isp-12008d#sh ip route sum | i Memory|bgp Route Source Networks Subnets Overhead Memory (bytes) bgp 2 0 0 0 0 ^^^^^^ ^^^^^
Each platform has its own limitation on holding the maximum number of routes.
Regards
Vinit
11-12-2015 01:08 PM
Thank you Vinit for your comment.
11-12-2015 02:49 PM
Thanks for the speedy reply guys! This is great information! See output below for example...how would I go about this one? Which Figures would I add to come to my final number of Routes or Table Size? I have reviewed the ASR1002 Datasheet for the specs as far as BGP and have attached an insert with the information but am still not sure as to how close this Table is to being maxed out. Any details you guys can point out would be great. Thanks again!
*Router Console Output(show ip bgp sum)*
BGP router identifier 10.10.1.1, local AS number 62737
BGP table version is 88385, main routing table version 88385
13294 network entries using 3296912 bytes of memory
13295 path entries using 1595400 bytes of memory
3182/3181 BGP path/bestpath attribute entries using 763680 bytes of memory
2556 BGP AS-PATH entries using 112368 bytes of memory
296 BGP community entries using 10114 bytes of memory
8 BGP extended community entries using 192 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 5778666 total bytes of memory
BGP activity 31955/18661 prefixes, 46445/33150 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
66.192.139.65 4 4323 121211 75268 88385 0 0 3w2d 13293
198.92.96.33 4 21889 34260 37967 88385 0 0 3w2d 1
PARDMNR1#show ip route summ
PARDMNR1#show ip route summary
IP routing table name is default (0x0)
IP routing table maximum-paths is 32
Route Source Networks Subnets Replicates Overhead Memory (bytes)
11-12-2015 03:02 PM
Looking at the output, you are pretty far from getting the BGP table maxed out. you just have 13294 prefixes in your BGP table. Overall BGP is using ~5.8 MB memory which is pretty less.
the router can support a lot more but like i mentioned before, it depends on various factors like what features are enabled on the router, how much memory other services are consuming, how much memory cef table is consuming, etc.
ASR1k are high end platforms (highly scalable as RR's) and can support huge number of prefixes as shown above.
The important fields to look at in the output from BGP scaling perspective are highlighted in bold:
BGP router identifier 10.10.1.1, local AS number 62737
BGP table version is 88385, main routing table version 88385
13294 network entries using 3296912 bytes of memory
13295 path entries using 1595400 bytes of memory
3182/3181 BGP path/bestpath attribute entries using 763680 bytes of memory
2556 BGP AS-PATH entries using 112368 bytes of memory
296 BGP community entries using 10114 bytes of memory
8 BGP extended community entries using 192 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 5778666 total bytes of memory
BGP activity 31955/18661 prefixes, 46445/33150 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
66.192.139.65 4 4323 121211 75268 88385 0 0 3w2d 13293
198.92.96.33 4 21889 34260 37967 88385 0 0 3w2d 1
the above highlighted fields show how much memory is being consumed by BGP and by various attributes. At the end it all drills down to how much memory you have available on the router. If you have less memory, the scale for holding BGP prefixes will be less and vice versa.
Hope this helps.
Regards
Vinit
11-12-2015 03:20 PM
Hello,
BGP using 5778666 total bytes of memory
Shows the total size of BGP table in the memory.
Please share the output of "show processes memory | include BGP"
Masoud
11-12-2015 05:08 PM
Hello
On a side note there are a few bgp commands to assit with large bgp tables Although the first 2 would not really reduce the router resources but would help to stop a large advertisement of prefixes.
1) Bgp maximum-prefix command
2) Bgp Maxas x ( limits long aspaths appended to the prefixes)
3) Not to apply SOFT RECONFIGURATION INBOUND
4) Outbound Router Filter ( ORF) --- best of all!)
res
Paul
11-13-2015 08:38 AM
Wow!
So if Im taking this all in correctly, is it safe to say that the BGP "Table" is really a term used to represent all of the processes BGP uses to function inside of a Router which is ultimately limited or governed by the amount of Memory/RAM(RP Memory/RAM in the ASR1002-X)???
Thanks guys!
11-13-2015 09:25 AM
Hello
Yes - correct
res
Paul
11-13-2015 09:44 AM
Hello,
BGP "Table" is really a term used to represent all of the processes BGP uses to function inside of a Router
I have a little proplem with this part. Maybe, I did not understand it correctly.
I would say it this way.
BGP table is a space in the Memory. It keeps all the BGP paths, networks, attributes and .... BGP process is rely on this table to figure out the best paths, so if the memory is limited, BGP may not function very well to choose the best paths.
Apart from BGP table, routing rable, FIB table and adjacency table may also be impacted if memory is limited.
best,
Masoud,
11-16-2015 07:05 AM
Masoud/Vinit,
Thank you both for the information you hve provided as it has cleared up alot of my confusion around how the BGP table plays within the Router.
I have also pasted the CLI output for the "show proc mem | inc BGP" command. Masoud, I think you wanted to point out some important things to look for on it. Im liking this command already as it looks like it gives a good view of the BGP Table from the Memory perspective.
#show processes memory | inc BGP
127 0 0 0 42000 0 0 BGP Scheduler
148 0 262528 0 304392 140197 140197 BGP I/O
188 0 0 0 41864 0 0 BGP Scanner
327 0 0 0 29864 0 0 BGP HA SSO
351 0 0 0 41864 0 0 BGP Consistency
363 0 0 0 29864 0 0 XC BGP SIG RIB H
396 0 0 0 41864 0 0 BGP Event
463 0 0 0 29864 0 0 BGP VA
570 0 131208 0 173072 0 0 BGP Task
571 0 0 0 41864 0 0 BGP BMP Server
583 0 17033280 720 16744464 7 7 BGP Router
Thanks
11-16-2015 07:18 AM
You only need to use the show process memory command if you are running out of memory. For understanding how much memory is being used by BGP for the table, show ip bgp all summary is enough as it will give you the memory utilization for all prefixes in individual address-family.
More important is to know how much memory is available in your router which you can get using the command show memory statistics.
Hope this helps.
Vinit
11-16-2015 07:59 AM
Hello,
Show "show proc mem | inc BGP" gives you the total memory that BGP uses. This memory is used by BGP table, RIB table for BGP routes, .. and other tables if you have configured some BGP features such as soft configuration.
Hope it helps,
Masoud
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