Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

基于下一跳动态通道的本地化概述

 

基于下一跳的动态隧道包括通用路由封装(GRE)隧道和 UDP MPLS 隧道。这些隧道可提供基于接口的隧道的扩展优势.However 与基于接口的隧道不同,下一跳动态隧道是 anchorless 的,其中隧道的转发信息将分配到设备上每个线卡上的数据包转发引擎(Pfe)。这会将设备上支持的最大隧道数限制为单个线卡的通道容量。通过本地化支持,您可以配置下一跳动态通道本地化,以便仅在指定为锚定 PFE 的线卡的 PFE 上创建转发信息。设备上其他线卡上的 Pfe 具有状态转发信息,以便将数据包定位到锚定 PFE。这可通过增加设备上支持的最大隧道数来提供扩展优势。

基于下一跳动态通道本地化的优势

通过增加设备上支持的最大隧道数提供扩展优势。

基于下一跳动态通道本地化的用例

  • 托管多个 MS MPC 的 IPsec 网关设备用于终止 IPSec 隧道,并且需要支持中等负载。当达到设备的扩展限制时,这种支持就会受到基于下一跳点动态隧道的使用。根据下一跳动态隧道的本地化,支持的最大隧道数将增加,从而使设备能够以额外的交换矩阵的成本适应更多的隧道。

  • 对于 Internet 或 VPN 网关设备(例如虚拟公共云数据中心),网关设备需要与大量服务器进行通信。数据中心服务器可通过下一跳动态隧道到达。动态隧道的 anchorless 属性限制设备的总扩展号码。网关设备托管多个 Mpc,同时增加了流量需求。根据下一跳动态隧道的本地化,隧道可以分布在 Mpc 上,从而提高通道扩展数字的增加。

基于下一跳动态隧道的本地化的流量处理

根据本地化支持,下一跳动态通道状态被本地化为一个定位数据包转发引擎,另一个数据包转发引擎具有用于向通道锚点进行路由的通道状态。

图 1显示了不进行本地化的下一跳动态隧道的转发路径。

图 1: 不进行本地化的基于下一跳动态隧道的转发路径
不进行本地化的基于下一跳动态隧道的转发路径

图 2展示了基于下一跳的动态隧道与本地化的转发路径。

图 2: 使用本地化的基于下一跳动态隧道的转发路径
使用本地化的基于下一跳动态隧道的转发路径

配置下一跳动态隧道的本地化

可以为新创建的下一跳动态隧道或现有非本地动态隧道配置本地化支持。

为基于下一中继站的新动态隧道配置本地化

下一跳动态隧道的本地化使用基于策略的方法来指定前缀组。换句话说,路由策略用于将本地化属性应用于基于下一跳跃的动态隧道。动态隧道属性配置文件在路由选项下创建和配置,以便与使用该策略的前缀组关联。

  1. 创建动态通道配置文件。

    动态通道配置文件指定隧道类型和定位数据包转发引擎信息。可以为动态隧道的本地化创建多个动态通道配置文件。

    动态通道类型的值可以是 GRE、UDP 或 BGP 信号。

    尽管 BGP 信号不是有效的通道类型,但在分配 BGP 信号作为通道类型时,从 BGP 发出信号的属性中创建的隧道也将本地化。 当使用 BGP 信号、 隧道类型基于其 TLV 中 BGP 通告的类型决定。BGP 信号隧道总是基于下一跳的隧道。通过 BGP 信号动态创建的 GRE 隧道始终基于下一中继站,即使用户已手动配置了由 GRE 创建的隧道以使用 IFLs。

    锚点数据包转发引擎值是锚点数据包转发引擎的线卡,例如 pfe x/y/0。此信息可从show interfaces terse pfe*命令输出中查看。

    Sample Configuration:

  2. 将动态通道配置文件关联到前缀列表。

    将策略配置dynamic-tunnel-attributes为操作会将动态通道与前缀列表相关联。策略from操作允许创建具有指定属性的隧道,以满足任何匹配条件,例如前缀范围、社区或 BGP 路由的源地址等。

    Sample configuration:

  3. 在转发表下包括隧道策略导出策略。

    配置该策略后,将其包含在转发表的转发表导出策略中,用于分析策略。

    通过使用出口策略,通道属性将与路由相关联。只要 BGP 的路由排队等待解析,就会评估转发表导出策略,并根据所应用的过滤器从策略模块中获取隧道属性。获得的隧道属性随后将连接到隧道组合下一跳跃的下一跳跃。在发送通道复合下一跳跃之前,将创建基于数据包转发引擎名称和通道类型的相应定位转发结构并发送至转发表。但是,如果没有任何属性映射到隧道组合下一跳跃,则会在每个数据包转发引擎上创建转发结构,类似于非本地化动态隧道。

    Sample configuration:

