Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Multifield Classifier Example:配置多字段分类

多域分类概述

转发类和 PLP 级别

您可以将 Junos OS 服务等级 (CoS) 功能配置为通过将每个数据包与转发类和/或数据包丢失优先级 (PLP) 级别相关联来对传入流量进行分类:

  • 根据关联的转发类,将每个数据包分配给一个输出队列,路由器根据您配置的关联调度为输出队列提供服务。

  • 根据关联的 PLP,如果发生拥塞,每个数据包被丢弃的可能性更低或更高。CoS 随机早期检测 (RED) 流程根据需要使用丢弃概率配置、输出队列满度百分比和数据包 PLP 丢弃数据包,以控制输出阶段的拥塞。

多域分类和 BA 分类

Junos OS 支持两种常规类型的数据包分类:行为聚合 (BA) 分类和多域分类:

  • BA 分类或 CoS 值流量分类是指一种数据包分类方法,该方法使用 CoS 配置根据 IP 数据包标头中的 CoS 值 设置数据包的转发类或 PLP。出于 BA 分类目的检查的 CoS 值可以是差异服务代码点 (DSCP) 值、DSCP IPv6 值、IP 优先级值、MPLS EXP 位和 IEEE 802.1p 值。默认分类器基于 IP 优先级值。

  • 多域分类是指一种数据包分类方法,该方法使用标准无状态 防火墙过滤器 配置,根据 IP 数据包标头中的 多个字段 (包括 DSCP 值(仅适用于 IPv4)、IP 优先级值、MPLS EXP 位、 和 IEEE 802.1p 位。多字段分类通常与 IP 地址字段、IP 协议类型字段或 UDP 或 TCP 伪标头字段中的端口号匹配。当您需要仅根据数据包信息中的信息(而不是 CoS 值)对数据包进行分类时,将使用多域分类代替 BA 分类。

    使用多字段分类时,防火墙过滤器术语可以指定用于匹配数据包的数据包分类操作,尽管在该术语的子句中使用 或 非终止操作。forwarding-class class-nameloss-priority (high | medium-high | medium-low | low)then

注:

数据包的 BA 分类可由无状态防火墙过滤器操作 和 覆盖。forwarding-classloss-priority

注:

通过 QFX5k 上的多域分类器对流量进行错误分类:

  • 如果 BUM 流量通过 MF 分类器强制采用单播队列,则数据包将被分类到 MCQ9。Junos 版本 21.4R3 、 22.1R3 和从 Junos 版本 22.2 开始,这些数据包将被分类到 MCQ8。

  • 如果单播流量通过 MF 分类器强制采用组播队列,则数据包将被分类为 MCQ9,从版本 19.1R3 开始,数据包将被分类为尽力而为队列。

与监管器结合使用的多域分类

要将多域分类与速率限制一起配置,防火墙过滤器术语可以使用引用单速率双色监管器的非终止操作来 指定用于匹配数据包的数据包分类操作。policer

当多域分类配置为通过监管器执行分类时,信息流中过滤器匹配的数据包的速率限制为监管器指定的流量限制。过滤器匹配数据包的一致性流中的数据包隐式设置为 PLP。low 根据监管器的类型以及监管器处理不合格流量的方式,可以丢弃不合格流量中的数据包,也可以将数据包设置为指定的转发类和/或设置为指定的 PLP 级别。

注:

在将执行多域分类的防火墙过滤器和监管器应用于同一 逻辑接口 和同一流量方向之前,请确保考虑监管器和防火墙过滤器操作的顺序。

例如,请考虑以下方案:

  • 您可以配置防火墙过滤器,该过滤器根据数据包的现有转发类或 PLP 执行多域分类(通过设置转发类和/或 PLP 来作用于匹配的数据包)。您可以在逻辑接口的输入处应用防火墙过滤器。

  • 您还可以配置单速率双色监管器,通过重新标记(设置转发类和/或 PLP)而不是丢弃这些数据包来作用于红色流量。您可以将监管器作为接口监管器应用于应用防火墙过滤器的同一逻辑接口的输入端。

由于监管器和防火墙操作的顺序,输入监管器在输入防火墙过滤器之前执行。这意味着防火墙过滤器指定的多域分类是对已通过监管操作重新标记一次的输入数据包执行的。因此,与防火墙过滤器术语中指定的条件匹配的任何输入数据包都将根据该术语中指定的或非终止操作进行第二次重新标记。forwarding-classloss-priority

多域分类要求和限制

支持的平台

loss-priority 防火墙过滤器操作仅在以下路由平台上受支持:

  • EX 系列交换机

  • 具有增强型 CFEB (CFEB-E) 的 M7i 和 M10i 路由器

  • M120 和 M320 路由器

  • MX 系列路由器

  • 配备增强型 II 灵活 PIC 集中器 (FPC) 的 T 系列路由器

  • PTX 系列路由器

CoS 三色标记要求

防火墙过滤器操作具有特定于平台的要求,依赖于 CoS 三色标记功能,如 RFC 2698 中所定义:loss-priority

  • 在 M320 路由器上,除非启用 CoS 三色标记功能,否则无法提交包含防火墙过滤器操作的 配置。loss-priority

  • 在支持 防火墙过滤器操作的所有路由平台上,您无法将 防火墙过滤器操作设置为 或 ,除非您启用 CoS 三色标记功能。loss-priorityloss-prioritymedium-lowmedium-high

要启用 CoS 三色标记功能,请在层次结构级别包含语句。tri-color[edit class-of-service]

限制

不能为同一防火墙过滤器术语配置和非终止操作。loss-prioritythree-color-policer 这两个非终止操作是互斥的。

注:

在 PTX 系列路由器上,您必须在单独的规则中配置操作,并且不能将其与配置 、 和 操作的规则组合使用。policerforwarding-classloss-priority 请参阅 PTX 系列数据包传输路由器和 T 系列矩阵路由器之间的防火墙和监管差异

M 系列路由器上的多域分类限制

问题:输入滤波器分类中的输出-滤波器匹配

在 M 系列路由器(M120 路由器除外)上,您无法根据使用应用于同一 IPv4 逻辑接口的输入过滤器设置的入口分类,对输出过滤器匹配的数据包进行分类。

例如,在以下配置中,名为 的过滤器将所有传入的 IPv4 数据包分配给该 类。ingressexpedited-forwarding 调用的过滤器对分配给过滤器中该类的所有数据包进行计数。egressexpedited-forwardingingress 此配置不适用于大多数 M 系列路由器。它适用于所有其他路由平台,包括 M120 路由器、MX 系列路由器和 T 系列路由器。

解决 方案:在入口过滤器中配置所有操作

解决方法是,您可以在入口过滤器中配置所有操作。

示例:配置多字段分类

此示例说明如何使用防火墙过滤器操作和两个防火墙过滤器监管器配置 IPv4 流量的多域分类。

要求

在开始之前,请确保您的环境支持此示例中显示的功能:

  1. 路由器必须支持防火墙过滤器操作,并且可配置为所有四个值。loss-priority

    1. 为了能够设置 防火墙过滤器操作,请在以下路由平台之一上的逻辑接口 上配置此示例:loss-priorityge-1/2/0.0

      • MX 系列路由器

      • M120 或 M320 路由器

      • 带有增强型 CFEB (CFEB-E) 的 M7i 或 M10i 路由器

      • 带有增强型 II 灵活 PIC 集中器 (FPC) 的 T 系列路由器

    2. 为了能够将防火墙过滤器操作设置为 或 ,请确保已启用 CoS 三色标记功能。loss-prioritymedium-lowmedium-high 要启用 CoS 三色标记功能,请在层次结构级别包含语句。tri-color[edit class-of-service]

  2. 必须在底层物理接口上调度 和转发类。expedited-forwardingassured-forwardingge-1/2/0

    1. 确保为输出队列分配了以下转发类:

      • expedited-forwarding

      • assured-forwarding

      转发类分配是在层次结构级别配置 的。[edit class-of-service forwarding-classes queue queue-number]

      注:

      您不能提交将相同转发类分配给两个不同队列的配置。

    2. 确保为其分配了转发类的输出队列与调度程序相关联。调度程序定义分配给队列的接口带宽量、为存储数据包而分配的内存缓冲区大小、队列的优先级以及与队列关联的随机早期检测 (RED) 丢弃配置文件。

      • 您可以在层次结构级别配置输出队列调度程序 。[edit class-of-service schedulers]

      • 您可以通过在层次结构级别配置 的调度器图将输出队列调度程序与转发类相关联。[edit class-of-service scheduler-maps map-name]

    3. 确保将输出队列调度应用于物理接口 。ge-1/2/0

      您可以将时间表图应用于层次结构级别的物理接口 。[edit class-of-service interfaces ge-1/2/0 scheduler-map map-name]

概述

在此示例中,通过使用无状态防火墙过滤器操作和从防火墙过滤器引用的两个防火墙过滤器监管器,将多域分类应用于逻辑接口上的输入 IPv4 流量。根据源地址字段,数据包要么设置为 丢失优先级,要么进行监管。low 两个监管器都不会丢弃不符合的流量。不合格流中的数据包被标记为特定的转发类(或),设置为特定的丢失优先级,然后传输。expedited-forwardingassured-forwarding

注:

单速率双色监管器始终在隐式设置 丢失优先级后,在符合流量中传输数据包。low

拓扑

在此示例中,您将对逻辑接口 上的 IPv4 流量应用多域分类。ge-1/2/0.0 分类规则在 IPv4 无状态防火墙过滤器 和两个单速率双色监管器 以及 中指定。mfc-filteref-policeraf-policer

IPv4 标准无状态防火墙过滤器定义了三个过滤器 术语:mfc-filter

  • isp1-customers— 第一个过滤器术语匹配源地址为 10.1.1.0/24 或 10.1.2.0/24 的数据包。匹配的数据包将分配给 转发类并设置为 丢失优先级。expedited-forwardinglow

  • isp2-customers— 第二个过滤器术语匹配源地址为 10.1.3.0/24 或 10.1.4.0/24 的数据包。匹配的数据包将传递到 ,这是一个监管器,可将流量速率限制为 300 Kbps 的带宽限制,突发大小限制为 50 KB。ef-policer 此监管器指定将不符合流中的数据包标记为 转发类并设置为 丢失优先级。expedited-forwardinghigh

  • — 第三个也是最后一个过滤器术语将所有其他数据包传递给 ,这是一个监管器,可将流量速率限制为 300 Kbps 的带宽限制和 50 KB 的突发大小限制(与 定义的 流量限制相同)。other-customersaf-policeref-policer 此监管器指定将不符合流中的数据包标记为 转发类并设置为 丢失优先级。assured-forwardingmedium-high

配置

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

要配置此示例,请执行以下操作:

CLI 快速配置

要快速配置此示例,请将以下配置命令复制到文本文件中,删除所有换行符,然后将命令粘贴到层次结构级别的 CLI 中。[edit]

配置监管器以对加速转发和有保证的转发流量进行速率限制

分步过程

要将监管器配置为对快速转发和有保证的转发流量进行速率限制,请执行以下操作:

  1. 定义加速转发流量的流量限制。

  2. 为有保证的转发流量配置监管器。

成果

通过输入 配置模式命令确认监管器的配置。show firewall 如果命令输出未显示预期的配置,请重复此过程中的说明以更正配置。

配置同时应用管制的多域分类过滤器

分步过程

要配置额外应用管制的多字段分类过滤器,请执行以下操作:

  1. 启用为 IPv4 流量配置防火墙过滤器术语。

  2. 配置第一个术语以匹配源地址,然后对匹配的数据包进行分类。

  3. 配置第二个术语以在不同的源地址上进行匹配,然后监管匹配的数据包。

  4. 配置第三个术语以将所有其他数据包监管到一组不同的流量限制和操作。

成果

通过输入 配置模式命令确认过滤器的配置。show firewall 如果命令输出未显示预期的配置,请重复此过程中的说明以更正配置。

对逻辑接口应用多域分类过滤和监管

分步过程

要将多域分类过滤和监管应用于逻辑接口,请执行以下操作:

  1. 在逻辑接口上启用 IPv4 配置。

  2. 为逻辑接口配置 IP 地址。

  3. 将防火墙过滤器应用于逻辑接口输入。

    注:

    由于监管器在过滤器之前执行,因此,如果逻辑接口上也配置了输入监管器,则无法使用与接口关联的多域分类器的转发类和 PLP。

成果

通过输入 配置模式命令确认接口的配置。show interfaces 如果命令输出未显示预期的配置,请重复此过程中的说明以更正配置。

如果完成设备配置,请从配置模式输入 commit

验证

确认配置工作正常。

显示监管器在逻辑接口上处理的数据包数

目的

验证通过逻辑接口的信息流,以及在逻辑接口上收到数据包时是否评估监管器。

操作

对应用于逻辑接口的过滤器使用操作模式命令。show firewall

命令输出列出防火墙过滤器应用的监管器,以及与过滤器 术语匹配的数据包数。rate-limit-in

注:

数据包计数包括不规范(不规范)数据包计数,而不是监管器监管的所有数据包。

监管器名称与防火墙过滤器术语的名称串联显示,其中监管器被引用为操作。

示例:为多域分类器配置和应用防火墙过滤器

此示例说明如何配置防火墙过滤器以使用多字段分类器对流量进行分类。分类器会在到达接口时检测与服务等级 (CoS) 相关的数据包。当简单行为聚合 (BA) 分类器不足以对数据包进行分类、对等路由器未标记 CoS 位或对等路由器的标记不受信任时,将使用多域分类器。

要求

为了验证此过程,此示例使用流量生成器。流量生成器可以基于硬件,也可以是在服务器或主机上运行的软件。

运行 Junos OS 的设备上广泛支持此过程中的功能。此处显示的示例已在运行 Junos OS 10.4 版的 MX 系列路由器上进行了测试和验证。

概述

分类器是一种软件操作,用于在数据包进入路由器或交换机时对其进行检查。将检查数据包标头内容,此检查确定当网络变得太忙而无法处理所有数据包,并且您希望设备智能地丢弃数据包,而不是不分青红皂白地丢弃数据包时如何处理数据包。检测感兴趣数据包的一种常见方法是按源端口号。此示例使用 TCP 端口号 80 和 12345,但使用防火墙过滤器匹配条件的多域分类器可以使用许多其他数据包检测匹配标准。此示例中的配置指定将源端口为 80 的 TCP 数据包分类为 BE 数据转发类和队列号 0。源端口为 12345 的 TCP 数据包分为高级数据转发类和队列号 1。

当数据包进入自治系统 (AS) 时,通常在网络边缘使用多域分类器。

在此示例中,您将配置防火墙过滤器 mf 分类器,并在设备 R1 上指定一些自定义转发类。在指定自定义转发类时,还可以将每个类与队列相关联。

分类器操作如 所示 图 1

图 1: 基于 TCP 源端口的多域分类器基于 TCP 源端口的多域分类器

将多域分类器的防火墙过滤器作为输入过滤器应用于需要过滤器的每个面向客户或面向主机的接口上。传入接口是设备 R1 上的 ge-1/0/1。分类和队列分配在传出接口上进行验证。传出接口是设备 R1 的 ge-1/0/9 接口。

拓扑

图 2 显示了示例网络。

图 2: 多域分类器方案多域分类器方案

显示了 中 所有瞻博网络设备的配置。CLI 快速配置图 2

分步过程 介绍了设备 R1 上的步骤。

以下瞻博网络学习字节视频更详细地介绍了分类器。

配置

程序

CLI 快速配置

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

设备 R1

设备 R2

分步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。在配置模式下使用 CLI 编辑器https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

要配置设备 R1:

  1. 配置设备接口。

  2. 配置自定义转发类和关联的队列号。

  3. 配置防火墙过滤器术语,将源端口为 80(HTTP 流量)的 TCP 流量放入与队列 0 关联的 BE 数据转发类中。

  4. 配置防火墙过滤器术语,将源端口为 12345 的 TCP 流量放入与队列 1 关联的高级数据转发类中。

  5. 在防火墙过滤器的末尾,配置接受所有其他流量的默认术语。

    否则,到达接口且未被防火墙过滤器显式接受的所有流量都将被丢弃。

  6. 将防火墙过滤器作为输入过滤器应用于 ge-1/0/1 接口。

成果

在配置模式下,输入 、 命令 确认您的配置。show interfacesshow class-of-serviceshow firewall 如果输出未显示预期的配置,请重复此示例中的说明,以便进行更正。

如果完成设备配置,请从配置模式输入 commit

验证

确认配置工作正常。

检查 CoS 设置

目的

确认转发类配置正确。

操作

在设备 R1 中,运行 命令。show class-of-service forwardng-classes

意义

输出显示配置的自定义分类器设置。

将 TCP 流量发送到网络并监控队列放置

目的

确保感兴趣的流量已按预期队列发出。

操作
  1. 清除设备 R1 传出接口上的接口统计信息。

  2. 使用流量生成器将 50 个 TCP 端口 80 数据包发送到设备 R2 或其他下游设备。

  3. 在设备 R1 上,检查队列计数器。

    请注意,您检查的是下游输出接口上的队列计数器,而不是传入接口上的队列计数器。

  4. 使用流量生成器将 50 个 TCP 端口 12345 数据包发送到设备 R2 或其他下游设备。

  5. 在设备 R1 上,检查队列计数器。

意义

输出显示数据包已正确分类。在 TCP 数据包中使用端口 80 时,队列 0 将递增。使用端口 12345 时,队列 1 将递增。