Il Border Gateway Protocol (BGP) è un protocollo gateway esterno che consente ai sistemi autonomi di scambiare informazioni di routing tra loro. Un sistema autonomo è un insieme di router sottoposti a un'unica amministrazione tecnica.
I numeri del sistema autonomo (AS) sono assegnati dall'American Registry for Internet Numbers. Per ulteriori informazioni, visitare il relativo sito Web. Comprende un elenco completo di tutti i numeri AS assegnati nella sezione Documentazione.
American Registry for Internet Numbers
È possibile, ma non incoraggiato, richiedere un numero AS per eseguire BGP se un'installazione è a home singolo. Tuttavia, è necessario un numero AS separato per un sito multi-homed in cui viene utilizzato più di un ISP. Ciò è dovuto al fatto che un'installazione con un solo server potrebbe essere considerata interna all'ISP, mentre un sito con più server non potrebbe esserlo.
I router che si scambiano informazioni BGP sono chiamati peer BGP. Un router può avere sia peer esterni in altre appliance ASA sia peer interni all'interno della propria appliance ASA. Un peer è considerato esterno se il suo numero AS è diverso dal numero AS del router.
I router stabiliscono sessioni BGP utilizzando il protocollo TCP. All'avvio di una nuova sessione BGP, i peer BGP si scambiano le tabelle di routing complete e quindi, quando la tabella di routing cambia, vengono inviati solo gli aggiornamenti incrementali.
In questa guida alla configurazione vengono descritte le opzioni di configurazione disponibili con BGP in esecuzione su router di sistemi compatibili.
Nessun requisito specifico previsto per questo documento.
Il documento è limitato ai Cisco Compatible Micro Series Router.
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.
Il protocollo BGP è abilitato nella sezione di configurazione generale BGP. Il protocollo BGP è abilitato a livello globale per il router anziché per interfaccia, come avviene per RIP e OSPF. BGP è disattivato per impostazione predefinita. Per abilitare BGP, è necessario impostare il parametro BGPEnabled su On.
[ BGP General ] BGPEnabled = Off Enable or disable the BGP protocol BGPAS = "" Autonomous system number of this router BGPLocPref = 100 BGP local preference, default is 100 BGPUseIPRFltrs = False Use IP Route Filters, default is False
In questa sezione viene impostato il numero AS (Autonomous System) di questo router. è necessario indicare il numero BGPAS; in caso contrario, BGP non verrà abilitato.
L'attributo di preferenza locale BGPLocPref viene scambiato tra i router dello stesso SA e indica il percorso preferibile per uscire dall'AS; un percorso con una preferenza locale più alta è preferibile. Se non si specifica alcun BGPLocPref, verrà utilizzato il valore predefinito 100.
BGP utilizza le route map BGP per filtrare le route e impostare gli attributi. Ulteriori informazioni su questi parametri sono disponibili nelle sezioni BGP Peer Config e BGP Route Map di questo documento. L'utente può scegliere di utilizzare i filtri di route IP anziché le route map BGP. Il valore di BGPUseIPRFltrs verrà controllato per ogni peer per cui non sono state definite route map BGP e, se è TRUE, i filtri di route IP verranno controllati per tale peer. I filtri di route IP sono globali per il router, mentre le route map BGP possono essere rese specifiche per ogni peer.
L'elenco dei peer BGP contiene l'elenco dei peer configurati per questo router. Il router non stabilirà una connessione BGP con alcun router non presente nell'elenco. Se non è presente un elenco di peer BGP, BGP non verrà abilitato anche se BGPnabled è impostato su On nella sezione Generale di BGP.
[ BGP Peer List ] BGPPeer = On/Off IPAddress ASNumber PeerConfigID
Il parametro On|Off configura lo stato di avvio del router rispetto al peer; determina se il router tenterà automaticamente di stabilire una sessione BGP con il peer all'avvio. Se questo parametro è impostato su Off, il router non stabilirà una sessione BGP con il peer finché non si esegue il comando BGP Enable. Si noti che ciò non modificherà lo stato di avvio; al successivo avvio del router, il peer verrà attivato nello stato Off finché non viene attivato.
È possibile configurare BGP in modo che tutti i peer siano disattivati all'avvio. Se BGPEnabled = On nella sezione BGP General, sarà possibile abilitare in modo dinamico i peer selezionati dopo l'avvio del router.
Il router contatterà il peer utilizzando l'indirizzo IP indicato nell'elenco di configurazione. È necessario specificare IPaddress e ASNnumber del peer. Affinché la sessione venga stabilita, la rete dell'indirizzo IP fornito deve essere presente nella tabella di routing del router. Il router determina se un peer è interno o esterno rispetto al numero AS del peer, in quanto i peer interni hanno lo stesso numero AS del router stesso.
Ogni voce dell'elenco di peer BGP può contenere un PeerConfigID opzionale, che specifica il numero della sezione BGP Peer Config in cui è possibile impostare vari elementi di configurazione BGP specifici del peer. Una sezione BGP Peer Config può essere utilizzata per più peer solo se si desidera utilizzare tutti gli stessi parametri.
[ BGP Peer Config "SectionID" ] Section ID is a character string InputRouteMap = "" Name of input Route Map to be used for this peer OutputRouteMap = "" Name of output Route Map to be used for this peer NextHopSelf = False Next hop is this router EBGPMultihop = False External peer not directly connected PeerWeight = 100 Neighbor weight PeerRetryTime = 30 Retry time in seconds PeerHoldTime = 180 Configured hold time in seconds BGPUseLoopback = False Use router LoopbackAddress with this peer AdvertiseDefault = False Advertise default route to this peer
InputRouteMap e OutputRouteMap vengono specificati separatamente. I parametri che possono essere impostati e controllati sono diversi per le route di input e di output (per i dettagli, vedere la sezione BGP Route Map).
Se NextHopSelf è impostato su TRUE, il router si annuncerà come hop successivo alle route annunciate al peer.
I peer esterni devono essere connessi direttamente, a meno che EBGPMultihop non sia impostato su TRUE. Se questo parametro è impostato su TRUE, il router deve disporre di una route al peer esterno non connesso direttamente per stabilire una connessione.
Il parametro PeerWeight è una valutazione interna assegnata al peer dall'amministratore; non viene pubblicizzato su altri router. I peer con un peso maggiore sono preferiti quando esistono più route verso la stessa destinazione.
Il tempo di ripetizione dei tentativi BGP consente all'amministratore di impostare l'intervallo di tempo tra i tentativi per stabilire una connessione ai peer configurati che per qualche motivo non sono più disponibili. Se un peer è inattivo ma il suo stato è impostato su On, il router tenterà continuamente di contattare il peer ogni secondi di PeerRetryTime. Il valore minimo accettato per PeerRetryTime è 10 secondi.
Il tempo di attesa viene negoziato con il peer, pertanto il PeerHoldTime configurato non sarà necessariamente il tempo di attesa effettivo utilizzato dai peer. I peer utilizzeranno il più piccolo dei due tempi di attesa proposti. Il tempo di attesa deve essere zero o almeno 3 secondi. Se l'intervallo di tempo di attesa negoziato è zero, i messaggi KEEPALIVE periodici non verranno inviati.
Se non si specifica PeerWeight, PeerHoldTime o PeerRetryTime, verranno utilizzati i valori predefiniti. Il valore predefinito di PeerWeight è 100, il valore predefinito di PeerHoldTime è 180 secondi e il valore predefinito di PeerRetryTime è 30 secondi.
Se nella sezione Loopback IP viene specificato un indirizzo di loopback, è possibile impostare BGPUseLoopback su TRUE. In questo caso, il router userà il proprio indirizzo di loopback come origine IP nei pacchetti TCP per il peer anziché un indirizzo IP specifico di una delle proprie interfacce. Tuttavia, il peer deve sapere come inviare i pacchetti a quell'indirizzo tramite le normali procedure di routing IP. Se l'indirizzo non si trova in una subnet già nota al peer, deve essere aggiunto tramite una route statica. L'indirizzo di loopback viene in genere utilizzato solo per i peer interni, poiché i peer esterni sono in genere connessi direttamente.
La route predefinita del router non viene annunciata a un peer a meno che il parametro AdvertiseDefault non sia impostato su TRUE per tale peer.
Di seguito è riportato un esempio di configurazione peer:
[ BGP Peer List ] BGPPeer = On 198.41.11.213 100 Peer1 BGPPeer = On 205.14.128.1 110 Peer2 [ BGP Peer Config "Peer1" ] InputRouteMap = bgpin1 OutputRouteMap = bgpout1 PeerHoldTime = 180 PeerRetryTime = 65 PeerWeight = 1000 [ BGP Peer Config "Peer2" ] InputRouteMap = bgpin2 OutputRouteMap = bgpout1 PeerHoldTime = 180 PeerRetryTime = 45 PeerWeight = 2000
Nell'elenco dei peer BGP e nei peer della configurazione peer BGP 198.41.11.213 e 206.14.128.2 utilizzare la configurazione peer BGP 1, mentre nel peer 205.14.128.1 viene utilizzata la configurazione peer BGP 2.
Per impostazione predefinita, BGP non annuncia le route. In questo modo si evita che vengano inavvertitamente annunciate le route in uscita su Internet.
Per ottenere l'annuncio delle route, è necessario configurare un elemento: L'elenco delle reti BGP, la ridistribuzione delle route IP, le route map BGP o i filtri delle route IP.
Per ottenere l'annuncio delle route esterne, utilizzare le route map BGP o i filtri di route IP. Per ottenere l'annuncio delle route interne, utilizzare l'elenco delle reti BGP o la ridistribuzione delle route IP.
Ciascuna di queste sezioni di configurazione è descritta di seguito.
La sezione BGP Networks definisce un elenco di route che l'amministratore desidera pubblicizzare come originate all'interno dell'ASA. Queste possono essere route connesse direttamente, route statiche, route RIP o route OSPF.
Il router confronta le voci dell'elenco delle reti BGP con la relativa tabella di routing IP e non annuncia nell'elenco delle reti un percorso che non è possibile trovare nella relativa tabella di routing IP. Pertanto, se si desidera annunciare reti locali che non sono incluse nella tabella di routing IP del router, è necessario aggiungere route statiche.
Notare che l'unico modo per ottenere le route con connessione diretta annunciate in BGP è includerle nell'elenco delle reti. Le route OSPF o RIP possono essere annunciate in BGP utilizzando la sezione IP Route Redistribution. Le route statiche possono essere annunciate in BGP utilizzando il flag di ridistribuzione su ciascuna route statica configurata.
Il parametro opzionale mask indica al router il numero di bit della voce della tabella di routing IP che devono corrispondere all'indirizzo LocalNet. Non si tratta necessariamente della maschera della rete che si desidera pubblicizzare. Si supponga, ad esempio, che il router disponga delle subnet 198.41.9.32, 198.41.9.64 e 198.41.9.96, tutte con maschera 255.255.255.224. Per fare in modo che BGP pubblicizzi una rete 198.41.9.0/24, le reti BGP avranno questo aspetto:
[ BGP Networks ] LocalNet = IP address [mask] [ BGP Networks ] LocalNet = 198.41.9.32 255.255.255.255
Il router corrisponderà solo alla voce 198.41.9.32 a causa della maschera fornita con la rete locale. La rete verrà pubblicizzata come 198.41.9.0/24, poiché troncerà automaticamente le subnet mask più specifiche della Classe C. Tuttavia, se si specifica una maschera di 255.255.255.0, si finirà per pubblicizzare la rete 198.41.9.0/24 tre volte, poiché tutte e tre le subnet corrisponderanno alla voce LocalNet. Questo troncamento non equivale all'aggregazione e si applica solo alle reti interne e solo alle maschere più specifiche della Classe C. Per ottenere l'aggregazione delle route, utilizzare la sezione Aggregazioni BGP.
La sezione BGP Aggregates contiene le reti da aggregare prima di essere annunciate ai peer esterni. La tabella di routing IP del router deve contenere reti che siano un sottoinsieme dell'aggregato per poter essere pubblicizzato; solo le route aggregate, e non le singole, verranno pubblicizzate ai peer esterni. I peer interni riceveranno le singole rotte se originati al di fuori del SA; i peer interni non si scambiano le route interne tramite BGP.
Non è necessario avere un elenco aggregato per le subnet interne delle reti di classe C (vedere la sezione Reti BGP di cui sopra). Tuttavia, se si dispone di diverse classi C (o superiori) che possono essere combinate con una singola maschera a una supernet, è possibile utilizzare l'aggregazione.
[ BGP Aggregates ] AddrAndMask = [IPAddr] [IPMask] IP Routing Table Entries 198.41.8.0 255.255.255.0 198.41.9.0 255.255.255.0 198.41.10.0 255.255.255.0 198.41.11.0 255.255.255.0 [ BGP Networks ] LocalNet = 198.41.8.0 255.255.252.0 [ BGP Aggregates ] AddrAndMask = 198.41.8.0 255.255.252.0
L'unica route 198.41.8.0/22 verrà pubblicizzata sui peer esterni BGP. Senza la voce BGP Aggregates, le quattro reti verrebbero pubblicizzate separatamente. Le quattro reti corrisponderebbero alla maschera fornita nella sezione Reti BGP, ma non verrebbero aggregate automaticamente.
Un altro modo per specificare le route RIP e OSPF da importare in BGP è tramite la ridistribuzione delle route. L'impostazione predefinita prevede che tutte le ridistribuzioni di routing siano disabilitate.
È possibile ridistribuire le route BGP in RIP e OSPF, ma non è consigliabile a meno che non si accetti solo un numero ridotto di route BGP. Fare attenzione con i filtri appropriati quando si eseguono operazioni quali l'importazione di route BGP in OSPF e l'esportazione di route OSPF in BGP.
Nota: il numero di route supportate dipende anche dalla quantità di memoria del router.
[ IP Route Redistribution ] BGPtoOSPF Redistribute BGP routes to OSPF Syntax: [True|False] [Metric] BGPtoRIP Redistribute BGP routes to RIP Syntax: [True|False] [Metric] RIPtoBGP Redistribute RIP routes into BGP OSPFtoBGP Redistribute OSPF routes into BGP
Una route statica può essere ridistribuita in BGP utilizzando il flag di ridistribuzione durante la configurazione della route nella sezione IP Static:
[ IP Static ] 198.41.16.0 255.255.255.0 198.41.9.65 1 Redist=BGP
Le route map BGP sono molto simili ai filtri delle route IP, con la differenza che:
Sono specifici di BGP
Possono essere specificati per peer
Consentono l'impostazione degli attributi BGP sulle route in ingresso e in uscita oltre a filtrare le route
Le route map vengono utilizzate solo dal protocollo BGP e non sono associate a un'interfaccia specifica. La sezione BGP Peer Config specifica le mappe di route, se presenti, da applicare al peer. Le mappe delle route di input e di output vengono specificate separatamente.
Le route BGP note al router verranno annunciate a meno che non vengano negate da una mappa delle route o da un filtro delle route. Le route statiche, IGP e con connessione diretta non verranno annunciate a meno che non sia specificato nella sezione Reti BGP o tramite ridistribuzione delle route.
Il router non accetterà route di input a meno che non sia stata definita una route BGP o un filtro route IP. Se volete davvero tutto, un "permesso 0.0.0.0" lo farà. Il router controlla prima le mappe delle route BGP e, se la route viene negata, i filtri delle route IP non verranno controllati anche se BGPUseIPRFltrs è True.
[ BGP Peer Config 2 ] InputRouteMap = bgpin2 OutputRouteMap = bgpout2
I filtri di route IP possono essere utilizzati con BGP anziché con le route map BGP. Le condizioni di corrispondenza sono più limitate e non è possibile impostare vari parametri, ad esempio community, preferenze locali e weight, con i filtri di route IP.
Il nome BGP Route Map è una sezione speciale della configurazione, ossia non ci sono parole chiave da documentare. Ogni sezione contiene un set di filtri completo identificato in modo univoco dalla parte Name del nome della sezione. Possono esistere più sezioni, ognuna con un nome univoco. Il nome non può contenere più di 15 caratteri.
In questa sezione vengono descritti in dettaglio i parametri e i modificatori relativi alle regole di mapping delle route BGP.
action route [direction] [out | in modifiers] permit | deny IP Address out | in
L'azione, il percorso e la direzione sono parametri obbligatori. I modificatori In e Out sono facoltativi.
Specifica l'azione da eseguire quando una route soddisfa la condizione della regola.
L'indirizzo IP viene specificato nello stesso modo descritto per i filtri di route IP; ovvero, nella normale notazione decimale puntata, come indirizzo in cui è stato effettuato il factoring, un numero esadecimale o con un campo facoltativo /bits. Per ulteriori informazioni, vedere la pagina del manuale IP Route Filter.
È necessario specificare un parametro in o out. Specifica la direzione in base alla quale viene applicata la regola.
Questi modificatori si applicano se la direzione è in:
ipaddr: indirizzo IP del peer
srcas: la route ha questo numero AS di origine
hasas — questo numero AS è contenuto nel percorso AS
nhop: il percorso ha l'hop successivo
comm - questa community è inclusa nell'elenco attributi
setpref — imposta la preferenza su questo valore
setwt — imposta lo spessore su questo valore
Il parametro ipaddr | ha | srca | comunicazione | I modificatori nhop limitano le regole di input alle route provenienti dall'indirizzo IP, dal numero AS, dalla community o dall'hop successivo designato. Solo uno di questi cinque argomenti è atteso. hasas indica che la regola verrà applicata se il percorso AS contiene il numero AS specificato in un punto qualsiasi del percorso AS; srcas indica che la regola verrà applicata solo se la route ha origine nel server AS specificato.
Il modificatore setpref consente di impostare la preferenza sulle route in ingresso. Se si specifica un parametro ipaddr, hasas, srcas, comm o nhop, la preferenza verrà impostata solo per le route che soddisfano la condizione specificata.
Il modificatore setwt consente di impostare il peso sulle route in ingresso. Se si specifica un ipaddr, hasas, srcas, comm o nhop, il peso verrà impostato solo per le route che soddisfano la condizione specificata.
I seguenti modificatori si applicano se la direzione è esterna:
ipaddr: indirizzo IP del peer
toas — numero AS di peer
srcas — numero AS di origine della rotta
origine: protocollo da cui proviene la route
snenthop — imposta l'attributo dell'hop successivo
setmed — imposta attributo discriminatore a più uscite
setasp — anteporre un percorso AS al percorso corrente
setcomm — imposta un nuovo elenco community, eliminando il vecchio
addcomm — anteporre un elenco community a uno esistente
Il parametro ipaddr | i modificatori toas limitano le regole di output alle route verso l'indirizzo IP o il numero AS designato. È previsto un solo argomento. Se il router ha solo un peer in un determinato AS, ipaddr o toas otterranno lo stesso risultato. Se il router ha più peer all'interno di un'appliance ASA adiacente, utilizzare l'indirizzo IP del peer per limitare la regola solo a tale peer oppure utilizzare il numero AS per applicare la regola a ogni peer nell'appliance ASA.
Il modificatore srcas limita le regole di output alle route originate dal numero AS designato.
Il modificatore del protocollo di origine limita le regole di output alle route provenienti dal protocollo designato. BGP può annunciare route dirette, statiche, RIP, OSPF o altre route BGP dalla propria tabella di routing IP ai peer.
Il modificatore endpoint consente di impostare l'hop successivo sul percorso in uscita.
Il modificatore setmed consente di impostare il discriminatore a più uscite sul percorso in uscita.
Il modificatore setasp consente di anteporre l'elenco AS specificato all'attributo path dell'AS in uscita. È possibile immettere fino a 6 numeri AS.
Il modificatore setcomm consente di impostare un elenco community sul percorso in uscita. I parametri possono essere costituiti da un massimo di 6 numeri di comunità oppure da una delle comunità speciali: "noexport", "noadv" o "noexpsub". Queste sono le tre comunità "conosciute" definite nella RFC 1997, BGP Communities Attribute: NO_EXPORT, NO_ADVERTISE e NO_EXPORT_SUBCONFED.
Il modificatore addcomm consente di anteporre un elenco della community al percorso in uscita. I parametri possono contenere fino a 6 numeri di comunità.
Nella mappa della route BGP mymapin, la route 192.61.5.0 sarà consentita se l'attributo community contiene la community 200 e la preferenza verrà impostata su 100. Nella seconda riga, verranno accettate anche tutte le altre route dalla community 200, ma la preferenza verrà impostata su 300. Le route che non contengono la community 200 verranno rifiutate.
In BGP Route Map mymapout, tutte le route dirette specificate nella sezione BGP Networks saranno consentite fino al numero AS 200 e il MED sarà impostato su 10. Nella seconda linea, tutte le route saranno consentite fino al numero AS 300, ma il valore Community sarà impostato su noadv (NO_ADVERTISE).
[ BGP Route Map "mymapin" ] permit 192.61.5.0 in comm 200 setpref 100 permit 0.0.0.0 in comm 200 setpref 300 [ BGP Route Map "mymapout" ] permit 0.0.0.0 out toas 200 origin direct setmed 10 permit 0.0.0.0 out toas 300 setcomm noadv
Le route map consentono all'amministratore di influenzare il processo di selezione delle route, poiché BGP utilizza, tra le altre cose, il peso, la preferenza e il MED. BGP utilizza i seguenti criteri, nell'ordine presentato, per selezionare la route migliore per una destinazione:
Il percorso preferito è il percorso con il peso maggiore.
Se i pesi sono gli stessi, selezionate il tracciato con la preferenza locale più grande.
Se le preferenze sono le stesse, selezionare il percorso con la lunghezza del percorso AS più breve.
Se tutti i tracciati hanno la stessa lunghezza del tracciato AS, selezionate il tracciato con il tracciato MED più basso.
Se i percorsi hanno lo stesso MED, selezionare il percorso dal peer BGP con l'ID router più basso.
l'utente ha la possibilità di usare i filtri delle route IP con BGP anziché con le route map BGP; tuttavia, i filtri di route IP non consentono di impostare gli attributi BGP come descritto nella sezione Mappa route BGP. Se è stato definito un InputRouteMap per un peer, i filtri di route IP verranno ignorati per le route di input anche se il parametro BGPUseIPRFltrs è stato impostato su TRUE nella sezione Generale di BGP. Analogamente, se è stato definito un OutputRouteMap per un peer, i filtri di route IP verranno ignorati per le route di output.
Per BGP, è stato aggiunto un parametro aggiuntivo al filtro route IP, che è il filtro basato sul percorso AS. Una route BGP contiene informazioni relative a ciascun sistema autonomo (AS) attraversato. La route 199.41.13.0, con origine in AS 500, avrebbe due percorsi AS per raggiungere R1: [200,300,500] e [400,600,500].
Nell'esempio seguente, il comando IP Route Filter bgpin viene applicato al router R1. Tutte le route provenienti dall'AS 300 verranno escluse e tutte le route provenienti dall'AS 400 verranno autorizzate.
Il bgpout del filtro route IP consente di annunciare 192.62.16.0 a R2 e di annunciare 192.62.17.0 a R4. È possibile usare gli indirizzi IP di R2 e R4 al posto dei numeri AS nel bgpout.
Il filtro di routing IP bgp600 illustra l'utilizzo della parola chiave contains. Questo filtro nega tutte le route in ingresso che contengono AS 600 in qualsiasi punto del percorso AS.
Prendere nota della riga finale nei filtri route per impedire il filtraggio non intenzionale delle route RIP e OSPF:
[ IP Route Filter "bgpin" ] deny 0.0.0.0 in via bgp from 300 permit 0.0.0.0 in via bgp from 400 permit 0.0.0.0 in via rip ospf [ IP Route Filter "bgpout" ] permit 192.62.16.0 out via bgp to 200 permit 192.62.17.0 out via bgp to 400 permit 0.0.0.0 out via rip ospf [ IP Route Filter "bgp600" ] deny 0.0.0.0 in via bgp contains 600 permit 0.0.0.0 in via rip ospf --------- --------- --------- 192.62.16.0 | R1 |___________| R2 |__________| R3 | 192.62.17.0 | AS100 | | AS200 | | AS300 | --------- --------- --------- | | | | --------- --------- --------- | R4 |__________| R6 |__________| R5 | 199.41.13.0 | AS400 | | AS600 | | AS500 | --------- --------- ---------
Non è tuttavia possibile eseguire le operazioni seguenti con il filtro AS, poiché il filtro AS viene applicato all'origine della route. Si supponga che il router R1 riceva una pubblicità relativa alla route 199.41.13.0 da entrambi i peer R2 e R4 e che la route abbia origine nell'AS 500. Il percorso AS per la route da R2 è quindi [200,300,500] e il percorso AS per la stessa route da R4 è [400,600,500].
[ IP Route Filter "does not work as intended" ] deny 199.41.13.0 in via bgp from 200 permit 199.41.13.0 in via bgp from 400
Anche se la sintassi è corretta, il filtro precedente provocherebbe solo il rifiuto della route; non corrisponde al filtro della riga 2 perché il relativo numero AS di origine è 500, non 400. Per raggiungere lo scopo indicato in precedenza, è possibile utilizzare gli indirizzi IP dei peer R2 e R4:
[ IP Route Filter "bgpin" ] deny 199.41.13.0 in via BGP from "R2's IP address" permit 199.41.13.0 in via BGP from "R4's IP address"
Sono disponibili diversi comandi show per BGP e comandi per abilitare/disabilitare BGP o ripristinare le connessioni BGP:
show bgp rtcount BGP Routing Entry Counts show bgp routes Display BGP Routing Entries show bgp peers Display the list of BGP Peers and current status show bgp timers BGP Peer timer information show bgp mem BGP Database Memory Allocation show bgp config BGP configuration information show bgp stats BGP peer uptime and packet exchange statistics show bgp networks Display list of internal networks to be advertised show bgp aggregates Display BGP routes to be aggregated bgp disable Disable BGP connection to all peers or 1 specified peer Usage: { ALL | IP Address } bgp enable Enable BGP connection to all peers or 1 specified peer Usage: { ALL | IP Address } bgp reset peer Reset BGP connection to all peers or 1 specified peer Usage: { ALL | IP Address }
Questo comando visualizza un riepilogo del numero di route nel database di routing BGP. Con BGP, questo è utile se il numero di percorsi è molto elevato e si desidera conoscere il numero, ma non stamparlo.
BGP Test> sho bgp rt BGP Routing Database Entries In Use Added Removed In IP routing table: 51548 78694 27146 BGP route heads: 51548 78702 27154 IP Routing Table Entries: 51561
Il comando show bgp route, senza argomenti, visualizza la route migliore nel database di routing BGP per ciascuna destinazione. Di seguito è riportato un estratto di esempio.
Il database di routing BGP può contenere route non incluse nella tabella di routing IP del router; una route BGP non è presente nella tabella di routing IP se il router non dispone di una voce per l'hop successivo della route.
bgptest>sho bgp ro BGP Best Routes List Network/Mask Bits Pref Weight Next Hop AS Path 1 128.128.0.0 /16 100 100 199.45.133.101 3404 1 1 2 129.129.0.0 /16 100 100 199.45.133.101 3404 1 1239 1673 1133 559 3 130.130.0.0 /16 100 100 199.45.133.101 3404 1 1 5727 7474 7570 4 131.131.0.0 /16 100 100 199.45.133.101 3404 1 1 1236 5 134.134.0.0 /16 100 100 199.45.133.101 3404 1 1239 1760 4983 6 135.135.0.0 /16 100 100 199.45.133.101 3404 3561 3561 4293 7 139.139.0.0 /16 100 100 199.45.133.101 3404 1 1239 568 1913 1569 8 140.140.0.0 /16 100 100 199.45.133.101 3404 1 1239 7170 374 9 141.141.0.0 /16 100 100 199.45.133.101 3404 1 1239 3739 3739 3739 10 142.142.0.0 /16 100 100 199.45.133.101 3404 3561 3561 577 549 808 11 147.147.0.0 /16 100 100 199.45.133.101 3404 3561 3561 5400 2856 12 149.149.0.0 /16 100 100 199.45.133.101 3404 1 1 3749 13 150.150.0.0 /16 100 100 199.45.133.101 3404 3561 3561 3786 6068 14 151.151.0.0 /16 100 100 199.45.133.101 3404 1 1239 174 15 152.152.0.0 /16 100 100 199.45.133.101 3404 1 1 286 1891 16 155.155.0.0 /16 100 100 199.45.133.101 3404 1 701 702 8413 1913 1564 17 158.158.0.0 /16 100 100 199.45.133.101 3404 3561 3561 18 161.161.0.0 /16 100 100 199.45.133.101 3404 1 1239 174 19 164.164.0.0 /16 100 100 199.45.133.101 3404 1 701 7633 20 165.165.0.0 /16 100 100 199.45.133.101 3404 1 701 5713
il comando show può essere richiamato anche con una route specifica, nel qual caso visualizzerà tutti i percorsi di tale route.
BGP 2600>sho bgp ro 129.129.0.0 BGP routing table entry for 129.129.0.0/16 Paths: (in order of preference, best first) AS path 11129 3404 1239 1673 1133 559 Next hop 198.41.11.1 from peer 198.41.11.17 (RtrID 198.41.11.17) Origin IGP, localpref 100, weight 100 AS path 12345 11129 3404 1239 1673 1133 559 Next hop 198.41.11.1 from peer 198.41.11.201 (RtrID 198.41.11.201) Origin IGP, localpref 100, weight 100
Se si immette solo un indirizzo IP, verrà visualizzato il percorso più specifico. Per visualizzare una route meno specifica con lo stesso indirizzo IP, immettere anche la maschera.
Le route BGP vengono visualizzate utilizzando la notazione CIDR: Bit di rete/maschera anziché route/maschera.
La preferenza e il peso possono essere impostati usando le route map BGP. In caso contrario, verranno utilizzati i valori predefiniti di Preferenza locale e Peso.
Viene visualizzato il percorso completo dell'AS, dove l'AS di origine è quello più a destra. Ogni AS che passa il percorso anteporrà il proprio AS all'attributo del percorso AS.
Di seguito è riportato un estratto della tabella di routing IP per il comando show ip routing con route BGP. Per BGP, la metrica è la lunghezza del percorso, come per RIP. La maggior parte delle route BGP è IGP, ovvero ha origine in un protocollo gateway interno. Le altre possibilità sono EGP (exterior gateway protocol) o Incomplete (di solito indica un percorso statico).
bgptest> sho ip ro dynamic bgp Dynamic Routes: Destination Mask Gateway Metric Uses Type Src/TTL Interface 3.0.0.0 FF000000 198.41.11.1 5 0 BGP INC Ether0 6.0.0.0 FF000000 198.41.11.1 6 0 BGP INC Ether0 9.2.0.0 FFFF0000 198.41.11.1 6 0 BGP IGP Ether0 9.20.0.0 FFFF8000 198.41.11.1 6 0 BGP INC Ether0 12.0.0.0 FF000000 198.41.11.1 5 0 BGP IGP Ether0 12.2.97.0 FFFFFF00 198.41.11.1 6 0 BGP IGP Ether0 12.2.183.0 FFFFFF00 198.41.11.1 4 0 BGP IGP Ether0 12.4.164.0 FFFFFF00 198.41.11.1 5 0 BGP IGP Ether0 12.5.164.0 FFFFFF00 198.41.11.1 5 0 BGP IGP Ether0 12.5.252.0 FFFFFE00 198.41.11.1 6 0 BGP IGP Ether0 12.6.42.0 FFFFFE00 198.41.11.1 6 0 BGP IGP Ether0 12.7.214.0 FFFFFE00 198.41.11.1 11 0 BGP IGP Ether0 12.8.188.0 FFFFFC00 198.41.11.1 5 0 BGP IGP Ether0 12.8.188.0 FFFFFF00 198.41.11.1 5 0 BGP INC Ether0 12.8.189.0 FFFFFF00 198.41.11.1 5 0 BGP INC Ether0 12.8.191.0 FFFFFF00 198.41.11.1 5 0 BGP INC Ether0 12.10.14.0 FFFFFE00 198.41.11.1 5 0 BGP INC Ether0 12.10.152.0 FFFFF800 198.41.11.1 5 0 BGP IGP Ether0 12.10.231.0 FFFFFF00 198.41.11.1 6 0 BGP IGP Ether0 12.11.134.0 FFFFFE00 198.41.11.1 5 0 BGP IGP Ether0
Il comando show bgp peers visualizza i peer BGP configurati del router, con informazioni sul numero AS del peer, l'ID del router, l'indirizzo IP, il numero di socket TCP, lo stato di abilitazione e lo stato di connessione BGP.
bgptest>sho bgp peers ========================================================================== BGP PEER STATUS -------------------------------------------------------------------------- Int AS Router IP TCP Enable BGP Ext Number ID Address Socket Status State -------------------------------------------------------------------------- Ext 23456 0.0.0.0 198.14.13.18 0 Off IDLE Ext 34567 198.41.11.6 198.14.12.6 82 On ESTABLISHED Int 11129 0.0.0.0 198.41.11.17 0 Off IDLE Int 11129 0.0.0.0 198.41.11.2 0 On ACTIVE ==========================================================================
Int/Ext indica se si tratta di un peer interno o esterno. (Un peer interno ha lo stesso numero AS del router stesso). Il numero AS del peer è configurato nell'elenco dei peer BGP.
L'ID router non è noto finché il peer non contatta il router, quindi se lo stato di connessione è IDLE, ACTIVE o CONNECT, questo parametro potrebbe essere 0. L'ID router è in genere l'indirizzo IP di una delle interfacce del peer e può essere o non essere lo stesso dell'indirizzo IP.
Lo stato di abilitazione indica se il router accetterà una richiesta di connessione da questo peer. È possibile attivare il peer impostandolo su On nell'elenco dei peer BGP. Inoltre, il peer può essere abilitato o disabilitato dinamicamente dai comandi BGP Peer Enable e BGP Peer Disable. Quando lo stato di abilitazione è Off, lo stato BGP è sempre IDLE.
Gli stati di connessione BGP sono: IDLE, ACTIVE, CONNECT, OPENSENT, OPENCONFIRM e DEFINED. Lo stato di connessione viene stabilito tramite negoziazioni attive tra peer. In stato IDLE, il router non accetterà connessioni dal peer. Questo stato viene immesso per breve tempo dopo il timeout di una connessione, per evitare transizioni verso l'alto e verso il basso troppo rapide dei peer. Nello stato ACTIVE , il router è in ascolto sulla porta del server per le richieste di connessione dal peer. In stato CONNECT, il router ha inviato una richiesta di connessione TCP attiva al peer. Negli stati OPENSENT e OPENCONFIRM, i due peer si scambiano i pacchetti preliminari per stabilire la propria sessione BGP. Se gli scambi avranno successo, i pari entreranno nello stato STABILITO. I peer devono continuare a scambiarsi pacchetti KEEPALIVE periodici per rimanere nello stato stabilito, a meno che il tempo di attesa negoziato sia pari a 0.
BGP comunica con i suoi peer tramite TCP. Pertanto, è possibile ottenere ulteriori informazioni sulle sessioni BGP con il comando "show os tcp". Gli stati TCP non sono gli stessi degli stati BGP, ma sono gli stati TCP standard (LISTEN, SYNSENT, SYNRCVD, DEFINED, FINWAIT1, FINWAIT2, CLOSEWAIT, LASTACK, CLOSING, TIMEWAIT). BGP utilizza la porta 179 per l'ascolto dei tentativi di connessione BGP.
bgptest>sho os tcp ========================================================================== TCP SESSION INFORMATION -------------------------------------------------------------------------- Local Remote Remote Num Session Type State Socket Port Port IP Address -------------------------------------------------------------------------- 1 SERVER (TELNET) LISTEN 80 23 0 0.0.0.0 2 SERVER (BGP) LISTEN 81 179 0 0.0.0.0 3 ACTIVE (BGP) ESTABLISH 82 20001 179 198.41.9.2 -------------------------------------------------------------------------- 13 free TCBs out of 16. ==========================================================================
Il comando show bgp networks visualizza l'elenco delle reti interne da annunciare ai peer BGP esterni.
bgptest>sho bgp networks BGP NETWORKS: 2 Address Mask 198.41.11.0 255.255.255.0 209.14.128.0 255.255.255.0
Il comando show bgp stats visualizza le statistiche sui tipi di pacchetto ricevuti e inviati ai peer BGP e il tempo di attività corrente del peer.
BGP Test>sho bgp stats Received Sent Open messages: 8 58 Keepalive messages: 4069 4124 Notify messages: 0 0 BGP External Peer 198.41.11.6 state ESTABLISHED 6 peer sessions, current uptime 2 days 16 hours 40 minutes 19 secs 0 updates received 78791 updates sent, last at 6 secs BGP Internal Peer 198.41.9.2 state ESTABLISHED 1 peer sessions, current uptime 2 days 20 hours 42 minutes 28 secs 88791 updates received, last at 7 secs 0 updates sent
Il comando show bgp timers visualizza l'ora corrente in secondi rimasta su ciascun timer associato a ciascun peer. Se il peer è nello stato STABILITO, si tratta del timer KEEPALIVE e del timer HOLD. Se il peer è nello stato ACTIVE, sarà il timer CONNECT. Se il peer è nello stato IDLE ma è abilitato, il timer di abilitazione automatica verrà attivato. Se il peer è INATTIVO e disabilitato, non sarà attivo alcun timer fino all'esecuzione del comando bgp peer enable.
BGP Test>sho bgp timers ====================================================================== BGP TIMERS ---------------------------------------------------------------------- Peer Address Status State Timers ---------------------------------------------------------------------- 198.41.9.2 Enabled ESTABLISHED Send KEEPALIVE pkt: 2 secs HOLD timer expires: 121 secs 198.14.13.2 Enabled ACTIVE Next CONNECT attempt: 16 secs 199.13.12.3 Enabled IDLE AUTO ENABLE: 112 secs 198.41.9.3 Disabled IDLE No timers active ======================================================================
Quando un peer è nello stato STABILITO, il timer Keepalive indica per quanti secondi il router invierà un altro pacchetto KEEPALIVE al peer. Il timer di attesa indica quanti secondi mancano alla scadenza del timer di attesa per il peer. Il timer di attesa viene impostato ogni volta che il router riceve un pacchetto UPDATE o KEEPALIVE dal peer. Se il timer di attesa scade, il router dichiara il peer inattivo, passa il peer allo stato IDLE e imposta il timer di abilitazione automatica.
I timer di connessione e abilitazione automatica indicano entrambi quanti secondi rimangono finché il router non tenta nuovamente di contattare il peer. Il timer Connect viene utilizzato quando il peer è nello stato ACTIVE; in questo stato, il router accetterà una richiesta di connessione in ingresso dal peer prima della scadenza del tempo di connessione. Il timer di abilitazione automatica viene utilizzato quando il peer è nello stato IDLE; in questo stato, il router NON accetterà una richiesta di connessione dal peer fino alla scadenza del tempo di abilitazione automatica. Alla scadenza del tempo di abilitazione automatica, il peer tornerà allo stato ATTIVO.
Lo scopo del timer di abilitazione automatica è quello di impedire alle sessioni peer di salire e scendere a una velocità eccessiva. Una volta che una sessione peer è stata interrotta per qualche motivo, il peer viene trattenuto per un breve periodo prima che una nuova sessione sia consentita.
Il comando show bgp mem visualizza informazioni dettagliate sull'utilizzo della memoria dinamica per BGP.
BGP Test>sho bgp mem ROUTING DATABASE DYNAMIC MEMORY USAGE ------------------------------------------------------------ Memory Block Allocs Deallocs Size (bytes) ------------------------------------------------------------ ip radix nodes 1976180 ip routing entries 4332132 bgp ip routes 78709 27149 bgp routes 78717 27157 2062400 bgp int change 0 0 0 bgp aggregates 0 0 0 bgp agg paths 0 0 0 bgp timers 12 0 384 ------------------------------------------------------- Peer 198.41.9.2 bgp path entries 78728 27168 1443680 bgp transmit queues 0 0 0 bgp PA strings 28151 21181 1784320 bgp PA hdr entries 28151 21181 529720 bgp rejected routes 0 0 0 bgp rej entries 0 0 0 bgp history entries 0 0 0 ------------------------------------------------------------ Total Size 12128816 ------------------------------------------------------------
Con questo comando vengono visualizzati l'ID del router, i parametri impostati nella sezione Generale BGP, lo stato di ridistribuzione della route e i parametri di configurazione peer. Notare che l'ID del router per BGP è lo stesso di OSPF, l'indirizzo IP più grande delle interfacce IP del router.
bgptest>sho bgp config BGPEnabled Yes Router ID 205.14.128.2 BGP AS Number 100 BGP Local Preference 100 Use IP Route Filters Yes Route Relector Server No Redistribute RIP routes into BGP is disabled Redistribute OSPF routes into BGP is disabled Redistribute BGP routes into OSPF is disabled Redistribute BGP routes into RIP is disabled BGP Peer 205.14.128.1 Configuration ID 1 Startup State Inactive AS Number 110 Peer Weight 2000 Next Hop Self No Cfg Hold Time 180 Retry Time 45 Use Loopback No Advertise Default Yes Input Route Map rmapin Output Route Map rmapout BGP Peer 198.41.11.213 Configuration ID 2 Startup State Active AS Number 100 Peer Weight 1000 Next Hop Self No Cfg Hold Time 180 Retry Time 65 Use Loopback No Advertise Default No Input Route Map None Output Route Map None
Lo stato di avvio del peer indica se il router tenterà di stabilire una sessione con il peer all'accensione. Se l'opzione è impostata su Inactive, il peer può essere abilitato con il comando BGP Enable. Tuttavia, il peer sarà nuovamente inattivo al successivo riavvio del router.
Si noti che per il primo peer sono definite route map BGP, a differenza del secondo peer. Poiché Usa filtri route IP è stato impostato su Sì, verranno utilizzati per il secondo peer, ma non per il primo.
Il comando show bgp aggregates visualizza le route configurate dall'amministratore per l'aggregazione ai peer esterni. L'aggregazione viene eseguita solo quando un'istanza della route viene visualizzata nella tabella di routing IP.
bgptest>sho bgp agg BGP AGGREGATES: 195.41.0.0/16
Questo comando interrompe una sessione BGP con un peer selezionato o con tutti i peer.
BGP disable all OR BGP disable 205.14.128.1
Questo comando reimposta una sessione con un peer BGP selezionato o con tutti i peer.
Reset BGP Peer all OR Reset BGP Peer 205.14.128.1
Ecco una configurazione molto semplice per rendere BGP operativo. Si presume che il sistema abbia un solo punto di uscita e che pertanto venga utilizzato un percorso statico predefinito per i pacchetti in uscita.
Abilitare BGP e specificare il numero AS nella sezione generale di BGP.
[ BGP General ] BGPEnabled = On BGPAS = your AS number
Specificare l'indirizzo IP e il numero AS del peer BGP, in questo caso il router BGP dell'ISP.
[ BGP Peer List ] BGPPeer = On peer IP address peer AS number
Specificare un elenco di reti per le reti interne che si desidera annunciare all'esterno dell'AS.
[ BGP Networks ] LocalNet = first IP address mask LocalNet = second IP address mask
Per le versioni di codice con debug disponibile, sono disponibili cinque comandi di debug BGP: BGPKT, BGPDB, BGPCON, BGPKEEP e BGPTXQ. BGPPKT fornisce informazioni sullo scambio di pacchetti di aggiornamento BGP. BGPFDB fornisce informazioni sull'aggiornamento del database. BGPCON fornisce informazioni sullo stato delle sessioni BGP con peer. BGPKEEP fornisce informazioni su quando i pacchetti KEEPALIVE sono stati inviati o ricevuti. BGPTXQ fornisce informazioni sull'invio di pacchetti di aggiornamento ai peer in stato STABILITO.
sys debug flags BGPPKT sys debug flags BGPCON sys debug flags BGPFDB sys debug flags BGPKEEP sys debug flags BGPTXQ
rfc2283 -- Multiprotocol Extensions for BGP-4. T. Bates, R. Chandra, D. Katz, Y. Rekhter. February 1998. (Status: PROPOSED STANDARD) rfc2042 -- Registering New BGP Attribute Types. B. Manning. January 1997. (Status: INFORMATIONAL) rfc1998 -- An Application of the BGP Community Attribute in Multi-home Routing. E. Chen & T. Bates. August 1996. (Status: INFORMATIONAL) rfc1997 -- BGP Communities Attribute. R. Chandra, P. Traina & T. Li. August 1996. (Status: PROPOSED STANDARD) rfc1965 -- Autonomous System Confederations for BGP. P. Traina. June 1996. (Status: EXPERIMENTAL) rfc1863 -- A BGP/IDRP Route Server alternative to a full mesh routing. D. Haskin. October 1995. (Status: EXPERIMENTAL) rfc1774 -- BGP-4 Protocol Analysis. P. Traina, Editor. March 1995. (Status: INFORMATIONAL) rfc1773 -- Experience with the BGP-4 protocol. P. Traina. March 1995. (Status: INFORMATIONAL) rfc1771 -- A Border Gateway Protocol 4 (BGP-4). Y. Rekhter & T. Li. March 1995. (Status: DRAFT STANDARD) rfc1745 -- BGP4/IDRP for IP---OSPF Interaction. K. Varadhan, S. Hares, Y. Rekhter. December 1994. (Status: PROPOSED STANDARD)
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
22-Jan-2007 |
Versione iniziale |