配置现有下一跳动态隧道的本地化

小心

对动态通道属性进行动态更改可能导致 FPC 崩溃,因为内存利用率很高。因此,建议在配置本地化之前停用动态隧道配置。

要更新现有下一个基于跳跃的动态隧道的隧道属性,应执行以下操作:

  1. dynamic-tunnels用层次结构[edit routing-options]级别下的配置。

    Sample configuration:

  2. 根据需要更改通道属性。
  3. dynamic-tunnels[edit routing-options]层次结构级别下激活配置。

    Sample configuration:

要为现有的基于非本地的下一跳动态隧道配置本地化:

小心

通过动态更改配置现有非本地下一跳动态隧道的本地化,可能会由于高内存利用率而导致 FPC 崩溃。因此,建议在配置本地化之前停用动态隧道配置。

  1. dynamic-tunnels层次[edit routing-options]结构级别停用配置。
  2. 创建通道属性配置文件并添加用于本地化动态隧道的策略,类似于新的下一跳动态隧道。
  3. 激活dynamic-tunnels配置。

基于下一跳点动态隧道的故障排除

借助基于下一跳动态隧道的本地化,隧道组合下一个跃点将与定位数据包转发引擎 Id 相关联。[edit routing-options]层次结构级别的以下 traceroute 配置语句可帮助您排除本地化动态隧道故障:

  • dynamic-tunnels traceoptions flag all—在 DTM 中跟踪通道的创建和删除。

  • resolution traceoptions flag tunnel—跟踪 BGP 路由上的解析器操作。

  • forwarding-table traceoptions flag all—跟踪发送到内核的隧道。

  • traceoptions flag all—跟踪路由学习流程。

以下命令可用于检查路由是否使用基于下一跳的本地化隧道:

  1. show route prefix extensive—以获取间接的下一跳跃。

    例如:

    user@host> show route 1.2.3.4 extensive
  2. show krt indirect-next-hop index indirect-next-hop detail—要检查间接下一跳跃的详细输出中的定位标记数据包转发引擎字段。

    例如:

    user@host> show krt indirect-next-hop index 1048577 detail

基于下一跳动态隧道本地化的不支持的功能

对于基于下一跳动态隧道的本地化,Junos OS 不支持以下功能:

  • [edit routing-options forwarding-table chained-composite-next-hop ingress l3vpn]层次结构级的链式复合下一跳跃。

  • 锚数据包转发引擎弹性。

    基于下一跳跃的动态隧道的弹性支持不具备本地化功能。在对基于下一跳动态隧道进行本地化之后,锚定 Packer 转发引擎成为处理设备上任何给定隧道的单个实体。尽管不支持锚定 Packer 转发引擎弹性,但对于网关设备,网关设备上的冗余可确保在将通道复合下一跃点委托给的 Packer 转发引擎发生故障时,必须将流量重新路由到冗余网关设备。路由协议进程可监控 Packer 转发引擎的状态,并收回指向该 Packer 转发引擎上定位的隧道复合下一个跃点的所有路由的 BGP 通告。

    只有锚定数据包转发引擎具有完备的隧道组合下一跳跃,而其他所有数据包转发引擎仅有用于将信息流转发至锚定数据包转发引擎的推入口。当锚 FPC 停止时,这些筹划条目不会被提取。

  • 逻辑系统上不支持下一跳动态隧道的本地化。

  • 基于下一跳动态隧道的本地化不支持 IPv6。

  • 借助本地化,当show dynamic-tunnels database summary定位数据包转发引擎线卡的状态不是 up 时,该命令不显示准确的隧道摘要。作为一种解决方法, show dynamic-tunnels databaseshow dynamic-tunnels database terse使用和命令输出。