Está en la página 1de 46

Fundamentos de

enrutamiento con
BGP-4

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 1
Programa de la sesión
 Características de BGP, diferencias de los otros protocolos de
enrutamiento conocidos.
 Describir los mensajes y tablas usadas por BGP.
 Ejemplificar la configuración de una sesión BGP para routers vecinos
internos y externos.
 Describir los estados de una sesión BGP.
 Aprender a configurar grupos de vecinos BGP.
 Aprender a configurar autentificación BGP.
 Proceso de selección de rutas en BGP.
 Uso de atributos para influenciar el proceso de selección de rutas.
 Ejemplos de configuración usando route-maps para modificar el valor de
los atributos.
 Problemas comunes en enrutamiento con BGP.

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 2
Aspectos
fundamentales de
BGP

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 3
 Un AS es un conjunto de redes o equipos de redes
bajo una misma administración técnica.
 Los IGPs operan al interior de un AS.
 BGP es usado entre ASs.
 BGP garantiza el intercambio de información de
enrutamiento libre de loops.
BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 4
Aspectos fundamentales de BGP
 Un AS es un grupo de routers que comparten las
mismas políticas de enrutamiento, y están bajo un
mismo dominio administrativo.
 Un AS puede ser una colección de routers corriendo un
mismo IGP, o bien, usando variados protocolos de
enrutamiento pero dichos routers perteneciendo a una
misma organización.
 En cualquier caso, el mundo exterior verá al AS como
una solo entidad.

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 5
Aspectos fundamentales de BGP
 Cada enrutador que utiliza BGP debe usar un número
de AS. Éstos pueden ser privados o públicos.
 La Internet Assigned Numbers Authority (IANA) está
llevando a cabo una política en que insta a las
organizaciones que se conectan a un solo ISP, y que
están bajo sus políticas de enrutamiendo, a usar
números de AS privados (64512 al 65535).
 Estos números de AS privados aparecen sólo dentro
de la red del proveedor y son reemplazados por el o los
números de AS públicos una vez que estas
actualizaciones dejan el AS privado.

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 6
BGP le da conectividad a la Internet

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 7
Sesiones BGP

 Un “BGP peer”, también conocido como “compañero


BGP” es un término usado para describir a un router
que ha establecido una relación con otro a través de
BGP.
 2 routers que hayan formado una conexión TCP
(puerto 179) para intercambiar información de
enrutamiento por medio de BGP, son llamados “BGP
Peers”.
BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 8
Sesiones eBGP

 Cuando BGP está corriendo entre vecinos que


pertenecen a distintos AS, se dice que entre ellos
existe una sesión eBGP.
 Compañeros eBGP, por defecto, necesitan estar
directamente conectados.
BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 9
Sesiones iBGP

 Cuando BGP está corriendo entre vecinos dentro de un


mismo AS, se dice que han establecido una sesión
iBGP.
 Los iBGP peers no necesariamente deben estar
directamente conectados.
BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 10
Tipos de mensajes BGP
BGP define los siguientes mensajes:
 Open
Se anuncia Holdtime y BGP router ID entre otros parámetros.
 Keepalive
 Update
Se publican los atributos de un trayecto en particular, así como las
rutas o prefijos que pueden ser alcanzados a través de dicho
trayecto.
 Notification
Se envían cuando se ha detectado un error.
La sesión BGP es cerrada una vez que se ha enviado o recibido.

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 11
Tablas usadas por BGP
 Tabla de Vecinos o “Neighbor”
Lista los vecinos BGP, es decir, aquellos routers con quienes se ha
establecido una sesión iBGP o eBGP.

 Tabla BGP (forwarding database)


Lista las redes aprendidas de cada vecino o neighbor.
Puede contener múltiples trayectorias hacia una red en particular.
Contiene los atributos BGP para cada trayectoria.

 Tabla de entutamiento IP
Lista de las mejores trayectorias para cada red. de destino.

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 12
Commandos
BGP

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 13
Comando neighbor
BGP Terms

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 14
BGP usando direcciones Loopback

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 15
Comando ebgp-multihop

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 16
Ejemplo: BGP Peering
RouterA# show ip bgp summary
BGP router identifier 10.1.1.1, local AS number 65001
BGP table version is 124, main routing table version 124
9 network entries using 1053 bytes of memory
22 path entries using 1144 bytes of memory
12/5 BGP path/bestpath attribute entries using 1488 bytes of memory
6 BGP AS-PATH entries using 144 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 3829 total bytes of memory
BGP activity 58/49 prefixes, 72/50 paths, scan interval 60 secs

Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd

10.1.0.2 4 65001 11 11 124 0 0 00:02:28 8


