Un cambio interesante se avecina en BGP

03/11/2022

Un cambio interesante se avecina en BGP

Por Alejandro Acosta – Coordinador I+D de LACNIC

Una fuga de rutas (route leaks) se define como la propagación de un anuncio más allá del alcance previsto (RFC 7908). Pero, ¿por qué ocurren? Existen muchas razones tales como  errores (alguien digita mal un número), desconocimiento, falta de filtros, ingeniería social, entre otras.

Si bien existen varias formas de prevenirlo y en los últimos 3 años la cantidad de fugas de rutas ha disminuido  (gracias a RPKI, IRR y otros mecanismos), mi idea es explicarles lo que pienso va a ser en el futuro las configuraciones en BGP. Y para eso hablaremos del RFC 9234, cuyo título es Prevención de fuga de rutas y detección de roles utilizando mensajes UPDATE y OPEN. De este concepto me interesa destacar la “detección de roles”, ya que a partir de este  RFC, en el futuro vamos a asignar roles en nuestra configuraciones BGP.

Para ir comprendiendo a qué queremos llegar recordemos algunos casos típicos en un ISP: 

  • llega un cliente nuevo con el cual hablaremos BGP;
  • se conecta a un IXP;
  • el ISP contrata un nuevo upstream provider;
  • realizaremos un nuevo peering privado.

En todos esos casos es necesario tomar decisiones. Hay muchas maneras de configurar BPG: route maps, AS filters, prefix-lists, comunidades, ACLS, entre otros. Incluso puedo estar usando más de una de estas opciones.  

Y aquí es donde aparece el RFC 9324: este documento define los roles dentro del mensaje Open. Se trata de un acuerdo al que van a llegar los dos enrutadores. Por ejemplo, si yo soy un enrutador y converso con otro, le digo que soy “cliente” y él en su sesión BGP puede decir “yo soy tu proveedor”. En base a eso todas las configuraciones (léase filtros) se harán de forma automática y, en consecuencia, esto debería disminuir los route leaks.

Estas capacidades entonces se negocian en el mensaje Open de BGP.

(Acceso libre, no requiere suscripción)

En el RFC se definen 5 roles:

  • Proveedor: el emisor es un proveedor de tránsito para el vecino;
  • Cliente: el emisor es un cliente de tránsito del vecino;
  • RS: el emisor es un servidor de rutas (route server), generalmente en un punto de intercambio de tráfico (IXP);
  • Cliente RS: el emisor es cliente de un RS;
  • Peer: el emisor y el vecino son peers.

¿Cómo se configuran los roles?

Si por ejemplo tengo un router con una sesión BGP contra alguien y de un lado está el provider, del otro lado tiene que estar customer, y viceversa. Si tengo un Route Server (RS) de un lado, del otro lado debo tener un cliente route server y viceversa; y peer contra peer (ver tabla)

A continuación, podemos ver un ejemplo

Las opiniones expresadas por los autores de este blog son propias y no necesariamente reflejan las opiniones de LACNIC.

Subscribe
Notify of

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments