Balanceo de carga BGP entrante desde el mismo enrutador ISP


10

Tengo dos enrutadores BGP para DIA con un problema con un proveedor porque los dos enlaces a este proveedor aterrizan en el mismo enrutador SP. Mis transferencias de Ethernet a través de dos enlaces MetroE separados de otro proveedor en nombre de mi proveedor principal, ya que el único proveedor ya tenía fibra para el edificio. Si alguien también pudiera aclarar la terminología del ISP cuando un proveedor transporta servicios para otro, lo agradecería. Los dos circuitos terminan L3 con el mismo enrutador SP, por lo que mis dos enrutadores tienen el mismo enrutador proveedor. Me asignan espacio PA de este SP.

No tengo problemas con el equilibrio de carga saliente (o compartir la carga, supongo que sería más preciso desde el punto de vista técnico). Saliente, hago ECLB en el firewall que selecciona uno de los dos enrutadores de borde basado en un hash srcip / dstip .

Este operador en particular, olvídate del operador que solo proporciona transporte, no está equilibrando la carga del tráfico entrante desde su único enrutador a través de los dos enlaces a mis dos enrutadores, y esta es la dirección en la que podríamos usar el BW combinado de 5x50Mb que tenemos contratado. El SP ve caminos iguales para nosotros para la misma red anunciada y esencialmente solo el primer camino que aprenden es lo que se convierte en el mejor camino.

He enumerado lo que considero como mis opciones a continuación para obtener tráfico a través de ambos circuitos, y me gustaría saber qué piensan los expertos aquí mejor, especialmente si está familiarizado con los SOP típicos de SP . Como tengo un contrato, cambiar el contrato en este momento no es una opción para reconstruirlo de otra manera.

Permitir maximum-paths 2en la red SP soluciona esto, pero esto se aplica a todos sus clientes de BGP en el mismo enrutador que no creo que permitan. Al menos una opción que funcionará implica rutas estáticas, pero eso no es lo que preferiría.

A continuación se encuentran las opciones que he considerado en mi orden de preferencia.

  1. Permitir BGPmaximum-paths 2 en el enrutador SP (afecta a todos los clientes BGP alojados allí) por lo que / 24 se usa cuando se anuncia en ambos circuitos

  2. Divida mi / 24 por la mitad y anuncie / 25s separados en cada enlace junto con el / 24. El SP ha declarado recientemente que se podría utilizar una comunidad no documentada para que acepten prefijos> / 24. Esto requiere manipular NAT en mi firewall para usar direcciones globales en ambos / 25, ya que la mayoría del tráfico ahora está destinado a nosotros en unas pocas direcciones en el / 25 inferior.

  3. SP rutas estáticas a / 24 para forzar el equilibrio de carga con BGP / 24 (ruta flotante).

  4. SP rutas estáticas a / 25s para forzar ECLB con prefijo BGP / 24 (en RIB, pero no se utiliza a menos que falle / 25s).

Creo que anunciar los / 25s en BGP es la mejor opción que solo descubrí recientemente es posible con la comunidad indocumentada de SP, pero ¿hay otras opciones que no he considerado o preocupaciones sobre paquetes fuera de servicio con algunas de estas opciones? ?

Este es el problema de equilibrio de carga inverso que la mayoría de la gente pregunta con BGP.


1
Las rutas máximas pueden funcionar incluso si tiene múltiples hosts en dos enrutadores diferentes, en el caso de que cada entrada PE en la red del operador deba tener habilitadas las rutas máximas y recibir ambas rutas desde iBGP.
ytti

Tenía mis dudas sobre eso cuando lo escribí ... Q revisado.
generalnetworkerror

Respuestas:


8

Yo pediría 'rutas máximas' (generalmente se llama ECMP en estándares y documentos, no ECLB). Y si ECMP no es iniciador, entonces recurra a su plan / 25.

Otros acrónimos que no pude entender de inmediato fueron DIA (acceso dedicado a Internet?) Y SOP (procedimiento operativo estándar?). No estoy seguro de si estos son realmente acrónimos tan universales que deberían usarse en stackexchange sin al menos hovertext para resolverlos.


Gracias, sabía que ECLB no sonaba bien, pero no podía recordar el ECMP fuera de mi cabeza. Y tienes razón en los TLA. ;-) DIA es un término universal que todos los ISP de nivel 1 que he usado en la última década usan en contratos de servicio de Internet a través de enlaces directos. SOP también es universal, pero le diré que fue un tramo usarlo en una línea de disco cargada de siglas como NE.
generalnetworkerror

6

Hablando de terminología, realmente ya has dicho transporte, que creo que es lo que ese tipo de servicio se conoce comúnmente. A veces la gente también se referirá a ella como una "atadura".

