Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Walkup 用于路由过滤器概述

如果由于跨多个策略术语的拆分路由过滤器而担心策略性能,请使用 walkup 功能。Walkup 功能支持在一个策略术语下整合路由过滤器。

默认情况下,Junos 在策略语句术语中评估多个路由过滤器,方法是先查找最长的匹配前缀,然后再计算连接到路由过滤器的条件,例如前缀范围。如果路由过滤器条件为 false (例如,前缀不在指定范围内),则整个术语为 false,即使路由过滤器前缀可能会变得太短也是如此。由于此行为,如果路由过滤器被拆分为单独的策略声明条款,则可能会出现性能问题。Walkup 功能更改默认路由过滤器行为。

有些自动化策略工具(例如,用于 边界网关协议 (BGP) 中的自治系统边界路由器的工具)由于默认路由过滤器行为,将路由过滤器分为多个术语。路由过滤器也用于除 BGP 以外的路由协议中。walkup 功能不仅限于 BGP 路由过滤器。

注:

从技术上讲,BGP 不会以与 OSPF 或 IS-IS 相同的方式处理路由。BGP"路由"更适当地称为网络层可达性信息 (NLRI) 更新。但是,大多数文档都使用术语"路由",并在这里使用。

路由过滤器由三个主要部分组成:

  1. 前缀和前缀长度(例如10.0.0.0/8

  2. 匹配条件(例如exact

  3. 如果前两部分(前缀和匹配条件)均计算为 true(例如 accept ,)

因此, 10.0.0.0/8 exact accept如果且仅在所考虑的前缀完全相同时10.0.0.0/8路由过滤器就会成功。此路由过滤器会拒绝具有所有其他较长前缀的路由10.0.0.0/10,例如,虽然策略链中可能存在接受10.0.0.0/10路由的其他路由过滤器术语。

注:

虽然10.0.0.0/8路由和变体不是专为文档保留的,但在本10.0.0.0/8主题中将使用私有 RFC 1918 地址空间,这是由于此地址空间提供的灵活性和实际场景。

路由过滤器可组合在单个策略语句术语中。在这种情况下,评估会变得更加复杂。考虑以下路由策略:

请注意, 10.0.0.0/8 orlonger过滤器在其10.0.0.0/16 prefix-length-range /22-/24范围内包含过滤器。也就是说,前缀为10.0.0.0 8 位或更长的任何路由也可能是前缀在22到24位之间的路由。

默认情况下,使用多路由过滤器评估策略声明术语的过程分为两步:

  1. 策略框架软件基于前缀和前缀长度值对列表执行最长匹配查找。

  2. 软件考虑路由过滤器情况(orlongerexact)。路由要么满足路由过滤条件(success),要么与路由过滤器情况(失败)不匹配。

根据这两个步骤的结果,由匹配或失败确定的操作将应用于该路由。在 中,这意味着接受任何"真实"路由,并且此术语中的 Route-Filter-A "false"路由 RouteFilter-1 将被拒绝。此路由将成为隐藏(已过滤)路由。

例如,考虑策略语句10.0.0.0/18RouteFilter-A评估路由时将发生的情况:

首先,通过10.0.0.0/18RouteFilter-1术语评估路由。由于10.0.0.0/16长度超过10.0.0.0/810.0.0.0/18路由会与更长、更具体的路由前缀匹配。接下来,由于10.0.0.0/18路由与prefix-length-range /22-/24条件不匹配,因此匹配失败。因此这一RouteFilter-1术语中的路由匹配会失败,策略将检查下一术语 "默认术语"。默认10.0.0.0/18术语会拒绝路由。

因此, 10.0.0.0/18路由将被隐藏(已过滤)。( 10.0.0.0/18 路由仍可通过 命令 show route hidden 找到。)

问题在于用户实际可能希望接受10.0.0.0/18路由,而不是拒绝。当然,可以添加具有10.0.0.0/18 exact配置的路由过滤器。但是,在具有100000或更多条目的主干路由表中,不能为每个可能的路由或添加到网络的每个可能的新路由配置经过调整的路由过滤器。

从示例路由策略中获得正确行为的默认解决方法是为每个路由过滤器配置单独的术语。这通常是这样的:

现在, 10.0.0.0/18路由被接受是因为虽然它仍未通过RouteFilter-1 match 条件,但它与新RouteFilter-2的术语10.0.0.0/8匹配(是最长匹配, orlonger条件为 true)。这种方法的问题在于,整个路由策略的评估时间要比将多个路由过滤器组合在一起时花费更多。此方法还会使维护更加复杂。

通过 walkup 语句和功能解决了一项每路由过滤器方法的问题。Walkup 在全局或按策略更改路由过滤器评估的默认行为。

借助该步测功能,多个路由过滤器的术语可以"上行"评估流程,以包含不太具体的路由和最长的匹配。换句话说,表示的旋钮将默认行为从"如果一个失败,则搜索失败"更改为"一个匹配,则搜索词匹配"。

考虑将 walkup 功能应用于示例策略声明(您还可以对所有已配置的策略进行全局上的上一步):

这是策略语句10.0.0.0/18RouteFilter-A评估路由前缀时的情况:

默认行为由 walkup 旋钮改变。与以前一样, 10.0.0.0/18路由会与更长、更具体的路由10.0.0.0/16前缀匹配, 10.0.0.0/8因为其长度超过。与以前一样,此匹配失败, 10.0.0.0/18因为路由与prefix-length-range /22-/24条件不匹配。但是,这一过程又继续"上行",检查不太具体的 10.0.0.0/8 路由过滤器。orlonger与此过滤器匹配的路由条件,因此该的路由将被RouteFilter-1术语接受。

此命令可以验证(对于BGP路由 show route protocol bgp 10.0.0.0/18 )。此时,路由将不会隐藏。

如果您全局启用 walkup 功能,则可以使用[edit policy-options policy-statements policy-statement-name defaults route-filter no-walkup]语句按策略在本地覆盖。