BGP – iBGP con Huawei
¿Por qué usar BGP?
A medida que nuestros alumnos asistentes al Máster en Arquitectura de Redes de Operadores de Telecomunicaciones aprenden protocolos de enrutamiento dinámicos, nos suelen hacer esta pregunta. ¿Por qué usar BGP?
Y la respuesta es: «because BGP means Big Guys Protocol»
BGP (Border Gateway Protocol) es el protocolo por el cual funciona internet. Este único motivo debería bastar para que desees profundizar acerca de su funcionamiento. Sin embargo, existen varios argumentos que sustentan el uso de BGP como protocolo de ruteo dinámico.
Destaca que es un protocolo simple de implementar y operar y que utiliza una métrica sencilla para las distancias. Además, por definición, oculta las políticas locales de las externas. También cabe destacar que es un protocolo maduro y que no necesita de gran coordinación entre organizaciones para compartir rutas.
Con esta entrada del blog, comenzamos con una serie de configuraciones utilizando el protocolo BGP. Empezaremos gradualmente con configuraciones básicas e iremos integrando diferentes fabricantes.
Breve descripción de BGP
RFC 1654 definió el Border Gateway Protocol (BGP) como un protocolo de enrutamiento que proporciona escalabilidad, flexibilidad y estabilidad de la red. Cuando se creó BGP, la principal consideración de diseño fue la conectividad entre organizaciones en redes públicas, como Internet, o en redes privadas dedicadas. BGP es el único protocolo que se utiliza para intercambiar información de las redes en Internet. BGP no anuncia actualizaciones incrementales ni actualiza los anuncios de redes como sí hace OSPF o IS-IS. BGP prefiere la estabilidad dentro de la red, porque un link flap (cambio brusco del enlace) podría dar lugar a recalcular miles de rutas.
BGP considera un sistema autónomo (AS) como un conjunto de routers controlados por una sola organización. Este AS puede tener dispositivos comunicando rutas dentro de él mismo (lo que se denomina IGP) y con otros AS (denominado como EGP). Si además, este intercambio de rutas se produce mediante el protocolo BGP, este procedimiento se conoce como iBGP o eBGP (internal BGP o external BGP).
Si habéis leído el RFC al comienzo de este artículo, y como destacamos anteriormente, estamos hablando de un protocolo maduro, lo que ha permitido que sea ampliamente conocido, implantado, discutido, optimizado, etc. Para profundizar en el funcionamiento de este protocolo, tenemos los siguientes documentos:
■ RFC 4271, A Border Gateway Protocol 4 (BGP-4)
■ RFC 4456, BGP Route Reflection – An Alternative to Full Mesh Internal BGP (iBGP)
■ RFC 4278, Standards Maturity Variance Regarding the TCP MD5 Signature Option (RFC 2385) and the BGP-4 Specification
■ RFC 4277, Experience with the BGP-4 Protocol
■ RFC 4276, BGP-4 Implementation Report
■ RFC 4275, BGP-4 MIB Implementation Survey
■ RFC 4274, BGP-4 Protocol Analysis
■ RFC 4273, Definitions of Managed Objects for BGP-4
■ RFC 4272, BGP Security Vulnerabilities Analysis
■ RFC 3392, Capabilities Advertisement with BGP-4
■ RFC 5065, Autonomous System Confederations for BGP
■ RFC 2918, Route Refresh Capability for BGP-4
■ RFC 1772, Application of the Border Gateway Protocol in the Internet Protocol (BGP-4) using SMIv2
■ RFC 4893, BGP Support for Four-octet AS Number Space
Sí. Es un protocolo «simple», ¿verdad?.
No es tan complicado de implementar como veremos a continuación.
Descripción del Laboratorio
Cuando un BGP se ejecuta entre dos peers (vecinos) con el mismo AS, se considera un iBGP (Internal BGP).
Para ello, en esta práctica, se han configurado un iBGP entre routers con el mismo AS con el fin de mostrar como es el funcionamiento y la configuración de un iBGP.
Objetivos de la práctica
- Conocer el funcionamiento de iBGP.
- Montar un iBGP entre 2 routers.
- Verificar la configuración realizada.
Topología
Script de Configuración
<Huawei>system-view [Huawei]sysname R1 [R1]interface GigabitEthernet 0/0/0 [R1-GigabitEthernet0/0/0]ip address 10.200.1.1 30 [R1-GigabitEthernet0/0/0]quit [R1]interface GigabitEthernet 0/0/1 [R1-GigabitEthernet0/0/1]ip address 192.168.100.1 24 [R1-GigabitEthernet0/0/1]quit [R1]interface loopback 0 [R1-LoopBack0]ip address 10.0.1.1 32 [R1-LoopBack0]quit # <Huawei>system-view [Huawei]sysname R2 [R2]interface GigabitEthernet 0/0/0 [R2-GigabitEthernet0/0/0]ip address 10.200.1.2 30 [R2-GigabitEthernet0/0/0]quit [R2]interface GigabitEthernet 0/0/1 [R2-GigabitEthernet0/0/1]ip address 172.16.100.2 24 [R2-GigabitEthernet0/0/1]quit [R2]interface LoopBack 0 [R2-LoopBack0]ip address 10.0.2.2 32 [R2-LoopBack0]quit # <Huawei>system-view [Huawei]sysname R3 [R3]interface GigabitEthernet 0/0/1 [R3-GigabitEthernet0/0/1]ip address 192.168.100.3 24 [R3-GigabitEthernet0/0/1]quit [R3]interface LoopBack 0 [R3-LoopBack0]ip address 10.0.3.3 32 [R3-LoopBack0]quit # <Huawei>system-view [Huawei]sysname R4 [R4]interface GigabitEthernet 0/0/1 [R4-GigabitEthernet0/0/1]ip address 172.16.100.4 24 [R4-GigabitEthernet0/0/1]quit [R4]interface LoopBack 0 [R4-LoopBack0]ip address 10.0.4.4 32 [R4-LoopBack0]quit # [R1]bgp 64501 [R1-bgp]router-id 10.0.1.1 [R1-bgp]peer 192.168.100.3 as-number 64501 [R1-bgp]network 10.0.1.1 32 [R1-bgp]quit # [R3]bgp 64501 [R3-bgp]router-id 10.0.3.3 [R3-bgp]peer 192.168.100.1 as-number 64501 [R3-bgp]network 10.0.3.3 32 [R3-bgp]quit # [R2]bgp 64502 [R2-bgp]router-id 10.0.2.2 [R2-bgp]peer 172.16.100.4 as-number 64502 [R2-bgp]network 10.0.2.2 32 [R2-bgp]quit # [R4]bgp 64502 [R4-bgp]router-id 10.0.4.4 [R4-bgp]peer 172.16.100.2 as-number 64502 [R4-bgp]network 10.0.4.4 32 [R4-bgp]quit
Configuración paso a paso
1. Asignar direcciones IP
R1
<Huawei>system-view [Huawei]sysname R1 [R1]interface GigabitEthernet 0/0/0 [R1-GigabitEthernet0/0/0]ip address 10.200.1.1 30 [R1-GigabitEthernet0/0/0]quit [R1]interface GigabitEthernet 0/0/1 [R1-GigabitEthernet0/0/1]ip address 192.168.100.1 24 [R1-GigabitEthernet0/0/1]quit [R1]interface loopback 0 [R1-LoopBack0]ip address 10.0.1.1 32 [R1-LoopBack0]quit
R2
<Huawei>system-view [Huawei]sysname R2 [R2]interface GigabitEthernet 0/0/0 [R2-GigabitEthernet0/0/0]ip address 10.200.1.2 30 [R2-GigabitEthernet0/0/0]quit [R2]interface GigabitEthernet 0/0/1 [R2-GigabitEthernet0/0/1]ip address 172.16.100.2 24 [R2-GigabitEthernet0/0/1]quit [R2]interface LoopBack 0 [R2-LoopBack0]ip address 10.0.2.2 32 [R2-LoopBack0]quit
R3
<Huawei>system-view [Huawei]sysname R3 [R3]interface GigabitEthernet 0/0/1 [R3-GigabitEthernet0/0/1]ip address 192.168.100.3 24 [R3-GigabitEthernet0/0/1]quit [R3]interface LoopBack 0 [R3-LoopBack0]ip address 10.0.3.3 32 [R3-LoopBack0]quit
R4
<Huawei>system-view [Huawei]sysname R4 [R4]interface GigabitEthernet 0/0/1 [R4-GigabitEthernet0/0/1]ip address 172.16.100.4 24 [R4-GigabitEthernet0/0/1]quit [R4]interface LoopBack 0 [R4-LoopBack0]ip address 10.0.4.4 32 [R4-LoopBack0]quit
2. Montar un iBGP entre el R1 y R3
R1
[R1]bgp 64501 (1) [R1-bgp]router-id 10.0.1.1 (2) [R1-bgp]peer 192.168.100.3 as-number 64501 (3) [R1-bgp]network 10.0.1.1 32 (4) [R1-bgp]quit
1 | Activación del BGP. |
2 | Asignamos como router-id el 10.0.1.1. |
3 | Definimos como peer al 192.168.100.3 cuyo AS es el 64501. |
4 | Anumciamos la red 10.0.1.1/32. |
R3
[R3]bgp 64501 (1) [R3-bgp]router-id 10.0.3.3 (2) [R3-bgp]peer 192.168.100.1 as-number 64501 (3) [R3-bgp]network 10.0.3.3 32 (4) [R3-bgp]quit
1 | Activación del BGP. |
2 | Asignamos como router-id el 10.0.3.3. |
3 | Definimos como peer al 192.168.100.1 cuyo AS es el 64501. |
4 | Anunciamos la red 10.0.3.3/32. |
3. Montar un iBGP entre el R2 y R4
R2
[R2]bgp 64502 (1) [R2-bgp]router-id 10.0.2.2 (2) [R2-bgp]peer 172.16.100.4 as-number 64502 (3) [R2-bgp]network 10.0.2.2 32 (4) [R2-bgp]quit
1 | Activación del BGP. |
2 | Asignamos como router-id el 10.0.2.2. |
3 | Definimos como peer al 172.16.100.4 cuyo AS es el 64502. |
4 | Anunciamos la red 10.0.2.2/32. |
R4
[R4]bgp 64502 (1) [R4-bgp]router-id 10.0.4.4 (2) [R4-bgp]peer 172.16.100.2 as-number 64502 (3) [R4-bgp]network 10.0.4.4 32 (4) [R4-bgp]quit
1 | Activación del BGP. |
2 | Asignamos como router-id el 10.0.4.4. |
3 | Definimos como peer al 172.16.100.2 cuyo AS es el 64502. |
4 | Anunciamos la red 10.0.4.4/32. |
Comprobación
→ Para asegurarnos de que se ha configurado iBGP correctamente, ejecutamos el siguiente comando display ip routing-table
:
Figura 1. Esta imagen muestra un display ip routing-table del R3
Figura 2. Esta imagen muestra un display ip routing-table del R4
Conclusión
Como has podido comprobar, con muy pocos comandos ya tenemos a nuestros routers Huawei compartiendo rutas dentro del mismo AS mediante el protocolo BGP. Esta sencilla configuración, con muy pocos cambios, nos permitirá también compartir rutas entre distintos AS.
Seguro que ahora eres capaz de implementar y distinguir entre que routers consideramos iBGP y cuales consideramos eBGP.
En la captura resultante de esta configuración se puede comprobar el intercambio de mensajes entre los dos routers involucrados en la negociación de este iBGP.