172.31.1.3 4 64998 21 18 124 0 0 00:01:13 6
172.31.11.4 4 64999 11 10 124 0 0 00:01:11 6

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 17
Estados de
sesión en BGP

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 18
Estados de sesión en BGP
Cuando se establece una sesión BGP, ésta pasa por
las siguientes fases:
• Idle: el router está buscando en su tabla de
enrutamiento si cuenta con una ruta para alcanzar a su
vecino.
• Connect: el router encontró una ruta para alcanzar a su
vecino y acaba de completar el handskake de 3 vías de
TCP.
• Open sent: mensaje Open enviado con los parámetros
de la sesión respectiva.
• Open confirm: el router ha recibido confirmación acerca
de los parámetros de la sesión que se está
estableciendo. Si no se recibe este mensaje dentro de 5
segundos, la sesión entra en el estado Active.
• Established: la sesión está plenamente operativa y se
puede llevar a cabo el intercambio de
BSCI Module 6
actualizaciones.ternativamente, el router entra en el estado
© 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 19
Ejemplo: Comando
show ip bgp neighbors
RouterA#sh ip bgp neighbors
BGP neighbor is 172.31.1.3, remote AS 64998, external link
BGP version 4, remote router ID 172.31.2.3
BGP state = Established, up for 00:19:10
Last read 00:00:10, last write 00:00:10, hold time is 180, keepalive
interval is 60 seconds
Neighbor capabilities:
Route refresh: advertised and received(old & new)
Address family IPv4 Unicast: advertised and received
Message statistics:
InQ depth is 0
OutQ depth is 0
Sent Rcvd
Opens: 7 7
Notifications: 0 0
Updates: 13 38
<output omitted>

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 20
BGP Peer
Grupos &
Vecinos

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 21
Usando un Group Peer

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 22
Autenticación de compañeros BGP

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 23
Ejemplo: Comando show ip bgp
router#show ip bgp
BGP table version is 14, local router ID is 172.31.11.1
Status codes: s suppressed, d damped, h history, * valid, > best, i -
internal, r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 10.1.0.0/24 0.0.0.0 0 32768 i
* i 10.1.0.2 0 100 0 i
*> 10.1.1.0/24 0.0.0.0 0 32768 i
*>i10.1.2.0/24 10.1.0.2 0 100 0 i
*> 10.97.97.0/24 172.31.1.3 0 64998 64997 i
* 172.31.11.4 0 64999 64997 i
* i 172.31.11.4 0 100 0 64999 64997 i
*> 10.254.0.0/24 172.31.1.3 0 0 64998 i
* 172.31.11.4 0 64999 64998 i
* i 172.31.1.3 0 100 0 64998 i
r> 172.31.1.0/24 172.31.1.3 0 0 64998 i
r 172.31.11.4 0 64999 64998 i
r i 172.31.1.3 0 100 0 64998 i
*> 172.31.2.0/24 172.31.1.3 0 0 64998 i
<output omitted>

Displays networks from lowest to highest.


BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 24
Reseteado de
sesiones BGP

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 25
Resetando una sesión BGP
 Cuando se alteran listas de filtrado de rutas o atributos
BGP, los cambios toman efecto inmediatamente, pero
sólo la próxima vez que se publique o reciba una
actualización referente a esa ruta, la nueva política
será usada.
 Esto puede tomar un tiempo considerable, por lo cual
es necesario forzar a que una actualización se publique
o solicite, acelerando el proceso.
 Es necesario gatillar una actualización para asegurar
que la nueva política sea inmediatamente aplicada a
todos los prefijos y rutas en cuestión.
 Formas de realizar esto:
Hard reset
Soft reset
Route refresh
BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 26
Hard Reset de sesiones
Router#
clear ip bgp *
 Resetea todas las sesiones BGP presentes
 Tabla de forwaring BGP es descartada.
 Sesión BGP realiza una transición desde Established a
Idle; todo debe ser reaprendido.

Router#
clear ip bgp [neighbor-address]

 Resetea una sesión en particular.


 La sesión BGP realiza una transición desde
Established a Idle; todo lo que provino de este vecino
debe ser reaprendido.
 Menos drástico que clear ip bgp *.
BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 27
Soft Reset de salida
Router#
clear ip bgp {*|neighbor-address} [soft out]

 Las rutas aprendidas de ese vecino no se pierden.


 El router reenvía toda la información BGP al vecino sin
necesidad de resetear la conexión.
 La conexión permanece establecida.
 Esta opción es altamente recomendada cuando se
está cambiando una política de salida.
 La opción NO ayuda si se está cambiando una política
de entrada.

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 28
Soft Reset de entrada
Router(config-router)#
neighbor [ip-address] soft-reconfiguration inbound

 El router almacena todas las actualizaciones desde un


