Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

SRX 系列设备上的流量处理概述

适用于安全设备的 Junos OS 集成了瞻博网络的网络安全和路由功能。进出设备的数据包会同时进行基于数据包的处理和基于流的处理。

了解安全设备上的流量处理

适用于安全设备的 Junos OS 集成了瞻博网络一流的网络安全和路由功能。Junos OS 包括各种基于数据包的过滤、服务等级 (CoS) 分类器、流量整形功能以及一组丰富而广泛的基于流的安全功能,包括策略、筛选、网络地址转换 (NAT) 和其他基于流的服务。

进出安全设备的流量将根据您配置的功能(如数据包过滤器、安全策略和屏幕)进行处理。例如,软件可以确定:

  • 是否允许将数据包进入设备

  • 要应用于数据包的防火墙屏幕

  • 数据包到达其目标的路由

  • 要应用于数据包的哪一 CoS(如果有)

  • 是否应用 NAT 来转换数据包的 IP 地址

  • 数据包是否需要应用层网关 (ALG)

进出设备的数据包会同时接受基于数据包和基于流的处理:

  • 基于流的数据包处理以相同方式处理相关数据包或数据包流。数据包处理取决于为数据包流(称为流)建立的特征。

    对于服务网关的分布式处理架构,所有基于流的处理都发生在 SPU 上,采样是多线程感知的。对取样数据包进行数据包测序。

  • 基于数据包或无状态的数据包处理会离散处理数据包。每个数据包都单独评估以用于治疗。

    对于服务网关的分布式处理架构,一些基于数据包的处理(如流量整形)发生在 NPU 上。某些基于数据包的处理(例如将分类器应用于数据包)发生在 SPU 上。

本主题包含以下部分:

了解基于流的处理

在基于数据包的过滤器和应用了一些筛选之后,数据包将进行基于流的处理。单个流的所有基于流的处理都发生在单个服务处理单元 (SPU) 上。SPU 根据为会话配置的安全功能和其他服务来处理流的数据包。

图 1 显示了基于流的流量处理如何在服务网关上发生的概念视图。

图 1:基于流的处理 Traffic Flow for Flow-Based Processing流量

流是满足相同匹配标准并共享相同特征的相关数据包流。Junos OS 以相同方式处理属于同一流的数据包。

为流的第一个数据包评估用于确定数据包命运的配置设置,例如,如果数据包需要应用应用层网关 (ALG),则应用 NAT 来转换数据包的源和/或目标 IP 地址,例如适用于该数据包的安全策略。

要确定数据包是否存在流,NPU 会尝试根据以下匹配标准将数据包的信息与现有会话的信息进行匹配:

  • 源地址

  • 目标地址

  • 源端口

  • 目标端口

  • 协议

  • 给定区域和虚拟路由器的唯一会话令牌编号

区域和策略

用于流的第一个数据包的安全策略缓存在流表中,以便与相同流和密切相关的流配合使用。安全策略与区域相关联。区域是定义安全边界的接口集合。数据包的传入区域(由其到达的接口确定)和转发查找确定的传出区域,共同确定用于流数据包的策略。

流和会话

基于流的数据包处理是有状态的,需要创建会话。为流的第一个数据包创建会话,目的如下:

  • 存储要应用于流的数据包的大部分安全措施。

  • 缓存有关流状态的信息。

    例如,流的日志记录和计数信息会缓存在其会话中。(某些有状态的防火墙屏幕依赖于与单个会话或所有会话相关的阈值。)

  • 为 NAT 等功能流分配所需的资源。

  • 为 ALG 和防火墙功能等功能提供框架。

大多数数据包处理发生在流上下文中,包括:

  • 管理策略、NAT、区域和大多数屏幕。

  • 管理 ALG 和身份验证。

了解基于数据包的处理

数据包在从输入接口上的队列中移除时,在将其添加到其输出接口上的队列之前,将进行基于数据包的处理。

基于数据包的处理将无状态防火墙过滤器、CoS 功能和某些筛选应用于离散数据包。

  • 当数据包到达接口时,会进行健全性检查、基于数据包的过滤器、某些 CoS 功能以及一些屏幕。

  • 在数据包离开设备之前,所有基于数据包的过滤器、一些 CoS 功能以及与接口关联的一些屏幕均会应用于数据包。

过滤器和 CoS 功能通常与一个或多个接口相关联,以影响允许哪些数据包传输系统,并在必要时对数据包应用特殊操作。

以下主题介绍了您可以配置和应用于传输流量的基于数据包的功能类型。

无状态防火墙过滤器

也称为访问控制列表 (ACL),无状态防火墙过滤器控制访问和限制流量速率。它们会静态评估将设备从源传输至目标的数据包的内容,或者源自路由引擎或发往路由引擎的数据包的内容。无状态 防火墙过滤器 评估每个数据包,包括分片数据包。

您可以将无状态防火墙过滤器应用于输入和输出接口,或者应用于两者。过滤器包含一个或多个术语,每个术语由两个组件组成 — 匹配条件和操作。默认情况下,与防火墙过滤器不匹配的数据包将被丢弃。

您可以规划和设计用于各种目的的无状态防火墙过滤器,例如,将流量限制到某些协议、IP 源或目标地址或数据速率。无状态防火墙过滤器在 NPU 上执行。

服务等级功能

CoS 功能允许您对流量进行分类和调整。CoS 功能在 NPU 上执行。

  • 行为聚合 (BA) 分类器 — 这些分类器在数据包进入设备时对数据包进行操作。通过使用行为聚合分类器,设备将不同类型的流量聚合到单个转发类中,以接收相同的转发处理。BA 分类器允许您根据差异化服务 (DiffServ) 值设置数据包的转发类和丢失优先级。

  • 流量整形 — 您可以通过为由特定流量服务的特定应用程序分配具有不同延迟、 抖动和数据包丢失特征的服务级别来调整流量。流量整形对于实时应用(如语音和视频传输)特别有用。

屏幕

某些屏幕(如拒绝服务 (DoS) 屏幕)会应用于流进程外部的数据包。它们在网络处理单元 (NPU) 上执行。

了解 IPv4 流量的默认处理行为

区域、屏幕和防火墙策略等安全功能需要基于流的处理模式。默认情况下,除了设置为丢弃模式的 SRX300 系列和 SRX550M 设备之外,所有设备上的 IPv4 流量均启用 SRX 系列设备基于流的转发。从 Junos OS 15.1X49-D70 版和 Junos OS 17.3R1 版开始 对于 SRX1500 系列、SRX4100、SRX4200、SRX5400、SRX5600、SRX5800 和 vSRX 设备,在流模式、数据包模式和丢弃模式之间切换模式时, 无需 重新启动设备。对于 SRX300 系列和 SRX550M 设备,在流模式、数据包模式和丢弃模式之间切换时 ,必须 重新启动设备。

SRX300 Series and SRX550M

对于 SRX300 系列和 SRX550M 设备,由于内存限制,默认处理模式设置为丢弃模式。在这种情况下,必须将处理模式从默认丢弃模式更改为基于流的处理模式或基于数据包的处理模式(即这些设备上的两种模式之间)后重新启动设备。

注意:

对于丢弃模式处理,直接丢弃流量,不会转发。它不同于处理流量但未应用任何安全进程的数据包模式处理。

Configuring an SRX Series Device as a Border Router

