Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

配置路由聚合

了解路由聚合

路由聚合方法通过将选定的多个路由整合到单个路由播发中,帮助最大限度地减少 IP 网络中的路由条目数量。这种方法与非聚合路由形成鲜明对比,在非聚合路由中,每个路由表都包含每个路由的唯一条目。聚合方法无助于减小执行聚合的路由器上路由表的大小。如果配置的导出策略仅播发聚合,而不播发影响路由,则对接收更新的路由器产生聚合效应。

当聚合路由具有一个或多个起作用路由时,该路由将变为活动状态。起作用路由是与聚合目标更具体匹配的活动路由。例如,对于聚合目标 192.168.0.0/16,到 和 192.168.67.0/24192.168.192.0/19路由是贡献路由,但到 和 192.168.0.0/16192.168.0.0./8路由不是。

一个路由只能用于单个聚合路由。但是,活动聚合路由可能会递归地影响不太具体的匹配聚合路由。例如,到目标 192.168.0.0/16 的聚合路由可以构成到 192.168.0.0/13的聚合路由。

当聚合路由变为活动状态时,它将安装在路由表中,其中包含以下信息:

  • 拒绝下一跃点 — 如果更具体的数据包与更具体的路由不匹配,则该数据包将被拒绝,并向数据包的发起方发送一条 ICMP 不可达消息。

  • 使用语句配置 aggregate 的度量值。

  • 如果指定了过滤器,则由主要参与者的策略过滤器产生的优先级值。

  • 语句中 aggregate 配置的 AS 路径(如果有)。否则,将通过聚合所有相关路由的路径来计算路径。

  • 语句中 aggregate 配置的社区(如果有)。

    注意:

    您只能为每个目标前缀配置一个聚合路由。

要在默认路由表 (inet.0) 中配置聚合路由,请包含以下 aggregate语句:

要在其他路由表中配置聚合路由,或在默认路由表 (inet.0) 中显式配置聚合路由,请包含以下 aggregate 语句:

注意:

您无法为 IPv4 组播路由表 (inet.1) 或 IPv6 组播路由表 (inet6.1) 配置聚合路由。

aggregate 声明由两部分组成:

  • defaults—(可选)在此处指定全局聚合路由选项。这些将被视为全局默认设置,并应用于您在语句中 aggregate 配置的所有聚合路由。

  • route— 您可以在此处配置单个聚合路由。在语句的aggregate这一部分中,您可以选择配置聚合路由选项。这些选项仅适用于单个目标,并覆盖您在语句部分aggregatedefaults配置的任何选项。

在语句部分aggregate配置route单个聚合路由时,请通过以下方式之一指定路由的目的(在 route destination-prefix中):

  • network/mask-length,其中 network 是 IP 地址的网络部分, mask-length 是目标前缀长度。

  • default 如果这是到达目标的默认路由。这相当于指定 的 IP 地址 0.0.0.0/0

配置聚合路由后,可以通过配置策略来让协议通告路由,然后由路由协议导出。

在语句部分aggregate配置routes聚合路由的目标前缀时,可以关联路由策略。这样做可为目标前缀提供等效的导入路由策略过滤器。也就是说,聚合路由的每个潜在贡献者以及任何聚合选项都将通过策略过滤器。然后,策略可以接受或拒绝路由作为聚合路由的贡献者,如果接受贡献者,策略可以修改默认首选项。

以下算法用于比较两个聚合贡献路由,以确定哪一个是主要或首选贡献者:

  1. 比较相关路由的协议 preferences 。优先级越低,路由越好。这类似于在确定路由表的最佳路由时进行的比较。

  2. 比较相关路由的协议 preferences2 。preference2 值越低越好。如果只有一个路由具有 preferences2,则首选此路由。

  3. 优先级值相同。继续对前缀值进行数值比较。

    1. 主要贡献者是数值上最小的前缀值。

    2. 如果两个前缀在数值上相等,则主要贡献者是具有最小前缀长度值的路由。

  4. 在这一点上,两条路线是相同的。主要贡献者不会更改。其他下一跃点可供现有的主要参与者使用。

