robot de la enciclopedia para niños

Border Gateway Protocol para niños

Enciclopedia para niños
Archivo:BGP FSM
Máquina de estados de BGP.

El Protocolo de Puerta de Enlace de Frontera o BGP (por sus siglas en inglés, Border Gateway Protocol) es un sistema muy importante en las telecomunicaciones. Imagina que Internet es como una red gigante de carreteras. BGP es el protocolo que ayuda a los diferentes "países" o "regiones" de esta red a saber cómo llegar de un lugar a otro.

Estos "países" se llaman sistemas autónomos (AS). Por ejemplo, los proveedores de servicio de Internet (ISP) suelen tener varios de estos sistemas autónomos. BGP permite que estos grandes proveedores intercambien información sobre las rutas disponibles. Así, los datos pueden viajar de forma eficiente por toda la red.

Los enrutadores (dispositivos que dirigen el tráfico de red) que están en los límites de cada sistema autónomo usan BGP. Se comunican entre sí para compartir sus "mapas de carreteras" o tablas de rutas. BGP es el protocolo más usado para conectar grandes redes entre sí.

Para organizar la información que BGP comparte, se crean estos sistemas autónomos (AS). Cada AS tiene conexiones internas (llamadas iBGP) y conexiones externas (llamadas eBGP). BGP es un tipo de protocolo de puerta de enlace exterior (EGP). Ayuda a elegir rutas sin que los datos se queden dando vueltas en un círculo. A diferencia de otros protocolos internos, BGP toma decisiones basándose en reglas y políticas de red.

¿Cómo funciona BGP en Internet?

BGP es fundamental para que Internet funcione. Permite que los diferentes sistemas autónomos (AS) intercambien información sobre las redes IP. Así, los datos pueden viajar de un AS a otro. Por eso, BGP es un protocolo que funciona tanto entre sistemas autónomos (interdominio) como dentro de un mismo sistema autónomo (intradominio).

Conexión y comunicación

El protocolo BGP establece una sesión de comunicación entre los enrutadores que están en los límites de los sistemas autónomos. Para que esta comunicación sea segura y confiable, BGP usa una conexión especial llamada TCP en el puerto número 179. Esta conexión debe mantenerse activa todo el tiempo.

Al principio, cada enrutador envía a su vecino toda la información de sus rutas. Después, solo se envían las rutas nuevas, las actualizaciones o los cambios. También se mandan mensajes periódicamente para asegurarse de que la conexión sigue funcionando.

Si la conexión TCP se interrumpe, los enrutadores dejan de usar la información que recibieron del otro lado. Es como si el "enlace virtual" entre ellos se cayera. Aunque haya varios cables físicos conectando los enrutadores, si la conexión virtual de BGP falla, la comunicación se detiene.

La red de sistemas autónomos

Imagina que los sistemas autónomos son como ciudades y los enlaces virtuales son las carreteras que las conectan. En una red, puede haber varias rutas posibles entre dos sistemas autónomos. También es posible que un sistema autónomo tenga más de un enrutador en su límite.

Red2.png

Para que una red funcione, debe haber un sistema que permita el intercambio de rutas. BGP usa un método llamado "protocolo de vector de caminos". Esto significa que cuando se anuncia una ruta, se incluye una lista de los sistemas autónomos por los que ha pasado ese anuncio. Así, se sabe cómo llegar a cualquier dirección y cómo enviar el tráfico.

BGP interno y externo

Hay dos formas principales de usar BGP:

  • BGP externo (eBGP): Se usa cuando la información se intercambia entre dos sistemas autónomos diferentes. Los enrutadores en el límite de un AS que se comunican con otro AS se llaman enrutadores de borde o pares eBGP.
  • BGP interno (iBGP): Se usa cuando la información se intercambia dentro del mismo sistema autónomo. Para que todos los enrutadores dentro de un AS se comuniquen directamente, suelen estar conectados en una "malla completa" virtual.

La principal diferencia es cómo se comparten las rutas:

  • Las rutas nuevas que se aprenden de un par eBGP se anuncian a todos los pares iBGP y eBGP.
  • Las rutas nuevas que se aprenden de un par iBGP solo se anuncian a los pares eBGP.

Estas reglas ayudan a controlar cómo se propaga la información de las rutas en la red.

