Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Descripción de las expresiones de Directiva

Las expresiones de políticas permiten que el software Framework de políticas sea una manera diferente de evaluar las políticas de enrutamiento. Una expresión de directiva utiliza operadores lógicos booleanos con directivas. Los operadores lógicos establecen reglas por las que se evalúan las políticas.

Durante la evaluación de una directiva de enrutamiento en una expresión de Directiva, la política de aceptación, rechazo o siguiente se convierte al valor de verdadero o falso. Este valor se evalúa a continuación con el operador lógico especificado para generar el resultado de verdadero o falso. A continuación, el resultado se vuelve a convertir en una acción de control de flujo de la política Accept, REJECT o Next. El resultado de la expresión de la Directiva se aplica tal y como se aplicaría a una sola directiva; la ruta se acepta o rechaza y finaliza la evaluación o se evalúa la siguiente directiva.

Tabla 1resume las acciones de la política y sus valores verdaderos y falsos correspondientes y sus valores de acción de control de flujo. Tabla 2 describe los operadores lógicos. Para obtener información completa sobre la evaluación de expresiones Evaluación de expresión de Directivade políticas, consulte.

Debe escribir una expresión de directiva entre paréntesis. Puede colocar una expresión de política en cualquier lugar import de export los Estados o sentencias y en el from policy extracto.

Tabla 1: Valores de conversión de acciones de Directiva

Acción de la Directiva

Valor de conversión

Valor de conversión de acción de control de flujo

Recibir

VALOR

Recibir

Rechazar

FALSOS

Rechazar

Siguiente política

VALOR

Siguiente política

Tabla 2: Operadores lógicos de expresión de Directiva

Operador lógico

Lógica de expresión de políticas

Cómo afecta el operador lógico evaluación de expresiones de Directiva

& & (AND lógico)

Lógica y requiere que todos los valores se CUMPLAn para generar el resultado de verdadero.

El valor de directiva de enrutamiento TRUE y TRUE produce el resultado de TRUE. El valor de TRUE y FALSE produce el resultado FALSE. Valor de falso y falso produce el resultado falso.

Si la primera Directiva de enrutamiento devuelve el valor TRUE, se evalúa la siguiente directiva. Si la primera muestra el valor de FALSE, la evaluación de la expresión finaliza y las siguientes directivas de la expresión no se evalúan.

|| (OR lógico)

O lógico requiere que al menos un valor sea TRUE para generar el resultado de TRUE.

El valor de directiva de enrutamiento TRUE y FALSE produce el resultado de TRUE. El valor de TRUE y TRUE produce el resultado de TRUE. Valor de falso y falso produce el resultado falso.

Si la primera Directiva de enrutamiento devuelve el valor TRUE, la evaluación de la expresión finaliza y las siguientes directivas de la expresión no se evalúan. Si la primera Directiva devuelve el valor FALSE, se evalúa la siguiente política.

! (NOT lógico)

Valor_lógico no invierte el valor de TRUE a FALSE y de FALSE a TRUE. También invierte las acciones de la Directiva Accept y Next que se rechazará, y rechaza la aceptación.

Si se utiliza con el operador lógico AND y el primer valor de directiva de enrutamiento de FALSE se invierte a TRUE, se evalúa la siguiente política. Si el valor de TRUE se invierte a FALSE, la evaluación de la expresión finaliza y las siguientes directivas de la expresión no se evalúan.

Si se utiliza con el operador lógico OR y el primer valor de directiva de enrutamiento de FALSE se invierte en TRUE, la evaluación de la expresión finaliza y las siguientes directivas de la expresión no se evalúan. Si el valor de TRUE se invierte a FALSE, se evalúa la siguiente política.

Si se utiliza junto con una política y la acción de control de flujo es la política de aceptar o siguiente, estas acciones se invierten para rechazarlas. Si la acción de control de flujo es rechazada, esta acción se invertirá para aceptar.

Para obtener más información, consulte las secciones siguientes:

Ejemplos de expresión de políticas

Los siguientes ejemplos muestran cómo utilizar los operadores lógicos para crear expresiones de directiva:

  • AND lógico: en el ejemplo siguiente, policy1 se evalúa primero. Si se policy1 evalúa After, se devuelve un valor true, policy2 se evalúa. Si se devuelve el valor FALSE, policy2 no se evalúa.

  • O lógico: en el ejemplo siguiente, policy1 se evalúa primero. Si se policy1 evalúa After, se devuelve un valor true, policy2 que no se evalúa. Si se devuelve el valor FALSE, policy2 se evalúa.

  • LÓGICA O Y LÓGICA: en el ejemplo siguiente, policy1 se evalúa primero. Si se policy1 evalúa After, se devuelve un valor true, policy2 se omite y policy3 se evalúa. Si se policy1 evalúa After, se devuelve un valor de false, policy2 se evalúa. Si policy2 devuelve el valor true, policy3 se evalúa. Si policy2 devuelve el valor false, policy3 no se evalúa.

  • NOT lógica: en el ejemplo siguiente, policy1 se evalúa primero. Si se policy1 evalúa After, se devuelve el valor true, el valor se invierte en false y policy2 no se evalúa. Si se devuelve un valor FALSE, el valor se invierte a TRUE y policy2 se evalúa.

La lista [policy1 policy2 policy3] secuencial no es lo mismo que la expresión (policy1 && policy2 && policy3)de la Directiva.

La lista secuencial se evalúa en función de una ruta que coincide con una directiva de enrutamiento. Por ejemplo, si policy1 matches y Action es accept or reject, policy2 y policy3 no se evalúan. Si policy1 no coincide, se policy2 evalúa, etc. hasta que se produce una coincidencia y la acción accept es rejecto.

Las expresiones de Directiva se evalúan basándose en la acción de una directiva de enrutamiento que se convierte al valor de verdadero o falso y la lógica del operador lógico especificado. (Para obtener información completa sobre la evaluación de expresiones Evaluación de expresión de Directivade políticas, consulte). Por ejemplo, si policy1 devuelve un valor false policy2 y policy3 no se evalúan. Si policy1 devuelve el valor true, policy2 se evalúa. Si policy2 devuelve el valor false, policy3 no se evalúa. Si policy2 devuelve el valor true, policy3 se evalúa.

También puede combinar expresiones de directiva y listas secuenciales. En el siguiente ejemplo, si policy1 devuelve el valor false, policy2 se evalúa. Si policy2 devuelve el valor true y contiene una next policy acción, policy3 se evalúa. Si policy2 devuelve el valor true pero no contiene una acción, incluida una next policy acción, policy3 se sigue evaluando (ya que si no se especifica ninguna acción, el siguiente término o la siguiente política son las acciones predeterminadas). Si policy2 devuelve el valor true y contiene una accept acción, policy3 no se evalúa.

Evaluación de expresión de Directiva

Durante la evaluación, el software del marco de políticas convierte las acciones de la política en valores de verdadero o falso, que son factores para determinar la acción de control de flujo que se realiza sobre una ruta. Sin embargo, el software realmente no realiza una acción de control de flujo en una ruta hasta que evalúa una expresión de política completa.

