Descripción de los filtros de ruta para su uso en condiciones de coincidencia de políticas de enrutamiento
Un filtro de ruta es una colección de prefijos coincidentes. Al especificar un prefijo de coincidencia, puede especificar una coincidencia exacta con una ruta determinada o una coincidencia menos precisa. Puede configurar una acción común que se aplique a toda la lista o una acción asociada a cada prefijo.
Dado que la configuración de los filtros de ruta incluye la configuración de prefijos y longitudes de prefijos, antes de continuar con la configuración, debe tener un conocimiento profundo del direccionamiento IP, incluida la superred, y de cómo se evalúan los filtros de ruta (explicado aquí: Cómo se evalúan los filtros de ruta en condiciones de coincidencia de políticas de enrutamiento).
En esta sección se tratan los siguientes temas:
Árboles Radix
Para comprender el funcionamiento de un filtro de ruta, debe estar familiarizado con un dispositivo utilizado para la coincidencia de números binarios conocido como árbol radix (a veces llamado patricia trie o radix trie). Un árbol radix utiliza búsquedas binarias para identificar direcciones IP (rutas). Recuerde que una dirección IP es un número de 32 bits representado en un formato decimal punteado para una fácil comprensión por parte de los humanos. Estas agrupaciones de 8 bits pueden tener cada una un valor entre 0 y 255. Un árbol radix puede ser una representación gráfica de estos números binarios.
En Figura 1, el árbol de la base comienza sin ningún valor configurado (comienza en 0) y se encuentra en la posición más a la izquierda de la dirección IP binaria. Esto se muestra como 0/0, que a menudo se conoce como la ruta predeterminada.
Debido a que esto es binario, cada bit puede tener solo uno de dos valores posibles: un 0 o un 1. Moverse hacia abajo en la rama izquierda representa un valor de 0, mientras que moverse hacia la derecha representa un valor de 1. El primer paso se muestra en Figura 2. En la primera posición, el primer octeto de la dirección IP tiene un valor de 00000000 o 10000000, un 0 o 128, respectivamente. Esto está representado en Figura 2 por los valores 0/1 y 128/1.
El segundo paso se muestra en Figura 3. Este segundo nivel del árbol tiene cuatro valores binarios posibles para el primer octeto: 00000000, 01000000, 10000000 y 11000000. Estos valores decimales de 0, 64, 128 y 192 están representados por las direcciones IP de 0/2, 64/2, 128/2 y 192/2 en el árbol radix.
Este proceso paso a paso continúa para 33 niveles en total para representar todas las direcciones IP posibles.
La estructura del árbol radix es útil cuando se localiza un grupo de rutas que comparten los mismos bits más significativos. Figura 4 muestra el punto en el árbol RADIX que representa la red 192.168.0.0/16. Todas las rutas que son más específicas que 192.168.0.0/16 se muestran en la sección resaltada.
Configuración de filtros de ruta
En el tema Configuración de filtros de ruta se describe el comportamiento predeterminado de Junos OS. La característica de acceso previo, que no se trata en este tema, modifica los resultados de la evaluación descritos en este tema al permitir que el enrutador considere condiciones de coincidencia más cortas configuradas dentro del mismo plazo. Consulte Descripción general de Walkup for Route Filters para obtener más información.
Para configurar un filtro de ruta, incluya una o varias route-filter
instrucciones or source-address-filter
:
[edit policy-options policy-statement policy-name term term-name from] route-filter destination-prefix match-type { actions; }
La route-filter
opción se utiliza normalmente para hacer coincidir una dirección de ruta entrante con prefijos de coincidencia de destino de cualquier tipo, excepto para direcciones de origen de unidifusión.
La destination-prefix
dirección es el prefijo de dirección IP versión 4 (IPv4) o IP versión 6 (IPv6) especificado como prefix/prefix-length
. Si omite prefix-length
un prefijo IPv4, el valor predeterminado es /32. Si omite prefix-length
un prefijo IPv6, el valor predeterminado es /128. Los prefijos especificados en una from
instrucción deben ser todas las direcciones IPv4 o todas las direcciones IPv6.
La source-address-filter
opción se utiliza normalmente para hacer coincidir una dirección de ruta entrante con direcciones de origen de unidifusión en entornos BGP multiprotocolo (MBGP) y Protocolo de descubrimiento de origen de multidifusión (MSDP).
source-address-filter source-prefix match-type { actions; }
source-prefix
dirección es el prefijo de dirección IPv4 o IPv6 especificado como prefix/prefix-length
. Si omite prefix-length
un prefijo IPv4, el valor predeterminado es /32prefix-length
. Si omite prefix-length
un prefijo IPv6, el valor predeterminado es /128. Los prefijos especificados en una from
instrucción deben ser todas las direcciones IPv4 o todas las direcciones IPv6.
match-type
es el tipo de coincidencia que se aplica al prefijo de origen o destino. Puede ser uno de los tipos de coincidencia enumerados en Tabla 1. Para ver ejemplos de los tipos de coincidencia y los resultados cuando se presentan varias rutas, consulte Tabla 2.
actions
son las acciones que se deben realizar si una dirección de ruta coincide con los criterios especificados para un prefijo de coincidencia de destino (especificado como parte de una route-filter
opción) o para un prefijo de coincidencia de origen (especificado como parte de una destination-address-filter
opción). Las acciones pueden consistir en una o varias de las acciones descritas en Acciones en términos de política de enrutamiento.
En un filtro de ruta puede especificar acciones de dos maneras:
En la
route-filter
opción osource-address-filter
: estas acciones se realizan inmediatamente después de que se produzca una coincidencia y no se evalúa lathen
instrucción.En la
then
instrucción: estas acciones se realizan después de que se produce una coincidencia, pero no se especifica ninguna acción para laroute-filter
opción osource-address-filter
.
Los upto
tipos de coincidencia y prefix-length-range
son similares en el sentido de que ambos especifican los bits más significativos y proporcionan un rango de longitudes de prefijo que pueden coincidir. La diferencia es que le permite especificar un límite superior solo para el rango de longitud del prefijo, mientras que upto
prefix-length-range
le permite especificar límites inferior y superior.
Para obtener más ejemplos de estos tipos de coincidencia de filtros de ruta, consulte Ejemplos de filtros de ruta.
Tipo de coincidencia |
Criterios de coincidencia |
---|---|
|
Todo lo siguiente es cierto:
Nota:
El El Cuando la búsqueda de coincidencia más larga se realiza en un filtro de ruta, la búsqueda evalúa un Para obtener más información acerca de este tipo de coincidencia de filtro de ruta, consulte Cómo se evalúa un tipo de coincidencia de máscara de dirección. Por ejemplo, las configuraciones que muestran filtros de ruta que contienen el tipo de |
|
Todo lo siguiente es cierto:
|
|
Todo lo siguiente es cierto:
|
|
Todo lo siguiente es cierto:
|
|
Todo lo siguiente es cierto:
|
|
Todo lo siguiente es cierto:
No se utiliza el tipo de coincidencia en la mayoría de las |
|
Todo lo siguiente es cierto:
|
Figura 5 muestra el árbol radix detallado para la ruta 192.168.0.0/16.
Figura 6 y Tabla 2 demostrar el funcionamiento de los distintos tipos de coincidencia de filtros de ruta.
Prefijo |
192.168/16 exacto |
192.168/16 más |
192.168/16 o más |
192.168/16 hasta /24 |
192.168/16 prefijo-longitud-rango/18 – /20 |
192.168/16 through192.168.16/20 |
192.168/19 dirección-máscara255.255.0.0 |
---|---|---|---|---|---|---|---|
10.0.0.0/8 |
– |
– |
– |
– |
– |
– |
– |
192.168.0.0/16 |
Cerilla |
– |
Cerilla |
Cerilla |
– |
Cerilla |
– |
192.168.0.0/17 |
– |
Cerilla |
Cerilla |
Cerilla |
– |
Cerilla |
– |
192.168.0.0/18 |
– |
Cerilla |
Cerilla |
Cerilla |
Cerilla |
Cerilla |
– |
192.168.0.0/19 |
– |
Cerilla |
Cerilla |
Cerilla |
Cerilla |
Cerilla |
Cerilla |
192.168.4.0/24 |
– |
Cerilla |
Cerilla |
Cerilla |
– |
– |
– |
192.168.5.4/30 |
– |
Cerilla |
Cerilla |
– |
– |
– |
– |
192.168.12.4/30 |
– |
Cerilla |
Cerilla |
– |
– |
– |
– |
192.168.12.128/32 |
– |
Cerilla |
Cerilla |
– |
– |
– |
– |
192.168.16.0/20 |
– |
Cerilla |
Cerilla |
Cerilla |
Cerilla |
Cerilla |
– |
192.168.192.0/18 |
– |
Cerilla |
Cerilla |
Cerilla |
Cerilla |
– |
– |
192.168.224.0/19 |
– |
Cerilla |
Cerilla |
Cerilla |
Cerilla |
– |
Cerilla |
10.169.1.0/24 |
– |
– |
– |
– |
– |
– |
– |
10.170.0.0/16 |
– |
– |
– |
– |
– |
– |
– |
Cómo se evalúan los filtros de ruta en condiciones de coincidencia de políticas de enrutamiento
Durante la evaluación del filtro de ruta, el software del marco de políticas compara la dirección de origen de cada ruta con los prefijos de destino en el filtro de ruta. La evaluación se realiza en dos pasos:
El software del marco de políticas realiza una búsqueda de coincidencia más larga, lo que significa que el software busca el prefijo en la lista con la longitud más larga.
La búsqueda de coincidencia más larga considera solo los
prefix
componentes yprefix-length
del prefijo de coincidencia configurado, y no elmatch-type
componente. El siguiente filtro de ruta de ejemplo ilustra este punto:from { route-filter 192.168.0.0/14 upto /24 reject; route-filter 192.168.0.0/15 exact; } then accept;
La coincidencia más larga para la ruta candidata 192.168.1.0/24 es el segundo filtro de ruta, 192.168.0.0/15, que se basa solo en el prefijo y la longitud del prefijo.
Cuando una ruta entrante coincide con un prefijo (primero el más largo), se producen las siguientes acciones:
El filtro de ruta deja de evaluar otros prefijos, incluso si se produce un error en el tipo de coincidencia.
El software examina el tipo de coincidencia y la acción asociada con ese prefijo.
Cuando se evalúa una dirección de origen de ruta con respecto a un criterio de coincidencia que utiliza el address-mask
tipo de coincidencia, en ambos pasos de la evaluación se incluye el valor de máscara de red configurado. Para obtener más información, consulte Cómo se evalúa un tipo de coincidencia de máscara de dirección.
En el paso 1, si se evaluara la ruta 192.168.1.0/24, no coincidiría. Coincide con el prefijo más largo de 192.168.0.0/15, pero no coincide con exact
. El filtro de ruta finaliza porque coincide con un prefijo, pero el resultado es una coincidencia fallida porque se produjo un error en el tipo de coincidencia.
Si se produce una coincidencia, se realiza la acción especificada con el prefijo. Si no se especifica una acción con el prefijo, se realiza la acción de la then
instrucción. Si no se especifica ninguna acción, el software evalúa el siguiente término o política de enrutamiento, si está presente, o realiza la accept
acción o reject
especificada por la política predeterminada. Para obtener más información acerca de las directivas de enrutamiento predeterminadas, consulte Políticas de enrutamiento predeterminadas.
Si especifica varios prefijos en el filtro de ruta, solo es necesario que coincida un prefijo para que se produzca una coincidencia. La coincidencia del filtro de ruta es efectivamente una operación OR lógica.
Si no se produce una coincidencia, el software evalúa el siguiente término o política de enrutamiento, si está presente, o realiza la accept
acción o reject
especificada por la política predeterminada.
Por ejemplo, compare el prefijo 192.168.254.0/24 con el siguiente filtro de ruta:
route-filter 192.168.0.0/16 orlonger; route-filter 192.168.254.0/23 exact;
Se determina que el prefijo 192.168.254.0/23 es el prefijo más largo. Cuando el software evalúa 192.168.254.0/24 contra el prefijo más largo, se produce una coincidencia (192.168.254.0/24 es un subconjunto de 192.168.254.0/23). Debido a la coincidencia entre 192.168.254.0/24 y el prefijo más largo, la evaluación continúa. Sin embargo, cuando el software evalúa el tipo de coincidencia, no se produce una coincidencia entre 192.168.254.0/24 y 192.168.254.0/23 exactamente. El software concluye que el término no coincide y pasa al siguiente término o política de enrutamiento, si está presente, o realiza la accept
acción o reject
especificada por la política predeterminada.
La función walkup permite que los términos con múltiples filtros de ruta "suban" el proceso de evaluación para incluir rutas menos específicas, así como la coincidencia más larga. En otras palabras, habilitar walkup cambia el comportamiento predeterminado de "si uno falla, entonces el término falla" a "si uno coincide, entonces el término coincide". Para obtener más información acerca de la walkup característica, consulte Descripción general de Walkup for Route Filters.
- Cómo afecta el orden de los prefijos a la evaluación del filtro de ruta
- Cómo se evalúa un tipo de coincidencia de máscara de dirección
- Problema de configuración común con la búsqueda de coincidencia más larga
Cómo afecta el orden de los prefijos a la evaluación del filtro de ruta
El orden en que se especifican los prefijos (de arriba a abajo) normalmente no importa, porque el software del marco de políticas analiza el filtro de ruta en busca del prefijo más largo durante la evaluación. Una excepción a esta regla es cuando se usa el mismo prefijo de destino varias veces en una lista. En este caso, el orden de los prefijos es importante, ya que la lista de prefijos idénticos se escanea de arriba a abajo y se aplica el primer tipo de coincidencia que coincida con la ruta.
La función walkup permite que los términos con múltiples filtros de ruta "suban" el proceso de evaluación para incluir rutas menos específicas, así como la coincidencia más larga. En otras palabras, habilitar walkup cambia el comportamiento predeterminado de "si uno falla, entonces el término falla" a "si uno coincide, entonces el término coincide". Para obtener más información acerca de la walkup característica, consulte Descripción general de Walkup for Route Filters.
En el ejemplo siguiente, se especifican diferentes tipos de coincidencia para el mismo prefijo. La ruta 0.0.0.0/0 sería rechazada, la ruta 0.0.0.0/8 se marcaría con next-hop self
, y la ruta 0.0.0.0/25 sería rechazada.
route-filter 0.0.0.0/0 upto /7 reject; route-filter 0.0.0.0/0 upto /24 next-hop self; route-filter 0.0.0.0/0 orlonger reject;
Cómo se evalúa un tipo de coincidencia de máscara de dirección
El address-mask
tipo de coincidencia de directiva de enrutamiento permite hacer coincidir las direcciones de ruta IPv4 o IPv6 entrantes en un valor de máscara de red configurado, además de la longitud de un prefijo de coincidencia de destino configurado. Durante la evaluación del filtro de ruta, un address-mask
tipo de coincidencia se procesa de manera diferente a otros tipos de coincidencia de políticas de enrutamiento, teniendo en cuenta el valor de máscara de red configurado:
Cuando una búsqueda de coincidencia más larga evalúa un
address-mask
tipo de coincidencia de política de enrutamiento, no se tiene en cuenta elprefix-length
componente del prefijo de coincidencia configurado. En su lugar, la búsqueda considera el número de bits contiguos de orden alto establecidos en el valor de máscara de red configurado.Cuando se evalúa una dirección de ruta IPv4 o IPv6 entrante con respecto a un criterio de coincidencia de filtro de ruta que utiliza el tipo de coincidencia de
address-mask
directiva de enrutamiento, la coincidencia se realiza correctamente si los valores siguientes son idénticos:El AND lógico bit a bit del valor de máscara de red configurado y la dirección de ruta IPv4 o IPv6 entrante
El AND lógico bit a bit del valor de máscara de red configurado y el prefijo de coincidencia de destino configurado
Para obtener un ejemplo de configuración de un filtro de ruta que contiene dos address-mask
tipos de coincidencia, consulte Evaluación de un tipo de coincidencia de máscara de dirección con la búsqueda de coincidencia más larga.
Problema de configuración común con la búsqueda de coincidencia más larga
Un problema común al definir un filtro de ruta es incluir un prefijo más corto que desee que coincida con un prefijo más largo y similar en la misma lista. Por ejemplo, imagine que el prefijo 192.168.254.0/24 se compara con el siguiente filtro de ruta:
route-filter 192.168.0.0/16 orlonger; route-filter 192.168.254.0/23 exact;
Dado que el software del marco de políticas realiza la búsqueda de coincidencia más larga, se determina que el prefijo 192.168.254.0/23 es el prefijo más largo. No se produce una coincidencia exacta entre 192.168.254.0/24 y 192.168.254.0/23 exactamente. El software determina que el término no coincide y pasa al siguiente término o política de enrutamiento, si está presente, o realiza la accept
acción o reject
especificada por la política predeterminada. (Para obtener más información acerca de las directivas de enrutamiento predeterminadas, consulte Políticas de enrutamiento predeterminadas.) El prefijo más corto 192.168.0.0/16 o más largo que deseaba que coincidiera se omite inadvertidamente.
Una solución a este problema es quitar el prefijo 192.168.0.0/16 o más del filtro de ruta en este término y moverlo a otro término donde sea el único prefijo o el prefijo más largo de la lista.
Otra solución es habilitar la walkup función. Consulte Descripción general de Walkup for Route Filters para obtener más información.
Ejemplos de filtros de ruta
Los ejemplos de esta sección muestran solo fragmentos de directivas de enrutamiento. Normalmente, combinaría estos fragmentos con otros términos o políticas de enrutamiento.
En todos los ejemplos, recuerde que las siguientes acciones se aplican a las rutas que no coinciden:
Evalúe el próximo trimestre, si está presente.
Evalúe la próxima política, si está presente.
Realice la
accept
acción oreject
especificada por la directiva predeterminada. Para obtener más información acerca de las directivas de enrutamiento predeterminadas, consulte Políticas de enrutamiento predeterminadas.
Los siguientes ejemplos muestran cómo configurar filtros de ruta para diversos fines:
- Rechazar rutas con prefijos de destino y longitudes de máscara específicos
- Rechazar rutas con una longitud de máscara superior a ocho
- Rechazar rutas con longitud de máscara entre 26 y 29
- Rechazar rutas de hosts específicos
- Aceptar rutas con un conjunto definido de prefijos
- Rechazar rutas con un conjunto definido de prefijos
- Rechazar rutas con prefijos de más de 24 bits
- Rechazo de uniones de tráfico de multidifusión PIM
- Rechazo del tráfico PIM
- Aceptar rutas IPv4 entrantes aplicando una máscara de dirección a la dirección de ruta y al prefijo de coincidencia de destino
- Aceptar rutas IPv4 entrantes con patrones similares pero diferentes longitudes de prefijo
- Evaluación de un tipo de coincidencia de máscara de dirección con la búsqueda de coincidencia más larga
Rechazar rutas con prefijos de destino y longitudes de máscara específicos
Rechazar rutas con un prefijo de destino de 0.0.0.0 y una longitud de máscara de 0 a 8, y aceptar todas las demás rutas:
[edit] policy-options { policy-statement policy-statement from-hall2 { term 1 { from { route-filter 0.0.0.0/0 upto /8 reject; } } then accept; } }
Rechazar rutas con una longitud de máscara superior a ocho
Rechazar rutas con una máscara de /8 y superior (es decir, /8, /9, /10, etc.) que tengan los primeros 8 bits establecidos en 0 y aceptar rutas de menos de 8 bits de longitud:
[edit] policy-options { policy-statement from-hall3 { term term1 { from { route-filter 0/0 upto /7 accept; route-filter 0/8 orlonger; } then reject; } } }
Rechazar rutas con longitud de máscara entre 26 y 29
Rechazar rutas con el prefijo de destino de 192.168.10/24 y una máscara entre /26 y /29 y aceptar todas las demás rutas:
[edit] policy-options { policy-statement from-customer-a { term term1 { from { route-filter 192.168.10/24 prefix-length-range /26–/29 reject; } then accept; } } }
Rechazar rutas de hosts específicos
Rechazar un rango de rutas de hosts específicos y aceptar todas las demás rutas:
[edit] policy-options { policy-statement hosts-only { from { route-filter 10.125.0.0/16 upto /31 reject; route-filter 0/0; } then accept; } }
No se utiliza el tipo de coincidencia en la mayoría de las through
configuraciones de directiva de enrutamiento. Debe pensar en through
una herramienta para agrupar un conjunto contiguo de coincidencias exactas. Por ejemplo, en lugar de especificar cuatro coincidencias exactas:
from route-filter 0.0.0.0/1 exact from route-filter 0.0.0.0/2 exact from route-filter 0.0.0.0/3 exact from route-filter 0.0.0.0/4 exact
Podrías representarlos con la siguiente coincidencia única:
from route-filter 0.0.0.0/1 through 0.0.0.0/4
Aceptar rutas con un conjunto definido de prefijos
Aceptar explícitamente un conjunto limitado de prefijos (en el primer término) y rechazar todos los demás (en el segundo término):
policy-options { policy-statement internet-in { term 1 { from { route-filter 192.168.231.0/24 exact accept; route-filter 192.168.244.0/24 exact accept; route-filter 192.168.198.0/24 exact accept; route-filter 192.168.160.0/24 exact accept; route-filter 192.168.59.0/24 exact accept; } } term 2 { then { reject; } } }
Rechazar rutas con un conjunto definido de prefijos
Rechazar algunos grupos de prefijos y aceptar los prefijos restantes:
[edit policy-options] policy-statement drop-routes { term 1{ from { # first, reject a number of prefixes: route-filter default exact reject; # reject 0.0.0.0/0 exact route-filter 0.0.0.0/8 orlonger reject; # reject prefix 0, mask /8 or longer route-filter 10.0.0.0/8 orlonger reject; # reject loopback addresses } route-filter 10.105.0.0/16 exact { # accept 10.105.0.0/16 as-path-prepend “1 2 3”; accept; } route-filter 192.0.2.0/24 orlonger reject; # reject test network packets route-filter 172.16.233.0/3 orlonger reject; # reject multicast and higher route-filter 0.0.0.0/0 upto /24 accept; # accept everything up to /24 route-filter 0.0.0.0/0 orlonger accept; # accept everything else } } } }
Rechazar rutas con prefijos de más de 24 bits
Rechazar todos los prefijos de más de 24 bits. Instalaría esta directiva de enrutamiento en una secuencia de directivas de enrutamiento en una export
instrucción. El primer término en este filtro pasa en todas las rutas con una longitud de prefijo de hasta 24 bits. El segundo término, sin nombre, rechaza todo lo demás.
[edit policy-options] policy-statement 24bit-filter { term acl20 { from { route-filter 0.0.0.0/0 upto /24; } then next policy; } then reject; }
Si, en este ejemplo, especificara route-filter 0.0.0.0/0 upto /24 accept
, los prefijos coincidentes se aceptarían inmediatamente y la siguiente directiva de enrutamiento de la export
instrucción nunca se evaluaría.
Si tuviera que incluir la then reject
instrucción en el término acl20
, los prefijos mayores de 24 bits nunca serían rechazados porque el software del marco de políticas, al evaluar el término, pasaría a evaluar la siguiente instrucción antes de llegar a la then reject
instrucción.
Rechazo de uniones de tráfico de multidifusión PIM
Configure una directiva de enrutamiento para rechazar las uniones de tráfico de multidifusión multidifusión independiente del protocolo (PIM) para un prefijo de destino de origen de un vecino:
[edit] policy-options { policy-statement join-filter { from { neighbor 10.14.12.20; source-address-filter 10.83.0.0/16 orlonger; } then reject; } }
Rechazo del tráfico PIM
Configure una política de enrutamiento para rechazar el tráfico PIM para un prefijo de destino de origen desde una interfaz:
[edit] policy-options { policy-statement join-filter { from { interface so-1/0/0.0; source-address-filter 10.83.0.0/16 orlonger; } then reject; } }
Los siguientes calificadores de directiva de enrutamiento se aplican a PIM:
interface
—Interfaz por la que se recibe una uniónneighbor
—Origen del que se origina una uniónroute-filter
—Dirección del gruposource-address-filter
—Dirección de origen para la que rechazar una unión
Para obtener más información acerca de la importación de un filtro de unión PIM en una definición de protocolo PIM, consulte la Guía del usuario de protocolos de multidifusión de Junos OS.
Aceptar rutas IPv4 entrantes aplicando una máscara de dirección a la dirección de ruta y al prefijo de coincidencia de destino
Acepte rutas IPv4 entrantes con un prefijo de destino de 10.1.0/24 y el tercer byte un número par de 0 a 14, inclusive:
[edit] policy-options { policy-statement from_customer_a { term term_1 { from { route-filter 10.1.0.0/24 address-mask 255.255.241.0; } then { ... reject; } } } }
El filtro de ruta del término term_1
de política de enrutamiento coincide con las siguientes direcciones de ruta IPv4 entrantes:
10.1.0.0/24
10.1.2.0/24
10.1.4.0/24
10.1.6.0/24
10.1.8.0/24
10.1.10.0/24
10.1.12.0/24
10.1.14.0/24
El AND lógico bit a bit del valor de máscara de red y la dirección de ruta candidata deben coincidir con el AND lógico bit a bit del valor de máscara de red y la dirección de prefijo de coincidencia. Es decir, cuando el patrón de bits de máscara de red 255.255.241.0 contiene un bit establecido, la dirección de ruta IPv4 entrante que se está evaluando debe coincidir con el valor del bit correspondiente en la dirección de prefijo de destino 10.1.0.0/24.
Los dos primeros bytes del valor de máscara de red son binarios 1111 1111 1111 1111, lo que significa que una dirección de ruta candidata fallará la coincidencia si los dos primeros bytes no son 10.1.
El tercer byte del valor de máscara de red es binario 1111 0001, lo que significa que una dirección de ruta candidata fallará la coincidencia si el tercer byte es mayor que 15 (decimal), un número impar o ambos.
La longitud del prefijo de la dirección del prefijo de coincidencia es 24 (decimal), lo que significa que una dirección de ruta candidata fallará la coincidencia si su longitud de prefijo no es exactamente 24.
Como ejemplo, supongamos que la dirección de ruta candidata que se está probando en la política es 10.1.8.0/24 (binario 0000 1010 0000 0001 0000 1000).
Cuando se aplica el valor de máscara de red a esta dirección de ruta candidata, el resultado es binario 0000 1010 0000 0001 0000 0000.
Cuando se aplica el valor de máscara de red a la dirección de prefijo de destino configurada, el resultado también es binario 0000 1010 0000 0001 0000 0000.
Dado que los resultados de ambas operaciones AND son los mismos, la coincidencia continúa con el segundo criterio de coincidencia.
Dado que las longitudes de prefijo de la dirección candidata y la dirección de prefijo de destino configurada son las mismas (24 bits), la coincidencia se realiza correctamente.
Como otro ejemplo, supongamos que la dirección de ruta candidata que se está probando en la política es 10.1.3.0/24 (binario 0000 1010 0000 0001 0000 0011).
Cuando se aplica el valor de máscara de red a esta dirección de ruta candidata, el resultado es binario 0000 1010 0000 0001 0000 0001.
Sin embargo, cuando el valor de máscara de red se aplica a la dirección de prefijo de destino configurada, el resultado es binario 0000 1010 0000 0001 0000 0000.
Dado que los resultados de las dos operaciones AND son diferentes (en el tercer byte), se produce un error en la coincidencia.
Aceptar rutas IPv4 entrantes con patrones similares pero diferentes longitudes de prefijo
Acepte direcciones de ruta IPv4 entrantes con el formato 10.*.1/24 o 10.*.1.*/32:
[edit] policy-options { policy-statement from_customer_b { term term_2 { from { route-filter 10.0.1.0/24 address-mask 255.0.255.0; route-filter 10.0.1.0/32 address-mask 255.0.255.0; } then { ... reject; } } } }
El criterio 10.0.1.0/24 address-mask 255.0.255.0
de coincidencia del filtro de ruta coincide con una dirección de ruta IPv4 entrante con el formato 10.*.1/24. La longitud del prefijo de la ruta debe tener exactamente 24 bits y cualquier valor es aceptable en el segundo byte.
El criterio 10.0.1.0/32 address-mask 255.0.255.0
de coincidencia del filtro de ruta coincide con una dirección de ruta IPv4 entrante con el formato 10.*.1.*/32. La longitud del prefijo de la ruta debe tener exactamente 32 bits de longitud, y cualquier valor es aceptable en el segundo byte y el cuarto byte.
Evaluación de un tipo de coincidencia de máscara de dirección con la búsqueda de coincidencia más larga
En este ejemplo se muestra cómo una búsqueda de coincidencia más larga evalúa un filtro de ruta que contiene dos address-mask
tipos de coincidencia. Tenga en cuenta el filtro de ruta configurado en el siguiente término term_3
de directiva de enrutamiento:
[edit] policy-options { policy-statement from_customer_c { term term_3 { from { route-filter 10.0.1.0/24 address-mask 255.0.255.0; route-filter 10.0.2.0/24 address-mask 255.240.255.0; } then { ... } } } }
Supongamos que la dirección de origen de ruta IPv4 entrante 10.1.1.0/24 se prueba con el filtro de ruta configurado en el término term_3
de directiva:
El árbol de búsqueda de coincidencia más larga para el término
term_3
de política de enrutamiento contiene dos prefijos de coincidencia: un prefijo para10.0.1.0/24 address-mask 255.0.255.0
y un prefijo para10.0.2.0/24 address-mask 255.240.255.0
. Cuando se busca en el árbol la coincidencia del prefijo más largo para un candidato, la búsqueda de coincidencia más larga considera el número de bits contiguos de orden alto en el configuradonetmask-value
en lugar de la longitud del configuradodestination-prefix
:Para los criterios de coincidencia del filtro de primera ruta, la entrada de búsqueda de coincidencia más larga es 10.0.0.0/8 porque el valor de máscara de red contiene 8 bits contiguos de orden alto.
Para los criterios de coincidencia del filtro de segunda ruta, la entrada de búsqueda de coincidencia más larga es 10.0.0.0/12 porque el valor de máscara de red contiene 12 bits contiguos de orden alto.
Para la dirección de ruta candidata 10.1.1.0/24, la búsqueda de coincidencia más larga devuelve la entrada de árbol 10.0.0.0/12, que corresponde a los criterios
10.0.2.0/24 address-mask 255.240.255.0
de coincidencia del filtro de ruta.Ahora que se ha identificado el prefijo de coincidencia más larga para
term_3
la dirección de ruta candidata, la dirección de ruta candidata se evalúa según los criterios10.0.2.0/24 address-mask 255.240.255.0
de coincidencia del filtro de ruta:Para probar la dirección de ruta IPv4 entrante 10.1.1.0/24, se aplica el valor de máscara de red 255.240.255.0 a 10.1.1.0/24. El resultado es 10.0.1.0.
Para probar la dirección de prefijo de destino configurada 10.0.2.0/24, se aplica el valor de máscara de red 255.240.255.0 a 10.0.2.0/24. El resultado es 10.0.2.0.
Debido a que los resultados son diferentes, se produce un error en la coincidencia del filtro de ruta. No se realiza ninguna acción, ya sea especificada con los criterios de coincidencia o con la
then
instrucción. La dirección de ruta IPv4 entrante no se evalúa según ningún otro criterio de coincidencia.