为基于流的处理或丢弃模式启用任何类型的 SRX 系列设备后,要将设备配置为边界路由器,则必须将模式更改为 MPLS 基于数据包的处理。在这种情况下,要将 SRX 设备配置为 MPLS 的数据包模式,请使用 set security forwarding-options family mpls mode packet-based 语句。

注意:

如前所述,对于 SRX300 系列和 SRX550M 设备,每次更改处理模式时,都必须重新启动设备。

了解 SRX210 和 SRX320 设备上的流量处理

本主题介绍 SRX210 和 SRX320 服务网关为属于通过设备的流的数据包建立会话的过程。SRX210 和 SRX320 设备的流服务是单线程和非分布式的。尽管在这方面,它们与其他 SRX 系列设备不同,但遵循相同的流模型并实施相同的命令行界面 (CLI)。

为了说明会话建立和数据包“步行”,包括将服务应用于流的数据包的点,以下部分介绍的示例使用单播会话的简单用例:

了解流处理和会话管理

本主题介绍如何设置会话来处理组成流的数据包。在以下主题中,SPU 是指 SRX210 或 SRX320 服务网关的数据平面线程。

一开始,数据平面线程会提取数据包并执行基本健全性检查。然后,它会处理无状态过滤器和 CoS 分类器的数据包并应用一些屏幕。

了解第一个数据包处理

要确定数据包是否属于现有流,设备将根据以下六个匹配标准尝试将数据包的信息与现有会话的信息匹配:

  • 源地址

  • 目标地址

  • 源端口

  • 目标端口

  • 协议

  • 来自给定区域和虚拟路由器的唯一令牌

SPU 会检查其会话表是否有数据包的现有会话。如果未找到任何会话,则 SPU 会为流设置一个会话。如果发现会话匹配,则说明该会话已创建,因此 SPU 对数据包执行快速路径处理。

了解会话创建

在设置会话时,SPU 会为数据包执行以下服务:

  • 屏幕

  • 路由查找

  • 策略查找

  • 服务查找

  • NAT(如果需要)

设置会话后,它将用于属于流的所有数据包。流的数据包会根据其会话参数进行处理。对于数据包处理所需的其余步骤,请继续执行“快速路径处理”中的步骤 1。所有数据包都经过快速路径处理。

了解快速路径处理

如果数据包与会话匹配,Junos OS 将按照以下步骤执行快速路径处理。为流中的第一个数据包设置会话后,也会进行快速路径处理。所有数据包都经过快速路径处理。

  1. SPU 将基于流的安全功能应用于数据包。

    • 将应用配置的屏幕。

    • 执行 TCP 检查。

    • 如果需要,会应用 NAT、ALG 和 IPsec 等流服务。

  2. SPU 准备数据包进行转发和传输。

    • 应用路由数据包过滤器。

    • 应用流量整形。

    • 应用流量优先级。

    • 应用流量调度。

    • 数据包已传输。

了解 SRX3000 系列和 SRX1400 设备上的流量处理

适用于 SRX1400、SRX3400 和 SRX3600 服务网关的 Junos OS 集成了瞻博网络一流的网络安全和路由功能。适用于这些服务网关的 Junos OS 包括各种安全服务,包括策略、筛选、网络地址转换、服务等级分类器以及丰富而广泛的基于流的服务,服务网关中的其他设备上也支持这些服务。

SRX1400、SRX3400 和 SRX3600 设备的分布式并行处理架构包括多个处理器,用于管理会话并运行安全和其他服务处理。这种架构提供了更高的灵活性,并可实现高吞吐量和快速性能。

以下部分介绍了以 SRX3400 和 SRX3600 设备为例的处理架构:

本主题包含以下信息:

设置会话涉及的组件

以下是在 SRX3400 和 SRX3600 设备中设置数据包会话并处理数据包时涉及的主要组件:

  • 服务处理单元 (SPU) — SRX3400 和 SRX3600 设备的主处理器驻留在服务处理卡 (SPC) 上。它们建立和管理流量,并在数据包在设备传输时对数据包执行大部分数据包处理。每个 SPU 都维护一个哈希表,用于快速会话查找。SPU 对数据包执行所有基于流的处理,包括安全服务、分类器以及流量整理器的应用。属于同一流的所有数据包都由同一 SPU 处理。

    SPU 维护一个会话表,其中包含其建立的所有会话及其处理其数据包的条目。当 SPU 从 NPU 收到数据包时,它会检查其会话表,以确保该数据包属于该会话表。

    对于 SRX3400 和 SRX3600 设备,一个 SPU 协同执行其常规会话管理和流处理功能,并充当仲裁会话和分配资源的中心点。当 SPU 以这种方式执行时,据说它处于组合模式。

  • 中心点 — 中心点用于根据负载平衡标准将会话管理分配给 SPU。它以智能方式分配会话,以避免多个 SPU 可能错误地处理同一流的事件。在将会话分配至 SPU 时,中心点遵循负载平衡标准。如果会话存在,中心点会将该流的数据包转发到托管该流的 SPU。如果 NPU 未这样做,它还会将数据包重定向到正确的 SPU。

    对于 SRX3400 和 SRX3600 设备,一个 SPU 始终在所谓的组合模式下运行,在此模式下,它同时实施中心点的功能以及流和会话管理功能。在组合模式下,SPU 和中心点共享相同的负载平衡线程 (LBT) 和数据包排序线程 (POT) 基础架构。.

  • 路由引擎 (RE) — 路由引擎运行控制平面并管理控制平面处理器 (CPP)。

了解单播会话的数据路径

适用于 SRX3400 和 SRX3600 服务网关的 Junos OS 是一款高吞吐量和高性能的分布式并行处理系统。本主题介绍如何为属于在设备中传输的流的数据包建立会话。

为了说明会话建立和数据包“步行”,包括将服务应用于流的数据包的点,以下示例使用单播会话的简单用例。此数据包“步行”将 Junos OS 对数据包执行的基于数据包的处理和基于流的处理结合在一起。

会话查找和数据包匹配标准

要确定数据包是否属于现有流,设备将根据以下六个匹配标准尝试将数据包的信息与现有会话的信息匹配:

  • 源地址

  • 目标地址

  • 源端口

  • 目标端口

  • 协议

  • 来自给定区域和虚拟路由器的唯一令牌

了解会话创建:第一个数据包处理

