Es un protocolo de enrutamiento de vector de ruta estandarizado que proporciona escalabilidad y flexibilidad. BGP es el único protocolo utilizado para intercambiar redes en Internet, que tiene más de 800.000 rutas IPv4 y sigue creciendo.
Desde la perspectiva de BGP, un sistema autónomo (AS) es una colección de enrutadores bajo el control de una sola organización y utiliza uno o más protocolos de puerta de enlace interior (IGP) y métricas comunes para enrutar paquetes dentro del AS.
Una organización que requiera conectividad a Internet debe obtener un ASN. Los ASN eran originalmente de 2 bytes (en el rango de 16 bits), lo que hizo posibles 65.535 ASN. Debido al agotamiento, RFC 4893 expandió el campo ASN para acomodar 4 bytes (en el rango de 32 bits). Esto permite 4.294.967.295 ASN únicos, lo que supone un gran aumento con respecto a los 65.535 ASN originales.
Hay dos bloques de ASN privados disponibles para el uso de cualquier organización, siempre que estos ASN nunca se intercambien públicamente en Internet. Los ASN del 64 512 al 65 535 son ASN privados en el rango de ASN de 16 bits y del 4 200 000 000 al 4 294 967 294 son ASN privados en el rango extendido de 32 bits.
Una sesión BGP es una adyacencia establecida entre dos enrutadores BGP. Las sesiones de saltos múltiples requieren que el enrutador use una ruta subyacente instalada en la base de información de enrutamiento (RIB) (estática o de cualquier protocolo de enrutamiento) para establecer la sesión TCP con el extremo remoto.
Las sesiones BGP se clasifican en dos tipos:
- BGP interno (iBGP): Sesiones establecidas con un enrutador iBGP que están en el mismo AS o que participan en la misma confederación BGP.
- BGP externo (eBGP): Sesiones establecidas con un enrutador BGP que se encuentran en un AS diferente.
BGP utiliza atributos de ruta (PA) asociados con cada ruta de red. Los PA proporcionan a BGP granularidad y control de las políticas de enrutamiento en BGP. Los PA de prefijo BGP se clasifican como cualquiera de los siguientes:
- Obligatorio conocido
- Conocido discrecional
- Transitivo opcional
- No transitivo opcional
Los atributos bien conocidos deben ser reconocidos por todas las implementaciones de BGP. Los atributos obligatorios bien conocidos deben incluirse con cada anuncio de prefijo; los atributos discrecionales bien conocidos pueden incluirse o no en el anuncio de prefijo.
Los atributos opcionales no tienen que ser reconocidos por todas las implementaciones de BGP. Los atributos opcionales se pueden configurar para que sean transitivos y permanezcan con el anuncio de ruta de AS a AS. Otros PA no son transitivos y no se pueden compartir de AS a AS. En BGP, la información de accesibilidad de la capa de red (NLRI) es la actualización de enrutamiento que consiste en el prefijo de red, la longitud del prefijo y cualquier PA de BGP para esa ruta específica.
BGP es un protocolo de enrutamiento de vector de ruta y no contiene una topología completa de la red, como lo hacen los protocolos de enrutamiento de estado de enlace. BGP se comporta como protocolos de vector de distancia, asegurando que una ruta esté libre de bucles.
El atributo BGP AS_Path es un atributo obligatorio bien conocido e incluye una lista completa de todos los ASN que ha atravesado el anuncio de prefijo desde su origen AS. AS_Path se utiliza como mecanismo de prevención de bucles en BGP. Si un enrutador BGP recibe un anuncio de prefijo con su AS enumerado en AS_Path, descarta el prefijo porque el enrutador cree que el anuncio forma un bucle.