Introduzione
In questo documento viene descritto come ottenere prestazioni ottimali con requisiti di memoria minimi per i router Border Gateway Protocol (BGP).
Prerequisiti
Requisiti
Nessun requisito specifico previsto per questo documento.
Componenti usati
Il documento può essere consultato per tutte le versioni software o hardware.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Convenzioni
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
Premesse
Questo documento illustra come ottenere il routing ottimale in una rete aziendale connessa a più provider di servizi Internet (ISP), riducendo al contempo i requisiti di memoria dei router Border Gateway Protocol (BGP). È possibile utilizzare i filtri AS_PATH che accettano solo route originate da un ISP e dai relativi sistemi autonomi connessi direttamente e che non ricevono la tabella di routing BGP completa da un ISP.
In questa sezione viene illustrato un diagramma di rete. Nell'esempio, vengono filtrati gli aggiornamenti BGP in arrivo sul router 1 e sul router 2 per accettare le route dell'ISP e le route del sistema autonomo connesso direttamente. Il router 1 accetta i percorsi per l'ISP-A e il suo sistema autonomo C1 connesso direttamente. Analogamente, il router 2 accetta le route per ISP-B e C2. Le altre reti, che non appartengono agli ISP e al relativo sistema autonomo client, utilizzano il percorso predefinito che punta all'ISP-A o all'ISP-B, in base alla policy di routing aziendale.
È possibile osservare come l'utilizzo della memoria varia quando il router 1 accetta la tabella di routing BGP completa di circa 100.000 route dal proprio ISP, rispetto a quando si applicano i filtri AS_PATH in ingresso sul router 1.
Nota: il numero effettivo di prefissi che costituiscono un feed completo può variare. I valori riportati in questo documento sono solo di esempio. I server di routing possono fornire una buona idea del numero di prefissi che compongono una tabella BGP completa.
Nota: tutti gli strumenti e i siti Web interni sono solo per client Cisco registrati.
Tabella di routing BGP completa
Questa è la configurazione del 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 |
L'output del comando show ip bgp summary visualizza 98.410 prefissi ricevuti dall'ISP-A (BGP adiacente 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
L'output del comando show ip route summary visualizza che sono installate 80.132 route BGP nella tabella di routing:
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
Questo comando mostra la quantità di memoria occupata dal processo BGP nella RAM:
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
Il processo BGP utilizza circa 71 MB di memoria.
Router BGP configurato con elenco filtri AS_PATH in ingresso
In questo esempio viene applicato l'elenco di filtri in ingresso per accettare le route originate dall'ISP-A e dai relativi sistemi autonomi connessi direttamente. Nell'esempio, l'ISP-A annuncia una route predefinita (0.0.0.0) tramite BGP esterno (eBGP), in modo che le route che non passano l'elenco di filtri utilizzino la route predefinita verso ISP-A. Questa è la configurazione dell'elenco di filtri:
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 |
L'output del comando show ip bgp summary visualizza 31.667 prefissi ricevuti dall'ISP-A (router adiacente 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
L'output del comando show ip route summary visualizza 27.129 route BGP nella tabella di routing:
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
La memoria utilizzata dal processo BGP è di circa 28 MB, come mostrato di seguito:
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
Risoluzione dei problemi relativi alla memoria
Per controllare la memoria utilizzata dal processo BGP, utilizzare la memoria show processes | include il comando bgp. Di seguito sono elencati i problemi più comuni relativi a un utilizzo eccessivo della memoria:
-
Errore di allocazione della memoria "%SYS-2-MALLOCFAIL".
-
Sessioni Telnet rifiutate.
-
Nessun output da alcuni comandi show.
-
Messaggi di errore "Memoria insufficiente".
-
Messaggi della console "Impossibile creare EXEC - memoria insufficiente o troppi processi".
-
Router spento o risposta della console assente.
-
Se si eseguono debug relativi a BGP, in genere si verifica un consumo di memoria eccessivo, che può anche causare errori di memoria dovuti a BGP. I debug per BGP devono essere eseguiti con cautela e devono essere evitati se non sono richiesti.
Quando si eseguono le route BGP Internet complete da un peer BGP, la quantità di RAM necessaria dipende dalle caratteristiche e dalla scalabilità del dispositivo. Tuttavia, data la crescita continua dei percorsi Internet, la memoria minima richiesta può essere di circa 8 GB di RAM o superiore.
Il consumo di memoria da parte delle route BGP dipende dal numero di attributi, ad esempio il supporto di percorsi multipli, la riconfigurazione soft, il numero di peer e AS_PATH. Per ulteriori informazioni sui requisiti di memoria BGP, consultare la RFC 1774.
Conclusioni
Questo grafico mostra i risparmi di memoria in base a quando si implementa l'elenco di filtri:
|
Numero di prefissi |
Memoria utilizzata |
Nessun filtro |
98,410 |
70,882,248 |
Filtro di sistema autonomo |
31,667 |
28,132,528 |
Quando il router BGP riceve la tabella di routing BGP completa (98.410 route) del router adiacente, consuma circa 71 MB. Con i filtri AS_PATH applicati agli aggiornamenti in entrata, le dimensioni della tabella di routing BGP vengono ridotte a 31.667 route e il consumo di memoria è di circa 28 MB. Questa riduzione nell'utilizzo della memoria è superiore al 60% con il routing ottimale.
Se si esamina il grafico Internet ASA compilato dalla Cooperative Association for Internet Data Analysis (CAIDA), è possibile individuare gli ISP con il livello di interconnettività più alto, ovvero quelli più vicini al centro del grafico. Con una minore interconnettività, il filtro AS_PATH passa attraverso un numero inferiore di route e il consumo di memoria BGP è inferiore. Tuttavia, è importante notare che ogni volta che i filtri AS_PATH sono impostati, è necessario configurare una route predefinita (0/0). Le route che non superano l'elenco di filtri AS_PATH utilizzano la route predefinita.
Informazioni correlate