El software de Policy Framework evalúa una expresión de políticas de la siguiente manera:

  1. El software evalúa una ruta contra la primera Directiva de enrutamiento en una expresión de directiva y convierte la acción especificada o predeterminada a un valor de verdadero o falso. (Para obtener más información sobre los valores de conversión de Tabla 1acciones de la política, consulte).

  2. El software toma el valor de TRUE o FALSE y lo evalúa con el operador lógico utilizado en la expresión de políticas (consulte Tabla 2). Según el operador lógico utilizado, el software determina si debe evaluar o no la siguiente política, si existe alguna.

    El software del marco de políticas utiliza un método de evaluación de acceso directo: Si el resultado de la evaluación de una política determina el valor de la expresión completa de la política, el software no evalúa las políticas posteriores de la expresión. Por ejemplo, si la expresión de directiva utiliza el operador lógico AND y la evaluación de una directiva devuelve el valor FALSE, el software no evalúa las políticas subsiguientes en la expresión, ya que se garantiza que el valor final de la expresión sea FALSE no importa cuáles son los valores de las políticas no evaluadas.

  3. El software realiza los pasos 1 y 2 para cada política de enrutamiento posterior en la expresión de política, si están presentes y es necesario evaluarlos.

  4. Después de evaluar la última Directiva de enrutamiento, si es apropiado, el software evalúa el valor de verdadero o falso obtenido en cada evaluación de la Directiva de enrutamiento. Basándose en el operador lógico utilizado, calcula una salida de verdadero o falso.

  5. El software vuelve a convertir el resultado de verdadero o falso en una acción. (Para obtener más información sobre los valores de conversión de Tabla 1acciones de la política, consulte). Se realiza la acción.

    Si cada directiva de la expresión devuelve el valor TRUE, el software vuelve a convertir la salida de TRUE en la acción de control de flujo especificada en la última Directiva. Por ejemplo, si se especifica la (policy1 && policy2) expresión de directiva policy1 y accept especifica policy2 y next termespecifica, next term se realizará la acción.

    Si una acción especificada en una de las políticas manipula una característica de ruta, el software de la estructura de políticas lleva las nuevas características de ruta hacia delante durante la evaluación de las políticas restantes. Por ejemplo, si la acción especificada en la primera política de una expresión de política establece la métrica de una ruta en 500, esta ruta coincide con los criterios de definidos en la metric 500 política siguiente. Sin embargo, si se especifica una acción de manipulación de características de ruta en una directiva situada en la parte central o al final de una expresión de Directiva, es posible que, debido a la evaluación del acceso directo, la Directiva nunca se evalúe y que la manipulación de la ruta la característica nunca se produce.

Evaluar expresiones de Directiva

La siguiente directiva de enrutamiento de ejemplo utiliza tres expresiones de directiva:

El software de marco de políticas evalúa la ruta de BGP de tránsito 10.10.1.0/24 con respecto a las tres expresiones de políticas especificadas en la política de enrutamiento de muestra de la siguiente manera:

  • (policy-A && policy-B):10.10.1.0/24 se evalúa en policy-A contra. 10.10.1.0/24 coincide con la lista de rutas especificada en, por lo que la acción especificada de se devuelve. se convierte en un valor FALSE y FALSE se evalúa con el and lógico policy-Arejectreject especificado. Dado que el resultado de FALSE es cierto independientemente de los resultados de la evaluación de policy-B is (en la lógica de expresión de Directiva, cualquier resultado y un valor false produzcan el resultado de policy-B false), no se evalúa y se genera el resultado de false. El resultado falso se convierte en rejecty se rechaza 10.10.1.0/24.

  • (política-A || policy-B): 10.10.1.0/24 se evalúa en policy-A contra. 10.10.1.0/24 coincide con la lista de rutas especificada en , de modo que se devuelva la acción especificada de. se convierte en un valor policy-Areject FALSE y, luego, FALSE se evalúa con el valor lógico reject especificado O. Dado que Logical o requiere al menos un valor TRUE para generar un resultado de TRUE, se evalúa 10.10.1.0/24 policy-Bcon respecto a. 10.10.1.0/24 no coincide policy-B, por lo que next-policy se devuelve la acción predeterminada. El next-policy se convierte a un valor true, entonces el valor de false (para policy-A evaluación) y true (para policy-B evaluación) se evalúa con respecto al or lógico especificado. En la lógica de la expresión de Directiva, FALSE o TRUE generan un resultado de TRUE. El resultado de TRUE se convierte en next-policy. (TRUE se convierte en next-policy debido next-policy a que fue la última acción que reservó el software de Framework de la Directiva.) policy-B es la última Directiva de enrutamiento de la expresión de Directiva, por lo que se toma la acción especificada por la Directiva de exportación predeterminada para BGP.

  • (!policy-A):10.10.1.0/24 se evalúa en policy-A contra. 10.10.1.0/24 coincide con la lista de rutas especificada en , de modo que la acción especificada de se devuelve. se convierte en un valor FALSE y FALSE se evalúa con el VALOR LÓGICO policy-A ESPECIFICADO rejectreject NOT. El valor FALSE se invierte a un resultado de TRUE, basándose en las reglas de NOT Logical. Se convierte acceptel resultado de true y se acepta la ruta 10.10.1.0/24.