¿Qué es el BGP? | Explicación del enrutamiento del BGP

El protocolo de puerta de enlace de frontera (BGP) es el protocolo de enrutamiento de Internet. Al igual que la oficina de correos que procesa el correo, el BGP elige las rutas más eficientes para entregar el tráfico de Internet.

Metas de aprendizaje

Después de leer este artículo podrás:

  • Define BGP routing
  • Explore the relationship between autonomous systems
  • Explain how BGP can impact the functionality of the Internet

Contenido relacionado


Want to keep learning?

Subscribe to theNET, Cloudflare's monthly recap of the Internet's most popular insights!

Revisa la política de privacidad de Cloudflare para saber más sobre cómo Cloudflare gestiona tus datos personales.

Copiar el enlace del artículo

¿Qué es el BGP?

El BGP es el servicio postal de Internet. Cuando alguien deposita una carta en un buzón, el servicio postal procesa esa correspondencia, y elige una ruta rápida y eficiente para entregar esa carta a su destinatario. Del mismo modo, cuando alguien envía datos a través de Internet, el BGP se encarga de buscar todas las rutas disponibles por las que podrían viajar los datos y elegir la mejor, lo que suele implicar saltar entre sistemas autónomos.

El BGP es el protocolo que hace que Internet funcione ya que permite el enrutamiento de datos. Cuando un usuario de Singapur carga un sitio web con servidores de origen en Argentina, el BGP es el protocolo que permite que esa comunicación se produzca de forma rápida y eficaz.

Resource
Regain control with the Connectivity Cloud

Talk to an expert
Learn how Cloudflare can protect your business

¿Qué es un sistema autónomo?

Internet es una red de redes. Está dividida en cientos de miles de redes más pequeñas conocidas como sistemas autónomos (AS). Cada una de estas redes es, en esencia, un gran conjunto de enrutadores gestionados por una única organización.

Topografía de Internet

Si seguimos pensando en el BGP como el servicio postal de Internet, los AS son como las sucursales individuales de correos. Una ciudad puede tener cientos de buzones, pero el correo de esos buzones debe pasar por la sucursal postal local antes de ser encaminado a otro destino. Los enrutadores internos de un AS son como buzones de correo. Reenvían sus transmisiones salientes al AS que, a su vez, utiliza el enrutamiento del BGP para hacer llegar estas transmisiones a sus destinos.

BGP simplificado

El diagrama anterior ilustra una versión simplificada del BGP. En esta versión, solo hay seis AS en Internet. Si AS1 necesita enrutar un paquete a AS3, tiene dos opciones diferentes:

Saltar a AS2 y luego a AS3:

AS2 → AS3

O saltar a AS6, luego a AS5, AS4 y, por último, a AS3:

AS6 → AS5 → AS4 → AS3

En este modelo simplificado, la decisión parece sencilla. La ruta AS2 requiere menos saltos que la ruta AS6 y, por lo tanto, es la ruta más rápida y eficiente. Ahora imagina que hay cientos de miles de AS y que el recuento de saltos es solo una parte de un complejo algoritmo de selección de rutas. Esa es la realidad del enrutamiento del BGP en Internet.

La estructura de Internet cambia constantemente, aparecen nuevos sistemas y dejan de estar disponibles los existentes. Por ello, cada AS debe mantenerse al día con la información de las nuevas rutas, y la de las rutas obsoletas. Esto se hace mediante sesiones de emparejamiento en las que cada AS se conecta a los AS vecinos con una conexión TCP/IP con el fin de compartir información de enrutamiento. Con esta información, cada AS está equipado para enrutar adecuadamente las transmisiones de datos salientes provenientes del interior.

Aquí es donde parte de nuestra analogía se desmorona. A diferencia de las oficinas de correos, los sistemas autónomos no forman parte de la misma organización. De hecho, a menudo pertenecen a empresas competidoras. Por esta razón, las rutas del BGP a veces tienen en cuenta consideraciones comerciales. Los AS se suelen facturar entre sí por transportar el tráfico a través de sus redes, y el precio del acceso puede tenerse en cuenta a la hora de elegir la ruta.

Sign Up
Globally accelerate your traffic with a single click

¿Quién opera los sistemas autónomos del BGP?

Los AS suelen pertenecer a proveedores de servicios de Internet (ISP) u otras organizaciones grandes, como empresas tecnológicas, universidades, agencias gubernamentales e instituciones científicas. Cada AS que desee intercambiar información de enrutamiento debe tener un número de sistema autónomo (ASN) registrado. La Autoridad para la asignación de números de Internet (IANA) asigna los ASN a los Registros regionales de Internet (RIR), que a su vez los asignan a los ISP y a las redes. Los ASN son números de 16 bits entre 1 y 65.534 y de 32 bits entre 131.072 y 4.294.967.294. Desde 2018, hay alrededor de 64.000 ASN en uso en todo el mundo. Estos ASN solo son necesarios para el BGP externo.

¿Cuál es la diferencia entre el BGP externo e interno?

