El documento describe la implementación de tres sistemas autónomos (AS) comunicados entre sí utilizando el protocolo BGP. Se configuró cada AS con RIP u OSPF internamente y BGP externamente para comunicarse entre los AS a través de un switch. Se explican los pasos de configuración de BGP en Quagga incluyendo los archivos zebra.conf, ripd.conf y bgpd.conf. Finalmente, se muestra un análisis con Wireshark de los paquetes BGP enviados durante un ping entre dos PCs de diferentes AS.
1. UNIVERSIDAD DE TARAPACÁ
ESCUELA UNIVERSITARIA DE INGENIERÍA INDUSTRIAL,
INFORMÁTICA Y DE SISTEMAS
Área de Ingeniería en Computación e Informática
Laboratorio 5
“Protocolo BGP”
Integrantes:
Profesor : Diego Aracena Pizarro
Cátedra : Laboratorio de Redes
2. Laboratorio5: BGP - Redes
2
CONTENIDO
I.- INTRODUCCIÓN
BGP (Border Gateway Protocol), es el protocolo que se encarga de enrutar Sistemas
Autónomos (de ahora en adelante AS), independientemente de cómo estos sistemas
enruten en su red interna.
Con los laboratorios anteriores se dio a conocer que los routers pueden usar más de un
protocolo de enrutamiento, por lo cual se puede utilizar las combinaciones BGP y OSPF o
3. Laboratorio5: BGP - Redes
3
BGP y RIP, para comunicar la red interna con otras redes internas pertenecientes a otros
AS.
En esta experiencia se utilizó un PC Router para cada AS, sin embargo cabe mencionar que
en cada red interna se puede agregar la cantidad de routers que fuesen necesarios, siempre
y cuando éstos se comuniquen utilizando el mismo protocolo.
II.- OBJETIVOS
2.1 Objetivo General
● Implementar 3 Sistemas Autónomos (AS) que se encuentren comunicados
entre sí utilizando el protocolo BGP.
2.2 Objetivos Específicos
● Implementar cada Sistema Autónomo con cierto protocolo interno (RIP u
OSPF). En particular, el equipo de trabajo desarrollador de este informe debe
implementar la red 3.
● Estudio previo de la configuración de BGP.
● Conectar los Sistemas Autónomos mediante un switch.
● Realizar una captura de paquetes con Wireshark y analizar el tráfico entre
los AS.
III.-DESARROLLO
3.1 Implementación de la Red
El trabajo consiste en implementar la red de la figura 1, sin embargo como el presente caso
de laboratorio está dividido en 3 equipos de trabajo, el equipo desarrollador de este
informe se encarga de la red nombrada como AS-300 (designada por el profesor de la
4. Laboratorio5: BGP - Redes
4
asignatura) para finalizar con la integración de los otros 2 equipos de trabajo en una sola
red BGP a través del switch y el PC4. La topología de la red se muestra en la figura 1.
Figura 1.- Topología de la Red
A continuación, en la Tabla 1 se detalla la información que corresponde a la dirección de
cada PC terminal y PC-Router.
Linux PC Ethernet Interface eth0 Ethernet Interface eth1
PC1 10.0.1.10/24 Disabled
PC2 10.0.2.10/24 Disabled
PC3 10.0.3.10/24 Disabled
PC4 10.0.4.10/28 Disabled
5. Laboratorio5: BGP - Redes
5
PC Router
Ethernet Interface
Ethernet0/0
Ethernet Interface
Ethernet0/0
PC Router 1 10.0.1.10/24 10.0.4.1/28
PC Router 2 10.0.2.10/24 10.0.4.2/28
PC Router 3 10.0.3.10/24 10.0.4.3/28
Tabla 1.- Direcciones IP
3.2 Configuración BGP
3.2.1 Configuración del PC-Router
En esta sección se mostrarán los pasos realizados para la configuración de un PC, con
sistema GNU/Linux, como PC-Router, modificando los archivos zebra.conf, ripd.conf y
bgpd.conf.
Cabe destacar que el protocolo interno utilizado en esta red es RIP.
Figura 2: Configuración de PC Router 3. Asignación de direcciones IP, máscara de subred y
puerta de enlace para eth0 y eth1
3.2.2 Configuración de Quagga
En el laboratorio anterior se trabajó con Quagga, un software libre de encaminamiento
avanzado, el cual proporciona los protocolos de enrutamiento como RIP, OSPF, BGP, entre
otros. Ya que su instalación se explicó en el laboratorio anterior ahora sólo queda
configurarlo para éste laboratorio.
6. Laboratorio5: BGP - Redes
6
Se debe copiar los ejemplos de configuración, para usarlos y activar Quagga con la
configuración por defecto:
cd /etc/quagga/
cp zebra.conf.sample zebra.conf
cp ripd.conf.sample ripd.conf (necesario para RIP)
cp ospfd.conf.sample bgpd.conf (necesario para BGP)
Figura 3: Creando carpeta de archivos Quagga.
Luego se debe editar el archivo /etc/quagga/daemons con algún editor de texto, para
poder habilitar los daemons respectivos a utilizar. En este caso se habilitaron zebra, rip y
bgp, como lo muestra la figura 4.
7. Laboratorio5: BGP - Redes
7
Figura 4: Activación de RIP y BGP daemons
Una vez habilitado los daemons es recomendable reiniciar Quagga para aplicar los cambios
que se hicieron (véase la figura 5).
Figura 5: Reiniciando Quagga para aplicar los cambios
8. Laboratorio5: BGP - Redes
8
3.2.3 Configuración ZEBRA, RIP, BGP
Configuración ZEBRA
Para configurar Zebra y añadir las 2 redes (interna y externa) se debe editar el archivo
/etc/quagga/zebra.conf y añadir lo que se muestra en la figura 6. En este archivo debe
especificarse la dirección IP de ambas redes, tanto para eth0 como para eth1.
Nótese que la máscara de subred, para el puerto por el cual se comunica vía BGP (eth1), es
28, esto es 255.255.255.240.
Figura 6: Configuración de zebra.conf
9. Laboratorio5: BGP - Redes
9
Configuración RIP
La red interna se configuró de tal manera que funcione con el protocolo RIP. Se utilizó el
puerto eth0 del PC-Router para funcionar con este protocolo.
Para configurar RIP se hacen los mismos procedimientos realizados en el laboratorio
anterior, esto es modificar el archivo /etc/quagga/ripd.conf. La configuración se muestra
en la figura 7.
Figura 7: Configuración de rpid.conf
10. Laboratorio5: BGP - Redes
10
Configuración BGP
El BGP o “Border Gateway Protocol” es un protocolo mediante el cual se intercambia
información de encaminamiento entre Sistemas Autónomos (AS). En nuestro caso se utilizó
el Sistema Autónomo AS-300 asignado por el profesor.
Para este protocolo se utilizó la interfaz externa “eth1” del Pc-router. Se procedió a
configurar el archivo bgpd.conf colocando los datos correspondientes de la red como se
puede apreciar en la (Figura 8).
Figura 8: Configuración de bgpd.conf
Primeramente se asignó el número “300” al router como identificador del AS. El comando
“bgp router-id” lleva asignado la dirección IP de la interfaz del PC-Router que conecta con
el exterior, en este caso “eth1” con dirección IP 10.0.4.3.
11. Laboratorio5: BGP - Redes
11
Luego, con el comando network se declaran las dos interfaces utilizadas por el Pc-router
que serían la eth0=10.0.3.0 y eth1=10.0.4.0. De acuerdo a esto se puede decir que eth0 es la
interfaz que estará asignada para la red 3 (interna) y eth1 para la red 4 (externa).
Por último se procede a indicar al PC-Router quienes serán los AS o vecinos con los cuales
se compartirá información (AS 100 y AS 200, ver figura 1).
En la Figura 9 se aprecia por consola la configuración del protocolo BGP (detallada
anteriormente) a través del comando “show run”.
Figura 9: Verificación de configuración BGP utilizando comando “show run”.
12. Laboratorio5: BGP - Redes
12
3.3 Verificando Protocolo BGP
En la Figura 10 se puede apreciar la configuración del PC-Router de acuerdo al protocolo
BGP y las respectivas redes asignadas, utilizando el comando “show ip bgp”.
Figura 10: Comando “show ip bgp” mostrando las redes asociadas através de BGP
Se puede apreciar que cada red ha sido asignada a la configuración indicando el siguiente
salto, la puerta de enlace “eth1” de su respectivo AS. En el caso de nuestra red, la red 3
(10.0.3.0) la puerta de enlace local es 0.0.0.0 permitida por el protocolo interno RIP.
13. Laboratorio5: BGP - Redes
13
A continuación, utilizando el comando “show ip bgp summary”, se pueden apreciar los AS o
redes “vecinas” asignadas.
Figura 11: Comando “show ip bgp summary” mostrando los vecinos asociados.
Se pueden apreciar los AS 100 y AS 200 como redes vecinas y sus respectivas puertas de
enlace (neighbor o “vecinos”).
3.4 Analizando Wireshark
A continuación, se realiza un PING desde el PC3 perteneciente al AS 300 al PC2
perteneciente al AS 200. Se pueden apreciar los paquetes capturados a través de
Wireshark, en la Figura 12.
Figura 12: Wireshark capturando paquetes BGP al realizar PING de PC3 a PC2
14. Laboratorio5: BGP - Redes
14
Como se puede apreciar, la red AS 300 envía un paquete BGP a la red AS 200. Este paquete
llamado “KEEPALIVE Message” es un paquete que sirve para mantener la conexión y
verificar rutas de manera periódica cada ciertos intervalos de tiempo. Por ende, la red AS
200 inmediatamente envía otro paquete BGP al emisor. Cabe destacar que para esto opera
también con el protocolo de transporte TCP que ayuda a comunicar mensajes y mantener
una conexión orientada.
15. Laboratorio5: BGP - Redes
15
IV.- CONCLUSIÓN
Para realizar este laboratorio fue necesario tener los conocimientos de los laboratorios
anteriores ya que se aplicó todo lo visto en cuanto a conexiones, protocolos y sus
configuraciones.
Lo que podría llegar a resultar tedioso e incluso confuso es que para cada interfaz (eth0 y
eth1) se debe implementar un protocolo interno de enrutamiento (RIP u OSPF) para la
comunicación dentro del AS y un protocolo externo (BGP) para comunicar los AS entre sí.
Para resolver esta confusión hay que tener claridad en cuanto a la dirección IP de la red
interna y la dirección de salida.
En resumen el protocolo BGP requiere un router que tenga configurado cada uno de los
vecinos que intercambiarán información de las rutas que cada uno conozca. Se trata del
protocolo más utilizado para redes con intención de configurar un EGP (external gateway
protocol), en palabras la conexión de AS.
V.-REFERENCIAS
Apuntes del profesor.
Informe de semestres anteriores.