被拒绝的贡献者仍然可以为不太具体的聚合路由做出贡献。如果未指定策略过滤器,则所有候选路由都将计入聚合路由。

要将路由策略与聚合路由相关联,请在配置路由时包含以下 policy 语句:

在语句的 aggregatedefaults route 部分中,您可以指定 aggregate-options,用于定义在路由表中安装路由时随路由随附的聚合路由的其他信息。所有聚合选项都是可选的。您在语句部分aggregatedefaults指定的聚合选项将被视为全局默认设置,并应用于您在语句中aggregate配置的所有聚合路由。您在语句部分aggregateroute指定的聚合选项将覆盖任何全局聚合选项,并仅应用于该目标。

要配置聚合路由选项,请在语句的 aggregatedefaults route 部分中包含其中一个或多个选项:

为聚合路由配置度量值

您最多可以指定四个度量值,从(对于第一个度量值)开始metric,一直到 metric2metric3metric4并包含以下一个或多个语句:

有关可包含这些语句的层次结构级别列表,请参阅这些语句的语句摘要部分。

在该 type 选项中,您可以指定路由类型。

为聚合路由配置优先级值

默认情况下,聚合路由的优先级值为 130。如果路由表包含到目标的动态路由,其优先级值优于此值(较低),则动态路由将被选为活动路由并安装在转发表中。

要修改默认首选项值,请指定主首选项值 (preference)。您还可以指定次级优先级值 (preference2); 和颜色,它们甚至是更细粒度的优先级值 (colorcolor2)。为此,请包含以下一个或多个语句:

有关可包含这些语句的层次结构级别列表,请参阅这些语句的语句摘要部分。

优先级值可以是 0 到 4,294,967,295 (2、32 – 1) 范围内的数字,数字越小表示路线越优选。有关首选项值的更多信息,请参阅 路由首选项概述

在该 type 选项中,您可以指定路由类型。

为聚合路由配置下一跃点

默认情况下,在路由表中安装聚合路由时,下一跃点将配置为拒绝路由。也就是说,数据包将被拒绝,并向数据包的发起方发送一条 ICMP 不可达消息。

在语句的一部分aggregateroute配置单个路由时,或者为聚合路由配置默认值时,可以指定丢弃下一跃点。这意味着,如果更具体的数据包与更具体的路由不匹配,则该数据包将被拒绝,并在路由表中安装此目标的拒绝路由,但不会发送 ICMP 不可达消息。

能够丢弃下一跃点允许您发起汇总路由,该路由可通过动态路由协议播发,并允许您丢弃收到的与比汇总路由更具体的路由不匹配的流量。要丢弃下一跃点,请添加以下 discard 选项:

有关可包含此语句的层次结构级别列表,请参阅此语句的语句摘要部分。

将 BGP 社区与聚合路由相关联

默认情况下,聚合路由未关联任何 BGP 社区信息。要将社区信息与路由相关联,请添加以下 community 选项:

有关可包含此语句的层次结构级别列表,请参阅此语句的语句摘要部分。 community-value 是社区标识符,可以是 0 到 65,535 范围内的数字。

community-ids 是社区或扩展社区的一个或多个社区标识符。

公共组标识符的格式为:

as-number 是 AS 编号,可以是 1 到 65,534 范围内的值。

您还可以将社区指定 community-ids 为以下众所周知的社区名称之一,这些名称在 RFC 1997 中定义:

  • no-export- 包含此社区名称的路由不会在 BGP 联合边界之外播发。

  • no-advertise— 包含此社区名称的路由不会播发至其他 BGP 对等方。

  • no-export-subconfed— 包含此社区名称的路由不会播发至外部 BGP 对等方,包括 BGP 联合体内其他成员 AS 中的对等方。

您可以使用该none选项通过聚合路由显式排除 BGP 社区信息。在语句部分aggregate配置route单个路由时包括none,以覆盖community语句部分中defaults指定的选项。

注意:

层次结构级别不 [edit routing-options] 支持扩展社区属性。您必须在层次结构级别配置 [edit policy-options] 扩展社区。有关配置扩展社区信息的信息,请参阅 《路由策略、防火墙过滤器和流量监管器用户指南》中的“配置扩展社区属性”部分。有关配置 4 字节 AS 编号和扩展社区的信息,请参阅在 BGP 网络中使用 4 字节自治系统编号

