BandaAncha

  • 🔍 en 📰 artículos ⏎
  • 🔍 en 💬 foros ⏎
  • 🔍 en 👇 este 💬 foro ⏎
  • 🔍 en 👇 este 💬 tema ⏎
Regístrate Regístrate Identifícate Identifícate

Como se decide la mejor ruta en BGP y por qué un operador elige una ruta no optima

Wattson

Escribo esto en el foro de Network porque aunque las pruebas sean con una compañía en concreto, mi intención es mas bien entender el comportamiento de BGP y como se toma la decisión de ir por una u otra ruta.

En este caso, por ejemplo, Adamo tiene acuerdo con los carriers GTT y Cogent. Existe también un servicio de looking glass donde se pueden consultar las rutas BGP y realizar traceroutes.

Por un casual, me di cuenta de que destinos a los que se llegaba con Cogent, estaban siendo enrutados vía GTT, por lo que la ruta quedaba algo como Operador→GTT→Cogent→Destino.

Además, los resultados cambian si se hacen desde mi conexión versus el Looking glass:

Ruta BGP según el looking glass de Adamo (AS174 es Cogent y AS3257 es GTT)

===============================================================================
 Legend -
 Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                 l - leaked, x - stale, > - best, b - backup, p - purge
 Origin codes  : i - IGP, e - EGP, ? - incomplete

===============================================================================
BGP IPv4 Routes
===============================================================================
Flag  Network                                            LocalPref   MED
      Nexthop (Router)                                   Path-Id     IGP Cost
      As-Path                                                        Label
-------------------------------------------------------------------------------
u*>i  154.48.0.0/12                                      110         19031
      10.255.0.129                                       None        0
      174                                                            -
*i    154.48.0.0/12                                      110         0
      154.14.28.9                                        None        0
      3257 174                                                       -
-------------------------------------------------------------------------------
Routes : 2
===============================================================================

Traceroute desde mi conexion a una IP de Cogent:

Tracing route to be2324.ccr31.bio02.atlas.cogentco.com [154.54.61.129]
over a maximum of 30 hops:

  1     1 ms    <1 ms     1 ms  192.168.4.1
  2     5 ms     5 ms     7 ms  10.10.11.2
  3    12 ms    11 ms    10 ms  et-0-0-19.cr7-mad4.ip4.gtt.net [154.14.153.89]
  4     *        *        *     Request timed out.
  5    10 ms    10 ms    10 ms  be2470.ccr31.mad05.atlas.cogentco.com [130.117.0.205]
  6    16 ms    16 ms    16 ms  be2324.ccr31.bio02.atlas.cogentco.com [154.54.61.129]

Traceroute desde el Looking Glass de Adamo (todas las IPs desde el segundo salgo son ya de Cogent):

traceroute to 154.54.61.129 from 91.126.143.157, 30 hops max, 40 byte packets
  1  0.0.0.0  * 
  1  10.255.0.129 (10.255.0.129)    0.644 ms  0.609 ms
  2  149.6.39.93 (149.6.39.93)    1.44 ms  1.49 ms  1.55 ms
  3  154.25.13.161 (154.25.13.161)    1.64 ms
  3  154.25.13.157 (154.25.13.157)    1.63 ms
  3  154.25.13.161 (154.25.13.161)    1.73 ms
  4  154.54.59.90 (154.54.59.90)    1.54 ms  1.50 ms
  4  154.54.59.222 (154.54.59.222)    1.31 ms
  5  154.54.61.129 (154.54.61.129)    6.82 ms
  5  0.0.0.0  * 
  5  154.54.61.129 (154.54.61.129)    6.41 ms
  • ¿Tiene sentido que mi traceroute vaya a través de GTT si tanto el traceroute como la ruta BGP desde el Looking Glass dicen que no deberia ser asi?
  • ¿Tiene sentido que un operador con acuerdo con Cogent elija esa ruta a través de otro carrier?
  • ¿Puede ser una mala configuracion de algun router?
vukits
2

ya lo comentó un forero por aqui (no encuentro el post).

Cada ruta tiene un coste económico determinado.

Los ISP suelen ir a lo barato más que a lo más corto. (o eso tengo entendido).

rbetancor
2

¿Cuál es tu duda realmente? … porque lo que muestran tus datos, es bastante normal … las rutas a un destino común, desde dos orígenes diferentes, no tienen porqué coincidir.

La decisión de routing, se toma hop-2-hop … o eso es la teoría … porque la práctica, no es así, muchas veces la rutas "se fijan" dentro de la red del operador, o se alteran por parámetros como congestión del enlace, etc. todo depende de los dinámico o estricto que quiera el operador su routing. Ya ni contar, si se aplican enrutados por etiquetados de origen/destino o protocolos.

🗨️ 2
Wattson

Gracias por tus respuestas. Tengo varias dudas realmente:

  1. Si es normal que desde mi conexion la ruta vaya por GTT y desde el Looking Glass vaya directa por Cogentco. Creo que ya me has respondido a eso en tu mensaje.
  2. Si es normal que la ruta desde mi conexion no respete lo que dice el BGP route, que refleja que la ruta mas optima seria ir directamente al AS174. Entiendo que, como comentas, ese enrutado pueda tener un override y por eso no sigue el mismo camino.
  3. Si, dejando a un lado lo que pase en mi conexion, que sentido puede tener que un operador tenga contratado Cogent como carrier de transito y no lo use ni para la ruta a cogentco.com. Es una cuestion de coste o puede tener algun componente de networking?

Gracias

🗨️ 1
rbetancor
1
  1. Puede ser normal. Eso depende de la configuración del internal-routing del proveedor.
  2. Lo mismo que para el punto 1
  3. El proveedor puede tener el enlace de Cogent como backup, no como balanceo.

Nosotros teníamos un enlace de Cogent así, como backup y no como balanceo de carga, porque Cogent ofrecía la opción de tener un enlace de alta capacidad, sin necesidad de contratar commitment en el enlace … y eso viene de PM para enlaces de backup.

txuspe
4

Algunas veces se fuerza a BGP a elegir algún enlace en particular, unas veces es por motivos económicos como ya te han dicho, pero otras muchas se debe a motivos técnicos. Por ejemplo, supón la siguiente red:

image

Lo que BGP haría normalmente para alcanzar algún host de la red de Cogent sería llevar tu tráfico de R1 a R2 y allí entregarlo a Cogent. Sin embargo, imagina que R1 está en Madrid y R2 en Barcelona. ¿Tiene sentido llevar tu tráfico hasta Barcelona para entregarlo allí a Cogent? Pues seguramente no y sea mejor forzar a BGP a entregárselo a GTT localmente. Como ves, la cosa sale bien y GTT se lo entrega a su vez a Cogent en Madrid. Es decir, has conseguido que tu tráfico llegue a la red destino sin salir de la ciudad, cosa que el comportamiento por defecto de BGP no hubiese logrado. Por cierto, el looking glass (R3) elegiría la salida de Cogent, con lo cual efectivamente se observan caminos diferentes desde el LG y desde tu conexión de casa.

No digo que este sea el caso de Adamo, no lo sé, solamente trato de ilustrar un ejemplo.

Como curiosidad final, el CLI del LG de tu texto corresponde a un equipo Nokia, que son equipos caros pero MUY buenos. Punto a favor para Adamo.

Wattson

Gracias por vuestras respuestas!