Universidad Dr.
Andrés Bello
Facultad de Ciencias Económicas
Departamento de Redes IV
Tema: Características y Configuración básica del protocolo BGP
Docente: Ing. Josué Menjívar Rojas
Alumno: Diego Alexis Cornejo López
Código: CL2462012012
Fecha 24/07/2013
BGPv4
Las características básicas son:
Es un protocolo de encaminamiento externo que permite crear rutas entre sistemas autónomos
(AS). En cada AS puede operar cualquier encaminamiento interno tipo RIP u OSPF.
Un router que tiene un proceso BGP activo se llama BGP speaker. Para poder intercambiar
información de encaminamiento BGP, dos routers vecinos (dos BGP speakers) deben establecer una
sesión BGP a través del puerto 179 de TCP. En este caso estos dos routers se llaman peers o
neighbors.
BGP es un protocolo de tipo path vector. Es decir BGP recae en la categoría general de los
protocolos vector distancia como RIP donde la mejor ruta es la que tiene menos saltos hasta el
destino. BGP tiene pero algunos mecanismos adicionales. La información de encaminamiento BGP
es una secuencia de números que identifican los diferentes ASes que hay que atravesar para llegar
a un AS destino. Esta información evita la creación de bucles en las rutas. BGP además permite
crear políticas de encaminamiento a través de una serie de atributos.
Un As puede ser de tipo stub, multihomed o de tránsito. Stub cuando un AS tiene una única sesión
BGP abierta con otro AS y solo recibe y transmite su tráfico. Multihomed en el caso que un AS tenga
más de un AS conectado por BGP (por si uno falla) pero no deja que tráfico de un AS pase por el con
destino otro AS. De transito cuando el AS proporciona servicio de tránsito entre dos ASes.
Una sesión BGP que conecta dos routers de dos AS distintos se llama BGP externo (eBGP). En el
caso que el AS sea de tránsito, los routers del AS que mantienen un eBGP deben tambien establecer
una sesión BGP entre ellos, llamada BGP interna (iBGP), para que estos puedan redistribuir la
información BGP entre los ASes.
Hay cuatro tipos de mensajes BGP: open, update, keepalive y notification. open se utiliza para el
establecimiento de la sesión BGP; update cuando hay una modificación de una ruta o se ha
encontrado una nueva ruta; periódicamente dos routers vecino se envían mensajes de keepalive
para para verificar que la sesión BGP sigue activa; notification notifica el cierre de una sesión BGP
debido a algún error.
Configuración básica
El comando “router bgp AS-number” crea un proceso BGP en el router donde “AS-number” es el número
que identifica el sistema autónomo (en Internet es un número que asigna RIR). Fijares que Quagga ya asigna
el número 7675 al proceso BGP en cada router. Para eliminar este número y poner el AS-number correcto,
hay que previamente eliminar el 7675 con el comando “no router bgp 7675” y luego poner el correcto.
Ejemplo de red con diferente AS.
Para crear una sesión eBGP con un router vecino como el de la la imagen anterior se usa el comando
“neighbor @IP remote-as AS-number” donde @IP es la dirección IP del router vecino y AS-number es su
número de sistema autónomo. Fijaros que Quagga ya asigna el número 7675 al proceso BGP en cada router.
Para eliminar este número y poner el AS-number correcto, hay que previamente eliminar el 7675 con el
comando no router bgp 7675 y luego poner el correcto. Notar que no hace falta ejecutar este comando cada
vez que se quiere modificar o añadir algún prefijo.
R1# configure terminal
R1(config)# no router bgp 7675
R1(config)# router bgp 100 -> el propio AS
R1(config-router)# neighbor [Link] remote-as 200 -> el otro AS
R2# configure terminal
R2(config)# no router bgp 7675
R2(config)# router bgp 200
R2(config-router)# neighbor [Link] remote-as 100
La creación de una sesión iBGP sigue los mismos pasos del caso eBGP con la diferencia que en esta caso el
sistema autónomo será el mismo número. Por ejemplo para el iBGP de R2 con R3 será:
R2(config)# router bgp 200
R2(config-router)# neighbor [Link] remote-as 200 -> mismo AS
Para anunciar redes internas a cualquier router BGP vecino, se usa el comando “network #net [/#mask]”
donde #net es la red que se quiere anunciar y #mask su máscara (opcional pero necesario si la clase es
distinta de la máscara).
Por ejemplo para que el router R1 anuncie por BGP la red interna [Link] con mascara [Link] se
usará el comando:
R1(config)# router bgp 100
R1(config-router)# network [Link]/24
Fijaros que:
• Solo se anuncian por BGP aquellas redes que están directamente conectadas al router y que se quieren
distribuir a otros AS
• No se anuncian aquellas redes que tienen sesiones BGP (es decir, aquellas que interconectan routers y que
por tanto son internas al AS).