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

- Comprendere la condivisione del carico con BGP in ambienti single/multihomed

- Utilizzare HSRP per fornire ridondanza in una rete BGP multihomed

- Supporto tecnico – Cisco Systems