1 Política de enrutamiento BGP
La política de enrutamiento descrita en las secciones previas es implementada en prefijo de ruta. BGP es principalmente usado en redes troncales grandes, donde el número de prefijos es grande. Si la política de ruteo sigue implementada basada en el prefijo de ruta, la carga de trabajo será muy pesada. El filtro AS_Path y el filtro de comunidad pueden ser usados para hacer frente a este problema.
1.1 AS_Path Filter
1.1.1 Filtro AS_Path y expresión regular
Filtro AS_Path
El atributo AS_Path es una lista ordenada de todos los AS por los que pasa una ruta desde el origen hasta el destino. En la Figura 6-1, el atributo AS_Path de una ruta BGP se puede considerar como una cadena que contiene espacios y se puede usar para hacer coincidir rutas a través de una expresión regular.
Una expresión regular es una cadena que describe una característica y verifica si otra cadena se ajusta a esta característica. El filtro AS_Path de BGP define una expresión regular AS_Path para que coincida con los atributos AS_Path de las rutas BGP para la información de enrutamiento BGP del filtro.
Por ejemplo, el permiso 495 de ip as-path-filter 1 define un filtro 1 de AS_Path y una expresión regular 45, lo que indica que cualquier cadena que contenga 495 puede coincidir.
El núcleo de un filtro AS_Path es una expresión regular. El contenido de una expresión regular es complejo. A continuación se describe el filtro AS_Path.
Composición de una expresión regular AS_Path
Un filtro AS_Path usa una expresión regular para definir reglas coincidentes. Una expresión regular consta de las siguientes partes:
l Metacharacter: define reglas de concordancia.
l carácter general: define los objetos coincidentes.
La tabla 6-1 enumera los metacaracteres admitidos por una expresión regular BGP AS_Path.
Tabla 6-1 Metacaracteres soportados por una expresión regular BGP AS_Path
Metacaracter | Descripción | Ejemplo |
- | Coincide con cualquier carácter individual excepto "\ n", incluidos los espacios | . * coincide con cualquier AS_Path o ruta. Si ha configurado varias cláusulas ip as-path-filter en el modo de denegación, defina una cláusula ip as-path-filter as-path-filter-name para permitir otras rutas |
* | Coincide con AS_Path con cero o múltiplo del carácter anterior. | Para más detalles, vea la instancia del metacarácter mencionado anteriormente. |
+ | Hace coincidir AS_Path con uno o varios de los caracteres anteriores. | 65+ coincide con AS_Paths que comienzan con 6 e incluyen un 5 o 5 consecutivos.
● Las siguientes cadenas se ajustan a esta característica: 65, 655, 6559, 65259 y 65529.
● Las siguientes cadenas no se ajustan a esta característica: 56, 556, 5669, 55269 y 56259. |
| | Hace coincidir AS_Path con uno o varios de los caracteres anteriores. | 100 | 65002 | 65003 coincide con 100, 65002 o 65003. |
^ | Coincide con las cadenas que comienzan con la siguiente cadena. | ^ 65 coincide con AS_Paths que comienzan con 65. ● Las siguientes cadenas se ajustan a esta característica: 65, 651, 6501 y 65001. ● Las siguientes cadenas se ajustan a esta característica: 165, 1650, 6650 y 60065. |
$ | Coincide con las cadenas que terminan con la cadena anterior. | 65 $ coincide con AS_Paths que terminan con 65. ● Las siguientes cadenas se ajustan a esta característica: 65, 165, 1065, 10065 y 60065. ● Las siguientes cadenas no cumplen con esta característica: 651, 1650, 6650, 60650 y 65001. ^ $ coincide con una cadena vacía, es decir, AS_Path vacía. A menudo se utiliza para hacer coincidir las rutas de origen local. |
(xyz) | Define una subexpresion, la cual no puede ser nula | 100 (200) + partidos 100200 y 100200200. |
[xyz] | Coincide con cualquier personaje dentro de los paréntesis. | [896] coincide con AS_Paths que contienen cualquier carácter de 8, 9 y 6. |
[^xyz] | Coincide con un solo carácter que no está contenido entre los paréntesis. | [^ 896] coincide con AS_Paths que no contienen 8, 9 o 6. |
[a-z] | Coincide con cualquier carácter dentro del rango especificado. | [2-4] coincide con 2, 3 y 4, y [0-9] coincide con 0 a 9. |
[^a-z] | Coincide con cualquier carácter fuera del rango especificado | [^ 2-4] coincide con todos los caracteres excepto 2, 3 y 4, y [^ 0-9] coincide con todos los caracteres excepto 0 con 9. |
_ | Hace coincidir un signo, que incluye una coma, corchete izquierdo, t****te derecho, corchete izquierdo, corchete derecho y espacio. También puede funcionar como un carácter inicial o final, como ^ y $, al principio o al final de una expresión. | ● ^ 65001_ coincide con AS_Paths que comienzan con 65001 seguido de un signo. Específicamente, ^ 65001_ coincide con AS_Paths con 65001 como el número de AS más a la izquierda (el número del último AS a través del cual pasa una ruta) o las rutas enviadas por pares en el AS 65001. ● _65001_ coincide con AS_Paths que contiene 65001 o rutas que pasan por AS 65001. ● _65001 $ coincide con AS_Paths que termina con un signo seguido de 65001. Específicamente, _65001 $ compara AS_Paths con 65001 como el número de AS más a la derecha (el número del primer AS a través del cual pasa una ruta) o las rutas que se originan en AS 65001. |
\ | Define un personaje de escape. | Cambia los metacaracteres siguientes a caracteres ordinarios. |
|
|
|
1.1.2 Aplicaciones de filtro AS_Path
El filtro AS_Path define solo una herramienta de filtrado, que surte efecto solo después de ser invocado en algún lugar. Hay dos métodos disponibles en BGP para invocar el filtro AS_Path: uno es invocarlo usando el comando peer, y el otro es invocarlo usando una política de ruta.
Método 1: Invoque el filtro AS_Path usando el comando peer.
En el método 1, se define un filtro AS_Path s1 y se asocia con una expresión regular ^ 100 $. Este filtro AS_Path puede coincidir con las rutas que llevan el atributo AS_Path 100 (este atributo solo contiene el número AS 100) y se aplica en el comando peer. En esta situación, solo las rutas que coinciden con el filtro s1 de AS_Path se pueden anunciar al interlocutor BGP 10.1.1.2.
Método 2: Invoque el filtro AS_Path utilizando una política de ruta.
En el método 2, se invoca un filtro AS_Path definido s1 en el comando if-match en una política de ruta, y luego se establece el atributo de ruta LP utilizando el comando apply y se aplica en el comando peer (en la dirección de importación) en la configuración de BGP modo. En esta situación, entre las rutas BGP recibidas desde el par BGP 10.1.1.2, todas las rutas que coinciden con el filtro AS_Path s1 tienen sus atributos de ruta LP establecidos en 100.
1.1.3 Ejemplos de filtro AS_Path
Las secciones anteriores describen las reglas y aplicaciones coincidentes de un filtro AS_Path. Lo siguiente proporciona un ejemplo para usar un filtro AS_Path en BGP para filtrar rutas.
En la Figura 6-2, se establece una relación EBGP entre LSW1 y LSW2, entre LSW1 y LSW3, entre LSW2 y LSW3, entre LSW2 y LSW4, entre LSW3 y LSW4, y entre LSW4 y LSW5. Cada dispositivo utiliza el comando de red para anunciar las direcciones IP de LoopBack0 en BGP y filtrar estas rutas.
Usando un filtro AS_Path para filtrar rutas BGP
Cuando no se utiliza ningún filtro AS_Path, la tabla de enrutamiento BGP original de LSW1 es la siguiente:
Caso 1: defina un filtro AS_Path s1 para recibir solo las rutas originadas en AS65500.
Una vez completadas las configuraciones anteriores, la tabla de enrutamiento BGP es la siguiente:
La salida del comando anterior muestra que las rutas originadas en AS65500 están permitidas y otras rutas están denegadas.
Caso 2: defina un filtro AS_Path s2 para denegar las rutas originadas en AS65500 y permitir recibir otras rutas.
Una vez completadas las configuraciones anteriores, la tabla de enrutamiento BGP es la siguiente:
La salida del comando anterior muestra que las rutas originadas en AS65500 están denegadas y otras rutas están permitidas.
Caso 3: defina un filtro AS_Path s3 para denegar las rutas que pasan por AS65400.
Una vez completadas las configuraciones anteriores, la tabla de enrutamiento BGP es la siguiente:
La salida del comando anterior muestra que las rutas que pasan por AS65400 están denegadas y otras rutas están permitidas.
Caso 4: defina un filtro AS_Path s4 para denegar las rutas que pasan por AS65400. AS65400 no es el primero o el último AS que pasan las rutas.
Una vez completadas las configuraciones anteriores, la tabla de enrutamiento BGP es la siguiente:
La salida del comando anterior muestra que las rutas que llevan el atributo AS_Path en las que AS65400 no es el primer ni el último número de AS se deniegan y se permiten otras rutas.
Caso 5: defina un filtro AS_Path s5 para que coincida con las rutas originadas localmente y deniegue las rutas de otros AS.
Una vez completadas las configuraciones anteriores, la tabla de enrutamiento BGP es la siguiente:
La salida del comando anterior muestra que solo se permiten las rutas de origen local con AS_Path vacías y se deniegan otras rutas.
1.2 Filtro de la comunidad
1.2.1 Atributo de la comunidad
Funciones de atributo de comunidad
El atributo Comunidad es una forma de agrupar las rutas BGP en una comunidad determinada y aplicar las decisiones de enrutamiento de acuerdo con estas comunidades.
· El atributo Comunidad es un conjunto de valores de 4 bytes, en el formato AA: NN. Como se definió en RFC1997, los primeros dos bytes indican un número de AS y los últimos dos bytes indican un identificador de comunidad utilizado para la administración.
· El atributo Comunidad es una etiqueta de ruta BGP que simplifica la implementación de la política de enrutamiento. Se puede asignar un atributo de comunidad específico a algunas rutas. Según este atributo de la Comunidad, estas rutas se pueden administrar y la política de enrutamiento se puede realizar en estas rutas.
Escenario de aplicación de atributos de la comunidad
En la Figura 6-3, una gran cantidad de rutas en AS100 se importan a BGP, y estas rutas se usan para llamadas de voz y video vigilancia. Estas rutas se anuncian a AS200 a través de BGP. Los dispositivos en AS200 deben llevar a cabo diferentes políticas en las rutas utilizadas para llamadas de voz y video vigilancia. ¿Cómo hacer coincidir estas rutas? Puede usar ACL o listas de prefijos de IP para hacer coincidir las rutas una por una. Sin embargo, este método tiene una gran carga de trabajo y es ineficiente porque existe una gran cantidad de prefijos de ruta.
Puede utilizar el atributo de comunidad para solucionar este problema. Cuando estas rutas se importan a AS100, los atributos respectivos de la Comunidad se agregan a las rutas para diferenciar las rutas utilizadas para llamadas de voz y video vigilancia. Es decir, el atributo de comunidad 100: 1 se agrega a las rutas utilizadas para las llamadas de voz y el atributo de comunidad 100: 2 se agrega a las rutas utilizadas para la videovigilancia. Estos atributos comunitarios se transmiten a AS200 junto con las rutas. En AS200, para llevar a cabo diferentes políticas para las rutas utilizadas para llamadas de voz y videovigilancia, coincida con las rutas según sus respectivos atributos de la Comunidad. Por ejemplo, puede hacer coincidir todas las rutas utilizadas para las llamadas de voz según el atributo 100: 1 de la Comunidad.
Atributos bien conocidos de la comunidad BGP
BGP define algunos atributos de comunidad conocidos. La tabla 6-2 muestra estos atributos de la comunidad
BGP conocidos atributos de la comunidad
Atribute de la comunidad | Descripción |
Internet | Por defecto, todas las rutas pertenecen a la comunidad de Internet. Una ruta con este atributo se puede anunciar a todos los pares BGP. |
sin publicidad | Una ruta con este atributo no se puede anunciar a ningún otro interlocutor de BGP. |
no-export | Una ruta con este atributo no se puede anunciar fuera del AS local. Si se define una confederación, la ruta con este atributo no se puede anunciar a los AS fuera de la confederación, pero sí se puede anunciar a otros sub-AS en la confederación. |
no-export-subconfed | Una ruta con este atributo no se puede anunciar fuera del AS local o anunciarse a otros sub-AS en la confederación. |
1.2.2 Configuración del atributo de comunidad para las rutas
Para utilizar el filtro de Comunidad, asegúrese de que el atributo de Comunidad se transporta en rutas. A continuación se describe cómo configurar el atributo de Comunidad para rutas.
Configuración del atributo de comunidad para rutas
Descripción del requisito
En la Figura 6-4, LSW1 en AS100 anuncia dos rutas 10.1.1.0/24 y 10.1.2.0/24 a través de BGP. En el proceso BGP de LSW1, use una política de rutas de exportación para modificar el atributo de Comunidad de la ruta 10.1.1.0/24 a 100: 1 para que los dispositivos posteriores puedan llevar a cabo políticas en la ruta según este atributo de Comunidad.
Configuración
La configuración clave de R1 es la siguiente:
La configuración clave de R2 es la siguiente:
De forma predeterminada, el atributo de la Comunidad no se actualiza a los pares de BGP junto con el prefijo de la ruta. Por lo tanto, el comando peer advertise-community debe configurarse en LSW1 y LSW2 para anunciar este atributo a los pares BGP.
Verificación
Una vez completadas las configuraciones anteriores, verifique la ruta BGP 10.1.1.0 en la tabla de enrutamiento BGP de LSW3.
La salida del comando anterior muestra que una vez que se establece el atributo de Comunidad para la ruta, esta ruta lleva un atributo de Comunidad al llegar a LSW3, que luego puede llevar a cabo algunas políticas en la ruta según el atributo de Comunidad.
Hay más métodos disponibles para establecer el atributo de Comunidad para las rutas BGP. La tabla 6-3 enumera métodos comunes para establecer este atributo.
Comando | Descripción |
Apply community 100 | Cambia el nombre de la comunidad a 100. |
Apply community 100 150 | Cambia el nombre de la comunidad a 100 o 150. Es decir, las rutas BGP pertenecen a dos comunidades. |
Apply community 100 150 additive | Agrega dos atributos de Comunidad 100 y 150. Eso, las rutas BGP pertenecen a tres Comunidades. |
Apply community none | Borra el atributo de comunidad de las rutas BGP |
1.2.3 Uso de un filtro de comunidad para hacer coincidir las rutas BGP
La sección anterior describe cómo configurar el atributo de Comunidad para las rutas BGP. Después de que un enrutador ascendente establece este atributo, se transmite junto con las rutas para que los dispositivos posteriores puedan llevar a cabo políticas basadas en este atributo. BGP proporciona una herramienta, Filtro de comunidad, para hacer coincidir las rutas de BGP en función del atributo de Comunidad. A continuación se describe cómo usar un filtro de comunidad para que coincida con las rutas BGP.
Usando un filtro comunitario para hacer coincidir las rutas BGP
Descripción del requisito
En la Figura 6-5, LSW1 en AS100 anuncia tres rutas BGP. El atributo Comunidad se establece para las rutas y se transmite junto con las rutas a LSW3 en AS300. Antes de llevar a cabo las políticas, verifique la tabla de enrutamiento BGP de LSW3
La salida del comando anterior muestra que la tabla de enrutamiento BGP de LSW3 contiene tres rutas. La política de enrutamiento se debe llevar a cabo en LSW3 para permitir solo las rutas que llevan el atributo de Comunidad 100: 999.
Configuración
La sección anterior ha descrito cómo establecer el atributo de Comunidad. A continuación se describe cómo utilizar un filtro de comunidad para filtrar rutas.
La configuración clave de LSW3 es la siguiente
Verificación
Una vez completadas las configuraciones anteriores, verifique la tabla de enrutamiento BGP de LSW3.
El filtro de Comunidad definido coincide con la ruta que lleva el atributo de Comunidad 100: 999. Por lo tanto, las dos rutas 10.1.1.0/24 y 10.1.2.0/24 están permitidas en LSW3, y se deniegan otras rutas BGP.
Para este escenario, lo siguiente proporciona tres métodos comunes para configurar el filtro de la Comunidad:
Eso es todo para la política de enrutamiento. Todos los ingenieros de redes de comunicación de datos desean controlar con precisión la tabla de enrutamiento IP para garantizar que el tráfico de servicio pueda reenviarse según el modelo de tráfico planificado. Este hilo le ayuda a dominar el uso de la política de enrutamiento para controlar con flexibilidad las rutas. Gracias por su atención