将 AS 路径与聚合路由相关联

默认情况下,聚合路由的 AS 路径是根据组件路由构建的。要手动指定 AS 路径并将 AS 路径信息与路由相关联,请添加以下 as-path 选项:

有关可包含此语句的层次结构级别列表,请参阅此语句的语句摘要部分。

as-path 是要包含在路由中的 AS 路径。它可以包含单独的 AS 路径编号和 AS 集的组合。将集合括在方括号 ( { } 中)。路径中的第一个AS数字表示紧邻本地AS的AS。每个后续数字表示一个AS,该逐渐远离本地AS,朝向路径的原点。

注意:

在 Junos OS 9.1 及更高版本中,如 RFC 4893 中所定义的,数值AS范围得到了扩展,可为 4 字节AS编号提供BGP支持, BGP支持四字节AS数字空间。对于 AS 编号,可以配置一个从 1 到 4,294,967,295 的值。所有 Junos OS 版本都支持 2 字节 AS 编号。2 字节 AS 编号范围为 1 到 65535(这是 4 字节范围的一个子集)。

在 Junos OS 9.2 及更高版本中,您还可以使用以下AS点符号格式(两个整数值加一个句点)配置 4 字节AS编号:<>16-bit high-order value in decimal.<16-bit low-order value in decimal>。例如,以纯数字格式表示的 4 字节 AS 编号 65,546 如果以 AS 点符号格式表示,则为 1.10。您可以指定一个介于 0.0 到 65535.65535 范围内的值,采用 AS 点符号格式。

您还可以使用 BGP 源属性指定 AS 路径,该属性指示 AS 路径信息的来源:

  • egp— 路径信息源自其他 AS。

  • igp— 路径信息源自本地 AS。

  • incomplete—路径信息是通过其他一些方式学习的。

要将 BGP ATOMIC_AGGREGATE 路径属性连接到聚合路由,请指定该 atomic-aggregate 选项。此路径属性表示本地系统选择了不太具体的路由,而不是更具体的路由。

要将 BGP AGGREGATOR 路径属性连接到聚合路由,请指定该 aggregator 选项。使用此选项时,必须指定构成聚合路由的最后一个 AS 编号(编码为两个八位位组),后跟形成聚合路由的 BGP 系统的 IP 地址。

注意:

从 Junos OS 13.2R1 开始,当聚合路由的AS路径(由起作用路由构建)超过最大BGP数据包大小(4096 字节)的一半以上时,BGP路由将被隐藏。此类 AS 路径为其设置了 OverflowASPathSize 标志。如果您希望泄露此类 AS 路径长度可能溢出的 BGP 路由,建议在默认路由配置中静态添加 AS 路径。例如:

在聚合路由路径中包括 AS 编号

默认情况下,所有提供路径的所有 AS 编号都包含在聚合路由的路径中。要仅包含影响 AS 路径中最长的常见前导序列,请在配置路由时包括该 brief 选项。如果这样做会导致聚合路由中省略 AS 编号,则聚合路由中将包含 BGP ATOMIC_ATTRIBUTE 路径属性。

要将所有起作用路径中的所有 AS 编号显式包含在聚合路由的路径中,请在配置路由时包括该full选项。在语句部分aggregate配置route单个路由时,请包含此选项,以覆盖retain语句部分中defaults指定的选项。

有关可包含这些语句的层次结构级别列表,请参阅这些语句的语句摘要部分。

为聚合路由配置标记值

默认情况下,聚合路由没有关联标记值。您可以通过包含以下选项来 tag 指定标记值:

有关可包含此语句的层次结构级别列表,请参阅此语句的语句摘要部分。

控制路由和转发表中非活动聚合路由的保留

只有当下一跃点变得不可访问时,静态路由才会从路由表中移除,如果没有相关路由,就会发生这种情况。要让聚合路由持续安装在路由和转发表中,请在配置路由时包括以下 passive 选项:

