Zusammenfassung der Ressource
BORDER GATEWAY PROTOCOL (BGP)
- DESCRIPCION Y CARACTERISTICAS
- Intercambio de rutas (prefijos)
ente ASs diferentes
- Usa port TCP:179
- Requiere un IGP para rutear con iBGP (tambien se
puede con rutas estaticas o con BGPpuro pero no
es recomendado
- Solo un proceso por
Router
- Necesita neighbors que no necesariamente
corren el protocolo en sus interfaces
- Los neighbors no necesitan estar
directamente conectados
- Sesion iBGP en el mismo AS
- Sesion eBGP en
diferentes AS
- AS publicos:
1-64511
- AS privados:
64512-65535
- Implementa politicas de enrutamiento
complejas que no tienen otros protocolos IGP
- OPERACION Y FUNCIONAMIENTO
- Mecanismo para evitar
LOOPS
- Usa la informacion de los ASs para
detectar la procedencia de las rutas
- Las rutas aprendidas por una sesion iBGP no
pueden ser anunciadas a otra sesion iBGP
- pares iBGP FULL MESH
- Se necesita n(n-1)/2 pares
- ROUTE REFLECTORS RR (preferido)
- Un RR es como un DR OSPF
- Si una ruta viene de un eBGP, se anuncia a: eBGP, cliente, no-cliente
- Si una ruta viene de un cliente, se anuncia a: eBGP, cliente, no-cliente
- Si una ruta viene de un No-cliente, se anuncia a: eBGP, cliente
- CONFEDERATIONS
- Sub_AS
- Se usa ASs privadas
- Con Sub-ASs se puede usar
Route-Reflectors
- Multihoming (2 diferentes ISPs
via BGP)
- Verificar que tus redes internas esten correctamente
anunciadas
- Estar seguros de no convertirse en un AS de
transito
- Filtrar las redes que no se originan en
nuestro AS
- UPDATE SOURCE Y MUTIHOP:
- Por default, los packet TCP se envian a la interface mas cercana
- En algunas ocasiones es buena idea que los paquetes TCP sean originados desde otra
interface (ejm: loopbacks)
- Una sesion eBGP debe estar directamente conectada, si no, se debe
usar multihop
- Diseño de BGP (Que rutas se debe
recibir?)
- Solo una ruta por
defecto
- Algunas rutas y una ruta por
defecto
- Todas las rutas
- Impacto: Memoria, CPU,
Seleccion de ruta
- Mensajes BGP
- OPEN: Apertura de
conexion TCP-179
- KEEPALIVE: Mensajes
entre neighbors
- UPDATE:
Actualizacion de
rutas
- NOTIFICATION: Avisa de
errores en las rutas
- Tablas BGP
- Tabla
Vecinos
- Tabla BGP
- Tabla Enrutamiento
- Estados Vecinos y Timers
BGP
- IDLE:
Buscando
neighbor
- CONNECT:
Sesion TCP-179
completa
- OPEN SENT:
Mensaje BGP
apertura
- OPEN CONFIRM: Responde
Mensaje BGP
- ESTABLISHED:
Neighbor UP
- TIMERS BGP
- Keepalive: 60s
- Holdtime: 180s
- Anunciar redes BGP
- BGP anuncia prefijos que sean
conocidos por el router
- Anuncia prefijos y un next-hop a sus vecinos (en
sesiones eBGP se cambia el next-hop)
- En sesiones iBGP no cambia el
next-hop
- Se tiene Static route
- Se tiene IGP
- Se tiene next-hop self
- Se tiene route-map para cambiar next-hop
- SUMARIZACION
- Usado en el borde AS
- Optimiza CPU y Memoria
- Anuncia ruta simple
- Redistribucion BGP
- Cuando se redistribuye rutas de IGP a BGP, BGP puede
propagar hacia otro AS. Se pueden producir LOOPS
ROUTING, porque las rutas externas IGP pueden originarse
en otro AS
- Cuando se redistribuye de BGP a IGP, podria causar alto CPU
y memoria en el router (recibir mas de 200000 rutas de
internet)
- Peer Groups
- Facilita administracion
- Muchos neighbors con misma
configuracion
- Significancia local
- Atributos BGP - Seleccion de
rutas
- AGGREGATOR; (O, T): Muestra RID
y AS del router agregador ruta
- AS PATH; (WK, M): Lista todos ASs
que la ruta debe atravesar,
influencia traffic in
- WELL-KNOW - WK: Mandatory-M (requeridos y reconocdos)/ Discretionary-D (no requeridos y reconocidos)
- OPTIONAL-O: Transitive-T (redistribuidos) / No Transitive-NT (no redistribuidos)
- ATOMIC AGGREGATE; (WK, D): Incluye resumen,
multiples AS
- CLUSTER ID; (O, NT): Muestra el
reflection path que se ha tomado
- COMMUNITY; (O, T): Capacidad de
etiquetar rutas Route Tag
- LOCAL PREFERENCE; (WK, D): Los paths con
mayor valor son deseados, influencia traffic out
- MED; (O, NT):
Multihomming, metrica
ext-ruta
- NEXT HOP; (WK, M):
Preferencia el camino corto
- ORIGIN; (WK, M): Origen de
la ruta
- ORIGINATOR ID; (O, NT): Es el
route-reflector
- WEIGHT; (O): Es de cisco,
significancia local, influencia trafico
out
- Proceso de Seleccion
de Rutas BGP
- 1. WEIGHT, mas alto: cisco, local
router
- 2. LOCAL PREFERENCE, mas alto:
todo el AS
- 3. SELF ORIGINATED: prefiere
rutas autoriginadas
- 4. AS PATH, mas corto: menos saltos
- 5. ORIGIN, i < ?: internal <
redistribuido
- 6. MED, mas bajo: metrica
mismo AS
- 7. EXTERNAL, eBGP<iBGP: external es
mejor
- 8. IGP COST, mas bajo: costo iBGP a
next-hop
- 9. eBGP PEERING, mas
antiguo: mas estable
- 10. RID, mas pequeño: router ID
BGP mas bajo
- CONFIGURACION Y
ADMINISTRACION
- Configurando Vecinos BGP
- R4(config)#router bgp 100
- R4(config-router)#neighbor 172.16.46.6 remote-as 200
- R4(config-router)#neighbor 10.14.0.1 remote-as 100
- R4#show ip bgp summary
- R4#show ip route bgp
- Anunciando rutas en BGP
- R4(config-router)#network 10.14.0.0 mask 255.255.255.0
- R4(config)#router bgp 100
- R4(config-router)#network 4.4.4.4 mask 255.255.255.255
- R4(config-router)#network 1.1.1.1 mask 255.255.255.255
- Se anuncia las redes remotas para el neighbor
- R4(config-router)#network 10.35.0.0 mask 255.255.255.0
- Creando Route
Reflectors
- R1(config)#router bgp 100
- R1(config-router)#neighbor 10.14.0.4 route-reflector-client
- R1(config-router)#neighbor 10.13.0.2 route-reflector-client
- R3(config)#router bgp 100
- R3(config-router)#neighbor 10.35.0.5 route-reflector-client
- R3#show ip bgp neighbors 10.35.0.5
- Creando Confederaciones
- R1(config)#router bgp 65001
- R1(config-router)#bgp confederation id 100
- R1(config-router)#bgp confederation peers 65004 65035
- Cambiando el NEXT-HOP
processing
- R4(config)#router bgp 100
- R4(config-router)#neighbor 10.14.0.1 nex-hop-self
- R1(config)#route-map NEXTHOP permit 10
- R1(config-route-map)#set ip next-hop 10.14.0.4
- R1(config)#router bgp 100
- R1(config-router)#neighbor 10.14.0.4 route-map NEXTHOP in
- R4#clear ip bgp * in
- Configurando
update-source y multihop
- Sesiones iBGP
- R1(config-router)#neighbor 4.4.4.4 remote-as 100
- R1(config-router)#neighbor 4.4.4.4 update-source Loopback0
- R1(config-router)#neighbor 4.4.4.4 route-reflector-client
- R1(config-router)#neighbor 4.4.4.4 route-map NEXTHOP in
- R4(config-router)#neighbor 1.1.1.1 remote-as 100
- R4(config-router)#neighbor 1.1.1.1 update-source Loopback0
- R4(config-router)#neighbor 1.1.1.1 next-hop-self
- Sesiones eBGP
- R4(config-router)#neighbor 6.6.6.6 remote-as 200
- R4(config-router)#neighbor 6.6.6.6 ebgp-multihop
- R4(config-router)#neighbor 6.6.6.6 update-source Loopback0
- R6(config-router)#neighbor 4.4.4.4 remote-as 100
- R6(config-router)#neighbor 4.4.4.4 ebgp-multihop
- R6(config-router)#neighbor 4.4.4.4 update-source Loopback0
- Configurando Peers Groups
- R3(config-router)#neighbor GRUPO1 peer-group
- R3(config-router)#neighbor GRUPO1 remote-as 100
- R3(config-router)#neighbor GRUPO1 route-reflector-client
- R3(config-router)#neighbor 10.35.0.5 peer-group GRUPO1
- Sumarizacion
- R4(config-router)#aggregate-address 10.0.0.0 255.0.0.0 summary-only
- R6#sh ip route bgp | B 10.0.0.0/8 [20/0] via 4.4.4.4, 00:10:57
- Configurando Filtros
- R6(config)#ip prefix-list SUM permit 10.0.0.0/8
- R6(config)#route-map FILTRO deny 10
- R6(config-route-map)#match ip address prefix-list SUM
- R6(config-router)#route-map FILTRO permit 20
- R6(config-router)#neighbor 4.4.4.4 route-map FILTRO in
- R6(config-router)#neighbor 4.4.4.4 prefix-list SUM in
- Configurando timers
BGP
- neighbor [ip-address | peer-group-name] timers
keepalive holdtime [min-holdtime]
- CONFIGURACION Y
ADMINISTRACION
- Seleccion de rutas con atributos BGP -
WEIGHT
- R4(config-router)#neighbor 172.16.46.6 weight 220
- R4(config-router)#do sh ip bgp
- R4(config-router)#do trace 2.2.2.2
- R4(config-router)#do clear ip bgp * in
- R4(config)#ip prefix-list LOOPBACKR2 permit 2.2.2.2/32
- R4(config)#route-map WEIGHT permit 10
- R4(config-route-map)#match ip address prefix-list LOOPBACKR2
- R4(config-route-map)#set weight 199
- R4(config-route-map)#route-map WEIGHT permit 20
- R4(config-router)#neighbor 172.16.46.6 route-map WEIGHT in
- Seleccion de rutas con atributos BGP -
LOCAL-P
- R4(config-router)#bgp default local-preference 150
- R4(config-router)#do clear ip bgp * in
- R4(config-router)#do clear ip bgp * out
- R4(config-router)#route-map LOCAL permit 10
- R4(config-route-map)#match ip address prefix-list LOOPBACKR2
- R4(config-route-map)#set local-preference 210
- R4(config-route-map)#router-map LOCAL permit 20
- R4(config-route-map)#router bgp 100
- R4(config-router)#neighbor 172.16.46.6 route-map LOCAL in
- R4(config-router)#do clear ip bgp * in
- R5#traceroute 2.2.2.2
- Seleccion de rutas con atributos BGP -
AS-PATH
- R4(config)#ip prefix-list LOOPBACKR4 permit 4.4.4.4/32
- R4(config)#route-map ASPATH permit 10
- R4(config-route-map)#match ip address prefix-list LOOPBACKR4
- R4(config-route-map)#set as-path prepend 100 100 100 100
- R4(config-route-map)#route-map ASPATH permit 20
- R4(config-router)#neighbor 172.16.46.6 route-map ASPATH out
- Seleccion de rutas con atributos
BGP - MED
- R3(config)#access-list 10 permit 3.3.3.3 0.0.0.0
- R3(config)#route-map MED permit 10
- R3(config-route-map)#match ip address 10
- R3(config-route-map)#set metric 2323458
- R3(config)#route-map MED permit 20
- R3(config-route-map)#router bgp 100
- R3(config-router)#neighbor 172.16.32.2 route-map MED out
- R6(config-router)#default-metric 300