Relaciones entre sistemas autónomos

Los sistemas autónomos se conectan de dos maneras principales:

  • Interconexión voluntaria (peering): Dos sistemas autónomos se conectan directamente para reducir costos, mejorar la velocidad y tener rutas de respaldo. Generalmente, no hay pago entre ellos. Se hace entre sistemas autónomos de tamaño similar.
  • Tránsito: Un sistema autónomo (el cliente) paga a otro (el proveedor) para que le dé acceso a Internet. Es como pagar por usar una autopista.
DiagramaDistribucionRed.png

En la imagen, los proveedores de "nivel 1" (tier 1) son los más grandes. No pagan a otros proveedores y ofrecen servicio a muy larga distancia. Los demás proveedores pagan al menos por el tránsito con un tier 1. Los clientes pagan a los proveedores con los que tienen un enlace de tránsito.

BGP también permite "agrupar" rutas. Esto ayuda a que los enrutadores manejen menos información, haciendo la red más eficiente.

Multiconexión (Multihoming)

Un escenario común es la "multiconexión" o "multihoming". Esto ocurre cuando un cliente se conecta a dos proveedores de Internet diferentes. Así, tiene dos rutas de salida para su tráfico. El sistema autónomo debe decidir qué camino usar, basándose en sus necesidades. Por ejemplo, puede querer equilibrar el tráfico, preferir un enlace más rápido o tener una opción de respaldo si uno falla.

La forma de gestionar estas prioridades se llama ingeniería de tráfico. Se logra usando los atributos de BGP, que son como etiquetas o características de cada ruta.

Tipos de mensajes BGP

BGP usa cuatro tipos de mensajes para comunicarse:

  • OPEN: Se usa para iniciar una sesión BGP una vez que la conexión TCP está lista. Aquí se negocian los detalles de la sesión, como la versión de BGP.
  • UPDATE: Este es un mensaje muy importante. Contiene los anuncios de nuevas rutas o los cambios en las rutas existentes. Se envía cada vez que se encuentra una mejor ruta o una ruta se modifica.
  • KEEPALIVE: Una vez que la sesión BGP está activa, se envían estos mensajes periódicamente. Sirven para confirmar que el otro enrutador sigue conectado y activo.
  • NOTIFICATION: Se envía cuando una sesión BGP se cierra debido a un error. Este mensaje informa que la conexión se ha terminado.

Ingeniería de tráfico con BGP

La ingeniería de tráfico en BGP es cómo se gestiona la red usando los atributos del protocolo. Esto permite que la red cumpla con ciertas características o reglas. Se definen reglas para el tráfico que sale y para el que entra. La gestión se hace seleccionando qué rutas va a anunciar un enrutador y cuáles va a elegir como las mejores.

Para esto, BGP usa varios atributos que dan información para decidir qué rutas filtrar o seleccionar. Aquí te explicamos algunos:

ORIGIN

Indica cómo se conoció una ruta por primera vez. Puede ser:

  • IGP (0): La ruta se aprendió de un protocolo interno del sistema autónomo (como OSPF).
  • EGP (1): La ruta se aprendió de un protocolo externo (como BGP).
  • INCOMPLETE (2): La información de origen está incompleta, no se sabe de dónde viene.

Para elegir una ruta, se prefiere la que tiene un valor ORIGIN más bajo. Es decir, primero las de IGP, luego las de EGP y al final las INCOMPLETE.

AS-PATH

Este atributo guarda una lista de los números de los sistemas autónomos (AS) por los que ha pasado una ruta. Cada vez que un enrutador de borde envía una ruta a otro AS, añade su número a esta lista. Si la ruta se queda dentro del mismo AS (iBGP), la lista no cambia.

Si se usa AS-PATH para elegir rutas, se prefiere la que tiene la lista más corta. Esto indica que hay menos "saltos" entre sistemas autónomos para llegar al destino.

NEXT-HOP

Indica la dirección IP del siguiente enrutador al que se debe enviar el tráfico para llegar al destino. Cuando una ruta se anuncia fuera de un sistema autónomo, el NEXT-HOP es el siguiente punto conocido al que hay que enviar los datos.

Para elegir una ruta, se selecciona la que tenga el menor costo o menos saltos para llegar al NEXT-HOP.

MULTI-EXIT-DISCRIMINATOR (MED)

