Protocolo de Puerta de Enlace de Frontera (BGP)
2
Un sistema autónomo en adelante lo conoceremos como AS por sus siglas en inglés de autónomos system, simplemente es un conjunto de redes ip administradas por uno o más operadores de red en la que se utiliza una misma política de enrutamiento, en la actualidad internet es una red compuesta por distintos sistemas autónomos, la mayoría de ellos representan la red de diferentes organizaciones, instituciones o incluso proveedores de servicios de internet o proveedores de telefonía móvil.
Entre las características más importantes de un sistema autónomo se puede mencionar que los sistemas autónomos se comunican entre sí utilizando BGP, el cual es un protocolo de enrutamiento del que hablare más adelante, cada sistema autónomo posee un número que lo identifica esto está regulado por distintas organizaciones internacionales principalmente por la IANNA.
Otro aspecto importante es que la representación textual de números de sistemas autónomos está definida bajo la Norma RFC 5396, estos números de sistemas autónomos inicialmente eran de 16 bits luego se utilizó la norma que mencione anteriormente para que fueran de 32 bits.
3
Existen distintos tipos de sistemas autónomos se pueden clasificar de acuerdo a los siguientes:
- En primer lugar, tenemos sistemas autónomos de conectividad única también conocidos como de tipo stup que son aquellos que alcanzan las redes exteriores a través de un único punto de salida.
- Luego tenemos los sistemas autónomos de tránsito que son aquellos que poseen más de una conexión con el exterior y se conectan con distintos sistemas autónomos de manera simultánea, normalmente utilizan su infraestructura para permitir la comunicación entre sus sistemas autónomos vecinos.
- Y por último tenemos sistemas autónomos de múltiples conexiones sin tránsito o también conocidos como multi-home que son aquellos que se conectan con distintos sistemas autónomos vecinos pero que no permiten el tránsito de la información a través de ellos, para lograr esto el sistema autónomo pública solo sus propias rutas y no propagara las rutas aprendidas por otros sistemas autónomos.
4
Ahora bien, ya sabemos lo que son los sistemas autónomos, sabemos que internet está formada por la interconexión entre ellos y que cada sistema autónomo posee internamente una infraestructura de red que puede ser nacional, regional.
Normalmente dentro de un sistema autónomo se utiliza un protocolo de enrutamiento de tipo IGP (interior gateway protocolo) mientras que para las comunicaciones entre sistemas autónomos distintos se utiliza un EGP (exterior gateway protocol).
Los protocolos IGP tales como rip, ospf o eigrp se utilizan para la comunicación entre los equipos que están dentro del sistema autónomo mientras que los protocolos EGP tales como BGP generalmente se usan para la comunicación entre los sistemas autónomos. }
5
Ahora vamos a hablar sobre BGP o border gateway protocol, principalmente podemos resaltar que BGP es un protocolo exterior, ¿qué significa esto? que es un protocolo que ha sido construido y es dedicado a enviar prefijos entre redes que pertenecen a diferentes ISP (proveedores de servicio) o diferentes redes.
Además es un protocolo externo porque funciona en la Internet y no es ideal tener operando BGP dentro de una red interna al menos que seamos un proveedor de servicios donde es lo más común tener BGP porque el proveedor de servicio es quien nos da el servicio público, el servicio externo a nuestra red privada.
Otra de las características es que BGP es un path-vector, es un vector distancia, es decir que él no utiliza una métrica como los protocolos internos que conocemos como rip, ospf, eigrp, que sabemos que utilizan una métrica de número de saltos o el ancho de banda para tomar una decisión de envío. BGP al ser un vector distancia no utiliza el ancho de banda ni tampoco utiliza el número de saltos para tomar una decisión de envío sino que utiliza algo que llamamos atributos, los cuales trataremos mas adelante.
Otra característica es que utiliza el Puerto 179 TCP, los que construyeron BGP pues dijeron no vamos a construir o reinventar un protocolo de capa 4 que acompañe a BGP, ellos utilizaron TCP que ya existe, al igual que hacen uso de todas las ventajas y bondades que tiene TCP como el triple Way Handshake, evitar la saturación, si se pierden paquetes se reenvía, etcétera todo lo que TCP hace.
Dentro de las distancias administrativas tenemos dos, una interna y una externa, ¿porque tenemos dos? porque la implementación de BGP se pueden dar en dos casos, si nosotros somos un proveedor de servicio vamos a tener BGP implementado entre los router que pertenecen a la misma entidad, entonces estas son sesiones internas y cuando se tiene sesiones con otros proveedores de servicio sería una sesión externa.
Entonces BGP suele confiar más en las sesiones externas y esto se confirmar porque el número de distancia administrativa es menor si nos fijamos en la distancia administrativa externo es de 20, si sabemos que en la distancia administrativa el valor menor es de mayor confianza, porque es obligatorio o por norma las sesiones externas siempre tienen que ser punto a punto o directamente conectadas.
6
El protocolo bgp se puede utilizar de distintas maneras para la interconexión entre distintos sistemas autónomos se utiliza e-bgp o exterior border gateway protocol, mientras que para la comunicación intra sistema autónomo se utiliza i-bgp o interior border gateway protocol.
7
Dentro de la estructura de su funcionamiento BGP trabaja con cuatro tipos de mensajes:
- El primero de ellos es el mensaje OPEN: Este es el primer mensaje que se envía tras el establecimiento de la conexión TCP, su papel es simplemente informar a los routers vecinos acerca de la versión de BGP utilizada, el número de sistema autónomo y el número de identificador del proceso BGP, una vez enviado este mensaje básicamente el proceso BGP se queda en espera de recibir mensajes de tipo KEEPALIVE.
- Los mensajes de tipo KEEPALIVE: Son mensajes que sirven para mantener viva la conexión y básicamente son la confirmación de un mensaje OPEN.
- Luego tenemos los mensajes de tipo NOTIFICATION: Sirven para como su nombre lo indica notificar el cierre tanto de una sesión BGP como el cierre de la conexión TCP.
- Por último, tenemos los mensajes de tipo UPDATE: Son aquellos que utilizan los routers para intercambiar la información de enrutamiento, el conjunto de atributos de cada ruta, prefijos de redes accesibles, así como también la longitud de cada ruta y por supuesto las rutas que deben ser eliminadas. Es importante mencionar que este tipo de mensajes de tipo UPDATE se envían solo cuando existe algún cambio en la red y su recepción genera la activación de un proceso BGP en el que se actualizarán las tablas enrutamiento y se actualizarán a los vecinos
8
Ahora hablemos de los atributos más comunes que tiene bgp:
- El primero de ellos es el ORIGIN: Este atributo indica la forma por la cual se ha aprendido una ruta BGP tendrá un valor de “i” si ha sido aprendida por un protocolo igp, tendrá un valor de “e” si se ha aprendido por un protocolo de tipo egp o tendrá un valor de signo de interrogación que significa que el origen de la ruta es desconocida.
- Luego tenemos el atributo AS-PATH: En el que básicamente cada sistema autónomo añade su número en ese atributo para cada una de las rutas que aprende antes de enviarlas.
- Posteriormente tenemos el NEXT-HOB: Indica la dirección ip del nodo siguiente para llegar a un destino específico.
- Luego tenemos el LOCAL-PREFERENCE: Es un atributo local de un sistema autónomo, se utiliza para ponderar la prioridad de las rutas que se anuncian de manera interna en el sistema autónomo mediante i-bgp.
9
El uso de BGP resulta muy apropiado cuando un AS tiene conexiones a sistemas autónomos múltiples. Esto se conoce como “multilocalizado”. Cada AS en la figura es multilocalizado porque cada AS tiene conexiones con al menos otros dos sistemas autónomos o pares BGP.
Antes de ejecutar BGP, es importante que el administrador de red conozca y entienda bien el BGP. Una configuración incorrecta de un router BGP puede tener consecuencias negativas en toda la Internet.
El BGP no debe utilizarse cuando existe al menos una de las siguientes condiciones:
Hay una sola conexión a Internet u otro AS. Esto se conoce como “localización simple”. En este caso, la empresa A puede ejecutar un IGP con el ISP o tanto la empresa A como el ISP utilizarán rutas estáticas, como se muestra en la figura. Aunque esto se recomienda solo en situaciones inusuales, en este curso, configurará un BGP de localización simple.
Cuando hay una comprensión limitada del BGP. Una configuración incorrecta de un router BGP puede producir errores de gran alcance más allá del AS local, y esto puede tener un impacto negativo en los routers en Internet.
10
El BGP es utilizado por los sistemas autónomos para publicar las redes que se originaron dentro del AS o, en el caso de los ISP, las redes que se originaron en otros sistemas autónomos.
Por ejemplo, una empresa que se conecta al ISP utilizando BGP publicaría sus direcciones de red en su ISP. El ISP luego publicaría dichas redes en otros ISP (pares BGP). Finalmente, el resto de los sistemas autónomos en Internet aprenden sobre las redes originadas inicialmente por la empresa.
Existen tres maneras comunes mediante las cuales una organización puede elegir implementar el BGP en un entorno multilocalizado
11
Solo ruta predeterminada
Los ISP anuncian una ruta predeterminada a la empresa A, como se muestra en la figura, las flechas indican que el valor predeterminado está configurado en los ISP, no en la empresa A. Este es el método más simple para implementar el BGP. Sin embargo, debido a que la empresa recibe una sola ruta predeterminada de ambos ISP, se puede producir el routing por debajo del nivel óptimo. Por ejemplo, la empresa A puede elegir usar la ruta predeterminada desde ISP-1 cuando envía paquetes a una red de destino en los ISP-2 AS.
12
Ruta predeterminada y rutas del ISP
Los ISP publican su ruta predeterminada y su red en la empresa A, como se muestra en la figura, esta opción permite que la empresa A reenvíe el tráfico al ISP correspondiente para las redes anunciadas por ese ISP. Por ejemplo, la empresa A elegiría el ISP-1 para redes publicadas por el ISP-1. Para todas las demás redes, se puede usar una de las dos rutas predeterminadas, lo que significa que el routing por debajo del nivel óptimo aún puede tener lugar para el resto de las rutas de Internet.
13
Todas las rutas de Internet
Los ISP publican todas las rutas de Internet a la empresa A, como se muestra en la figura, debido a que la empresa A recibe todas las rutas de Internet de ambos ISP, la empresa A puede determinar qué ISP utilizará como la mejor ruta para reenviar tráfico hacia cualquier red. Si bien esto resuelve el problema del routing por debajo del nivel óptimo, el router BGP de la empresa A debe contener todas las rutas de Internet, que son actualmente las rutas a más de 550 000 redes.
Configuración en Cisco Packet Tracer
Se ha desarrollado este escenario en el que tal y como pueden ver tenemos tres sistemas autónomos interconectados entre sí, tenemos el sistema autónomo 100, el sistema autónomo 200 y el sistema autónomo 300, todos están interconectados mediante enlaces seriales, lo que se quiere es configurar BGP versión 4 de tal manera de que podamos interconectar no solamente estos tres sistemas autónomos, sino que podamos realizar una prueba de conectividad entre ambas computadoras.
Fíjense que además para este caso tanto el sistema autónomo 100 como el sistema autónomo 300 poseen cada uno una subred interna y queremos realizar la configuración de manera tal que la red 192.168.1.0 pueda comunicarse con la red 192.168.2.0
Antes de comenzar previamente se ha realizado la configuración básica en cada router, es decir, a cada router ya se le ha asignado su nombre, contraseña de consola, acceso vía telnet, así como también la configuración básica de cada una de las interfaces con su respectivo direccionamiento ip.
Con esto configurado se procede a realizar la configuración BGP
R1>enable R1#configure terminal R1(config)#router bgp 100 R1(config-router)#network 10.1.1.0 mask 255.255.255.252 R1(config-router)#network 10.1.3.0 mask 255.255.255.252 R1(config-router)#network 192.168.1.0 mask 255.255.255.0
R2>enable R2#configure terminal R2(config)#router bgp 200 R2(config-router)#network 10.1.1.0 mask 255.255.255.252 R2(config-router)#network 10.1.2.0 mask 255.255.255.252
R3>enable R3#configure terminal R3(config)#router bgp 300 R3(config-router)#network 10.1.2.0 mask 255.255.255.252 R3(config-router)#network 10.1.3.0 mask 255.255.255.252 R3(config-router)#network 192.168.2.0 mask 255.255.255.0
Si aplicamos el comando:
R1>enable R1#show ip route
Para ver la tabla de enrutamiento, observaremos que cada uno de los routers de momento lo único que tiene en su tabla de enrutamiento son las redes que tienes directamente conectadas, es decir, que todavía no se están intercambiando o no se están publicando las redes mediante el protocolo BGP, llegado a este punto es importante tener claro otra diferencia fundamental que tiene BGP con otros protocolos de enrutamiento y el hecho de que a BGP hay que especificarle cada una de las direcciones ip vecinas junto al número del sistema autónomo al que pertenece.
R1>enable R1#configure terminal R1(config)#router bgp 100 R1(config-router)#neighbor 10.1.1.2 remote-as 200 R1(config-router)#neighbor 10.1.3.2 remote-as 300
R2>enable R2#configure terminal R2(config)#router bgp 200 R2(config-router)#neighbor 10.1.1.1 remote-as 100 R2(config-router)#neighbor 10.1.2.2 remote-as 300
R3>enable R3#configure terminal R3(config)#router bgp 300 R3(config-router)#neighbor 10.1.2.1 remote-as 200 R3(config-router)#neighbor 10.1.3.1 remote-as 100
Siguiente paso para verificar que todo ha sido configurado de forma correcta y que no podemos olvidar es verificar la tabla de enrutamiento a fin de determinar y de verificar más que todo que tenemos el funcionamiento correcto a nivel de lo que hemos configurado para ello verificamos la tabla enrutamiento
R1#show ip route
Anteriormente se mostraban las rutas de las redes directamente conectadas, pero ahora si se fijaran que tenemos rutas de tipo BGP, que están siendo aprendidas mediante el protocolo valga la redundancia BGP, es decir, que ahora por ejemplo R1 sabe llegar a la red 192.168.2.0 que es la del sistema autónomo 300
Ahora, podríamos verificar la tabla de vecinos, aquí me va a mostrar toda la información del protocolo de enrutamiento BGP junto con los vecinos.
R1#show ip bgp neighbors
Una vez verificada la tabla de enrutamiento y la tabla de vecinos se procede a realizar una prueba de ping.
R2#ping 10.1.1.1 R2#ping 10.1.3.1 R2#ping 10.1.3.2 R2#ping 192.168.1.1 R2#ping 192.168.1.2
Si la prueba de ping es exitosa implica que ya de por sí hay full conectividad en cada uno de los sistemas autónomos, para finalizar se podría abrir la consola de una computadora del sistema autónomo 100 y hacer una prueba de ping hacia el otro extremo.
C:\>ping 192.168.2.2
Enlaces de Descarga
Descarga la presentación en PDF dando clic aquí.