Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Convenzioni

Premesse

Tabella di routing BGP completa

Router BGP configurato con elenco filtri AS_PATH in ingresso

Risoluzione dei problemi relativi alla memoria

Conclusioni

Informazioni correlate

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 le route per l'ISP-A e il relativo sistema autonomo C1 connesso direttamente. Analogamente, il router 2 accetta le route per l'ISP-B e l'ISP-C2. Le altre reti, che non appartengono agli ISP e al relativo sistema autonomo client, seguono la route predefinita che punta all'ISP-A o all'ISP-B, in base ai criteri di routing dell'organizzazione.

È 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 di quanti prefissi costituiscono 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

nessuna sincronizzazione

router adiacente 157.x.x.remote-as 701

adiacente 157.x.x.x filter-list 80 out

!

ip as-path access-list 80 allow ^$

!

fine

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 seguano la route predefinita verso ISP-A. Questa è la configurazione dell'elenco di filtri:

Router 1

hostname R1

!

router bgp XX

nessuna sincronizzazione

.

router adiacente 157.x.x.remote-as 701

adiacente 157.x.x.x filter-list 80 out

adiacente 157.x.x.x filter-list 85 in

!— Questa riga filtra gli aggiornamenti BGP in entrata.

!

ip as-path access-list 80 allow ^$

ip as-path access-list 85 allow ^701_[0-9]*$

!— L'elenco dei filtri AS_PATH filtra l'ISP e le !— route di sistema autonome a connessione diretta.

!

fine

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 modalità di elaborazione della memoria | include bgpcommand. 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.

Per memorizzare una tabella di routing BGP globale completa da un peer BGP, è meglio avere un minimo di 512 MB o 1 GB di RAM nel router. Se si utilizzano 256 MB di RAM, si consiglia di utilizzare più filtri di routing. Se si utilizzano 512 MB di RAM, è possibile inserire nella tabella di routing più route Internet con un numero inferiore di filtri. sugli switch Catalyst 6500/6000 che ricevono una tabella BGP completa, si consiglia di usare il modulo Multilayer Switch Feature Card 2 (MSFC2) con 256 MB di RAM per evitare l'ID bug Cisco CSCdt13244.

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.

La commutazione Cisco Express Forwarding/distributed Cisco Express Forwarding (CEF/dCEF) consuma memoria, in base alle dimensioni della tabella di routing. Il CEF è costituito da due componenti principali:

- Base informazioni di inoltro (FIB)

- Tabella adiacente

Entrambe le tabelle sono memorizzate nella memoria DRAM. Assicurarsi che la scheda di linea o il processore di interfaccia versatile (VIP) contenga una quantità sufficiente di DRAM libera. "%FIB-3-FIBDISABLE: Errore irreversibile, slot [#]: i messaggi di errore "no memory" e "%FIB-3-NOMEM" indicano che la memoria nelle schede è insufficiente.

Si consiglia vivamente di controllare la memoria VIP o della scheda di linea prima di abilitare dCEF. Completare i seguenti passaggi per confermare la memoria:

1. Eseguire il comando ip cef in modalità di configurazione globale per configurare il CEF centrale.

Attendere la compilazione della tabella FIB.

1. Verificare le dimensioni della tabella FIB centrale con il comando show ip cef summary.

2. Determinare se la scheda VIP o di linea dispone di DRAM sufficiente per memorizzare una tabella FIB di dimensioni simili.

Eseguire il comando show controller vip [slot#] tech e controllare l'output del comando show memory summary.

Quando si eseguono le route BGP Internet complete, è consigliabile disporre di almeno 512 MB o 1 GB di RAM sulla scheda VIP o di linea.

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 sistema autonomo

31,667

28,132,528

Quando il router BGP riceve la tabella di routing BGP completa dei router adiacenti (98.410 route), 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ù elevato (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 del filtro AS_PATH seguono la route predefinita.

Informazioni correlate

- Utilizzo delle espressioni regolari in BGP

- Condivisione del carico con BGP in ambienti singoli e multihome Esempi di configurazione

- Come utilizzare HSRP per fornire ridondanza in una rete BGP multihome

- Esempio di configurazione del BGP con due provider di servizi diversi (multihoming)

- Pagina di supporto BGP

- Supporto tecnico – Cisco Systems