Guía Completa del Protocolo BGP
Guía Completa del Protocolo BGP
Protocolo BGP
Arenas Wilfredo
Grupo: 1
Fecha: 10/10/2018
Sucre- Bolivia
1
Protocolo BGP
Índice
I. Objetivo General .......................................................................................................... 4
II. Objetivos Específicos ................................................................................................. 4
III. Introducción ................................................................................................................... 4
Historia .............................................................................................................................. 4
Update ............................................................................................................................ 11
Notification ..................................................................................................................... 11
2
Protocolo BGP
As - Path ....................................................................................................................... 14
Nex-hop ......................................................................................................................... 14
Weigh ............................................................................................................................. 15
Origen ............................................................................................................................ 15
Community .................................................................................................................... 16
Aggregator .................................................................................................................... 16
Originator ID ................................................................................................................. 16
Cluser ID ....................................................................................................................... 16
Bibliografía .................................................................................................................. 24
3
Protocolo BGP
I. Objetivo General.-
III. Introducción.-
Es el protocolo más usado de los EGP (External Gateway Protocol) que tiene como principal
función el compartir y encaminar información entre sistemas autónomos, evitando tener
algún bucle, como se ve en los proveedores de servicios de Internet, los cuales conectan
muchos sistemas autónomos entre sí.
Comparado con RIP, IGRP y EIGRP este protocolo es similar al ser un protocolo de vector
distancia, pero mejorado, pues trabaja con la ruta más estable (Path Vector o los atributos
de cada ruta).
4
Protocolo BGP
IV. BGP.-
Es menester tener plena idea de cómo es el funcionamiento del protocolo BGP para tener
un criterio preciso al momento decidir si su uso es necesario o no. Además tomamos en
cuenta que:
No utilizamos el BGP…
Multihomed es un enlace de varias salidas hacia varios ISP de manera redundante. Se debe
enunciar como irán las rutas hacia los ISP’s para evitar que alguno de estos utilice alguna
de estas rutas de salida como tránsito para otro SA.
5
Protocolo BGP
IBGP hace referencia a la conexión entre dos routers que corren BGP dentro de un mismo
sistema autónomo, como por ejemplo, Router A, B, C y D son IBGP dentro del SA 65000.
EBGP son los Routers borde que interconectan los distintos SA, como por ejemplo Router A
del SA 65000 y Router E del SA 65250.
Los mensajes BGP entre peers EBGP, se envían con un TTL de 1, por lo tanto solo se
puede generar adyacencia EBGP entre routers borde, ya que no permite más de un salto. El
TTL entre routers IBGP siempre es mayor a 1, (En Dynagen es 255), lo que permite generar
adyacencia entre vecinos que no se encuentran directamente conectados.
6
Protocolo BGP
7
Protocolo BGP
Distribution List.- Estas listas filtran rutas basadas en las direcciones IP de destino
u origen, funcionan como listas de acceso en la que se pueden declarar las
direcciones IP o rangos de direcciones.
S
e
8
Protocolo BGP
• Prefix List.- Declaran los rangos de prefijos que se quieren anunciar al vecino con el
cual se levantó una sesión BGP.
C
a
m
p
El protocolo BGP debe tener algún tipo de acercamiento con las otras conexiones para
conocer los otros routers neighbor (vecinos) conectados al Border y sus características de
conexión; para esto selecciona a TCP como protocolo de transporte, debido a que este es
orientado a conexión.
Debido al uso de TCP, BGP envía la información en segmentos, por intermedio del puerto
179 y el número de protocolo 6. Además, es destacable saber que este tipo de conexión por
TCP entre routers Border es denominada como BGP peer Routers o BGP Neighbors.
Las actualizaciones periódicas no son necesarias en absoluto para BGP, pues este al
mover la información basada en los atributos de las conexiones es considerado como un
protocolo muy confiable (elige la ruta en función a atributos como tipo, longitud y valor AD
del protocolo IGP de preferencia).
Dentro de lo concerniente a los mensajes Open de BGP (el hola entre routers mediante
TCP) podemos denotar algunos de los parámetros más importantes usados por BGP para
la identificación de la mejor ruta: verifica si se genera adyacencia IBGP (enlaces más
cercanos lógicamente conectados), identifica el Hold Time configurado y cuál es la dirección
IP en la cual se generara la adyacencia (BGP Identifier).
9
Protocolo BGP
X. Mensajes de BGP.-
Al establecer una conexión TCP se empiezan a enviar mensajes para iniciar sesión BGP los
cuales son 4:
a) OPEN.-(19-4096 Byts)
Luego de establecer conexión TCP el primer mensaje que se envía de cada lado es
de OPEN. Si este mensaje es aceptado se iniciara una sesión BGP. Posteriormente
una única vez se intercambian las tablas de rutas al completo y ya luego solo se
enviaran mensajes de UPDATE, mensajes de KEEP-ALIVE y mensajes de
NOTIFICACION.
10
Protocolo BGP
Withdraw Routers.- 4 Bytes, contiene un listado de los prefijos de red que se están
retirando.
Path Attributes.- 4 Bytes, utiliza parámetros del protocolo BGP para tomar decisiones
de que rutas ha de propagar. cada atributo incluye: Tipo, Longitud y Valor(TLV)
Network Layer Reachability Information (NLRI).- 4 Bytes, contiene una lista de las
redes que pueden ser alcanzados a través de esta ruta.
11
Protocolo BGP
Los routers para iniciar sesión pasan por los siguientes estados:
Este es el algoritmo que utiliza BGP para la selección de ruta a través de los Atributos BGP
12
Protocolo BGP
AS-PATH ruta que pase por menos Minimizar el número de saltos de los AS
AS
Origen IGP<EGP<incomplete Prefiere estabilidad
MED Menor valor Def.=0 . influencia al AS para preferir rutas
EXTERNO eBGP<iBGP Se prefiere rutas externas por encina de las internas
Costo IGP Más bajo Busca vecinos IGP más cercanos
eBGP Rutas más antiguas Minimizar efectos de rutas inconsistentes
Router ID Más bajo Elige un router con ID más bajo
BGP es la mejor opción para la elección de rutas en caso de que exista conexión con dos
proveedores diferentes.
BGP usa el “vector camino”, es decir, La mejor ruta no siempre será basada en el ancho de
banda, retraso y pérdidas de paquetes. Ya que muchas veces la mejor ruta a elegir no es el
ancho de banda sino una ruta de acuerdo a la carga que presenta, fiabilidad, etc.
Para la ingeniería de trafico el Administrador de Red puede manipular el tráfico, con
distintas manipulaciones como:
- modificar los Atributos de BGP
- Un filtrado de rutas
- crea políticas de encaminamiento “Mapas de Rutas “
Los routers BGP envían mensajes de UPDATE , estos mensajes contienen un parámetro
denominado NLRI (lista de una o más redes junto con sus direcciones y prefijos IP) y
atributos BGP, estos atributos son utilizados para determinar la mejor ruta .estos son
usados dentro y fuera de un AS.
Clasificación de atributos:
a) Well-Known Attributes
Well-known mandatory Attribute
Debe estar presente en todos los mensajes de update . Si un atributo de este
tipo no aparece en un mensaje de update, se genera una notificación de
error.
Well-Know Discretionary Attribute
No es necesario que aparezca en el mensaje de update.
b) Optional Attributes
13
Protocolo BGP
1er caso
2do caso
MED tiene una influencia directa sobre el tráfico entrante en un AS colocando un MED más
bajo por la ruta preferida, esta solo puede ser usada entre 2 AS y no puede ser anunciada
más allá de su vecino pero si dentro de su AS.
14
Protocolo BGP
4. Local Preference/
el local preference tiene influencia sobre el tráfico saliente a otro AS. Dando un
valor mayor a la ruta preferida esta solo puede ser anunciada en IBGP y no en
EBGP.
5. WEIGH/
Selecciona la ruta con mayor valor a nivel local del router con múltiples conexiones y
no puede ser anunciado a sus vecinos
6. Origen/
indica el origen y la forma en la que se puso el prefijo de red en BGP. Hay tres
códigos de origen, en orden de preferencia.
15
Protocolo BGP
1. Ruteo Interautónomo
2. Ruteo Intrautónomo
3. Ruteo de Pasc.
Desde este punto de vista la topología de Internet se puede considerar BGP como un
gráfico de conexión de sistemas autónomos conectados mediante enlaces virtuales. En la
figura a continuación podemos ver cuatro sistemas autónomos llamados AS1, AS2,..., AS4
conectados por enlaces virtuales. Es decir, que mantienen sesiones BGP sobre TCP para la
comunicación entre los sistemas autónomos. Cada sistema autónomo contiene una o más
16
Protocolo BGP
Antes de enunciar la mecánica de selección de rutas se deben introducir las dos formas de
proceder cuando se cuenta con un escenario en el que implantar BGP. Se debe distinguir
entre External BGP (EBGP) e Internal BGP (IBGP). EBGP hace referencia al intercambio de
información entre sistemas autónomos sin embargo IBGP hace referencia al intercambio de
información dentro de un sistema autónomo. Hasta ahora nos hemos centrado en EBGP
pero ¿para qué tipo de escenarios se destaca la importancia de IBGP? Podemos observar
una figura como la siguiente, donde por ejemplo el sistema autónomo AS1 debe propagar
tres prefijos IP (N1, N2 y N3) para que sean alcanzables desde otros sistemas autónomos.
Además estas tres redes deberán establecer cierta política de decisión de rutas hacia otros
sistemas autónomos. IBGP conforma una topología virtual mallada de modo que todos los
routers de un sistema autónomo se encuentren conectados para que el intercambio de
rutas sea directo desde el router al que le llega el anuncio hacia todos los de sus sistemas
autónomos.
17
Protocolo BGP
Un router pasa la mejor ruta a tabla de enrutamiento, pero cuando existe más de una ruta
para una red específica, sigue los siguientes criterios:
1) Los routers cisco prefieren las rutas que posean mayor weigth.
2) Si aun así existe más de una ruta, se selecciona la ruta con mayor local
preference.
3) Si las rutas poseen igual Local preference, se selecciona la ruta que fue generada
localmente vía comando Network o agregate-address.
4) Si las rutas no fueron originadas localmente por el router, se prefiere la ruta con
menor as-path.
6) Si las rutas poseen el mismo código origin, se prefieren las rutas con menor MED.
La comparación del MED solo ocurre cuando el comandos bgp-always-compare-med
es habilitado.
7) Si poseen el mismo MED, se prefieren los caminos EBGP sobre los IBGP.
9) Cuando las rutas son aprendidas vía EBGP, se prefiere la ruta que fue recibida
primero, es decir la más antigua. Este paso es saltado si el comando router-id es
configurado en el router.
11) Si las direcciones IP son iguales, se prefiere la dirección del router del vecino
más baja.
En BGP se exige verificar puntualmente cuáles son o serán los routers vecinos (entre los
routes adyacentes al Border). Ésta verificación se dará en el momento en el cual exista una
conexión TCP entre routers mediante el mensaje “Open” (declarándose como vecinos).
Dicha conexión TCP permitirá el intercambio de información entre los routes con datos
puntuales como:
El Hold Time
El número de SA conectado a este router Neighbor.
Versión BGP.
El identificador del BGP (denominado ID).
18
Protocolo BGP
Para validar que los routers adyacentes (que no implica conexión directa entre sí) se
validaron como vecinos, el estado de la conexión debe necesariamente ser Established
(establecido).
Ahora, entre routers Neighbor con EBGP, pensando en mantener la adyacencia de los
mismos, es bueno usar interfaces Loopback; esto para evitar que caídas físicas en
conexiones redundantes logren perder la adyacencia existente entre vecinos.
Recordamos que respecto a la vecindad entre routers, esta se genera dos tipos de la misma:
el primero es el que conecta los routers Neighbor dentro de un SA (IBGP) y la segunda que
es que solo tienen vecindad los routers Border (EBGP).
Dentro de los routers Neighbor dentro de un SA, se utiliza interfaces de bucle de retorno,
que sirven como verificadores de direcciones IP activas de otros routers Neighbor que
cumplen con la adyacencia. Mientras que en EBGP, ya que los routers Border están
usualmente directamente conectados entre sí, no es necesario el uso de estas interfaces.
Esta sincronización ocasiona que las tablas de enrutamiento estén de mayor tamaño, por lo
que se da el caso que, de ser necesario, es bueno inhabilitarlo.
19
Protocolo BGP
Fuera de las tablas de enrutamiento generadas por protocolos IGP para encaminamiento
interno de los SA, BGP genera sus propias tablas (basadas en atributos) que, recordemos,
son más confiables y estables.
Es posible re direccionar estas tablas BGP a IGP para que estos seleccionen mejores rutas
(de ser el caso).
BGP también maneja tablas de vecindad (Neighbor Table) donde se encuentra todos los
routers vecinos conectados en el SA. Para mantener estas tablas, BGP utiliza TCP para el
mensaje de reconocimiento inicial “Open” y el BGP/TCP Keep-Alive para confirmar (cada
60 segundos) que aun exista este router.
Para anunciar redes se debe usar el comando: #Network dirección de red mask mascara de
la red
También se debe tomar en cuenta que los routers borde son los encargados de anunciar
las redes que se encuentran dentro del sistema autónomo, y ese router borde debe conocer
todas las redes para poder anunciarlas. El router por ejemplo puede conocer las redes por
un protocolo de enrutamiento como EIGRP y anunciar con el comando network dentro BGP
las redes conocidas por este protocolo. Por lo tanto NO ES NECESARIO que las redes que
se ingresen con el comando network se encuentren directamente conectadas al router
borde, solo es Necesario que las conozca por un protocolo enrutamiento o ruta estática.
Ejemplo
Router RB puede anunciar a ISP con el comando network las redes 11.0.0.0/8 y 12.0.0.0/8
a pesar de que no las tenga directamente conectadas, ya que estas redes las conoce por
EIGRP. Es muy importante que las conozca porque si no, no podrán ser anunciadas.
20
Protocolo BGP
Al momento de aplicar nuevas políticas a las rutas, estas deben ser actualizadas, existen 3
caminos para actualizar las rutas:
Hard Reset/ Se puede realizar con el comando clear ip bgp * o clear ip bgp
dirección_vecino. Esto permitirá que se reinicie completamente la sesión TCP entre
todos los vecinos (*) o un vecino especifico. El restablecimiento de la sesión toma
entre 30 a 60 segundos y genera que se reenvíen todas las tablas de BGP,
actualizando asi las nuevas políticas aplicadas.
Soft Reset/ Utiliza gran parte de la memoria, ya que almacena todos los updates sin
modificación en una tabla. Luego cuando se aplica el filtro, los cambios son
calculados a partir de esta tabla. El comando es clear ip bgp soft.
Route Refresh/ Solicita al peer el reenvío de toda la información, esto utiliza menos
memoria, y permite al router aplicar las políticas de entrada. El comando es clear ip
bgp {* | address | peergroup -name} in . Para poder utilizar route refresh, los routers
deben soportar esta capacidad, esto se puede verificar con el comando show ip bgp
Neighbors.
XXII. Sumarizacion.-
21
Protocolo BGP
22
Protocolo BGP
RIP
IGRP
EIGRP
OSPF
Para guiar la ruta, primero se selecciona la mejor distancia administrativa entre los
protocolos IGP. De darse el caso de haber un “empate”, se seleccionará el menor costo
posible para llegar al otro SA. De persistir esta condición, recién entra en funcionamiento el
balanceo de carga.
Existe una cantidad limitada de entradas para con las que trabajan cada protocolo, que a su
vez limitaran la cantidad de salidas hacia el SA. En la mayoría de protocolos existen 4
entradas (inclusive 6, de ser el caso), exceptuando el protocolo BGP, donde solo existe 1
entrada (seleccionada por los atributos más estables).
El balanceo de carga puede funcionar por destino o por paquete, es decir, que en función al
destino, ira enviando los paquetes por diferentes rutas, de preferencia no las mismas.
XXIV. Conclusiones.-
Aseguramos que el protocolo debe ser implementado solo en aquellas redes que necesiten
de un correcto manejo de políticas de encaminamiento complicadas, orientadas a más de
un ISP como mínimo.
La configuración de BGP requiere un vasto conocimiento de redes WAN IGP y EGP, dado
que este protocolo presenta una configuración compleja y bastante completa dentro de los
SA y entre los mismos.
23
Protocolo BGP
BGP no siempre es la solución apropiada para interconectar AS, En estos casos, debe hacer
uso de rutas estáticas. En situaciones como:
Bibliografía.-
1
eduangi.org. Medellín: Eduardo Collado; 2009 [actualizado 04 de mayo 2009; citado 10 de
octubre 2018]. Disponible en: https://www.eduangi.org/node372.html
2
bibing.us.es. 2010 [citado 10 de octubre 2018]. Disponible en:
http://bibing.us.es/proyectos/abreproy/11359/fichero/BGP%252F5.+Fundamentos+de+BGP.
pdf
3
analisisbgp.blogspot.com. Atom; 2012 [actualizado marzo 2012; citado 10 de octubre
2018]. Disponible en: http://analisisbgp.blogspot.com
4
es.slideshare.net. Gianpietro Lavado; 2015 [citado 10 de octubre 2018]. Disponible en:
https://es.slideshare.net/gianpietrolavado/bgp-border-gateway-protocol-v30
5
riunet.upv.es. Valencia: Sánchez García Victor; 2017 [citado 10 de octubre 2018].
Disponible en: https://riunet.upv.es/bitstream/handle/10251/91691/SÁNCHEZ%20-
%20Diseño%20de%20redes%20con%20BGP.pdf?sequence=1
6
networproxy.wordpress.com. Anónimo: 2014 [actualizado 09 de febrero 2014; citado 10 de
octubre 2018]. Disponible en: https://networkproxy.wordpress.com/2014/02/09/bgp-
concepts-basic-states-attributes-route-maps
Para ver las tablas de BGP y otros, que usan los Routers de los ISP pueden visitar la
pagina: “previamente activando el telnet en su pc”
http://routeserver.org/
24