本主题介绍如何设置会话来处理组成流的数据包。为了说明此过程,本主题使用源“a”和目标“b”的示例。流数据包从源到目标的方向称为 (-> b)。从目标到源的方向称为 (b-> a)。

  1. 数据包会到达设备上的接口,由 IOC 对其进行处理。

    IOC 对数据包进行排队,并将其发送至与之通信的 NPU。

  2. NPU 从 IOC 接收数据包并对其进行处理。

    • NPU 对数据包执行基本健全性检查,并将为接口配置的某些屏幕应用于数据包。

    • 如果发现会话匹配,则表示该会话已在分配给它的 SPU 上创建,因此 NPU 会将数据包与会话 ID 一起转发到 SPU 进行处理。

    示例:数据包(->b)从 IOC1 到达 NPU1。NPU1 会执行健全性检查,并将 DoS 屏幕应用于数据包。NPU1 会检查其会话表是否有元组匹配,但未找到任何现有会话。NPU1 将数据包转发至 SPU1 上的中心点,以便分配给 SPU。

  3. 中心点会创建一个处于“待定”状态的会话。

    中心点维护一个全局会话表,其中包含设备上所有 SPU 上存在的所有会话的条目。它参与会话创建以及代表和仲裁会话资源分配。

    此过程需要以下部分:

    1. 中心点会检查其会话表和门表,以确定从 NPU 接收的数据包是否存在会话或门。(NPU 已将数据包转发到中心点,因为其表中表示没有会话。在为会话分配 SPU 之前,中心点会验证这些信息。)

    2. 如果任一表中没有与数据包匹配的条目,则中心点会为会话创建一个挂起的翼,并根据其负载平衡算法选择要用于该会话的 SPU。

    3. 中心点在一条消息中将流的第一个数据包转发到所选 SPU,告诉其在本地设置要用于数据包流的会话。

      示例:中心点为会话创建悬而未决的翼 (->b)。选择用于会话的 SPU1。它会发送 SPU1 (a->b) 数据包以及一条消息,为其创建会话。(碰巧 SPU1 是在组合模式下运行的 SPU。因此,会话使用其会话管理和流处理服务。

  4. SPU 会设置会话。

    每个 SPU 也有一个会话表,其中包含有关其会话的信息。当 SPU 从中心点收到要设置会话的消息时,它会检查其会话表,以确保数据包不存在会话。

    1. 如果数据包没有现有会话,则 SPU 在本地设置会话。

    2. SPU 向中心点发送消息,告诉中心点安装会话。

    在第一个数据包处理期间,如果启用了 NAT,则 SPU 会为 NAT 分配 IP 地址资源。在这种情况下,会话的第一个数据包处理将暂停,直到 NAT 分配流程完成。

    在安装会话之前,SPU 会为流添加任何附加数据包,

    示例:SPU1 创建会话 (a ->b),并将消息发回中心点(在同一 SPU 上实施),告诉中心点安装挂起的会话。

  5. 中心点安装会话。

    • 它将会话的悬而未决的机翼的状态设置为活动状态。

    • 它将会话的反向机翼安装为活动机翼。

    • 它会向 SPU 发送一条 ACK(确认)消息,指示会话已安装。

    示例:中心点从 SPU1 接收一条消息,用于安装 (a->b) 会话。它将 (a->b) 翼的会话状态设置为活动。它会为会话安装反向翼 (b->a), 并使其处于活动状态;这允许从流量的相反方向交付数据包:要传递到源 (a) 的目标 (b)。

  6. SPU 在入口和出口 NPU 上设置会话。

    NPU 维护有关数据包转发和交付会话的信息。在出口和入口 NPU(有时是相同的)上设置会话信息,以便可以将数据包直接发送至管理其流的 SPU,而不是重定向的中心点。

  7. 进行快速路径处理。

    对于数据包处理所需的其余步骤,请继续执行“了解快速路径处理”中的步骤 1。

了解快速路径处理

所有数据包都经过快速路径处理。但是,如果数据包存在会话,则数据包将进行快速路径处理并绕过第一个数据包进程。如果数据包流已存在会话,则数据包不会通过中心点。

快速路径处理的工作原理如下:出口和入口接口的 NPU 包含会话表,其中包括管理数据包流的 SPU 的标识。由于 NPU 具有此会话信息,因此流的所有流量(包括反向流量)都会直接发送至该 SPU 进行处理。

在 SRX1400、SRX3400 和 SRX3600 设备上,不支持 reth 等聚合接口的 iflset 功能。

了解 SRX4600 设备上的流量处理

瞻博网络 SRX4600 服务网关集成了基于流的安全和路由服务,包括高级安全和威胁缓解以及传统的有状态防火墙安全。基于 Junos OS 流的基础架构为基于应用程序的第 4 层至第 7 层服务提供了基础和框架。SRX4600 服务网关设计为在大型企业数据中心边缘和数据中心核心以及园区边缘部署为集成防火墙。它还可以部署为 LTE 安全网关和 Gi/SGi 防火墙。

本主题包含以下内容:

了解 SRX4600 服务网关的部署场景及其功能

SRX4600 服务网关可以部署在许多区域,以保护您的环境及其资源。它通常用于通过以下方式保护数据中心边缘和核心:

  • 将 SRX4600 服务网关部署为数据中心边缘防火墙

    您可以在数据中心边缘部署 SRX4600 服务网关,为它托管的应用程序和服务提供最佳保护。每个数据中心都有一个入口点,允许客户端访问数据中心的服务,但恶意侵略者可以利用它对这些服务发动攻击。进入数据中心的海量流量是入口互联网流量。仅此,在数据中心边缘部署强大的多层安全解决方案就至关重要。SRX4600 服务网关可以有效且可靠地阻止攻击,并允许您对系统进行配置以阻止特定类型的攻击。SRX4600 服务网关支持瞻博网络的软件定义安全网络 (SDSN) 框架,包括 Sky Advanced Threat Prevention (Sky ATP),该框架围绕可快速共享的可操作自动化情报而构建,以识别和缓解威胁。 图 2 显示了与 MX480 路由器和 EX 系列交换机一起部署在数据中心边缘的 SRX4600 服务网关。

    图 2:在数据中心边缘部署 SRX4600 服务网关 Deploying the SRX4600 Services Gateway at the Data Center Edge
  • 在数据中心核心部署 SRX4600 服务网关

    您可以在数据中心核心部署 SRX4600 服务网关,以提供更高的安全性并确保满足合规性要求。数据中心处理变得越来越动态,因此需要明确的网络定义和合规性要求实施。为了确保合规性,您可以使用 SRX4600 服务网关将整个网络分割成单独的服务器网络,并保护其中流量的安全。SRX4600 服务网关提供高可用性和自动化,其高性能的第 3 层和第 4 层服务可满足数据中心核心的安全要求。 图 3 显示了在数据中心核心处部署为多层防火墙的 SRX4600 服务网关。

    图 3:在数据中心核心部署 SRX4600 服务网关 Deploying the SRX4600 Services Gateway at the Data Center Core

除了高级反恶意软件功能,SRX4600 服务网关还支持以下功能:

  • 有状态防火墙

  • 应用程序安全套件

  • UTM(Sophos 防病毒、Web 过滤、反垃圾邮件)

  • IDP

  • 高可用性(机箱群集)

    • 双 HA 控制端口 (10G)

    • HA 端口的 MACsec 支持

  • 通过 QSFP28(100G/40G/4x10G 模式)、QSFP+(40G/4x10G 模式)和 SFP+(10G 模式)的以太网接口

  • IPsec VPN,包括 AutoVPN 和 VPNv2 组

  • QoS 和网络服务

  • J-Web

  • 带组播的路由策略

基于流的处理和会话基础知识

要了解 SRX4600 服务网关上的流处理情况,必须了解流的基础知识。

是满足相同匹配标准并共享相同特征的相关数据包流。Junos OS 以相同方式处理属于同一流的数据包。SRX 系列服务网关的架构及其处理数据包流的方式是紧密结合的。因此,由于 SRX 系列服务网关的架构差异,流在一定程度上以不同的方式实现。

基于流的数据包处理是有状态的,需要创建 会话。基于路由和其他流量分类信息创建会话,用于存储信息并为流分配资源。会话缓存有关流状态的信息,并存储要应用于流数据包的大部分安全措施。由于不同设备的架构差异,不同设备也会对会话进行不同的管理。

无论存在这些差异,从概念上讲,所有服务网关上的流处理都是相同的,会话服务于相同的目的和相同的功能。

跨 SRX 系列服务网关实施的流和会话底层组件

SRX 系列服务网关使用相同的基础架构组件来支持流和管理会话,但并非所有设备都能全部实现。

要了解流,必须了解以下组件及其使用方式:

  • 服务处理单元 (SPU)

    SPU 管理数据包流的会话。它将安全功能和其他服务应用于数据包。它还将基于数据包的无状态防火墙过滤器、分类符和流量调整器应用于数据包。

  • 中心点 (CP)

    中心点是一个 SPU,系统使用该PU在 SPU 之间分配资源以及分配会话管理。处理流的第一个数据包时,中心点将确定要用于该数据包会话的 SPU。SRX4600 服务网关不实施中心点。

  • 网络处理单元 (NPU) 和网络处理会话

    NPU 是在 I/O 卡 (IOC) 上运行并分别处理数据包的处理器。创建流时,该流的后续数据包会与 NPU 上的会话进行匹配。NPU 可处理其他处理,例如 TCP 序列检查、生存时间 (TTL) 处理和第 2 层标头转换。NPU 可提高性能,避免了会话 SPU 和哈希 SPU 之间的额外数据包转发。SRX4600 服务网关实施 NPU。

SRX4600 服务网关架构经过改进,可优化 SRX4600 设备高级多核 Xeon™ 处理器的使用。SRX4600 服务网关实施使用专用会话线程来规避流中无序数据包管理等问题。它利用网络处理会话来确保数据包转发到正确的专用线程。根据基于哈希的会话分布模型,数据包分布到不同的线程。

了解 SRX5000 系列设备上的流量处理

SRX5000 设备上的 Junos OS 是一款分布式、并行处理、高吞吐量和高性能的系统。SRX5000 系列服务网关的分布式并行处理架构包括多个处理器,用于管理会话并运行安全和其他服务处理。这种架构提供了更高的灵活性,并可实现高吞吐量和快速性能。

注意:

在 SRX1400、SRX3400、SRX3600、SRX5400、SRX5600 和 SRX5800 设备中,如果 IKE 对等方位于 NAT 设备后面,且将在协商期间更改 IKE 数据包的源 IP 地址,则涉及 NAT 遍历的 IKE 协商不起作用。例如,如果 NAT 设备配置了 DIP,则会更改源 IP,因为 IKE 协议会将 UDP 端口从 500 切换到 4500。

SRX5000 系列设备上的 I/O 卡 (IOC) 和服务处理卡 (SPC) 包含在设备中处理数据包的处理单元。IOC 有一个或多个网络处理单元 (NPU),而 SPC 有一个或多个服务处理单元 (SPU)。

这些处理单元有不同的职责。数据包的所有基于流的服务都在单个 SPU 上执行。这些 NPU 的责任没有明确界定在其上运行的其他类型的服务。.)