vecino en particular en caso de que la política de entrada
cambie.
 Es un comando “memory-intensive”.
Router#
clear ip bgp {*|neighbor-address} soft in

 Cuando una política de entrada sea modificada, se usará


la información almacenada en esta tabla no filtrada, para
así generar las nuevas actualizaciones de entrada
acordes a la nueva política.

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 29
Refrescado de Ruta: Soft Reset dinámico
de entrada
Router#
clear ip bgp {*|neighbor-address} [soft in | in]

 Las rutas publicadas a ese vecino no son eliminadas.


 No almacena localmente información de
actualizaciones.
 La conexión permanece establecida.
 Disponible a partir de IOS 12.0(2)S y 12.0(6)T.
 No se requiere el comando previo
neighbor [ip-address] soft-reconfiguration inbound

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 30
Análisis del
atributo Local
Preference

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 31
Atributo Local Preference

Trayecto con el más alto valor de Local Preference será elegido:


 El atributo Local Preference es usado para publicar a los vecinos iBGP
acerca de qué enlace usar para abandonar su AS.
 El atributo Local Preference es enviado sólo a los vecinos iBGP, es decir,
sólo al interior del AS.
 Es un atributo Well-known y discretionary.
 Valor por defecto = 100
BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 32
Análisis del atributo Local Preference

¿Cuál es el mejor trayecto para que router C alcance


los AS 65003, 65004, y 65005?
BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 33
Tabla BGP para el router C con
configuración por defecto.
RouterC# show ip bgp
BGP table version is 7, local router ID is 3.3.3.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
* i172.16.0.0 172.20.50.1 100 0 65005 65004 65003 i
*>i 192.168.28.1 100 0 65002 65003 i
*>i172.24.0.0 172.20.50.1 100 0 65005 i
* i 192.168.28.1 100 0 65002 65003 65004 65005 i
*>i172.30.0.0 172.20.50.1 100 0 65005 65004 i
* i 192.168.28.1 100 0 65002 65003 65004i

Por defecto, BGP selecciona el trayecto con AS path más corto como el mejor (>).
En AS 65001, el porcentaje de tráfico cuyo destino es 172.24.0.0 está en 30%, para 172.30.0.0
es 20%, y para 172.16.0.0 es 10%.
50% de todo el tráfico irá hacia el Next Hop 172.20.50.1 (AS 65005), y 10% de todo el tráfico irá
hacia el Next Hop 192.168.28.1 (AS 65002).
Debemos lograr que la red de destino 172.30.0.0 seleccione como Next Hop a 192.168.28.1 y
así alcanzar un balanceo de carga óptimo con una carga por enlace externo de
aproximadamente 30%.
BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 34
route-map para el router A
Configuración:
router bgp 65001
neighbor 2.2.2.2 remote-as 65001
neighbor 3.3.3.3 remote-as 65001
neighbor 2.2.2.2 remote-as 65001 update-source loopback0
neighbor 3.3.3.3 remote-as 65001 update-source loopback0
neighbor 192.168.28.1 remote-as 65002
neighbor 192.168.28.1 route-map local_pref in
!
access-list 65 permit 172.30.0.0 0.0.255.255
!
route-map local_pref permit 10
match ip address 65
set local-preference 400
!
route-map local_pref permit 20

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 35
Tabla BGP para router C con Local
Preference modificado
RouterC# show ip bgp
BGP table version is 7, local router ID is 3.3.3.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
* i172.16.0.0 172.20.50.1 100 0 65005 65004 65003 i
*>i 192.168.28.1 100 0 65002 65003 i
*>i172.24.0.0 172.20.50.1 100 0 65005 i
* i 192.168.28.1 100 0 65002 65003 65004 65005
i
* i172.30.0.0 172.20.50.1 100 0 65005 65004 i
*>i 192.168.28.1 400 0 65002 65003 65004i

 Mejores (>) trayectos para las redes 172.16.0.0/16 y 172.24.0.0/16 no han cambiado.
 Mejor (>) trayecto para la red 172.30.0.0 ha cambiado al nuevo Next Hop 192.168.28.1
debido a que ese Next Hop 192.168.28.1 tiene un mayor valor de Local Preference, 400.
 En AS 65001, el porcentaje de tráfico hacia 172.24.0.0 es 30%, 172.30.0.0 es 20%, y
172.16.0.0 es 10%.
 30% de todo el tráfico irá hacia el Next Hop 172.20.50.1 (AS 65005), mientras que el otro