Las rutas se intercambian y el tráfico se transmite por Internet mediante el BGP externo (eBGP). Los sistemas autónomos también pueden utilizar una versión interna del BGP para enrutar a través de sus redes internas, lo que se conoce como el BGP interno (iBGP). Hay que tener en cuenta que el uso del BGP interno NO es un requisito para utilizar el BGP externo. Los sistemas autónomos pueden elegir entre varios protocolos internos para conectar los enrutadores de su red interna.

El BGP externo es como el envío internacional. Existen ciertos estándares y pautas que se deben seguir al enviar un correo de forma internacional. Una vez que ese correo llega al país de destino, tiene que pasar por el servicio postal local del país de destino para llegar a su destino final. Cada país tiene su propio servicio de correo interno que no necesariamente sigue las mismas pautas que los de otros países. Del mismo modo, cada sistema autónomo puede tener su propio protocolo de enrutamiento interno para dirigir los datos dentro de su propia red.

What are BGP attributes?

Overall, BGP tries to find the most efficient path for network traffic. But as noted above, hop count is not the only factor BGP routers use for finding those paths. BGP assigns attributes to each path, and these attributes help routers select a path when there are multiple options. Many routers allow administrators to customize attributes for more granular control over how traffic flows on their networks. Some examples of BGP attributes are:

  • Weight: A Cisco-proprietary attribute, this tells a router which local paths are preferred.
  • Local preference: This tells a router which outbound path to select.
  • Originate: This tells a router to choose routes it added to BGP itself.
  • AS path length: Similar to the example diagram above, this attribute tells a router to prefer shorter paths.

There are several other BGP attributes as well. All these attributes are ordered by priority for BGP routers — so that, for example, a BGP router first checks to see which route has the highest weight, then checks local preference, then checks to see if the router originated the route, and so on. (So, if all routes received have an equal weight, the router selects a path based on local preference instead.)

Defectos del BGP y cómo solucionarlos

En 2004, un ISP turco llamado TTNet anunció de forma accidental rutas BGP incorrectas a sus vecinos. Estas rutas afirmaban que el propia TTNet era el mejor destino para todo el tráfico de Internet. A medida que estas rutas se fueron extendiendo a más sistemas autónomos, se produjo una interrupción masiva que creó una crisis durante todo un día en la que muchas personas de todo el mundo no pudieron acceder a una parte o a la totalidad de Internet.

De manera similar, en 2008, un ISP paquistaní intentó utilizar una ruta del BGP para impedir que los usuarios paquistaníes visitaran YouTube. El ISP entonces anunció, de manera errónea, estas rutas a sus AS vecinos y la ruta se extendió con rapidez por la red del BGP de Internet. Esta ruta envió a los usuarios que intentaban acceder a YouTube a un callejón sin salida, lo que provocó que no se pudiera acceder a YouTube durante varias horas.

Another incident along these lines occurred in June 2019, when a small company in Pennsylvania became the preferred path for routes through Verizon's network, causing much of the Internet to become unavailable to users for several hours.

Estos son ejemplos de una práctica llamada secuestro del BGP, que no siempre se produce de forma accidental. En abril de 2018, los atacantes crearon deliberadamente rutas de BGP incorrectas para redirigir el tráfico destinado al servicio de DNS de Amazon. Los atacantes lograron robar más de 100.000 dólares en criptomonedas redirigiendo el tráfico hacia ellos mismos.

BGP hijacking can be used for several kinds of attacks:

  • Phishing and social engineering through re-routing users to fake websites
  • Denial-of-service (DoS) through traffic blackholing or redirection
  • On-path attacks to modify exchanged data, and subvert reputation-based filtering systems
  • Impersonation attacks to eavesdrop on communications

Este tipo de incidentes pueden ocurrir porque la función de compartir rutas del BGP se basa en la confianza, y los sistemas autónomos confían, de forma implícita, en las rutas que se comparten con ellos. Cuando los números de sistemas del mismo nivel anuncian información sobre la ruta incorrecta (de manera intencional o no), el tráfico llega a donde no se supone que debe hacerlo, con resultados potencialmente maliciosos.

How to secure BGP

Por fortuna, se han hecho algunos progresos en la seguridad del BGP. En particular, en 2008 se implementó un marco de seguridad para el enrutamiento denominado Infraestructura de clave pública de recursos (RPKI). La RPKI emplea registros firmados mediante cifrado que se llaman Autorizaciones de origen de rutas (ROA) para validar qué operador de red está autorizado a anunciar las direcciones IP de una organización utilizando el BGP. Esto garantiza que solo los autorizados anuncien los prefijos de una organización.

But RPKI’s existence alone is not enough. If large networks do not follow BGP security best practices, they can spread large-scale hijacking attacks. Currently, over 50% of the top Internet providers support RPKI to some extent, but a larger majority is needed to fully secure BGP. Network operators can protect their networks by implementing RPKI and using network alerting technology like Cloudflare Route Leak Detection. This feature helps prevent BGP hijacking attacks by letting customers know when unauthorized parties are advertising their prefixes.