Con este tutorial aprenderás a configurar el enrutamiento BGP en routers de Cisco gracias al programa de simulación de Packet Tracer. A diferencia de los tuoriales anteriores de enrutamiento, en este he omitido muchos de los pasos básicos de configuración, por lo que si no estás familiarizado con Packet Tracer es posible que dudes en alguno de ellos.
Y sin mas preámbulos, veamos nuestro ejemplo!
¿QUÉ ES BGP?
En comunicaciones, BGP (del inglés Border Gateway Protocol) es un protocolo mediante el cual se intercambia información de encaminamiento o ruteo entre sistemas autónomos. Por ejemplo, los proveedores de servicio registrados en internet suelen componerse de varios sistemas autónomos y para este caso es necesario un protocolo como BGP.
Entre los sistemas autónomos de los ISP se intercambian sus tablas de rutas a través del protocolo BGP. Este intercambio de información de encaminamiento se hace entre los routers externos de cada sistema autónomo, los cuales deben soportar BGP. Se trata del protocolo más utilizado para redes con intención de configurar un Exterior Gateway Protocol.
La forma de configurar y delimitar la información que contiene e intercambia el protocolo BGP es creando lo que se conoce como sistema autónomo. Cada sistema autónomo (AS) tendrá conexiones o, mejor dicho, sesiones internas (iBGP) y además sesiones externas (eBGP).
El protocolo de gateway fronterizo (BGP) es un ejemplo de protocolo de gateway exterior (EGP). BGP intercambia información de encaminamiento entre sistemas autónomos a la vez que garantiza una elección de rutas libres de bucles. Es el protocolo principal de publicación de rutas utilizado por las compañías más importantes de ISP en Internet. BGP4 es la primera versión que admite encaminamiento entre dominios sin clase (CIDR) y agregado de rutas. A diferencia de los protocolos de Gateway internos (IGP), como RIP, OSPF y EIGRP, no usa métricas como número de saltos, ancho de banda, o retardo. En cambio, BGP toma decisiones de encaminamiento basándose en políticas de la red, o reglas que utilizan varios atributos de ruta BGP.
BGP realiza tres tipos de Ruteo:
- Ruteo Interautónomo
- Ruteo Intrautónomo
- Ruteo de pasc.
Se necesita un conocimiento bajo-medio de Packet Tracer para poder seguir todos los pasos del tutorial. Recordad que cualquier duda o problema que tengáis, podéis escribir un comentario en la parte inferior del tutorial.
1.- ELEMENTOS UTILIZADOS EN ESTE TUTORIAL
2.- ESQUEMA DE RED BGP
El esquema de la red que queremos emular es el que se ve en la imagen siguiente. Podemos ver que tenemos 3 Routers (ROUTER100, ROUTER200 y ROUTER300) y en cada una de las redes hay 2 equipos clientes y un switch. Gracias a este enrutamiento dinámico tenemos un HA (High Availability) a nivel de conexiones de red. Pueden hacerse multitud de formas de conexión con el fin de garantizar lo máximo posible la redundancia de caminos de interconexión.
El esquema de red es el siguiente:
Esquema de red
En al siguiente tabla se muestra el direccionamiento que he usado para cada uno de los equipos del esquema de red. Hay que prestar especial atención a las direcciones IPs asignadas en los routers, ya que llevan 3 direcciones IPs en sus interfaces de red (2 Serials y una ethernet):
Direccionamiento de Red
3.- EQUIPOS CLIENTES
Añadiremos los 6 equipos clientes PCs) y configuraremos su interfaz de red con la dirección IP y la máscara de red de la tabla del punto 2. Deberemos prestar atención a la puerta de enlace de cada zona ya que es diferente. La puerta de enlace de cada zona (ROUTER100, ROUTER200 y ROUTER300) se corresponde con la dirección ip del router de dicha zona.
4.- SWITCHES
Los switches no necesitan de ninguna configuración y solamente servirán para interconectar los equipos clientes (PCs) con su router.
5.- ROUTERS
La configuración de los 3 routers (modelo 1841) la vamos a realizar exclusivamente en modo Terminal. Recuerda que por defecto las 2 interfaces de red Serials no vienen por defecto en el router, tienes que añadirlas desde la interfaz Web en la pestaña Physical->WIC-2T.
El concepto es sencillo, tenemos que añadir a cada router un identificador "remote-as" e indicarle cual es la red/redes que quedan detrás de él e indicarle también cuales son sus routers vecinos con los que intercambiará la información de routing a través de BGP. EL proceso es sumamente sencillo y apenas merece explicación.
A continuación os dejo la configuración en modo consola para los tres routers:
ROUTER100:
Router>en
Router#config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router bgp 100
Router(config-router)#network 192.168.0.0 mask 255.255.255.0
Router(config-router)#neighbor 10.10.10.2 remote-as 200
Router(config-router)#neighbor 10.10.20.2 remote-as 300
ROUTER200:
Router>en
Router#config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router bgp 200
Router(config-router)#network 192.168.1.0 mask 255.255.255.0
Router(config-router)#neighbor 10.10.10.1 remote-as 100
Router(config-router)#neighbor 10.10.30.2 remote-as 300
ROUTER300:
Router>en
Router#config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router bgp 300
Router(config-router)#network 192.168.2.0 mask 255.255.255.0
Router(config-router)#neighbor 10.10.20.1 remote-as 100
Router(config-router)#neighbor 10.10.30.1 remote-as 200
Si queremos comprobar las rutas dinámicas de BGP configuradas en cada uno de los routers, debemos salir del modo de configuración y ejecutar el siguiente comando:
Router#show ip bgp
ROUTER100:
Router#show ip bgp
BGP table version is 6, local router ID is 192.168.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 192.168.0.0/24 0.0.0.0 0 0 32768 i
*> 192.168.1.0/24 10.10.10.2 0 0 0 200 i
* 10.10.20.2 0 0 0 300 200 i
* 192.168.2.0/24 10.10.10.2 0 0 0 200 300 i
*> 10.10.20.2 0 0 0 300 i
ROUTER200:
Router>show ip bgp
BGP table version is 7, local router ID is 192.168.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 192.168.0.0/24 10.10.10.1 0 0 0 100 i
* 10.10.30.2 0 0 0 300 100 i
*> 192.168.1.0/24 0.0.0.0 0 0 32768 i
*> 192.168.2.0/24 10.10.30.2 0 0 0 300 i
* 10.10.10.1 0 0 0 100 300 i
ROUTER300:
Router>show ip bgp
BGP table version is 10, local router ID is 192.168.2.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
* 192.168.0.0/24 10.10.30.1 0 0 0 200 100 i
*> 10.10.20.1 0 0 0 100 i
*> 192.168.1.0/24 10.10.30.1 0 0 0 200 i
*> 10.10.20.1 0 0 0 100 200 i
*> 192.168.2.0/24 0.0.0.0 0 0 32768 i
6.- PRUEBAS FINALES DE ENRUTAMIENTO BGP
Para comprobar que el routing está funcionando correctamente, entraremos en la Terminal de PC0 (192.168.0.100) y haremos Ping por ejemplo al equipo PC3 (182.168.1.101). Los paquetes irán primeramente por el camino mas óptimo según el protocolo BGP.
Aquí os dejo un ejemplo donde se puede ver que funciona perfectamente:
Enrutamiento GBP desde PC0 a PC3 con todos los enlaces UP
Podemos comprobar con tracert el camino que siguen los paquetes por el camino anterior:
Traceroute
Si desactivamos las interfaces que unen el ROUTER100 y el ROUTER200, veremos que ahora el tráfico desde PC0 pasa por el ROUTER100 -> ROUTER300 -> ROUTER100:
Enrutamiento GBP desde PC0 a PC3 con un enlace DOWN
Podemos comprobar con tracert el nuevo camino que siguen los paquetes por el camino anterior con un enlace tirado:
Traceroute
¿Sencillo verdad?
ENJOY!