¿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:

  • Definir el enrutamiento BGP
  • Analizar la relación entre sistemas autónomos
  • Explicar cómo el BGP puede afectar la funcionalidad de Internet

Contenido relacionado


¿Quieres saber más?

Suscríbete a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.

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.

Recurso
Recupera el control con la conectividad cloud

¿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.

Me interesa
Acelere globalmente su tráfico con un solo clic

¿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.

¿Qué son los atributos de BGP?

En general, BGP intenta encontrar la ruta más eficiente para el tráfico de la red. Sin embargo, como ya se ha indicado, el recuento de saltos no es el único factor que utilizan los enrutadores BGP para encontrar esas rutas. BGP asigna atributos a cada ruta y estos atributos ayudan a los enrutadores a seleccionar una ruta cuando hay varias opciones. Muchos enrutadores permiten a los administradores personalizar los atributos para tener un control más granular sobre cómo fluye el tráfico en sus redes. Algunos ejemplos de atributos BGP incluyen:

  • Peso: atributo propiedad de Cisco, que indica al enrutador qué rutas locales son preferibles.
  • Preferencia local: indica al enrutador qué ruta de salida debe seleccionar.
  • Origen: indica al enrutador que elija las rutas que él mismo ha agregado a BGP.
  • Longitud de la ruta AS: de forma similar al diagrama de ejemplo anterior, este atributo indica a un enrutador que prefiera las rutas más cortas.

También existen otros tantos atributos BGP. Todos estos atributos están ordenados por prioridad para los enrutadores BGP — de modo que, por ejemplo, un enrutador BGP comprueba primero qué ruta tiene el peso más alto, luego comprueba la preferencia local, luego comprueba si el enrutador originó la ruta, etc. (Así, si todas las rutas recibidas tienen el mismo peso, el enrutador selecciona en su lugar una ruta basada en la preferencia local).

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.

Otro incidente en esta línea ocurrió en junio de 2019, cuando una pequeña empresa de Pensilvania se convirtió en la ruta preferida para los enrutadores a través de la red de Verizon, provocando que gran parte de Internet dejara de estar disponible para los usuarios durante varias horas.

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.

El secuestro de BGP se puede utilizar para diversos tipos de ataques:

  • Phishing e ingeniería social a través de la redirección de los usuarios a sitios web falsos
  • Denegación de servicio (DoS) a través del tráfico de agujero negro o redireccionamiento
  • Ataques en ruta para modificar los datos intercambiados y socavar los sistemas de filtrado basados en la reputación.
  • Ataques de suplantación para espiar las comunicaciones

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.

Cómo asegurar el 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.

Pero la existencia de la RPKI no es suficiente. Si las grandes redes no implementan las mejores prácticas de seguridad BGP, pueden propagar ataques de secuestro a gran escala. En la actualidad, más del 50 % de los principales proveedores de Internet admiten la RPKI en cierta medida, pero se necesita una mayoría más amplia para asegurar completamente el BGP. Los operadores de red pueden proteger sus redes implementando la RPKI y utilizando tecnología de alerta de red, como la Detección de fugas de ruta de Cloudflare. Esta función ayuda a prevenir los ataques de secuestro del BGP, ya que permite a los clientes saber cuándo usuarios no autorizados están anunciando sus prefijos.