Tiene otra opción de mover la interfaz de su lado al mismo enrutador y luego configurar eBGP multihop *** entre usted y su proveedor. Sí, pierde la redundancia de su lado, pero en el lado opuesto va al mismo enrutador de todos modos, por lo que es un punto discutible. Esto también elimina la necesidad de que el proveedor haga rutas múltiples de eBGP, en caso de que no estén dispuestos a hacerlo con usted (pero he descubierto que, en general, la mayoría de los proveedores están bien con activar esto, si aún no está activado) .

Si eso no parece plausible, entonces anunciar dos / 25 es probablemente su mejor opción, a menos, por supuesto, que su proveedor esté dispuesto a activar maximum-paths(nuevamente, suponiendo que aún no lo hayan hecho).

*** Hacer balanceo de carga con eBGP multihop en su escenario implicará lo siguiente:

  1. Mueva la segunda conexión ISP a un enrutador a su lado.
  2. Tanto usted como el proveedor configuran update-source Loopback0en cada una de sus sesiones: no tiene que usar Lo0 si no lo desea, siempre que estén de acuerdo con la dirección a la que está la ruta estática.
  3. Configure rutas estáticas 2x / 32 para los bucles de los demás a través de las interfaces conectadas (o IP del siguiente salto): así es como funciona el equilibrio de carga, ya que en realidad es solo ECMP.
  4. Configure ebgp-multihop 2en las sesiones de los demás (desea mantener este número lo más pequeño posible para evitar el secuestro de sesión TCP).

Voila, equilibrio de carga. Esto también se escala por interfaz, ya que agregar un nuevo puerto implicará agregar otra interfaz y una ruta estática.


¿Puede explicar cómo el operador comenzará a enviar tráfico a través de ambos enlaces, moviendo el eBGP en el mismo enrutador al final del cliente, si la ruta múltiple no está habilitada?
ytti

Claro, modificaré mi respuesta.
John Jensen

Estrictamente hablando, eso no requiere múltiples saltos o migrar al mismo enrutador. Solo requiere que cambie su protocolo BGP next-hop para que sea el mismo en los pares eBGP y el proveedor que acepte 'nexthop remoto' y la ruta estática hacia ellos.
ytti

No estoy seguro de lo que quieres decir. El uso de múltiples saltos ebgp para equilibrar la carga de esta manera no requiere conexiones en paralelo entre los mismos 2 routers.
John Jensen

No necesita mover las sesiones de eBGP existentes. Simplemente puede restablecer el siguiente salto en el mapa de ruta a alguna dirección, lo mismo en ambos eBGP (ni siquiera tiene que configurar la IP en ningún lugar). Siempre y cuando el proveedor acepte este próximo salto modificado (necesita alternar en IOS y JunOS) y configure las rutas estáticas como usted explicó, funciona bien sin multishop ni mover el eBGP al cliente.
ytti

3

La solución óptima aquí es BGP ECMP a través de maximum-paths 2, sin embargo, diré que "aceptar rutas> / 24" que requieren una etiqueta comunitaria suena como una estupidez épica, suponiendo que usted sea un cliente suyo, deberían aceptar lo que usted les entregue a un número máximo de prefijos y simplemente filtre la salida según los acuerdos que tengan con sus otros pares. una de las fuentes que tengo me coloca en un bote similar con respecto a no hacer ECMP, siempre espero que se me permita anunciar cualquier tamaño de prefijo que desee a un proveedor de tránsito y que lo use.

Por lo tanto, dado que no parecen terriblemente competentes, para equilibrar el tráfico, no retire su prefijo / 24; en su lugar, déjelo y asegúrese de que sus rutas / 25 estén etiquetadas con NO_EXPORT además de lo que supuestamente sea su proveedor requiere para que su / 25s no se filtre accidentalmente fuera de su AS (no es probable que llegue muy lejos si lo hace).

Una última nota: asegúrese de que esta "comunidad indocumentada" no sea de hecho una comunidad de agujeros negros, porque eso sería ... ya sabes, malo .


Esto proviene de un conocido Nivel 1, y todos los ISP donde he hecho BGP no lo permiten gt 24como política general. Había planeado establecer NO_EXPORT en los / 25s.
generalnetworkerror

todos mis upstreams aceptarán > / 24 de mi parte, simplemente no lo exportarán. De hecho, utilizo ese efecto para desviar el tráfico, ya que no hacen ECMP.
Olipro

Además, tal cosa sería terrible en el caso de un ataque: si no puede anunciar un / 32 a su comunidad aguas arriba con una comunidad de agujeros negros, está en problemas.
Olipro

Permiten anuncios de agujeros negros de cualquier tamaño con la comunidad adecuada.
generalnetworkerror
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.