30% de todo el tráfico irá hacia el Next hop 192.168.28.1 (AS 65002).
BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 36
Análisis de
atributo MED

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 37
Atributo MED (Multiexit-discriminator)
El trayecto con el menor MED (también llamado Métrica)
será el elegido:
 El MED es usado para publicar a los vecinos EBGP por donde
éstos deben salir de sus AS de origen para alcanzar redes
pertenecientes a nuestro AS.

MED es un atributo
opcional notransitivo.

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 38
Uso de route-maps para manipular el
MED

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 39
route-map para router A
Configuración:
router bgp 65001
neighbor 2.2.2.2 remote-as 65001
neighbor 3.3.3.3 remote-as 65001
neighbor 2.2.2.2 update-source loopback0
neighbor 3.3.3.3 update-source loopback0
neighbor 192.168.28.1 remote-as 65004
neighbor 192.168.28.1 route-map med_65004 out
!
access-list 66 permit 192.168.25.0.0 0.0.0.255
access-list 66 permit 192.168.26.0.0 0.0.0.255
!
route-map med_65004 permit 10
match ip address 66
set metric 100
!
route-map med_65004 permit 20
set metric 200

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 40
route-map para router B
Configuración:
router bgp 65001
neighbor 1.1.1.1 remote-as 65001
neighbor 3.3.3.3 remote-as 65001
neighbor 1.1.1.1 update-source loopback0
neighbor 3.3.3.3 update-source loopback0
neighbor 172.20.50.1 remote-as 65004
neighbor 172.20.50.1 route-map med_65004 out
!
access-list 66 permit 192.168.24.0.0 0.0.0.255
!
route-map med_65004 permit 10
match ip address 66
set metric 100
!
route-map med_65004 permit 100
set metric 200

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 41
MED aprendido por router Z
RouterZ# show ip bgp
BGP table version is 7, local router ID is 122.30.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i -
internal, r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*>i192.168.24.0 172.20.50.2 100 100 0 65001 i
* i 192.168.28.2 200 100 0 65001 i
* i192.168.25.0 172.20.50.2 200 100 0 65001 i
*>i 192.168.28.2 100 100 0 65001 i
* i192.168.26.0 172.20.50.2 200 100 0 65001 i
*>i 192.168.28.2 100 100 0 65001 i
 Examinemos las redes que han sido aprendidas desde AS 65001 por Router Z en AS 65004.
 Para todas las redes: Weight es igual a 0; Local Preference is igual a 100; las rutas son no
originadas en este AS; AS path is igual para todas (65001); Origin Code es igual para todas
(i).
 192.168.24.0 tiene un más bajo MED a través del Next Hop 172.20.50.2 (100) que a través de
192.168.28.2 (200).
 192.168.25.0 tiene un más bajo MED a través del Next Hop 192.168.28.2 (100) que a través de
172.20.50.2 (200).
 192.168.26.0 tiene un más bajo MED a través del Next Hop 192.168.28.2 (100) que a través de
BSCI Module 172.20.50.2
6 © 2006 Cisco (200).
Systems, Inc. All rights reserved. Cisco Public 42
Proceso de selección de rutas en BGP
Considerar sólo rutas sincronizadas sin loops a nivel de
AS y con un Next Hop alcanzable. A continuación:
 Preferir el weight mayor (local al router).
 Preferir el más alto Local Preference (global dentro del AS).
 Preferir ruta originada por el router local (next hop = 0.0.0.0).
 Preferir el trayecto con menor número de saltos de ASs.
 Preferir el menor Origin code (IGP < EGP < incomplete).
 Preferir el menor MED (intercambiado entre ASs).
 Preferir trayecto eBGP por sobre uno iBGP.
 Preferir el trayecto a través del más cercano vecino IGP.
 Preferir la ruta más antigua para trayectos EBGP.
 Preferir la ruta cuyo vecino tengo el valor más bajo de router ID.
 Preferir el trayecto cuyo vecino tenga la dirección IP menor.
BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 43
Resumen
 BGP es un protocolo de enrutamiento por vector de trayectoria
que permite crear un diseño de enrutamiento basado en políticas
al interior de un AS.
 BGP forma relaciones eBGP con vecinos externos y relaciones
iBGP con vecinos internos. Al interior de un AS, lor routers deben
tener relaciones todos con todos, es decir, fully-meshed iBGP.
 BGP lleva a cabo un proceso de múltiples pasos cuando
selecciona la mejor trayectoria para un destino en particular.
 Es posible manipular la selección de rutas, creando políticas de
entrada o salida que modifican los atributos BGP. Usando route-
maps podemos alterar los valores de Local Preference, MED,
entre otros, con el fin de lograr la carga óptima para los enlaces.

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 44
Q and A

BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 45
BSCI Module 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 46

También podría gustarte