Este atributo se usa cuando un sistema autónomo tiene varias conexiones al mismo sistema autónomo.

Med.png

Como ves en la imagen, un AS puede tener dos enlaces a otro AS. MED se puede usar para equilibrar la carga. Por ejemplo, para algunas rutas se puede preferir un enlace y para otras, el otro. Este valor es local entre los dos sistemas autónomos y no se comparte más allá. Se prefiere la ruta con el valor MED más bajo.

LOCAL-PREF

Este atributo es útil cuando un sistema autónomo tiene varias conexiones a diferentes sistemas autónomos, lo que puede generar múltiples rutas al mismo destino. LOCAL-PREF ayuda a decidir qué enlace usar para enviar el tráfico. Solo tiene sentido dentro del mismo sistema autónomo y se transmite solo por iBGP.

Se elige el enlace con el valor LOCAL-PREF más alto. El valor predeterminado es 100.

ATOMIC AGGREGATE

Este atributo indica que la ruta se ha obtenido al agrupar varias rutas más específicas.

COMMUNITY

Permite gestionar la distribución de información de rutas a un grupo específico de destinatarios, llamado "comunidad". La idea es que a este grupo se le pueda aplicar una política de enrutamiento particular. Esto simplifica el trabajo y ayuda a tener un control más preciso de la red. Se usa un número como una etiqueta para clasificar la ruta.

Selección de rutas

Todos estos atributos se pueden usar juntos para elegir la mejor ruta. Sin embargo, hay un orden de preferencia. BGP sigue una lista de criterios y va eliminando las rutas que no cumplen con el mejor valor en cada paso.

1. Si el siguiente NEXT-HOP no está disponible, la ruta se ignora. 2. Se eliminan las rutas con el LOCAL-PREF más bajo. 3. Se eliminan las rutas con el AS-PATH más largo. 4. Se eliminan las rutas con el ORIGIN más alto. 5. Se eliminan las rutas con el MED más alto. 6. Si hay rutas aprendidas por iBGP y por eBGP, se prefieren las de eBGP. 7. Se eliminan las rutas con mayor costo para llegar al NEXT-HOP. 8. Se prefiere la ruta anunciada por el enrutador con el identificador BGP más bajo. 9. Se prefiere la ruta recibida desde la interfaz con la dirección más baja para el vecino.

Los últimos dos puntos son formas de desempate que BGP usa si no puede decidir con los criterios anteriores.

Incidentes importantes con BGP

A lo largo de su historia, BGP ha estado involucrado en algunos incidentes notables:

  • Egipto, 2011: Durante las protestas de Egipto de 2011, el gobierno ordenó a los proveedores de Internet cortar las conexiones internacionales. Como resultado, los enrutadores egipcios dejaron de anunciar miles de rutas BGP. Esto dejó al resto de Internet sin información para comunicarse con los servidores egipcios.
  • Verizon, 2019: Una pequeña empresa en Pensilvania se convirtió en un "embudo" de tráfico. Gran parte del tráfico de Verizon se desvió hacia ella debido a un error en las políticas de filtrado de rutas. Esto causó retrasos significativos en muchos sitios web.
  • Caída de Facebook, Instagram y WhatsApp, 2021: El 4 de octubre de 2021, estas aplicaciones sufrieron una caída mundial. Esto se debió a que Facebook realizó cambios en su BGP, lo que es poco común. Al hacer los cambios, Facebook perdió la información de sus propias rutas BGP y las direcciones para llegar a sus servidores DNS. Esto hizo que sus servicios fueran inaccesibles.

Usos de BGP

BGP4 es el estándar para el enrutamiento en Internet. La mayoría de los proveedores de servicios de Internet (ISP) lo necesitan para establecer la comunicación entre sí. Las redes IP privadas muy grandes también usan BGP internamente. Por ejemplo, para conectar varias redes grandes que usan Open Shortest Path First (OSPF) cuando OSPF por sí solo no es suficiente. Otra razón para usar BGP es tener múltiples conexiones a Internet para una mejor seguridad y respaldo, ya sea a varios puntos de un solo ISP o a diferentes ISP.

|

Véase también

Kids robot.svg En inglés: Border Gateway Protocol Facts for Kids

kids search engine
Border Gateway Protocol para Niños. Enciclopedia Kiddle.