例如:

  • NPU 会分别处理数据包。它会执行健全性检查,并将为接口配置的一些屏幕(如拒绝服务 (DoS) 屏幕)应用于数据包。

  • SPU 管理数据包流的会话,并将安全功能和其他服务应用于数据包。它还将基于数据包的无状态防火墙过滤器、分类符和流量调整器应用于数据包。

  • NPU 使用散列算法将数据包转发给 SPU。但是,对于 ALG 等某些应用,系统需要查询应用程序中心点,以确定应在哪个 SPU 上处理数据包。

系统的这些离散、协作部分(包括中心点)分别存储信息,识别数据包流是否存在会话,以及数据包与之匹配的信息,以确定它是否属于现有会话。

此架构允许设备跨多个 SPU 分配所有会话的处理。它还允许 NPU 确定数据包是否存在会话,检查数据包,并将筛选应用于数据包。处理数据包的方式取决于它是否是流中的第一个数据包。

以下部分介绍了使用 SRX5400、SRX5600 和 SRX5800 设备的处理架构示例:

了解第一个数据包处理

图 4 展示了流中的第一个数据包在进入设备时采用的路径 — NPU 确定数据包不存在会话,然后 NPU 将数据包发送至分布式中心点以设置分布式中心点会话。然后,分布式中心点向应用程序中心点发送消息,以选择 SPU 来为数据包设置会话并处理数据包。然后,分布式中心点将数据包发送至该 SPU。SPU 处理数据包并将其发送至 NPU,从设备进行传输。(此高级说明不涉及对数据包应用功能的问题。)

图 4:第一个数据包处理 First-Packet Processing

流中的第一个数据包遍历系统并为其建立会话后,将进行快速路径处理。

流中的后续数据包也会经历快速路径处理;在这种情况下,当每个数据包进入会话且 NPU 在其会话表中查找匹配项后,NPU 会将该数据包转发至管理其会话的 SPU。

图 5 展示了快速路径处理。这是数据包在已为其相关数据包建立流时采用的路径。(这也是流中第一个数据包在为已启动的数据包设置的流的会话之后采用的路径。)数据包进入设备后,NPU 在其会话表中查找数据包的匹配项,并将数据包转发至管理数据包会话的 SPU。请注意,数据包会绕过与中心点的交互。

了解快速路径处理

下一节介绍如何创建会话,以及数据包在设备中途传输时所经历的过程。

图 5:快速路径处理 Fast-Path Processing

下面概述了在通过 SRX5400、SRX5600 和 SRX5800 设备时,为数据包设置会话并作为流量的一部分处理数据包涉及的主要组件。

  • 网络处理单元 (NPU) — NPU 驻留在 IOC 上。它们处理数据包健全性检查和某些屏幕的应用。NPU 维护会话表,用于确定传入数据包还是反向流量存在会话。

    如果会话是在 SPU 上为之前通过接口进入设备的数据包建立并经过此 NPU 处理的数据包的会话,则 NPU 会话表将包含会话的条目。SPU 在创建会话时将会话安装到 NPU 表中。

    NPU 根据数据包的会话表检查数据包信息,从而确定数据包的会话是否存在。如果数据包与现有会话匹配,NPU 会将数据包及其元数据发送至 SPU。如果没有会话,则 NPU 会将数据包发送至使用散列算法计算的一个 SPU。

  • 服务处理单元 (SPU) — SRX5400、SRX5600 和 SRX5800 设备的主处理器驻留在 SPC 上。SPU 建立和管理流量流,并在数据包通过设备时对数据包执行大部分数据包处理。每个 SPU 都维护一个哈希表,用于快速会话查找。SPU 将无状态防火墙过滤器、分类符和流量调整器应用于流量。SPU 对数据包执行所有基于流的处理,以及大多数基于数据包的处理。每个多核 SPU 都独立处理数据包,在同一或不同 SPC 上的 SPU 之间的交互最少。属于同一流的所有数据包都由同一 SPU 处理。

    SPU 维护一个会话表,其中包含其建立的所有会话及其处理其数据包的条目。当 SPU 从 NPU 收到数据包时,它会检查其会话表,以确保该数据包属于该会话表。当从分布式中央点收到数据包时,它还会检查其会话表,并发送一条消息,为该数据包建立会话,以验证数据包是否存在会话。

  • 中心点 — 中心点架构分为两个模块,应用中心点和分布式中心点。应用程序中心点负责全局资源管理和负载平衡,而分布式中心点负责流量识别(全局会话匹配)。应用程序中心点功能在专用中心点 SPU 上运行,而分布式中心点功能分发给其他 SPU。现在,中心点会话不再位于专用中心点 SPU 上,而是在其他流 SPU 上分布着中心点。

  • 路由引擎 — 路由引擎运行控制平面。

了解单播会话的数据路径

本节介绍为属于通过设备的流的数据包建立会话的过程。

为了说明会话建立和数据包“步行”,包括将服务应用于流中的数据包的点,此示例使用单播会话的简单用例。

