Inleiding
Dit document beschrijft hoe u optimaal kunt werken met minimale geheugenvereisten voor BGP-routers (Border Gateway Protocol).
Voorwaarden
Vereisten
Er zijn geen specifieke vereisten van toepassing op dit document.
Gebruikte componenten
Dit document is niet beperkt tot specifieke software- en hardware-versies.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Conventies
Raadpleeg Cisco Technical Tips Conventions (Conventies voor technische tips van Cisco) voor meer informatie over documentconventies.
Achtergrondinformatie
Dit document illustreert hoe u een optimale routing kunt realiseren in een ondernemingsnetwerk dat is verbonden met meerdere Internet Service Providers (ISP’s), terwijl de geheugenvereisten van de BGP-routers (Border Gateway Protocol) worden verminderd. U kunt de AS_PATH-filters gebruiken die alleen routes accepteren die afkomstig zijn van een ISP en zijn direct verbonden autonome systemen, en u ontvangt de volledige BGP-routeringstabel niet van een ISP.
Deze sectie verstrekt een netwerkdiagram als voorbeeld. In het voorbeeld filtert u inkomende BGP-updates op router 1 en router 2 om de routes van de ISP en de routes van het rechtstreeks aangesloten autonome systeem te accepteren. Router 1 accepteert routes voor ISP-A en zijn direct aangesloten autonome systeem C1. Op dezelfde manier accepteert router 2 routes voor ISP-B en C2. De rest netwerken, die niet tot ISP's en hun client-autonoom systeem behoren, gebruiken de standaardroute die naar ISP-A of ISP-B wijst, gebaseerd op het beleid voor ondernemingsrouting.
U kunt zien hoe het geheugengebruik varieert wanneer router 1 de volledige BGP-routeringstabel van ongeveer 100.000 routes van zijn ISP accepteert, in vergelijking met wanneer u inkomende AS_PATH-filters op router 1 toepast.
Opmerking: het aantal prefixes dat een volledige feed vormt, kan variëren. De waarden in dit document dienen alleen als voorbeeld. Routeservers kunnen een goed idee geven van hoeveel prefixes een volledige BGP-tabel vormt.
Opmerking: alle tools en interne websites zijn alleen voor geregistreerde Cisco-clients.
BGP-router ontvangt volledige BGP-routingtabel
Dit is de configuratie van router 1:
Router 1 |
hostname R1
!
router bgp XX
no synchronization
neighbor 157.x.x.x remote-as 701
neighbor 157.x.x.x filter-list 80 out
!
ip as-path access-list 80 permit ^$
!
end |
De samenvatting van de opdrachtoutput van ip bgp laat zien dat 98.410 prefixes zijn ontvangen van ISP-A (BGP-buur 157.x.x.x):
R1#show ip bgp summary
BGP router identifier 65.yy.yy.y, local AS number XX
BGP table version is 611571, main routing table version 611571
98769 network entries and 146299 paths using 14847357 bytes of memory
23658 BGP path attribute entries using 1419480 bytes of memory
20439 BGP AS-PATH entries using 516828 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
5843 BGP filter-list cache entries using 70116 bytes of memory
BGP activity 534001/1904280 prefixes, 2371419/2225120 paths, scan interval 15 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
165.yy.yy.a 4 6xx9 32962 826287 611571 0 0 01:56:13 1
165.yy.yy.b 4 6xx9 32961 855737 611571 0 0 01:56:12 1
165.yy.yy.c 4 6xx9 569699 865164 611571 1 0 01:55:39 47885
157.x.x.x 4 701 3139774 262532 611571 0 0 00:07:24 98410
De summiere opdrachtoutput van de show ip route laat zien dat 80.132 BGP-routes in de routeringstabel zijn geïnstalleerd:
R1#show ip route summary
IP routing table name is Default-IP-Routing-Table(0)
Route Source Networks Subnets Overhead Memory (bytes)
connected 0 4 256 576
static 0 1 64 144
eigrp 6 0 5 768 720
bgp XX 80132 18622 6320256 14326656
External: 87616 Internal: 11138 Local: 0
internal 854 994056
Total 80986 18632 6321344 15322152
Deze opdracht geeft de hoeveelheid geheugen weer die het BGP-proces in het RAM-geheugen bezet houdt:
R1#show processes memory | begin BGP
PID TTY Allocated Freed Holding Getbufs Retbufs Process
73 0 678981156 89816736 70811036 0 0 BGP Router
74 0 2968320 419750112 61388 1327064 832 BGP I/O
75 0 0 8270540 9824 0 0 BGP Scanner
70882248 Total BGP
77465892 Total all processes
Het BGP-proces gebruikt ongeveer 71 MB geheugen.
BGP-router geconfigureerd met lijst met inkomende AS_PATH-filters
In dit voorbeeld, past u de inkomende filterlijst toe om routes goed te keuren die door ISP-A en zijn direct verbonden autonome systemen worden voortgebracht. In het voorbeeld, adverteert ISP-A een standaardroute (0.0.0.0) via externe BGP (eBGP), zodat de routes die niet de filterlijst overgaan de standaardroute naar ISP-A gebruiken. Dit is de configuratie voor de filterlijst:
Router 1 |
hostname R1
!
router bgp XX
no synchronization
neighbor 157.x.x.x remote-as 701
neighbor 157.x.x.x filter-list 80 out
neighbor 157.x.x.x filter-list 85 in
!--- This line filters inbound BGP updates.
!
ip as-path access-list 80 permit ^$
ip as-path access-list 85 permit ^701_[0-9]*$
!--- The AS_PATH list filters ISP and the directly connected autonomous system routes.
!
end |
Deze output van het showip bgp summier bevel toont 31.667 prefixes die van ISP-A wordt ontvangen (buur 157.xx.xx.x):
R1#show ip bgp summary
BGP router identifier 165.yy.yy.y, local AS number XX
BGP table version is 92465, main routing table version 92465
36575 network entries and 49095 paths using 5315195 bytes of memory
4015 BGP path attribute entries using 241860 bytes of memory
3259 BGP AS-PATH entries using 78360 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
4028 BGP filter-list cache entries using 48336 bytes of memory
BGP activity 1735069/3741144 prefixes, 4596920/4547825 paths, scan interval 15 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
165.yy.yy.a 4 6319 226694 1787061 92465 0 0 17:31:04 1
165.yy.yy.b 4 6319 226814 1806986 92465 0 0 19:51:53 1
165.yy.yy.c 4 6319 1041069 1822703 92465 0 0 19:44:52 17424
157.xx.xx.x 4 701 14452518 456341 92465 0 0 19:51:37 31667
De samenvattende opdrachtoutput van de show ip route toont 27.129 BGP-routes in de routeringstabel:
R1#show ip route summary
IP routing table name is Default-IP-Routing-Table(0)
Route Source Networks Subnets Overhead Memory (bytes)
connected 0 4 256 576
static 0 1 64 144
eigrp 6319 0 6 896 864
bgp 6319 27129 9424 2339392 5299332
External: 19134 Internal: 17419 Local: 0
internal 518 602952
Total 27647 9435 2340608 5903868
Het geheugen dat wordt gebruikt door het BGP-proces is ongeveer 28 MB, zoals hier wordt getoond:
R1#show processes memory | include BGP
PID TTY Allocated Freed Holding Getbufs Retbufs Process
73 0 900742224 186644540 28115880 0 0 BGP Router
74 0 5315232 556232160 6824 2478452 832 BGP I/O
75 0 0 39041008 9824 0 0 BGP Scanner
28132528 Total BGP
34665820 Total all memory
Problemen met geheugen oplossen
Om het geheugen te controleren dat door het BGP-proces wordt gebruikt, gebruikt u het geheugen van showprocessen | bgp-opdracht opnemen. De meest voorkomende problemen met betrekking tot overmatig gebruik van het geheugen worden hier vermeld:
-
Geheugentoewijzingsfout "%SYS-2-MALLOCFAIL".
-
Weigerde Telnet-sessies.
-
Geen uitvoer van bepaalde show opdrachten.
-
Foutberichten voor "Laag geheugen".
-
"Kan geen EXEC maken - geen geheugen of te veel processen" console berichten.
-
Router hangend, of geen consolereactie.
-
Als u BGP-gerelateerde debugs uitvoert, veroorzaakt dit meestal buitensporige geheugenconsumptie, wat ook kan resulteren in geheugenfouten als gevolg van BGP. Debugs voor BGP moeten met voorzichtigheid worden uitgevoerd en moeten worden vermeden als ze niet nodig zijn.
Wanneer u de volledige Internet BGP-routes vanaf één BGP-peer uitvoert, hangt de benodigde hoeveelheid RAM af van de apparaatkenmerken en schaalbaarheid. Gezien de voortdurende groei van internetroutes kan het benodigde geheugen echter minimaal ongeveer 8 GB RAM zijn.
De geheugenconsumptie door BGP-routes hangt af van het aantal kenmerken, zoals multipath ondersteuning, zachte herconfiguratie, het aantal peers en AS_PATH. Raadpleeg RFC 1774 voor meer informatie over de BGP-geheugenvereisten.
Conclusie
Deze grafiek illustreert de geheugenbesparingen door wanneer u de filterlijst implementeert:
|
Aantal prefixes |
Geheugen verbruikt |
Geen filtering |
98,410 |
70,882,248 |
Autonoom systeemfilter |
31,667 |
28,132,528 |
Wanneer de BGP-router zijn volledige BGP-routertabel (98.410 routes) voor buurrouters ontvangt, neemt de router ongeveer 71 MB in beslag. Als de AS_PATH-filters op inkomende updates worden toegepast, wordt de grootte van de BGP-routeringstabel beperkt tot 31.667 routes en is de geheugenconsumptie ongeveer 28 MB. Deze daling in geheugengebruik is meer dan 60 procent met optimale routing.
Als u de AS Internet Graph bekijkt die door de Coöperatieve Vereniging voor de Analyse van Gegevens van Internet (CAIDA) wordt samengesteld, kunt u zien welke ISPs de hoogste graad van interconnectiviteit (die dichtst bij het centrum van de grafiek) hebben. Met minder interconnectiviteit passeren minder routes door het AS_PATH-filter en is de BGP-geheugenconsumptie lager. Het is echter belangrijk om op te merken dat wanneer AS_PATH filters zijn ingesteld, u een standaardroute (0/0) moet configureren. Routes die niet door de lijst met AS_PATH-filters gaan, gebruiken de standaardroute.
Gerelateerde informatie