如果路由配置为保持持续安装在路由表和转发表中,则当路由处于非活动状态时,将标有 reject 下一跃点。

要在聚合路由变为非活动状态时将其显式移除,请在配置路由时包含该active选项。在语句部分aggregate配置route单个路由时,请包含此选项,以覆盖passive语句部分中defaults指定的选项。

示例:通过路由聚合汇总静态路由

此示例说明了如何通过配置聚合路由来汇总路由。

要求

配置此示例之前,不需要除设备初始化之外的特殊配置。

概述

在此示例中:

  • 设备 R1 连接到客户网络 10.200.1.0/24 和 10.200.2.0/24。

    出于演示目的,这些路由在此示例中表示为设备 R1 上的环路接口。

  • 设备 R1 具有到达 ISP 网络 (10.0.45.0) 的静态默认路由。
  • 设备 R2 配置了静态路由以到达设备 R1 的客户网络(10.200.1.0/24 和 10.200.2.0/24)。
  • 设备 R2 还配置了一个路由策略,用于将所有静态路由播发至其邻接方设备 R3。
  • 当设备 R3 将有关这些路由(10.200.1.0/24 和 10.200.2.0/24)的信息发送到设备 ISP 时,该信息将汇总为单个聚合路由 (10.200.0.0/16)。
  • 设备 R2 和设备 R3 共享一个 IBGP 会话,并将 OSPF 用作 IGP。
  • 设备 ISP 将默认路由注入 AS 64501。

此示例显示了设备 R3 上所有设备的配置和分步配置。

拓扑学

图 1 显示了示例网络。

图 1:播发至 ISP Network topology diagram showing routing and peering between routers. R1 connects to external networks via cloud, uses static routes. R2 connects to R1 and R3, uses OSPF and IBGP. R3 connects to ISP, advertises aggregated route, uses EBGP. ISP sends default route to R3. 的聚合路由

配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层次结构级别的 [edit] CLI 中。

设备 R1

设备 R2

设备 R3

设备 ISP

分步程序

下面的示例要求您在各个配置层级中进行导航。有关导航CLI的信息,请参阅《 Junos OS CLI 用户指南》中的在配置模式下使用CLI编辑器。

要配置设备 R3:

  1. 配置设备接口。

  2. 配置 AS 编号。

  3. 配置与 ISP 设备的 EBGP 会话。

  4. 配置与设备 R2 的 IBGP 会话。

  5. 将 OSPF 配置为 IGP。

  6. 为客户网络路由配置聚合路由。

  7. 配置路由策略以播发聚合路由。

    此策略中的第一个术语播发聚合路由。第二个术语可防止播发更具体的路由。

  8. 配置路由策略,以将设备 R3 报告为参与与设备 ISP 的 EBGP 会话的下一跃点。

  9. 将聚合路由策略应用于与设备 ISP 的 EBGP 会话。

  10. 将下一跳自策略应用于与设备 R2 的 IBGP 会话。

  11. 如果完成设备配置,请提交配置。

结果

通过发出 show interfacesshow protocolsshow policy-optionsshow routing-options 命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

验证

确认配置工作正常。

验证设备 R3 是否具有预期的路由

目的

确认设备 R3 具有来自设备 R2 的播发静态路由。

行动
意义

输出显示设备 R3 已学习设备 R2 上配置的静态路由,以便通过 IBGP 对等互连到达设备 R1 的客户网络(10.200.1.0/24 和 10.200.2.0/24)。

验证设备 R3 是否将聚合路由播发至设备 ISP

目的

确保设备 R3 不发送特定的静态路由,而仅发送汇总的聚合路由。

行动
意义

输出显示设备 R3 仅将汇总路由发送至设备 ISP。

验证端到端连接

目的

确认从设备 R1 上的客户网络到设备 ISP 的端到端连接。

行动
意义

输出显示一个成功的 ping,用于验证从客户网络 10.200.1.1 到设备 ISP 的可访问性。

变更历史表

是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。

释放
描述
13.2R1
从 Junos OS 13.2R1 开始,当聚合路由的AS路径(由起作用路由构建)超过最大BGP数据包大小(4096 字节)的一半以上时,BGP路由将被隐藏。