此数据包“步行”将 Junos OS 对数据包执行的基于数据包的处理和基于流的处理结合在一起。

会话查找和数据包匹配标准

要确定数据包是否属于现有流,设备将根据以下六个匹配标准尝试将数据包的信息与现有会话的信息匹配:

  • 源地址

  • 目标地址

  • 源端口

  • 目标端口

  • 协议

  • 来自给定区域和虚拟路由器的唯一令牌

了解会话创建:首个数据包处理

本节介绍如何设置会话来处理组成流的数据包。为了说明此过程,本节使用源“a”和目标“b”的示例。流数据包从源到目标的方向称为 (->b)。从目标到源的方向称为 (b->a)。

步骤 1。数据包将到达设备上的接口,NPU 会进行处理。

本节介绍如何在数据包到达 SRX 系列设备入口 IOC 时对其进行处理。

  1. 数据包会到达设备的 IOC,并由 IOC 上的 NPU 处理。

  2. NPU 对数据包执行基本健全性检查,并将为接口配置的某些屏幕应用于数据包。

  3. NPU 会检查其会话表是否有数据包的现有会话。(它会检查数据包的元组与会话表中现有会话的数据包元组。)

    1. 如果未找到现有会话,NPU 会将数据包转发至散列 SPU。

    2. 如果发现会话匹配,则表示该会话已在分配给它的 SPU 上创建,因此 NPU 会将数据包与会话 ID 一起转发到 SPU 进行处理。

Example: 数据包 (a ->b) 抵达 NPU1。NPU1 会执行健全性检查,并将 DoS 屏幕应用于数据包。NPU1 会检查其会话表是否有元组匹配,但未找到任何现有会话。NPU1 将数据包转发至 SPU。

步骤 2。分布式中心点会创建一个处于“待定”状态的会话。

当 NPU 收到数据包时,NPU 会根据散列算法将其发送到分布式中心点。然后,分布式中心点查找分布式中心点会话表,并在需要时创建一个条目。

此过程需要以下部分:

  1. 分布式中央点会检查其会话表,以确定从 NPU 接收的数据包是否存在会话。(NPU 会将数据包转发到分布式中心点,因为它找不到数据包的现有会话)

  2. 如果分布式中心点会话表中没有与数据包匹配的条目,则分布式中心点会为该会话创建一个挂起的翼。然后,分布式中心点向应用程序中心点发送查询消息,以选择要用于会话的 SPU。

  3. 接收查询消息时,应用程序中心点会检查其门表,以确定数据包是否存在门。如果匹配一个门或触发了其他一些会话分布算法,则应用中心点会选择另一个 SPU 来处理数据包:否则,将选择 SPU(即分布式中心点 SPU)。最后,应用程序中心点向分布式中心点发送查询响应。

  4. 在接收查询响应时,分布式中央点会将流中的第一个数据包转发到所选 SPU,消息将指示 SPU 在本地设置要用于数据包流的会话。例如,分布式中心点为会话创建一个悬而未决的翼 (->b)。应用程序中心点选择用于它的 SPU1。分布式中心点向 SPU1 发送 (a->b) 数据包,并发送一条消息,为分布式中心点创建会话。

Example: 分布式中心点为会话创建一个悬而未决的翼 (->b)。它选择用于它的 SPU1。它会发送 SPU1 (a->b) 数据包以及一条消息,为其创建会话。

步骤 3。SPU 会设置会话。

每个 SPU 也有一个会话表,其中包含有关其会话的信息。当 SPU 从分布式中心点收到要设置会话的消息时,它会检查其会话表,以确保数据包不存在会话。

  1. 如果数据包没有现有会话,则 SPU 在本地设置会话。

  2. SPU 向分布式中央点发送一条消息,引导其安装会话。

    注意:

    在第一个数据包处理期间,如果启用了 NAT,则 SPU 会为 NAT 分配 IP 地址资源。在这种情况下,会话的第一个数据包处理将暂停,直到 NAT 分配流程完成。

在安装会话之前,SPU 会为流添加任何附加数据包,

Example: SPU1 会创建会话 (->b),并将消息发回分布式中心点,引导其安装待处理的会话。

步骤 4.分布式中心点安装会话。

分布式中心点从 SPU 接收安装消息。

  1. 分布式中心点将会话的悬而未决的机翼的状态设置为活动状态。

  2. 分布式中央点将会话的反向机翼安装为活动机翼。

    注意:

    对于某些情况下(例如 NAT),反向机翼可能会安装在与内翼分布的中心点不同的分布式中心点上。

  3. 它会向 SPU 发送确认 (ACK) 消息,指示会话已安装。

Example: 分布式中心点从 SPU1 接收消息,用于为 (a->b) 机翼安装会话。它将 (a->b) 翼的会话状态设置为活动。它会为会话安装反向翼 (b->a), 并使其处于活动状态;这允许从流量的相反方向交付数据包:要传递到源 (a) 的目标 (b)。

步骤 5.SPU 在入口和出口 NPU 上设置会话。

NPU 维护有关数据包转发和交付会话的信息。在出口和入口 NPU(有时是相同的)上设置会话信息,以便可以将数据包直接发送到管理其流的 SPU,而不是发送到分布式中央点进行重定向。

步骤 6。进行快速路径处理。

对于数据包处理所需的其余步骤,请继续执行 了解快速路径处理中的步骤 1。

图 6 展示了流中的第一个数据包到达设备后所经历的第一部分。此时会设置一个会话来处理数据包以及属于其流的其余数据包。随后,它和流中的其余数据包进行快速路径处理。

图 6:会话创建:第一个数据包处理 Session Creation: First-Packet Processing

了解快速路径处理

所有数据包都经过快速路径处理。但是,如果数据包存在会话,则数据包将进行快速路径处理并绕过第一个数据包进程。如果数据包流已存在会话,则数据包不会通过中心点。

快速路径处理的工作原理如下:出口和入口接口的 NPU 包含会话表,其中包括管理数据包流的 SPU 的标识。由于 NPU 具有此会话信息,因此流的所有流量(包括反向流量)都会直接发送至该 SPU 进行处理。

为了说明快速路径过程,本节使用源“a”和目标“b”的示例。流数据包从源到目标的方向称为 (a->b)。从目标到源的方向称为 (b->a)。

步骤 1。数据包到达设备,NPU 会进行处理。

本节介绍如何在数据包到达服务网关的 IOC 时对其进行处理。

  1. 数据包将到达设备的 IOC,并由卡上的 NPU 进行处理。

    NPU 会执行健全性检查,并将某些屏幕(如拒绝服务 (DoS) 屏幕)应用于数据包。

  2. NPU 在其会话表中标识数据包匹配的现有会话的条目。

  3. NPU 将数据包及其会话表中的元数据(包括会话 ID 和数据包元组信息)转发到管理流会话的 SPU,对其数据包应用无状态防火墙过滤器和 CoS 功能,并处理数据包的流处理以及安全性和其他功能的应用。

Example: 数据包(>b)抵达 NPU1。NPU1 对数据包执行健全性检查,对其应用 DoS 屏幕,并检查其会话表是否有元组匹配。它会查找匹配项,并且 SPU1 上的数据包存在一个会话。NPU1 将数据包转发至 SPU1 进行处理。

步骤 2。会话的 SPU 处理数据包。

