Professional Documents
Culture Documents
Versin 2.0
Introduccin
Qu es BGP?
Es un protocolo de enrutamiento externo (EGP) que sirve
principalmente para el intercambio de rutas entre sistemas autnomos
(como ISPs). BGP tambin es fundamental para el funcionamiento de
otras aplicaciones como MPLS VPN.
Caractersticas principales de BGP
- Protocolo considerado como de tipo vector distancia con mejoras: los updates son fiables (reliable),
slo enviados ante cambios en la topologa (triggered) y tienen atributos especiales (AS number, etc).
- Los vecinos BGP utilizan TCP (179) para establecer una sesin y enviarse actualizaciones.
- Su distancia administrativa es de 20 (EBGP - External BGP) o 200 (IBGP - Internal BGP).
- Es classless: La mscara de subred viaja en los updates (soporta VLSM).
- Es capaz de filtrar y escoger rutas como ningn IGP, en base a sus atributos especiales: AS Number,
local-preference, origin, community, etc.
- Los vecinos deben ser configurados manualmente en ambos extremos, pudiendo estos autenticarse.
- Por defecto sus tiempos de convergencia son lentos, pero lo que se pierde en convergencia se gana en
estabilidad y escalabilidad, que es la prioridad ante la gran cantidad de rutas y posibles cambios de
topologa en los dominios de red tan amplios donde BGP generalmente es utilizado.
Arquitectura y funcionamiento
Establecimiento de sesin e intercambio de rutas.
NRLI PREFIX NEXT HOP AS PATH
200.3.114.0/24 200.41.96.252 20363 27791 i
AS
27791 BGP
BGP UPDATE
UPDATE
AS WITHDRAWN
TCPNRLI
ROUTE
200.3.114.0/24
200.3.114.0/24
TCP
AS
KEEPALIVE
OPEN KEEPALIVE
OPEN 6140
200.3.114.0/24 20363 SYN
ACK
20363
20363
AS PATH
27791
27791 SYN/ACK
200.41.96.252
200.41.96.252
NEXT HOP
OPEN
ACTIVE
IDLECONFIRM
SENT
ESTABLISHED
OPEN ACTIVE
IDLE
ESTABLISHED
AS 19583
NEXT-
IBGP HOP?
EBGP
NEXT-HOP
AS 20363
NEXT-HOP IBGP
EBGP
IBGP IBGP
NEXT-HOP
AS 13835
Arquitectura y funcionamiento
Descripcin de atributos
AS-Path: Es una secuencia de nmeros de AS que se forma conforme una ruta se
va propagando. Mientras ms corto sea el AS-Path, la ruta se considerar ms
cercana. Tambin sirve para evitar loops, si un router ve su propio AS en un
update, inmediatamente lo desecha.
AS 19583
IBGP
RED A 19583 13835
EBGP
RED A AS6140
20363 20363
13835
IBGP
EBGP
IBGP
IBGP
RED A 13835
RED A 20363 19583 13835
IBGP
AS 13835
AS 6140
Los ASN (AS Number) son asignados por ARIN, van desde el 1 hasta el 65535. A partir del 64512 los
ASN son de uso privado. Existen
Arquitectura y funcionamiento
Descripcin de atributos
AS4_Path: Nuevo atributo en los AS de 2bytes que carga con el valor del AS_Path
de 4 bytes.
El AS de 4 bytes se representa comnmente por la terminologa asdot, compuesta
por <2 bytes de mayor orden>.<2 bytes de menor orden>, interpretado en
decimal. Por ejemplo:
6000 0.6000 65536 1.0
65535 0.65535 131100 2.30
La interaccin entre dominios de 2 bytes con dominios de 4 bytes se realiza
utilizando el AS 23456 en el dominio de 2 bytes para representar cualquier valor de
4 bytes, mientras que el valor real del AS viaja como atributo.
2.0 23456 23456 1001 23456 23456 4300 1001 2.3 2.0
Arquitectura y funcionamiento
Descripcin de atributos
Local-Preference: Es utilizado y propagado entre vecinos del mismo AS (IBGP).
Sirve para influenciar el trfico que sale del AS, distinguiendo entre rutas iguales:
La ruta con mayor valor tendr preferencia.
AS 19583
LP 200
>
IBGP RED A LP 100
EBGP
AS 20363
RED A
LP 100 IBGP
EBGP
IBGP
IBGP
RED A
LP 200
IBGP
AS 13835
RED A
RED A
EBGP IBGP
AS 6140
Arquitectura y funcionamiento
Descripcin de atributos
Atomic-aggregate: cuando un router hace una sumarizacin de prefijos aprendidos
por BGP, probablemente se pierda informacin del AS-Path. Cada vez que esto
ocurre, este atributo debe ser adjuntado a los updates de dicha ruta sumarizada.
Aggregator y AS4_Aggregator: opcionalmente tambin se puede adjuntar la
direccin IP y el nmero de AS del router que realiz la sumarizacin.
AS 19583 AS 20363
64.76.96.0/24 64.76.108.0/24
19583 20363
AS 13835 EBGP
EBGP
64.76.120.0/24
13835 EBGP
IBGP
64.76.0.0/16
6140
AS 6140 AS 209
Atomic_aggr
IP + AS 6140
Arquitectura y funcionamiento
Descripcin de atributos
Community: Sirve para agrupar prefijos que comparten alguna caracterstica en
comn, para luego clasificarlos segn la comunidad a la que pertenecen y cambiar
sus atributos segn sea necesario. El atributo es original de Cisco pero luego fue
estandarizado en la RFC 1997, con el formato de 4 octetos AA:NN, donde AA en el
nmero de AS y NN es un identificador definido administrativamente.
Existen 4 comunidades predefinidas:
VALOR DESCRIPCIN
Comunidad por defecto, las rutas recibidas en esta comunidad
INTERNET son publicadas con normalidad
Las rutas recibidas en esta comunidad no se propagarn a
NO_EXPORT vecinos EBGP que no pertenezcan a la confederacin.
Las rutas recibidas en esta comunidad no se propagarn a
NO_ADVERTISE ningn tipo de vecino.
Las rutas recibidas en esta comunidad no se propagarn a
LOCAL_AS vecinos EBGP as estos pertenezcan a una confederacin.
MATCH
20363:100?
SET LP AS 27791
AS 20363 200
UPDATE
UPDATE
NO_EXPORT
20363:100
INTERNET
20363:100
LP 200
Arquitectura y funcionamiento
Descripcin de atributos
MED: Sirve para influenciar el trfico que ingresa al AS, siendo el menor valor el
preferido. Este valor pasa de un AS a otro directamente conectado, pero no es
propagado a un tercer AS.
La influencia de MED no siempre funcionar, ya que el AS vecino puede tener otros atributos
de salida preferidos sobre el MED, como por ejemplo, Local Preference.
El MED slo es comparado en rutas que vienen del mismo AS, no de ASs distintos.
Arquitectura y funcionamiento
Descripcin de atributos
Los siguientes atributos son utilizados en Route-Reflectors, tema que se
ver ms adelante.
Cluster-list: Es una lista de Cluster IDs por los cuales la ruta ha pasado. Si un
Route-Reflector ve su cluster-ID en un update, lo descarta, al tratarse de un loop.
Originator ID: Es un valor de 32-bits creado por un Route-Reflector, igual al Router
ID del originador de la ruta. Si el originador ve su propio ID como Originator ID en
un update, lo descarta, al tratarse de un loop.
CLUSTER
RR RR
IBGP
Arquitectura y funcionamiento
Criterio de seleccin de rutas
Cuando se reciba ms de una ruta al mismo destino, se escoger una segn el siguiente criterio:
1. Se preferirn las rutas con mayor Weight, este parmetro es slo usado por Cisco y es de
significado local al router, no es propagado a ningn vecino.
2. Rutas con mayor valor de Local Preference.
3. Rutas que el propio router origin, es decir, de origen local.
4. Rutas con AS-Path ms corto.
5. Rutas cuyo atributo Origin sea del menor tipo (IGP < EGP <Incomplete).
6. Rutas con menor valor de MED.
7. EBGP sobre IBGP.
8. Rutas anunciadas por el vecino ms cercano (slo en IBGP).
9. Ruta de mayor antigedad (slo en EBGP).
10. Rutas anunciadas por el vecino con el menor Router ID.
Para que una ruta sea vlida y tomada en cuenta en la seleccin, su atributo NEXT-HOP
debe ser alcanzable por algn IGP o ruta esttica.
Arquitectura y funcionamiento
Influencia de trfico entrante
Existen dos formas de influenciar el camino que el trfico toma para ingresar al AS:
ASs= 1
UPDATE
EBGP
64.76.0.0/16
AS 6140 AS 6140
IBGP AS 209
ASs = 4
UPDATE
64.76.0.0/16
64.76.0.0/16 EBGP
AS 6140
6140 6140
6140
(prepend)
Arquitectura y funcionamiento
Influencia de trfico saliente
Existen dos formas de influenciar el camino que el trfico toma para salir del AS:
1. Utilizando Weight (slo Cisco): se marca la ruta preferida con un mayor valor de
Weight, slo se influenciar la decisin del router donde se aplica.
SET
W=100 WGT 100
EBGP
UPDATE
SET
AS 27791
W=50 AS 20363
EBGP
UPDATE
WGT 50
SET
LP = 200 UPDATE
LP 200
EBGP 66.77.0.0/16
66.77.0.0/16
AS 209
AS 6140SET IBGP AS 209
LP = 100 LP 100 UPDATE
66.77.0.0/16
EBGP
AS 209
Arquitectura y funcionamiento
Filtros BGP
Normalmente en cualquier implementacin de BGP se puede permitir o denegar rutas
recibidas o enviadas en base a diversos parmetros. Los filtros ms comunes son:
Filtros por red IP: se filtran las rutas por la red o subred a la cual pertenecen.
Filtros por prefijo IP y mscara: se filtran las rutas por la red a la que pertenecen y
adems por la mscara de red.
Filtros por AS-Path: se filtran las rutas segn su atributo AS-Path utilizando
expresiones regulares.
Filtros por comunidad: se filtran las rutas por la comunidad a la que pertenecen.
Filtros por Next-hop: se filtran las rutas segn qu router las public.
PERMITIR
RED 10.10.0.0/16
AS-PATH 27791$
COMM 20363:100
N.HOP 10.1.1.1
UPDATE
UPDATE
10.10.2.0/24
10.10.2.0/24
ASP 27791
ASP 6140
27791
CM20363:100
CM 20363:100
NH10.1.1.1
NH 10.1.1.1
Arquitectura y funcionamiento
Expresiones regulares
Son tiles para clasificar rutas segn su AS-Path, utilizan los siguientes smbolos:
Caracter Funcin
^ empieza con
$ termina con
. cualquier caracter
_ cualquier delimitador (espacio, comienzo, fin, coma)
[0-9] rango del 0 al 9
[123] 1, 2 3
() asocia
|
* cero o ms veces
? cero o una vez
+ una o ms veces
\# llama a la expresin ubicada en la posicin # del regexp
Arquitectura y funcionamiento
Expresiones regulares
Ejemplos:
_100_ Expresiones que contienen 100 Rutas que pasan por el AS 100.
^100$ Comienza y termina con 100 Redes que nacen en el AS vecino 100.
_100$ Termina con 100 Redes que nacen en el AS 100.
^100_ Comienza con 100 Redes detrs del AS vecino 100.
^[0-9]+$ Una sola cifra cualquiera Redes originadas en cualquier AS vecino (sin
prepend)
^([0-9]+) (_\1)*$ Una solo cifra cualquiera Redes originadas en cualquier AS vecino (con
prepend)
^$ Expresin vaca Redes locales
.* Cualquier expresin Cualquier AS-Path
Arquitectura y funcionamiento
Reinicio de sesiones
Despus de aplicar filtros o aplicar alguna configuracin que remarca atributos, es
necesario volver a recibir o enviar la tabla BGP segn sea el caso, debido a que esta
no se reenva sola, slo se actualiza ante cambios de topologa.
Una alternativa es reiniciar la sesin BGP, pero normalmente esto no es posible en
redes en produccin, por lo que existen las siguientes alternativas:
a) Reenvo de la tabla (outbound soft-reconfiguration): el router vuelve a enviar la tabla a su
vecino sin bajar la sesin.
b) Reingreso local de la tabla vecina (inbound soft reconfiguration): el router mantiene una copia
de la tabla de su vecino, para volverla a pasar por los filtros cuando sea necesario (consume
ms memoria)
ADMIN TABLA
TABLA B?
A TABLA B
Arquitectura y funcionamiento
Internal BGP - IBGP
IBGP es principalmente utilizado para propagar rutas en un sistema autnomo de
trnsito. Se requiere BGP porque ningn IGP puede manejar la cantidad de rutas que
puede llegar a tener BGP, adems, si se redistribuye BGP en un IGP se pueden perder
atributos indispensables.
UPDATE IBGP
IBGP LP = 100
EBGP EBGP
UPDATE
NHOP UPDATE AS DE TRNSITO
IBGP UPDATE
NHOP
IBGP IBGP
Los Route-Reflectors cambian las reglas de split-horizon propias de IBGP, para evitar el full-mesh.
La implementacin est formada por routers que actan como Route-Reflectors y sus clientes,
formando un cluster. Un AS puede estar formado por uno o varios clusters , y cada uno de ellos
por uno o varios RR redundantes.
Los clientes slo necesitan tener sesiones con sus RRs. Si existen routers que no son ni clientes ni
RRs en el AS, estos deben formar un full-mesh con todos los RRs.
AS 20363
EBGP
AS 64512 AS 64513
EBGP
PENALIDAD 64.76.74.0/24
SUPRIMIR
BGP
REUTILIZAR
TABLA BGP
64.76.74.0/24
OLVIDAR
HISTORIA FLAP
64.76.74.0/24
TIEMPO
Troubleshooting
show ip bgp
muestra la tabla BGP
show ip bgp summary
muestra las vecindades BGP
show ip bgp neighbor neighbor-address
muestra detalles sobre una vecindad en particular
debug ip bgp updates
muestra informacin de intercambio de rutas BGP en tiempo real
debug ip bgp events
muestra otros eventos BGP en tiempo real
Bibliografa y recursos
Libros y otros recursos
rfc4271 - A Border Gateway Protocol (BGP-4)