cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
5596
Views
24
Helpful
13
Replies

*Determining BGP Table Size(ASR1002)*

Konnekt1911
Level 1
Level 1

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!

13 Replies 13

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

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

Thanks
--Vinit

Thank you Vinit for your comment.

Konnekt1911
Level 1
Level 1

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)

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

Thanks
--Vinit

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

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


Please rate and mark as an accepted solution if you have found any of the information provided useful.
This then could assist others on these forums to find a valuable answer and broadens the community’s global network.

Kind Regards
Paul

Konnekt1911
Level 1
Level 1

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! 

Hello

Yes - correct

res

Paul


Please rate and mark as an accepted solution if you have found any of the information provided useful.
This then could assist others on these forums to find a valuable answer and broadens the community’s global network.

Kind Regards
Paul

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,

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

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

Thanks
--Vinit

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

Review Cisco Networking for a $25 gift card