BGP (Border Gateway Protocol) es un protocolo de enrutamiento de tipo 'path-vector' que gestiona cómo los paquetes son enrutados a través de Internet, intercambiando información de alcanzabilidad de red entre sistemas autónomos (AS). A diferencia de los protocolos de enrutamiento interno (IGP) como OSPF o EIGRP, que operan dentro de un único AS, BGP es un protocolo de 'exterior gateway' (EGP) diseñado para operar entre diferentes AS. BGP no solo anuncia prefijos de red, sino también los atributos de ruta asociados, como el AS_PATH (la secuencia de AS por los que ha pasado la ruta), NEXT_HOP y LOCAL_PREF, permitiendo a los routers tomar decisiones de enrutamiento basadas en políticas complejas y no solo en métricas de coste.

En el mundo real, BGP es la columna vertebral de Internet. Todos los proveedores de servicios de Internet (ISP) y grandes organizaciones que operan su propio AS utilizan BGP para interconectarse y anunciar sus redes al resto del mundo. Ejemplos concretos incluyen el enrutamiento de tráfico entre Google (AS15169) y un ISP local, o cómo una gran empresa con múltiples conexiones a Internet gestiona el tráfico de entrada y salida para optimizar el rendimiento y la resiliencia. También es fundamental en entornos de data center a gran escala, donde se utiliza BGP 'internal' (iBGP) para distribuir rutas dentro de un AS, y BGP 'external' (eBGP) para la interconexión con otros AS. Las redes de Content Delivery Networks (CDN) y los proveedores de servicios en la nube (AWS, Azure, GCP) dependen en gran medida de BGP para anunciar sus rangos de IP y dirigir el tráfico de manera eficiente a sus puntos de presencia globales.

Para un arquitecto de sistemas, comprender BGP es crucial para diseñar infraestructuras de red robustas, resilientes y escalables. Permite tomar decisiones informadas sobre la multihoming (conexión a múltiples ISPs), la ingeniería de tráfico (influir en cómo el tráfico entra y sale de la red) y la implementación de políticas de seguridad y redundancia. Los trade-offs incluyen la complejidad de la configuración y gestión de BGP, especialmente en entornos con muchas rutas y políticas, frente a la flexibilidad y el control granular que ofrece sobre el flujo de tráfico. La elección de un AS number, la definición de políticas de importación y exportación de rutas, y la gestión de atributos BGP son decisiones estratégicas que impactan directamente en la disponibilidad, el rendimiento y el coste operativo de las aplicaciones y servicios distribuidos.