数据包的处理大部分发生在为其会话分配到的 SPU 上。对数据包进行处理,用于基于数据包的功能,如无状态防火墙过滤器、流量调整器以及分类器(如果适用)。配置的基于流的安全及相关服务(如防火墙功能、NAT、ALG 等)会应用于数据包。(有关如何为会话确定安全服务的信息。

  1. 在处理数据包之前,SPU 会检查其会话表,以验证数据包是否属于其中一个会话。

  2. SPU 处理数据包的适用功能和服务。

Example: SPU1 接收来自 NPU1 的数据包 (a->b)。SPU1 检查其会话表以验证数据包是否属于其其中一个会话。然后,它根据应用于其输入接口的输入过滤器和 CoS 功能处理数据包 (>b)。SPU 会根据数据包的区域和策略,为其流应用为数据包流配置的安全功能和服务。如果配置了任何内容,它将对数据包应用输出过滤器、流量调整器和其他屏幕。

步骤 3。SPU 将数据包转发至 NPU。
  1. SPU 将数据包转发至 NPU。

  2. NPU 将与接口关联的任何适用的屏幕应用于数据包。

Example: SPU1 将数据包 (a ->b) 转发至 NPU2,NPU2 应用 DoS 屏幕。

步骤 4.接口从设备传输数据包。

Example: 接口从设备传输数据包 (a->b)。

步骤 5.反向流量数据包到达出口接口,NPU 会进行处理。

这一步正好反映了步骤 1。有关详细信息,请参阅本节中的步骤 1。

Example: 数据包 (b->a) 抵达 NPU2。NPU2 检查其会话表的元组匹配。它会查找匹配项,并且 SPU1 上的数据包存在一个会话。NPU2 将数据包转发至 SPU1 进行处理。

步骤 6。会话的 SPU 处理反向流量数据包。

这一步与步骤 2 相同,只是适用于反向流量。有关详细信息,请参阅本节中的步骤 2。

Example: SPU1 接收来自 NPU2 的数据包 (b->a)。它会检查其会话表,以验证数据包是否属于 NPU2 标识的会话。然后,它将为 NPU1 的接口配置基于数据包的功能应用于数据包。它根据为其流配置的安全功能和其他服务,根据其区域和策略处理数据包 (b->a)。

步骤 7.SPU 将反向流量数据包转发至 NPU。

这一步与步骤 3 相同,只是适用于反向流量。有关详细信息,请参阅本节中的步骤 3。

Example: SPU1 将数据包 (b->a) 转发至 NPU1。NPU1 处理为接口配置的任何屏幕。

8. 接口从设备传输数据包。

这一步与步骤 4 相同,只是应用于反向流量。有关详细信息,请参阅本节中的步骤 4。

示例:接口从设备传输数据包 (b->a)。

图 7 展示了数据包到达设备且数据包所属的流存在会话时所经历的过程。

图 7:用于快速路径处理的 Packet Walk for Fast-Path Processing数据包步行

了解服务处理单元

对于给定的物理接口,SPU 从与物理接口关联的网络处理器捆绑包中的所有网络处理器接收入口数据包。SPU 从物理接口提取网络处理器捆绑信息,并使用相同的 5 元散列算法将流映射到网络处理器索引。要确定网络处理器,SPU 会对网络处理器捆绑包中的网络处理器索引执行查找。SPU 将出口数据包发送到物理接口的本地物理接口模块 (PIM) 以用于外向流量。

注意:

网络处理器和 SPU 使用相同的 5 元散列算法来获取数据包的散列值。

了解调度器特征

对于 SRX5400、SRX5600 和 SRX5800 设备,IOC 支持以下分层调度器特征:

  • IFL – 网络处理器捆绑包的配置存储在物理接口数据结构中。例如,SRX5400、SRX5600 和 SRX5800 设备最多可容纳 48 个 PIC。物理接口可以使用 48 位掩码来指示 PIM,或者,来自此物理接口的网络处理器流量除了与物理接口的主网络处理器一起分布。

    在 SRX5000 系列设备上,不支持 reth 等聚合接口的 iflset 功能。

  • IFD – 与网络处理器捆绑包的物理接口关联的 逻辑 接口被传递到网络处理器捆绑包中具有 PIM 的所有 IOC。

了解网络处理器捆绑

SRX5000 系列设备上提供网络处理器捆绑功能。此功能支持将数据流量从一个接口分发到多个网络处理器进行数据包处理。为接收入口流量并将数据包分发给其他多个辅助网络处理器的接口分配了主网络处理器。单个网络处理器可以用作主网络处理器,或作为多个接口的辅助网络处理器。单个网络处理器只能加入一个网络处理器包。

网络处理器捆绑限制

网络处理器捆绑功能具有以下限制:

  • 网络处理器捆绑允许每个捆绑包共有 16 个 PIC 和 8 个不同的网络处理器捆绑系统。

  • 您需要重新启动设备才能在捆绑包上应用配置更改。

  • 网络处理器捆绑在整体架构的 reth 接口下方。您可以从网络处理器捆绑包中选择一个或两个接口来组成 reth 接口。

  • 如果从网络处理器捆绑包中移除 IOC,则转发到该 IOC 上 PIM 的数据包将丢失。

  • 启用网络处理器捆绑包后,ICMP、UDP 和 TCP 同步泛洪阈值不再应用于某个接口。数据包分发给多个网络处理器进行处理。这些阈值适用于网络处理器捆绑包中的每个网络处理器。

  • 第 2 层模式不支持网络处理器捆绑。

  • 由于网络处理器的内存限制,每个 PIM 支持的网络处理器捆绑端口数量有限。在网络处理器捆绑包中,每个端口都需要有一个全局端口索引。全局端口索引使用以下公式计算:

    Global_port_index = (global_pic * 16) + port_offset

  • 机箱群集实施中的链路聚合组 (LAG) 和冗余以太网接口 LAG 可与网络处理器捆绑共存。但是,LAG 和冗余以太网接口 LAG 都不能与网络处理器捆绑包重叠或共享物理链路。

了解会话缓存

概述

SRX5400、SRX5600 和 SRX5800 设备上的 SRX5K-MPC (IOC2)、SRX5K-MPC3-100G10G (IOC3) 支持会话缓存和会话缓存的选择性安装。

会话缓存用于缓存 IOC 上的网络处理器 (NP) 和 SPU 之间的对话。对话可以是会话、GTP-U 隧道流量、IPsec VPN 隧道流量等。一个对话有两个会话缓存条目,一个用于传入流量,另一个用于反向流量。根据流量入口和出口端口所在的位置,两个条目可能位于同一网络处理器或不同的网络处理器中。IOC 支持 IPv6 会话的会话缓存。

会话缓存条目也称为 会话翼

IOC 上的会话缓存利用 Express Path(以前称为 服务卸载)功能,有助于防止高延迟和 IPsec 性能下降等问题。

会话缓存条目记录:

  • 转换的流量应转发到哪个 SPU

  • 应在 Express Path 模式下将转换的流量转发到哪个出口端口

  • 要对出口流量(例如,在 Express Path 模式下的 NAT 转换)执行哪些处理

从 Junos OS 15.1X49-D10 版和 Junos OS 17.3R1 版开始,IOC 中会话的会话缓存有助于解决某些性能问题。现在,SPU 可以指示 IOC 会话缓存将后续流量转发到特定的锚点 SPU。

从 Junos OS 15.1X49-D10 版开始,SRX5K-MPC (IOC2) 和 IOC3 通过改进的流模块和会话缓存支持 VPN 会话关联。从 Junos OS 12.3X48-D30 版开始,在 IOC2 上,支持通过会话缓存实现 VPN 会话关联。

其他流量会根据 SPU 的 5 元密钥信息对 SPU 进行哈希处理。VPN 流量采用锚定 SPU 的概念,这不一定与流 SPU 的功能一致。网络处理器只能基于 5 元哈希将数据包转发至流 SPU。然后,流 SPU 将数据包转发到锚定 SPU。这为 VPN 流量创造了一个额外的跃点,浪费了交换矩阵带宽,并将 VPN 吞吐量减少了大约一半。之所以出现性能下降,是因为流量在锚定 SPU 上进行处理后仍必须返回流 SPU。

会话缓存表现已在 IOC 上扩展,以支持 NP 会话。Express Path 流量和 NP 流量在 IOC 上共享相同的会话缓存表。Express Path 流量由 IOC 本身在本地或另一个 IOC 转发,因为该流量不需要来自 SPU 的任何服务。NP 流量转发到会话缓存中指定的 SPU,以便进一步处理。所有会话缓存条目均由 Express Path 会话流量和 NP 流量共享。

要启用 IOC 上的会话缓存,您需要运行 set chassis fpc <fpc-slot> np-cache 命令。

注意:

IOC2 和 IOC3 使用延迟会话删除机制。IOC 上不会缓存删除然后立即重新安装的相同会话(具有相同五个元组的会话)。

选择性会话缓存安装

为避免高延迟、提高 IPSec 性能并更好地利用宝贵资源,流模块和 IOC 均会应用某些优先级机制。

IOC 维护和监控会话缓存使用阈值级别。IOC 还会将会话缓存使用情况告知 SPU,以便在达到特定的会话缓存使用阈值时,SPU 仅发送选择性高优先级流量会话的会话缓存安装请求。

IDP、ALG 等应用需要按顺序处理数据包。一个 SPU 有多个流线程来处理属于一个会话的数据包,负载平衡线程 (LBT) 和数据包排序线程 (POT) 数据包顺序可以确保流量按顺序通过防火墙,它不能保证应用程序按顺序处理属于同一会话的数据包。流序列化提供了一种方法,即一次只有一个 SPU 流线程处理数据包属于同一会话,因此应用程序可以按顺序接收、处理和发送数据包。其他流线程可以同时对其他会话执行流序列化处理。

以下四个优先级用于确定哪种类型的流量可以在 IOC 上安装会话缓存:

  • Priority 1 (P1)— IPSec 和 Express Path 合格流量

  • Priority 2 (P2)— 分片排序

  • Priority 3 (P3)— NAT/SZ(会话序列化)流量

  • Priority 4(P3)— 所有其他类型的流量

IOC 维护和监控会话缓存使用的阈值级别,并将当前实时会话缓存使用情况更新为 SPU。SPU 请求 IOC 为某些高优先级流量会话安装会话缓存。表中定义了高优先级流量会话的会话缓存用法:

表 1:会话缓存安装条

流量类型

<利用率 0% < 25%

<利用率 25% < 50%

<50% < 75%

75% <利用率 < 100%

IPsec 和 Express Path 流量

是的

是的

是的

是的

分片排序流量

是的

是的

是的

NAT/SZ 流量

是的

是的

其他流量

是的

为了保护 IOC 上的会话条目,流模块有选择地在 IOC 上安装会话。为了方便选择会话安装,IOC 会保留相应的阈值,以便向流模块提供指示(关于 IOC 上会话缓存表的满度)。将添加元标头中的两位,以指示当前缓存表利用率状态。前往 SPU 的所有数据包都将携带这两个状态位,以通知流模块 IOC 上缓存表的利用率。

使用会话缓存的 IPsec VPN 会话关联增强

SRX 系列设备是完全分布式的系统,IPsec 隧道被分配并锚定在特定 SPU。属于 IPsec 隧道的所有流量都会在其隧道锚定 SPU 上进行加密和解密。为了实现更好的 IPsec 性能,IOC 改进了流模块,以便在其隧道锚定 SPU 上为基于 IPsec 隧道的流量创建会话(加密之前和解密后),并为这些会话安装会话缓存,以便 IOC 可以直接将数据包重定向到同一 SPU,以最大限度地减少数据包转发开销。Express Path 流量和 NP 流量在 IOC 上共享相同的会话缓存表。

您需要在 IOC 上启用会话缓存并设置安全策略,以确定会话是否适用于所选的灵活 PIC 集中器 (FPC) 上的 Express Path(以前称为 服务卸载)模式。

要启用 IPsec VPN 关联,请使用 set security flow load-distribution session-affinity ipsec 命令。

注意:

要启用 IPsec VPN 关联,还必须使用 set chassis fpc <fpc-slot> np-cache 命令在 IOC 上启用会话缓存。

配置 IOC 到 NPC 映射

输入/输出卡 (IOC) 到网络处理卡 (NPC) 映射要求您将一个 IOC 映射到一个 NPC。但是,您可以将多个 IOC 映射到单个 NPC。为了平衡 SRX3400 上的 NPC 和 SRX3600 服务网关的处理能力,机箱进程(守护程序)运行执行映射的算法。它将国际奥委会映射到映射的 IOC 数量最少的 NPC。您还可以使用命令行界面 (CLI) 将特定 IOC 分配给特定的 NPC。配置映射时,机箱进程将首先使用您的配置,然后为其余 IOC 应用最小编号的 NPC 算法。

注意:

平台是否支持取决于安装中的 Junos OS 版本。

要配置 IOC 到 NPC 映射:

有关选项的说明set chassis ioc-npc-connectivity,请参阅表 2

表 2:IOC 到 NPC 连接选项

选项

描述

国际 奥委会 slot-number

指定 IOC 插槽编号。SRX3400 设备的范围为 0 到 7,SRX3600 设备的范围是 0 到 12。

全国 人大 slot-number

指定 NPC 插槽编号。SRX3400 设备的范围为 0 到 7,SRX3600 和 SRX 4600 设备的范围是 0 到 12。

没有

机箱进程会映射特定 IOC 的连接。

注意:

提交 set chassis ioc-npc-connectivity 命令后,必须重新启动机箱控制。

了解 SRX5K-SPC3 设备上的流处理

引入服务处理卡 SRX5K-SPC3 可以提高 SRX5000 安全服务网关上的安全服务性能。SPC3 卡支持更高的吞吐量,在保留机箱群集功能和可扩展性以用于服务处理时保持可靠性。

SPC3 卡支持以下安全功能:

安全流得到增强,支持 SPC3 卡以及 SPC2 卡上支持的所有现有安全功能。

注意:

以下限制适用于 Junos OS 18.2R1-S1 版中的 SPC3 卡:

  • 不支持 SPC3 卡和 SPC2 卡的互操作性。

  • SPC3 卡不支持 IPsec VPN 功能。

从 Junos OS 18.2R1-S1 版开始,SRX5000 系列设备引入了新的服务处理卡 (SPC3)。引入新卡提高了设备的可扩展性和性能,并在保留机箱群集功能时保持了可靠性。SPC3 卡支持更高的吞吐量和可扩展性,可用于服务处理。

在 SRX5000 系列设备上,SPC3 卡可与 I/O 卡(IOC2、IOC3)、交换机控制板(SCB2、SCB3)、路由引擎和 SPC2 卡互操作。

从 Junos OS 18.4R1 版开始,SRX5000 系列设备支持 SPC3 和 SPC2 卡的组合。

如果要在 SRX5000 系列设备上添加 SPC3 卡,则必须将新的 SPC3 卡安装在任何 SPC 的最低编号插槽中。SPC3 卡安装在原始编号最低的插槽中,在混合模式下提供中心点 (CP) 功能。 例如,如果您的服务网关包含 SPC2 和 SPC3 卡的组合,则 SPC3 必须占用机箱中任何 SPC 编号最低的插槽。此配置可确保 SPC3 卡在混合模式下执行中心点 (CP) 功能。

在混合模式下运行的 SRX5000 系列设备上,SPC3 和 SPC2 卡之间共享流处理。中心点处理发生在安装 SPC3 卡的最低编号 SPC 插槽上。

注意:

当 SRX 系列设备在机箱群集模式下运行时,SPC3 和 SPC2 卡必须安装在每个机箱的相同插槽位置。

了解 SPC3 软件架构

SPC3 流架构与 CP-Lite 架构相同。SPC3 物理有两个服务处理单元 (SPU),每个 SPU 都有两个 CPU。

安装一两个 SPC3 时,流量处理会利用第一个 SPC 的 75%。安装三个或更多 SPC3 时,流量处理会利用第一个 SPC 的 50%。

IOC 对数据包进行散列处理流的方式发生了变化。图显示了带有 SPC3 的 SRX 设备的数据包流。

图 8:SPC3 Packet flow on SPC3 上的数据包流

在 SPC3 上,数据包从 IOC 直接分发到每个核心。由于 IOC 直接将数据包散列到流式 RT 线程,因此原始 LBT 线程将被移除。数据包现在被传递到流式线程,而不是 SPU。如果安全流安装 NP 会话,而不是 SPU ID,则 IOC 使用会话线程 ID 转发数据包来更正与会话关联的线程。

图 9:通过流式线程 Packet flow through flowd thread的数据包流

了解负载分布

通过收入端口的所有数据包都将基于散列算法分布到不同的 SPU,这与基于 CP-Lite 架构的现有 SRX5000 系列设备散列相同。散列方法因不同类型的流量而异。下表列出了散列方法。

表 3:负载分布 - 哈希方法

协议

港口

哈希方法

Tcp

L4 src 端口和 dst 端口

按 5 元散列

Udp

正常

L4 src 端口和 dst 端口

按 5 元散列

GTP

L4 src 端口和 dst 端口

按 5 元散列

艾克

L4 src 端口和 dst 端口

按 IP 对散列

Icmp

  1. ICMP 版本 4 信息消息 ICMP_ECHO/ICM_ECHOREPLY id/seq ICMP_TSTAMP/ICMP_TSTAMPREPLY id/seq ICMP_IREQ/ICMP_IREQREPLY id/seq ICMP_MASKREQ/ICMP_MASKREPLY 0x00010001

  2. ICMP 版本 6 信息ICMP6_ECHO_REPLY/ICMP6_ECHO_REQUEST ID/seq

  3. ICMP 错误消息匹配(按嵌入式 IP)

  4. 所有其他0x00010001

ICMP 信息由 5 元散列;

ICMP 错误由 3 元散列(无端口信息)

Sctp

L4 src 端口和 dst 端口

按 5 元散列

Esp

Spi

按 IP 对散列

Spi

按 IP 对散列

Gre

如果启用了 PPTP alg,则体育 = 呼叫 ID;dport = 0

默认情况下,端口是0x00010001

由 3 元散列

Pim

默认情况下,PIM 端口0x00010001

由 3 元散列

片段

第一个分片,有正常端口

无首个分片,无端口

由 3 元散列

其他 IP 数据包

端口0x00010001

由 3 元散列

无 IP

不适用

按 Mac 地址和以太网类型(Vlan ID)散列

了解 NP 会话和服务卸载 (SOF)

网络处理器 (NP) 会话是基于 IOC 的会话,可允许并建立 SPU 会话。通过 NP 会话的数据包具有以下优势:

  • 避免对 SPU 进行会话查找,以获得更好的性能。

  • 避免会话 SPU 和散列 SPU 之间额外的数据包转发。

服务卸载是一种特殊类型的 NP 会话,可为需要基本防火墙服务的会话提供低延迟功能。命中 IOC 上 SOF 会话的数据包会绕过 SPU 上的数据包处理,并由 IOC 直接转发。以下流量类型支持服务卸载:

  • 基本防火墙(无插件和分片)、IPv4 和 IPv6 TCP、UDP 流量

  • IPv4 NAT

  • 1扇入和 1 扇出组播

  • FTP 数据会话等 ALG

了解 SPC3 上的 J-Flow 支持

J-Flow 是瞻博网络版本的行业标准流量监控机制。它提供了一项功能,可将网络流量统计信息的快照导出到远程服务器,以便进行网络监控和进一步的数据处理。J-Flow 支持 v5、v8 和 v9 格式。SPC3 支持这三个版本。

了解数据路径调试 SPU 支持 (E2E)

数据路径调试在 SRX5000 系列设备上提供基于过滤器的端到端 (E2E) 数据包调试功能。它会跟踪数据包路径并转储数据包内容。

在 SPC3 上,JEXEC 是唯一支持的 E2E 事件类型,并且支持以下 E2E 操作类型:

  • 计数

  • 转 储

  • 跟踪

  • 追踪摘要

了解分段处理、ISSU 和 ISHU 支持

在 SPC3 上,分片数据包会根据其标头元组值转发到特定 PFE 中的“分片核心”。接收分片数据包后,流会执行碎片整理,并将数据包转发到其会话核心。流逻辑不会更改,保持不变。

在执行 ISSU 时,虚拟 SPU 会同步到相关的虚拟 SPU ID。ISHU 支持基于 CP-Lite 架构。基本上,支持两个 ISHU 操作:

  • 将新 SPC 插入辅助节点。

  • 替换辅助节点上的 SPC,SPC 的数量应与主节点的数量相同。

版本历史记录表
释放
描述
18.4R1
从 Junos OS 18.4R1 版开始,SRX5000 系列设备支持 SPC3 和 SPC2 卡的组合。
18.2R1-S1
从 Junos OS 18.2R1-S1 版开始,SRX5000 系列设备引入了新的服务处理卡 (SPC3)。引入新卡提高了设备的可扩展性和性能,并在保留机箱群集功能时保持了可靠性。SPC3 卡支持更高的吞吐量和可扩展性,可用于服务处理。
15.1X49-D70
默认情况下,除了设置为丢弃模式的 SRX300 系列和 SRX550M 设备之外,所有设备上的 IPv4 流量均启用 SRX 系列设备基于流的转发。从 Junos OS 15.1X49-D70 版和 Junos OS 17.3R1 版开始 对于 SRX1500 系列、SRX4100、SRX4200、SRX5400、SRX5600、SRX5800 和 vSRX 设备,在流模式、数据包模式和丢弃模式之间切换模式时, 无需 重新启动设备。对于 SRX300 系列和 SRX550M 设备,在流模式、数据包模式和丢弃模式之间切换时 ,必须 重新启动设备。
15.1X49-D10
从 Junos OS 15.1X49-D10 版和 Junos OS 17.3R1 版开始,IOC 中会话的会话缓存有助于解决某些性能问题。
15.1X49-D10
从 Junos OS 15.1X49-D10 版开始,SRX5K-MPC (IOC2) 和 IOC3 通过改进的流模块和会话缓存支持 VPN 会话关联
12.1X48-D30
从 Junos OS 12.3X48-D30 版开始,在 IOC2 上,支持通过会话缓存实现 VPN 会话关联