Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Descripción de las subrutinas de directivas en las condiciones de coincidencia de directivas de enrutamiento

Puede utilizar una directiva de enrutamiento llamada desde otra directiva de enrutamiento como una condición de coincidencia. Este proceso hace que la Directiva a la que se llama sea una subrutina.

En cierto modo, el marco de políticas de Junos OS es similar a un lenguaje de programación. Esta similitud incluye el concepto de anidación de políticas en una subrutina de políticas. Una subrutina de un programa de software es una sección de código a la que se hace referencia de forma periódica. Una subrutina de políticas funciona de la misma manera: hace referencia a una política existente como un criterio de coincidencia en otra política. El dispositivo de enrutamiento evalúa primero la subrutina y luego evalúa la directiva principal. La evaluación de la subrutina devuelve un resultado booleano true o false a la directiva principal. Dado que está haciendo referencia a la subrutina como un criterio de comprobación, un verdadero resultado significa que la directiva principal tiene una coincidencia y puede realizar cualquier acción configurada. Sin embargo, un resultado falso de la subrutina significa que la directiva principal no tiene una coincidencia.

Configuración de subrutinas

Para configurar una subrutina de una directiva de enrutamiento a la que llamar desde otra directiva de enrutamiento, cree la subrutina y especifique su policy nombre con la condición from de to coincidencia en la instrucción o de otra directiva de enrutamiento.

Nota:

No evalúe una directiva de enrutamiento en sí misma. El resultado es que no hay prefijos que coincidan nunca con la Directiva de enrutamiento.

La acción especificada en una subrutina se utiliza para proporcionar una condición de coincidencia a la Directiva de llamada. Si la subrutina especifica una acción de Accept, la Directiva de llamada considera que la ruta es una coincidencia. Si la subrutina especifica una acción de rechazar, la Directiva de llamada considera que la ruta no coincide. Si la subrutina especifica una acción que está destinada a manipular las características de ruta, se realizan los cambios.

Posibles consecuencias de acciones de terminación en subrutinas

Una subrutina con instrucciones concretas puede comportarse de manera diferente que una directiva de enrutamiento que contiene las mismas instrucciones. Con una subrutina, debe recordar que las posibles acciones de finalización de aceptación o rechazo especificadas por la subrutina o por la directiva predeterminada pueden afectar ampliamente a los resultados esperados.

En particular, debe considerar lo que sucede si una coincidencia no se produce con las rutas especificadas en una subrutina y si la acción de directiva predeterminada que se realiza es la acción esperada y deseada.

Por ejemplo, Imagine que es un administrador de red de un proveedor de servicios Internet (ISP) que proporciona servicio al cliente a. Ha configurado varias políticas de enrutamiento para las distintas clases de vecinos que el cliente A presenta en varios vínculos. Para ahorrar tiempo al mantener las políticas de enrutamiento del cliente A, habrá configurado una subrutina que identifique sus rutas y varias políticas de enrutamiento que llamen a la subrutina, como se muestra a continuación:

Con esta configuración se producen los siguientes resultados:

  • La instrucción de nivel de grupo restablece la métrica a 500 cuando se anuncian todas las rutas de BGP a los vecinos export 10.1.1.1 y 10.1.2.1 en lugar de solo las rutas que coincidan con los filtros de ruta subbrutina.

  • Las instrucciones de nivel de vecino restablecen la métrica a 100 y 200 cuando se anuncian todas las rutas de BGP a los vecinos export 10.1.3.1 y 10.1.4.1, respectivamente, respectivamente, en lugar de solo las rutas BGP que coincidan con los filtros de ruta subbrutina.

Estos resultados inesperados se deben a que la Directiva de subrutinas no especifica una acción de terminación para las rutas que no coinciden con el filtro de ruta y, por lo tanto, la directiva predeterminada BGP la exportación para aceptar todas las rutas BGP se toma.

Si las instrucciones incluidas en esta subrutina en particular se hubieran contenido en las propias políticas de llamada, solo se restablecerían las métricas de las rutas deseadas.

Este ejemplo ilustra las diferencias entre las políticas de enrutamiento y las subrutinas, así como la importancia de la acción de terminación en una subrutina. En este caso, no se consideró cuidadosamente la acción BGP exportar la política de la subrutina. Una solución a este ejemplo en particular es agregar un término más a la subrutina que rechace todas las demás rutas que no coincidan con los filtros de ruta:

Las estrategias de acción de terminación para las subrutinas son, en general, las siguientes:

  • Dependen de la acción de la directiva predeterminada para gestionar todas las demás rutas.

  • Agregue un término que acepte el resto de las rutas.

  • Agregue un término que rechace todas las demás rutas.

La opción elegida dependerá de lo que desee lograr con su subrutina. Planifique sus subrutinas cuidadosamente.