Esta semana, durante RIPE 91, se presentó una charla muy interesante sobre el atributo BGP ORIGIN, su uso y la distribución de sus tres posibles valores en las tablas de enrutamiento global.
El atributo ORIGIN es un atributo “well-known mandatory” definido en el RFC 4271.
En el proceso de selección de rutas de BGP se evalúa después de atributos más determinantes como LOCAL_PREF y AS_PATH.
Sin embargo, cuando varias rutas empatan en los criterios anteriores, el valor de ORIGIN puede ser decisivo para determinar la mejor ruta.
Sus posibles valores son:
IGP (0): indica que el prefijo se originó dentro del propio AS (por ejemplo, mediante el comando network en BGP).
EGP (1): originado a través del antiguo protocolo EGP, hoy prácticamente en desuso.
INCOMPLETE (2): aprendido por otros medios, por ejemplo al redistribuir rutas desde OSPF u otro protocolo hacia BGP.
Durante la presentación “BGP Origin Type”, James Bensley (Inter.link) explicó que los principales carriers de tránsito están reescribiendo el atributo ORIGIN de INCOMPLETE a IGP para que sus rutas sean más preferidas y así atraer más tráfico hacia sus redes.
Comentó que, como proveedor de tránsito, Inter.link había intentado resistirse a esa práctica, pero al ver que el problema persistía decidió hablar del tema públicamente en la comunidad.
Al contactar a algunos de esos operadores, varios justificaban el cambio a pesar de lo indicado en el RFC 4271, sección 5.1.1, que establece:
“Its value SHOULD NOT be changed by any other speaker.”
Sin embargo, estos ISPs argumentaron que la expresión “SHOULD NOT” permite excepciones cuando existe una justificación operacional, alegando que la “normalización” del atributo mejora la estabilidad y la predictibilidad del enrutamiento.
Bensley también mencionó el concepto de “convergencia estratégica”, señalando que, si todos los proveedores adoptan el mismo comportamiento, el atributo ORIGIN perdería su valor práctico.
Motivada por esta discusión, realicé un análisis de las tablas de rutas filtrando por prefijos de Chile, y encontré que cerca del 15 % de los prefijos IPv4 y el 27 % de los prefijos IPv6 se anuncian con ORIGIN = INCOMPLETE.
A continuación, algunos resultados agrupados por ASN:
IPv4
ASN Cantidad
----------------------
27651 307
27901 157
6429 101
20191 45
27995 40
6535 38
IPv6
ASN Cantidad
----------------------
27651 354
64610 35
64139 12
27901 9
272022 4
Finalmente, me gustaría conocer su opinión:
¿Deberíamos en la comunidad seguir la tendencia descrita y "normalizar" el atributo ORIGIN a IGP por razones operacionales, o mantenernos fieles al principio del RFC 4271 para conservar la transparencia en el enrutamiento?