Control de rutas a través de BGP: Q&A de la sesión

Introducción


Lea la biografía

Ricardo Prado es ingeniero veterano de Soporte de Cisco Latinoamérica especializado en tecnologías de routing y switching. Estudió Ingenieria en Telecomunicaciones en la Universidad Nacional Autónoma de México (UNAM) y tiene varias certificaciones de Cisco incluyendo CCNA, CCNP, CCIP, y CCIE en Routing y Switching (# 21161). Ricardo ha estado trabajando en Cisco desde el 2004, y desde hace 6 años ha estado en el grupo de High-Touch Technical Support.

El siguiente expertos estuvo ayudando a Ricardo a contestar algunas de las preguntas que se hicieron durante la sesión en vivo: Adolfo Cabrera. El es experto en temas de Routing y Switching, incluyendo contro de rutas a través de BGP.

El evento de Pregute al experto relacionado con este tema esta disponible aquí. Puede accesar el video de la sesión en vivo, aquí. La presentación del evento se encuentra aquí

Preguntas y Respuestas

P. ¿Los atributos tienen algún peso? Me refiero, si yo utilizo más de 1 atributo para un mismo peer, ¿hay alguno que tome en cuenta primero?

R. Si, van en orden de operación. Para seleccionar una ruta, algunos atributos tienen más peso que otros por ejemplo siempre le va a dar preferencia a un valor más alto de Weight que es un atributo especifico de Cisco. Si una ruta tiene más peso voy a preferirlo más, después seria por ejemplo el Local preference y si es más alto lo prefiero más, si son rutas aprendidas localmente o son aprendidas por otro protocolo, cual es el AS-Path mas corto etc. Si van en cierto orden y algunos tienen más peso que otros para la selección de las rutas.

P. ¿Se puede aplicar una prefix-list dentro de un route-map?

R. Si es posible aplicar una prefix-list dentro de un route-map aunque existe un comando específico para prefix-list si en ocasiones queremos modificar atributos de las rutas de BGP entonces esto estaría dentro de un route-map y puedo hacer un match a una prefix-list.

P. En el slide 37, ¿si AS1 y AS3 no fueran diferentes? es decir, ¿si fueran un mismo AS1?... ¿se podría aplicar el mismo concepto?

R. Si, nada más se tendría que hacer match a otro tipo de condiciones por ejemplo cual es mi next hop o cual es el origen de la ruta pero si se puede hacer lo mismo.

P. ¿Cómo se pueden tener filtros dinámicos basados en la utilización del BW?

R. Hay una manera de tomar en cuenta el ancho de banda para mis filtros  se debe de tomar en cuenta en los atributos y tendría que hacerlos atreves del mismo route-map.

P. ¿Cuál sería el Best Practice para la configuración de una eBGP con 2 proveedores dentro de un mismo router?, ¿contando con un propio AS y teniendo un direccionamiento 24 bits propio? ¿Full/partial routing? ¿qué tipo de filtrados recomiendan?

R. Ahí más bien depende de que tantos recursos tiene tu equipo, si es un ruteador chico por ejemplo si recibimos una full routing  que estamos hablando de más de 500 mil rutas a lo mejor estaría utilizando demasiados recursos de memoria y podría alentar mucho el funcionamiento de tu equipo, más bien dependería de que tanto soporta el equipo el manejo de rutas y tan importante sea para ti recibir rutas especificas o si simplemente ciertas rutas son sumariadas o requieres una ruta de default. Si tienes por ejemplo nada mas una salida a internet posiblemente no necesites una tabla de ruteo completa. Aquí en esta caso tienes dos proveedores muy probablemente una tabla completa para poder comparar entre rutas, recordemos que cada proveedor podría estar pervirtiendo rutas diferentes entonces mientras tenga rutas más especificas vas a preferirlas sobre otras. El tipo de filtrado que recomendamos depende de que es lo que estés buscando, generalmente si quiero recibir solo rutas parciales casi siempre lo hacemos basado en expresiones regulares en AS-Path por ejemplo para recibir solo rutas de mi proveedor y dos o tres sistemas autónomos después de mi proveedor y todo lo demás que sea una default route, también depende de las características que tengas dentro de las rutas o de las actualizaciones que estés recibiendo. Un route-map ocuparía un poco mas de recursos dentro del procesamiento del sistema operativo en ese caso una prefix-list podría ser un poco más eficiente.

P. ¿Cómo se revisa si una ruta esta en dampening?

R. Si te están castigando a ti, si te están aplicando un dampening a ti porque se cayó el vecino de BGP o porque el enlace hacia el proveedor de servicios estuvo mal un cierto rato tenemos que ir a buscar en internet unos equipos que se llama route server, simplemente nos vamos a google y ponemos route server y esos son routers o son equipos de proveedores de servicio en todo el mundo que pusieron y nos permiten tener acceso a las tablas de ruteo de esos equipos. Entonces ahí podríamos ver un show ip bgp a mi ruta y ahí podríamos ver si estamos castigados o no viendo la información relacionada a esa ruta.

P. ¿Es posible utilizar una política  SLA para censar el estado de un link y luego condicionar el enrutamiento?

R. Si, existe diferentes formas de hacerlo al final de cuentas esa propagación condicionada depende de si mi ruta esta o no está en mi tabla de BGP, entonces yo puedo hacer un SLA, ligarlo a una ruta estática por ejemplo y después meter esa ruta estática a mi tabla de BGP y entonces ya podría estar censándola.

P. ¿Qué es preferible usar  un prefix-list o un as-path filter directamente en la configuración del neighbor o dentro de un route-map?

R. Cualquiera de las dos opciones es válida, sólo cambia el orden en el que los filtros se procesan por BGP. Además el route-map te permite hacer muchas otras modificaciones a la información de la ruta de BGP.

P. Una opción en el route-map se llama “policy-list”, ¿qué tipo de lista es esta?

R. Un policy-list es una estructura que permite concentrar todas las instrucciones de “match” para un route-map dentro de una lista. En lugar de escribir un comando para cada condición dentro del route-map puedes usar una de estas listas.

P. ¿Cuáles son los requisitos para poder usar el protocolo BGP con dos ISPs diferentes?

R. Básicamente es hablar con tus dos proveedores de servicio y comentarles que vas a estar corriendo BGP con ellos dos, posiblemente para negociar el tipo de rutas que voy a estar recibiendo, si se va mandar una tabla completa o una ruta parcial o una tabla de default, incluso los mismos proveedores de servicio te indique que nos hay ningún problema pero que te asegures de mandar solo tus redes locales y no utilizar tu equipo como transito.

P. ¿Cómo puedo probar si mi expresión regular va a filtrar las rutas que yo necesito antes de configurarla?

R. Esto lo puedes hacer con el comando “show ip bgp regexp” mas la expresión regular. La salida de dicho comando te muestra las rutas que serían seleccionadas por tu expresión regular.

P. ¿Cómo sé si mi equipo negoció la opción de Route-Refresh?

R. En la salida del comando “show ip bgp neighbor X.X.X.X”, debajo de la sección de “capabilities” te indica si los equipos negociaron Route-Refresh de manera correcta.

P. En mi ruteador no obtengo ninguna información con el comando “show ip bgp neighbor 10.10.10.10 received-routes”.

R. Ese comando sólo muestra información cuando la opción de “soft-reconfiguration inbound” está configurada para el vecino 10.10.10.10.

P. ¿Cómo puedo balancear el tráfico de salida de mi red, teniendo múltiples ISPs en diferentes routers de frontera y de manera automática?

R. Aquí es un poco más complicado la parte BGP como tal no hace un balanceo de rutas, lo que puedes hacer es algo que se llama load sharing de hecho hay un par de link en la página de Cisco porque la condición para que BGP haga balanceo básicamente por todas la restricciones o por el orden que se le da a los paramentaros de BGP el resultado final es que tendrías que estar recibiendo las rutas de un mismo vecino para poder hacer balanceo entre los dos, entonces eso se cumple en muy raras ocasiones y lo puedes hacer con un comando que se llama maximum-prefix, pero esto se ve en muy raras ocasiones lo que generalmente se hace es un load sharing donde con filtros yo le voy a dar cierto peso o cierto local preference a una cierta cantidad de rutas que vengan de un proveedor de servicio, después le doy otro peso a otra cantidad de rutas que venga de un segundo, un tercero etc… y así es como yo iría distribuyendo mi trafico de distintos proveedores.

P. ¿Cuándo debo usar sincronización en BGP para la propagación de rutas?

R. La parte de sincronización es una condición cuando estamos trabajando con iBGP, si la sincronización está habilitada significa que mi protocolo interno debe conocer las rutas de BGP antes de poderlas instalar en la tabla de ruteo, esto no tiene mucha relación con la parte del filtrado simplemente es cuando estoy dentro de mi propio sistema autónomo si no todos mi equipos están corriendo iBGP yo necesito una forma de sincronizar mi protocolo interno que puede ser OSPF, EIGRP, ISIS etc... para que ellos también conozcan las rutas de BGP y no se pierda conectividad dentro de toda mi red. Generalmente la parte de sincronización esta deshabilitada por default porque esta no es una condición tan importante para BGP.

P. ¿Cómo redistribuyo eigrp a bgp y viceversa?

R. Simplemente la redistribución si la vas a hacer en redistribución mutua el comando que se debe de utilizar es redistribute el protocolo, sistema autónomo nada mas en eigerp debo de estar seguro de la métrica.  También debo de tener cuidado al momento de redistribuir dentro de bgp ya que si se deja por defecto se le asignará un valor muy bajo.

P. Es recomendable recibir la ruta de default de nuestro ISP si estoy recibiendo full routing?

R. Si está consumiendo muchos recursos de memoria tu router, si. Si por ejemplo nada más tienes un proveedor de servicios realmente solo tienes una salida a internet y necesitarías una tabla completa y con una ruta de default seria más que suficiente.

P. ¿Cuando y como debo resetear una ruta de BGP?

R. Generalmente va ser cuando hagas cambios en tu filtrado, que es lo que decíamos: “los filtros solo se aplican cuando estoy recibiendo rutas o las estoy mandando” , si yo hice una modificación de mi filtro tendría que hacer un clear de la sesión de BGP de preferencia que no sea tirar la sesion completamente sino usar las opciones que permitan solo el envió de actualizaciones y no se tire la adyacencia para evitar problemas de dampening.

P. ¿Cuánto tiempo debería tardar en levantar una sesión de BGP después de hacer un clear?

R. No existe un valor de referencia, depende de qué otros procesos puede estar corriendo el equipo y cuánta información están intercambiando los vecinos de BGP, si están intercambiando muchas rutas podría tardar varios minutos.

P. ¿Para qué sirve la configuración del número de secuencia en un route-map o prefix-list?

R. Esto depende más bien de la política de configuración de tu empresa si es que requieren establecer un formato especial para los números de secuencia. El número de secuencia se usa sobre todo para editar  tu route-map o prefix-list, para remover alguna entrada en particular o agregar una entrada antes de esta.

P. Para editar  un access-list en un filtro, ¿cuál es la mejor manera de hacerlo?

R. A partir de la versión 12.3(2)T de IOS, las listas de acceso ya tienen la opción de agregar un número de secuencia. Puedes usar esta opción para editar tu lista de acceso. Cuando se haya terminado de editar la lista tienes que hacer un clear de BGP para que el filtro se aplique.

P. ¿Cómo se pueden tener filtros dinámicos basados en la utilización del BW?

R. Para realizar filtrado con base a Bandwidth o Reliability, puedes usar OER.

P. Si tengo dos peers contra un mismo sistema autónomo y tengo asignado uno como ppal y otro como bk, ¿cómo hago para asegurar que mi peer isp utilice mi enlace principal para entrar a mi as?

R.  Puedes hace AS path prepending al enlace secundario,  así tu ISP debería escoger el prefijo con el AS path mas corto. También podrías solicitarle a tu ISP que a uno de los enlaces le asigne un local preference mayor.

P. ¿Cuánta memoria debo tener en mi ruteador para poder recibir la tabla completa de BGP de mi ISP?

R. Para las tablas de ruteo actuales se sugiere por lo menos 512MB.

P. ¿Qué significa este error: %BGP-3-NOTIFICATION: sent to neighbor *A.B.C.D passive 6/0 (cease) 0 bytes?

R. Este mensaje ocurre cuando hay otra sesión de BGP que ya se ha estableció anteriormente. El router que recibe el mensaje ha tratado de manda un mensaje de BGP open al mismo compañero. Este mensaje es cosmético y se debe a un error de configuración.   En otras palabras, se debe frecuentemente a un error de configuración, por lo que hay que revisar los dos peers.

Referencias:


Propagación condicionada de rutas de BGP:
https://supportforums.cisco.com/docs/DOC-15845

Comunidad de Routing & Switching en Español:
https://supportforums.cisco.com/community/spanish/core

Configuring BGP:
http://www.cisco.com/en/US/docs/ios/12_2/ip/configuration/guide/1cfbgp.html

BGP Multihoming:
www.cisco.com/en/US/tech/tk365/technologies_configuration_example09186a008009456d.shtml

Using Regular Expressions in BGP:
http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a0080094a92.shtml

Reduce BGP memory consumption:
http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a0080094a83.shtml

Conditional Advertisement:
http://www.cisco.com/en/US/tech/tk365/technologies_configuration_example09186a0080094309.shtml

BGP FAQ:
http://www.cisco.com/en/US/tech/tk365/technologies_q_and_a_item09186a00800949e8.shtml

Historial de versiones
Revisión n.º
1 de 1
Última actualización:
‎02-02-2012 01:37 PM
Actualizado por:
 
Etiquetas (1)