Border Gateway Protocol

Máquina de estados de BGP.

En telecomunicaciones, 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.

Introducción

El Border Gateway Protocol juega un papel crítico en las comunicaciones en Internet. Facilita el intercambio de información sobre redes IP, la comunicación entre sistemas autónomos (AS). Por tanto BGP es un protocolo interdominio (entre sistemas autónomos) e intradominio (dentro del mismo sistema autónomo).

El protocolo BGP se utiliza para intercambiar información. El intercambio de información en la red se realiza mediante el establecimiento de una sesión de comunicación entre los routers de borde de los sistemas autónomos. Para conseguir una entrega fiable de la información, se hace uso de una sesión de comunicación basada en TCP en el puerto número 179. Esta sesión debe mantenerse conectada debido a que ambos extremos de la comunicación periódicamente se intercambian y actualizan información. De modo que al principio, cada router envía al vecino toda su información de encaminamiento y después únicamente se enviarán las nuevas rutas, las actualizaciones o la eliminación de rutas transmitidas con anterioridad. Además periódicamente se envían mensajes para garantizar la conectividad. Cuando una conexión TCP se interrumpe por alguna razón, cada extremo de la comunicación está obligado a dejar de utilizar la información que ha aprendido por el otro lado. En otras palabras, la sesión TCP sirve como un enlace virtual entre dos sistemas autónomos vecinos, y la falta de medios de comunicación indica que el enlace virtual se ha caído. Cabe destacar que esa unión virtual tendrá más de un enlace físico que conecte a los dos routers frontera, pero si una conexión virtual se cae no indica necesariamente que la conexión física se haya caído.

Desde este punto de vista la topología de Internet se puede considerar como un gráfico de conexión de sistemas autónomos conectados mediante enlaces virtuales. En la figura a continuación podemos ver cuatro sistemas autónomos llamados AS1, AS2, ..., AS4 conectados por enlaces virtuales. Es decir, que mantienen sesiones BGP sobre TCP para la comunicación entre los sistemas autónomos. Cada sistema autónomo contiene una o más redes que se identificaron como N1, N2 y N3 en AS1 y así sucesivamente. Simplemente observando la figura se puede mostrar que existe más de una ruta posible entre dos sistemas autónomos determinados. Como también es posible tener uno o más de un router de borde en el mismo sistema autónomo.

Para la puesta en funcionamiento de la red anterior se debe proveer de un mecanismo de intercambio de rutas que permita comunicar correctamente ambos sistemas. El protocolo BGP utiliza el protocolo de vector de caminos (path vector) para el intercambio de información de enrutamiento en la red. Se transmite una lista con identificación de los ASs por los que pasa el anuncio. De esa manera se conseguirá saber cómo llegar a cualquier dirección del prefijo propagado así como se dispondrá para cursar tráfico para cualquier dirección del prefijo.

Red2.png


Antes de enunciar la mecánica de selección de rutas se deben introducir las dos formas de proceder cuando se cuenta con un escenario en el que implantar BGP. Se debe distinguir entre External BGP (EBGP) e Internal BGP (IBGP). EBGP hace referencia al intercambio de información entre sistemas autónomos sin embargo IBGP hace referencia al intercambio de información dentro de un sistema autónomo. Hasta ahora nos hemos centrado en EBGP pero ¿para qué tipo de escenarios se destaca la importancia de IBGP? Podemos observar una figura como la siguiente, donde por ejemplo el sistema autónomo AS1 debe propagar tres prefijos IP (N1, N2 y N3) para que sean alcanzables desde otros sistemas autónomos. Además estas tres redes deberán establecer cierta política de decisión de rutas hacia otros sistemas autónomos. IBGP conforma una topología virtual mallada de modo que todos los routers de un sistema autónomo se encuentren conectados para que el intercambio de rutas sea directo desde el router al que le llega el anuncio hacia todo los de su sistema autónomo.

Other Languages
български: BGP
Ελληνικά: Border Gateway Protocol
suomi: BGP
עברית: BGP
hrvatski: BGP
Bahasa Indonesia: Border Gateway Protocol
македонски: Border Gateway Protocol
монгол: BGP
русский: Border Gateway Protocol
Simple English: Border Gateway Protocol
українська: BGP
Tiếng Việt: BGP