02-1
BGP: BORDER GATEWAY PROTOCOL
LUPITA VÁZQUEZ
CCIE 49975
INSTRUCTOR
BGP
Temario 02-2
Introduction to BGP 02-3
Protocolo de ruteo usado para intercambiar
información de ruteo entre redes
• Exterior Gateway Protocol
Descrito en RFC1771
El Sistema Autónomo (AS Autonomous
System) es la unidad fundamental de
operación para BGP
• Es usada para identificar únicamente redes con las
mismas políticas de ruteo
Introduction to BGP 02-4
Introduction to BGP 02-5
Sistema Autónomo (AS) 02-6
Grupo de dispositivos con la misma política de
ruteo
Un solo protocolo de ruteo (IGP)
Usualmente redes bajo una administración única
Identificado por un número único
Autonomous System Number (ASN) 02-7
Autonomous System Number (ASN) 02-8
BGP Conceptos básicos 02-9
Usa TCP – puerto 179
Path Vector Protocol
Incremental updates
BGP “Interno” y “Externo”
Introduction to BGP 02-10
Introduction to BGP 02-11
eBGP & iBGP 02-12
BGP usado internamente (iBGP) y
externamente (eBGP)
iBGP usado para transportar
• Algunas/todas las subredes de Internet a
través del backbone del ISP
• Subredes de los clientes del ISP
eBGP usado para
• Intercambiar redes con otros AS’s
• Implementar políticas de ruteo
Introduction to BGP 02-13
Topologías. Frontera con Internet 02-14
• Single Homed: Un solo enlace, un solo ISP
• Dual Homed: Dos o más enlaces, un solo ISP
Topologías. Frontera con Internet 02-15
• Single Multihomed: un enlace a dos o más ISP
• Dual Multihomed: dos o más enlaces a dos o más ISPs
BGP
Single homed 02-16
⚫ La estrategia de enrutamiento para estos casos normalmente usa 2
variantes posibles:
⚫ Enrutamiento estático.
⚫ BGP, pero sólo para intercambiar una ruta o red default al cliente y para
anunciar unos cuantos prefijos hacia el ISP.
⚫ En ambos escenarios se deja la responsabilidad de anunciar la ruta default
a través del IGP para que los routers al interior de la organización la
conozcan.
⚫ El anuncio de los prefijos propios del cliente se hace en el router frontera
de la organización si se usa BGP o en el router frontera del ISP si es
estático.
BGP
BGP vs enrutamiento estático 02-17
⚫ Estático
No requiere grandes
esfuerzos para
mantenimiento.
Reduce la cantidad
de memoria y de
procesamiento
requerido por el
router CPE.
⚫ BGP
Múltiples salidas.
Balanceo entre las
redes anunciadas
por cada salida.
BGP
Dual homed 02-18
⚫ El agregar al menos un enlace adicional hacia el ISP le da cierta
libertad de elección al cliente.
⚫ El cliente puede elegir entre:
Utilizar un esquema de enlaces trabajo-backup
⚫ BGP puede ser usado pero no es necesario. Las consideraciones de
configuración son muy similares al single homed.
Repartir los anuncios entre el total de enlaces disponibles.
⚫ Aunque el usar enrutamiento estático es posible, BGP conlleva una
administración más granular de los anuncios.
BGP
Dual homed 02-19
BGP
Dual homed (full & partial update) 02-20
⚫ Full update.
⚫ Partial update.
⚫ Default route only.
BGP
Single Multihomed 02-21
⚫ Al interior del cliente,
éste escenario es muy
similar en operación a
Single homed.
⚫ Este escenario tiene
más similitud con Dual
homed. El uso de
defaults, usar BGP con
updates totales o
parciales y la selección
de anuncio de prefijos
por enlaces diferentes
son lo más común.
BGP
Dual Multihomed 02-22
⚫ BGP es recomendable
para poder tomar las
decisiones de ruteo.
⚫ Este escenario es el
más robusto en cuanto
a redundancia pero
puede suponer retos
complejos al buscar un
esquema de anuncios.
⚫ Nota: No todos los
escenarios posibles se
cubren con estos
ejemplos.
BGP
External BGP 02-23
⚫ En esencia muchas de las consideraciones de diseño de EIGRP y OSPF
son retomadas por BGP.
Creación de vecindades.
Intercambio de información de ruteo con vecinos.
Concentración de información en una tabla. Tabla de BGP.
Selección a partir de la tabla de las mejores rutas para ser instaladas
en la tabla de ruteo.
⚫ Para establecer una vecindad, un vecino como mínimo debe cumplir
con los siguientes requisitos:
El router debe pertenecer a un AS.
La IP de cada vecino y la IP del propio router.
El ASN del vecino.
BGP
External BGP. Configuración 02-24
BGP
External BGP 02-25
Requerimientos para formar vecindades eBGP
⚫ El ASN local debe coincidir con el valor configurado por el vecino en el
comando neighbor [IP] remote-as [ASN]
⚫ El RID de ambos debe ser distinto.
⚫ Si MD5 está configurado, ambos lados debería coincidir.
⚫ Cada router debe poder establecer una conexión TCP entre ellos.
Selección del RID
⚫ Configurado
⚫ La Loopback con la IP más alta
⚫ La interfaz no loopback con la IP más alta operando.
BGP
External BGP 02-26
Requerimientos para definir update source
⚫ 1) E1 envía paquetes a la IP del vecino configurado
⚫ 2) Busca en la tabla de ruteo la ruta para alcanzar a dicho vecino.
⚫ 3) Identifica la interfaz de salida.
⚫ 4) Usa como IP origen la IP asignada a dicha interfaz de salida.
⚫ 5) El vecino le contesta usando ahora como IP destino la IP de la
interfaz de salida.
BGP
External BGP 02-27
Requerimientos para definir update source (cont.)
⚫ 1) Configurar loopbacks en ambos equipos.
⚫ 2) Establecer la vecindad usando como IP del vecino su loopback.
⚫ 3) Indicarle al router que use explícitamente esa IP como source
update
neighbor [IP] update-source [interfaz-ID]
⚫ 4) Validar que exista una trayectoria válida hacia la loopback vecina
para que se establezca la sesión de TCP.
⚫ 5) Configurar eBGP-multihop
neighbor [IP] ebgp-multihop [saltos]
BGP
External BGP 02-28
Requerimientos para definir update source (cont.)
BGP
External BGP 02-29
Requerimientos para definir ebgp-multihop (cont.)
Loopback1
1.1.1.1
Ser0/0/1
Ser0/0/0
Loopback2
TTL =0 11.11.11.11
Ser0/0/1
Ser0/0/0
TTL =1
BGP
Vecindades BGP 02-30
! Se omite información para facilitar lectura
BGP
Inyectando rutas en BGP 02-31
⚫ Para inyectar rutas sobre BGP se tienen 2 opciones:
A través del comando network
Redistribuyendo desde otro protocolo
⚫ El comando network difiere del modo de operación del comando network
para los IGP. Mientras en IGP incluye parámetros contra los que compara
el router sus interfaces y si coinciden, entonces dichas interfaces son
activadas en el protocolo y sus subredes anunciadas, en BGP el comando
provoca que se comparen los parámetros del comando con el contenido de
la tabla de ruteo.
BGP
Usando el comando network
02-32
BGP
Redistribución 02-33
Sumarizar redes BGP 02-34
Sumarización en BGP es llamada “aggregation”
⚫ Aggregation crea un resumen de las rutas (llamadas “aggregates”)
de redes que ya se encuentran en la tabla BGP
⚫ Redes individuales pueden ser anunciadas o suprimidas
Router(config-router)# aggregate-address address-prefix mask
⚫ El aggregate será anunciado si hay al menos una red en la tabla
BGP en el rango especificado
Router(config-router)# aggregate-address address-prefix mask
summary-only
⚫ Envía únicamente el aggregate y no las redes individuales
BGP
Aggregate address 02-35
BGP
Validación de vecindades BGP 02-36
BGP
Verificando la operación del protocolo 02-37
Verificación Comando
Muestra las posibles rutas default show ip bgp 0.0.0.0 0.0.0.0
Enlista las posibles rutas por prefijo show ip bgp [prefijo][máscara]
Muestra las redes aprendidas de un
vecino particular antes de que algún filtro show ip bgp neighbors [IP-vecino] received-routes
de entrada sea aplicado.
Muestra las rutas aprendidas de un
vecino que ha pasado algún probable show ip bgp neighbors [IP-vecino] routes
filtro.
Contabiliza la cantidad de prefijos
show ip bgp summary
aprendidos de cada vecino
BGP Interno iBGP 02-38
Vecindad BGP entre el mismo AS
No necesitan estar directamente
conectados
⚫ IGP se encarga de la conectividad entre los
vecinos iBGP
Vecinos iBGP necesitan estar en malla
completa (full mesh)
⚫ Propagan sus redes conectadas
⚫ No propagan redes conocidas a través de otro
vecino iBGP
Vecindades iBGP 02-39
Independiente de la topología
Cada vecino iBGP debe
establecer una relación con
cada uno de los routers iBGP
en el AS
Vecindad hacia la interfaz Loop-back 02-40
Vecindad hacia la dirección IP de la interfaz Loop-back
⚫ La interfaz Loop-back nunca se cae
La sesión iBGP no es dependiente del estado de una sola
interfaz
La sesión iBGP no es dependiente de la topología física
Configuración iBGP 02-41
Router AS100 Dirección IP
interfaz loopback
interface loopback 0
ip address 215.10.7.1 255.255.255.255
! ASN Local
router bgp 100 ASN Local
network 220.220.1.0
neighbor 215.10.7.2 remote-as 100
neighbor 215.10.7.2 update-source loopback0
Dirección IP Router
vecino
BGP descubrimiento de vecino 02-42
En BGP los vecinos no son descubiertos, deben
de ser configurados manualmente
La configuración debe realizarse en ambos
lados de la conexión
Ambos routers intentan conectarse al otro con
una sesión TCP en el puerto 179
Únicamente la sesión con el router-id mayor
permanece después del intento de conexión
La dirección IP origen que intenta conectarse es
verificada contra la lista de vecinos
configurados
BGP
Tipos de mensajes 02-43
Símil con
Mensaje Propósito
EIGRP
Usado para establecer una vecindad. Envía parámetros
Open incluidos ASN y MD5.
Hello
Enviado periodicamente para mantener la vecindad
Keepalive operando. Falta de keepalives durante un periodo mayor Hello
al Hold timer causa la caida de la sesión.
Usado para intercambiar atributos (PA) y los prefijos
Update (NLRI) asociados.
Update
Usado para señalar un error de BGP. Típicamente origina
Notification el reseteo de la sesión
N/A
Establecimiento de la sesión BGP 02-44
La sesión TCP es establecida cuando el
vecino es alcanzable
Mensajes BGP Open son intercambiados
Establecimiento de la sesión BGP 02-45
El mensaje BGP Open contiene:
⚫ Número de versión BGP
⚫ Número de AS del router local
⚫ Holdtime
⚫ BGP router identifier
⚫ Parámetros Opcionales
BGP Keepalive 02-46
La sesión BGP basada en TCP no
provee ningún significado al verificar la
presencia de un vecino BGP
⚫ Excepto cuando se envía tráfico BGP
BGP necesita un mecanismo adicional
⚫ Los mensajes BGP keepalive proveen la
verificación de la existencia de una vecino
⚫ Los mensajes keepalive son enviados cada
60 segundos
BGP keepalives 02-47
El valor del intervalo del keepalive no es
comunicado en el mensaje BGP Open
La selección del valor de keepalive es
seleccionado por:
⚫ Valor configurado, si se usa el holdtime local
⚫ Valor configurado, si el holdtime del vecino es
usado y el keepalive < (holdtime/3)
⚫ El entero menor a la relación (holdtime/3), si
el holdtime del vecino es usado y el keepalive
> (holdtime/3)
Configuración timers BGP 02-48
Router(config-router)# timers bgp keepalive holdtime
⚫ Cambia los valores por default de los timers BGP en el
proceso
⚫ Únicamente el valor del holdtime es comunicado en el
mensaje BGP Open
⚫ El valor de holdtime menor en los routers BGP es usado por
ambos peers
Router(config-router)# neighbor [ip-address|peer group
name] timers keepalive holdtime
⚫ Cambia los valores por default de los timers BGP por vecino
especifico o peer group
⚫ Toma preferencia sobre los timers del proceso BGP
Autenticación MD5 02-49
Los routers BGP pueden usar
opcionalmente autenticación TCP MD5
usando un password secreto (MD5
share secret)
Ambos routers deben de ser
configurados con el mismo password
Cada segmento TCP es verificado
Router(config-router)#neighbor ip-address password string
Anunciar redes en BGP 02-50
Router(config-router)#(no) auto-
summary
⚫ Habilita o deshabilita sumarización antes de
insertar las redes en la tabla BGP
Redes insertadas localmente (usaldo el comando network)
Rutas redistribuidas
⚫ Habilitado por default
Monitoreo de BGP. Debug 02-51
Debug ip tcp transactions
⚫ Muestra todas las transacciones TCP (inicio de
sesión, errores, etc.)
Debug ip bgp events
⚫ Muestra todos los eventos significativos en BGP
(transiciones en el estado de los vecinos,
actualizaciones)
Debug ip bgp keepalives
⚫ Muestra los paquetes BGP keepalives
Debug ip bgp updates
⚫ Muestra todas las actualizaciones de entrada y
salida