XDP

XDP 或 eXpress Data Path 在 Linux 内核中提供高性能、可编程的网络数据路径。

XDP 在软件堆栈的最低点提供裸机数据包处理,这使得它非常适合在不影响可编程性的情况下提高速度。

无需修改内核即可通过集成的快速路径动态实现新功能。

XDP 数据包进程包括一个内核组件,该组件通过功能接口直接从驱动程序处理 RX 数据包页面,而无需提前分配 skbuff 或软件队列。 通常,每个 RX 队列分配一个 CPU,但在此模型中,没有锁定 RX 队列,CPU 可以专用于忙轮询或中断模型。

BPF 程序执行诸如数据包解析、表查找、创建/管理有状态过滤器、封装/去封装数据包等处理。

BPF 的可扩展性与数据包检查和操作功能、流和表查找以及利用可移植到用户空间和其他操作系统的 BPF 程序的应用程序处理保持完整。

用例包括

○ 堆栈前处理,如过滤以进行 DOS 缓解

○ 转发和负载均衡

○ 批处理技术,例如通用接收卸载

○ 流量采样、监测

○ ULP 处理(例如消息描述)

如果传统的内核网络堆栈是高速公路,则内核旁路是建立高速列车基础设施的建议,而 XDP 是在高速公路上增加拼车车道的建议。

提高性能的技术

  • 无锁
  • 批量 I/O 操作
  • 忙轮询
  • 直接队列访问
  • 页面回收,尽可能避免页面分配/空闲
  • 无元数据(skbuff)分配的数据包处理
  • 高效的表(流状态)查找
  • 数据包导向
  • 孤立处理,最大限度地减少跨 CPU/NUMA 节点操作
  • RX 流哈希
  • 常见的 NIC 卸载
  • 明智的缓存预取,DDIO

一些硬件要求

  • 多队列网卡
  • 通用协议通用卸载

○ TX/RX 校验和卸载

○ 接收端缩放 (RSS)

○ 传输分段卸载 (TSO)

  • LRO、aRFS、来自设备的流散列是“不错的选择”

XDP数据包处理器:

  • 在处理 RX 数据包的内核组件中
  • 直接从驱动程序处理 RX “packet-pages”

○ 功能界面

○ 没有提前分配 skbuff,没有 SW 队列

  • 名义上为每个 RX 队列分配一个 CPU

○ 无锁RX队列

○ CPU 可以专用于忙轮询或使用中断模式

  • BPF 程序执行处理

○ 解析数据包

○ 执行表查找,创建/管理有状态过滤器

○ 操作数据包(例如用于封装/去封装)

○ 退货操作

 

基本的 XDP 数据包处理器操作

  • 转发

○ 可能在数据包修改之后(例如 NAT、ILA 路由器)

○ TX 队列是同一个 CPU 独占的,所以不需要锁

  • 丢弃

○ 只是从函数中返回错误

○ 驱动回收页

  • 正常接收

○ 分配 skbuff 并接收到堆栈

○ 将数据包转向另一个 CPU 进行处理

○ 允许用户空间的“原始”接口,如 AF_PACKET、netmap

  • 通用接收卸载

○ 合并相同连接的数据包

○ 执行大数据包的接收

 

可编程性

  • 数据包检查,BPF 程序发现的动作

○ 灵活(无循环)协议头解析

○ 可能由于流查找而有状态

○ 简单的包字段重写(encap/decap)

  • 优化查找

○ 流查找(例如使用设备提供的流哈希)

○ 固定长度查找(例如,ILA 的 64 位标识符查找)

○ 有状态,使临时状态(例如 GRO 需要)

  • 可扩展模型

○ 应用程序处理(例如应用层协议 GRO)

○ 利用正在进行的工作将 BPF 卸载到 HW

○ BPF 程序可以移植到用户空间或其他操作系统

 

 

依赖关系

主要依赖项是 libbpf、llvm、clang 和 libelf。 LLVM+clang 将我们的受限 C 程序编译成 BPF 字节代码,该代码存储在一个 ELF 目标文件 (libelf) 中,由 libbpf 通过 bpf 系统调用加载到内核中。 一些课程还使用 perf 实用程序通过跟踪点跟踪内核行为。

SASE大观

然而,组织可能会发现自己陷入了启用新功能和确保安全之间的困境。 员工和客户对更高的灵活性敏捷性可靠性所要求的云迁移和移动性也大大增加了网络的攻击面。 传统架构不再能充分满足性能或安全需求。 是时候重新评估企业系统和工具了。

安全访问服务边缘 (SASE) 是 Gartner 推出的架构框架和实现,用于解决客户端到云时代的安全解决方案。 本章解释了 SASE 的功能,并帮助您了解 SASE 解决方案必须提供的功能。

SASE 不仅仅是一种技术,而是一整套技术,包括:

» 软件定义的广域网 (SD-WAN)

» 安全 Web 网关 (SWG)

» 云访问安全代理 (CASB)

» 零信任网络访问 (ZTNA)

» 防火墙即服务 (FWaaS)

从 WAN 迁移到 SD-WAN

传统的 IT 基础设施就像一个有围墙的花园。 员工在公司办公室连接到公司网络,并使用私有、安全的站点到站点 WAN 访问私有数据中心中的应用程序。 从总部或数据中心位置集中提供和保护互联网连接。

下一代网络引入了 SD-WAN。 SD WAN 是一种网络,其中网络硬件与

其基于软件的控制。 第一代 SD-WAN 识别应用程序,使用策略来引导流量,并实现成本套利。 第二代 SD-WAN 提供具有集成安全性的完整网络,并通过在每个位置的直接互联网访问 (DIA) 实现安全的互联网突破,将用户直接连接到云和 SaaS 应用程序。

今天的 WFA 员工可以随时随地访问应用程序。 企业正在为关键业务应用程序采用 SaaS,并将其工作负载从私有云架构迁移到多云架构,以满足速度、敏捷性和经济需求。

在当前的客户端到云时代,旧的固定网络边界已经分解为流动的、无定形的边缘。 IT 必须提供安全、可靠和动态的用户、客户和应用程序体验,这些体验可以得到增强、衡量、监控和诊断。

保护 Web 网关和随时随地工作

SWG 保护 WFA 员工免受来自 Internet 的威胁,保护网络冲浪用户设备免受有害软件或恶意软件的感染,并强制执行公司和监管政策合规性。 SWG 包括

» 统一资源定位器 (URL) 过滤

» 反恶意软件和防病毒保护

» 应用识别和控制能力

» 数据丢失防护功能

SWG 可以作为本地硬件、虚拟设备、基于云的服务或混合模式实施本地和云。

不同市场产品之间基于云的 SWG 功能和服务的复杂程度差异很大。

保护云访问

CASB 提供产品和服务来解决组织在使用云服务时存在的安全缺陷。 这项技术满足了保护用户越来越多地采用的云服务(在传统固定边界内外)以及不断增长的直接云到云访问部署的需求。 CASB 可以是本地或基于云的安全策略执行点,放置在云服务消费者和云服务提供商之间,以在访问基于云的数据或应用程序时注入企业安全策略。 CASB 可以:

» 通过提供商应用程序编程接口 (API) 检查云服务中的数据、应用程序和用户行为

» 在用户和云服务之间内联操作或可选地提供远程浏览器隔离 (RBI) 作为替代方案

» 支持提供可见性并执行对任何用户、设备或位置的访问控制的能力

» 与企业现有的身份提供者、安全信息和事件管理 (SIEM) 工具以及统一端点管理 (UEM) 产品集成

» 在监控用户、第三方应用程序和数据的行为时应用各种分析

» 使用多种方法识别并响应恶意和/或不需要的会话

» 区分企业和个人云服务实例,并提供限制或阻止它们之间数据交换的能力。

CASB 供应商明白,对于云服务,保护目标是不同的:它仍然是您的数据,但它是在属于其他人的系统中处理和存储的。CASB 为用户和设备提供跨多个云服务的并发中央策略治理 . 它们促进了对用户活动和敏感数据的精细可见性和控制。

什么都不相信

ZTNA 声称默认情况下没有用户或设备是可信的,就像边界内的传统局域网 (LAN) 网段和 Internet 协议 (IP) 地址一样。 在互联网无处不在的世界中,传统的信任边界已经消失。

ZTNA 围绕一个应用程序或一组应用程序创建一个基于身份和上下文的逻辑访问边界。 应用程序被隐藏起来,无法被发现,并且通过信任代理限制对一组命名实体的访问。 经纪人在允许访问之前验证指定参与者的身份、上下文和政策遵守情况,并禁止横向移动到网络中的其他地方。 ZTNA 通过将资产隐藏在公众视野之外,显着减少了攻击面。 零信任架构是 SASE 策略的关键,因为它仅授予对经过身份验证的用户、设备和应用程序之间的流量的访问权限。

组织可以通过定义保护表面来实施零信任模型,确定敏感信息的位置驻地和谁需要访问,并建立各种预防措施,例如统一策略、多因素身份验证 (MFA)、微分段和最小权限访问。

提供威胁防护

下一代防火墙 (NGFW) 是深度数据包检测引擎,它超越了端口/协议检测和阻止,增加了应用程序级检测。 领先的 NGFW 集成

» 传统的状态防火墙功能

» 应用感知、深度数据包内容检测

» 统一威胁管理 (UTM),包括入侵检测和预防系统 (IDPS)

» 整个攻击面的高级可见性

» 灵活应对不断变化的威胁形势

保护敏感数据免受恶意软件的侵害

当个人或其他敏感数据(例如财务帐号、医疗保健数据或用户名/

密码不慎暴露。 当攻击者主动侵入系统以访问、窃取或损坏信息时,就会发生数据泄露。为了保护敏感数据,组织必须安装和使用包含恶意软件和病毒防护的安全软件套件,并始终保持更新。 SASE 使敏感的应用程序和数据只能由根据公司策略需要了解的人访问,而不管用户或应用程序的位置或它们之间的传输技术。

使用高级路由以线速运行

高级路由提供了一组独特的集成功能,例如路径优化、快速收敛、流量修复、每个应用体验质量 (QoE) 和加密。正确执行 SASE 需要了解和可见性 网络的边缘。 分布式服务边缘架构利用用于计算可扩展性的相同横向扩展模型:随着需求的增长,添加额外的服务器或虚拟机 (VM) 来处理整体流量,同时继续以线速运行。

 

了解 SASE 的要求

SASE 采用基于身份的动态、上下文安全性,并将其主要作为云服务提供。 领先的 SASE 解决方案必须满足特定的最低要求。 这是所需内容的摘要。

硬件中立

传统的分支机构和站点到站点硬件架构为企业提供了很好的服务,但它们导致每个公司办公室都有成堆的单一用途设备。 这种设备蔓延缺乏敏捷性,需要多个接触点进行更改,需要熟练掌握各种供应商产品的员工,并使用过多的空间和权力。 它还将企业与专有架构联系起来,并降低了轻松更改技术的能力。

相比之下,部署在裸机设备上的单堆栈软件解决方案——作为虚拟机或容器——可以节省空间、电力、时间和精力,同时提供大大改进的可扩展性、性能和可管理性。

» 应用意识

» 全安全堆栈

» 工作组

» SD-WAN 和基于应用的流量导向

» 路由

» 服务质量 (QoS)

“ 压缩

» 加密

» 广域网优化

单程执行

具有离散单服务设备的环境将数据包从一种产品传递到下一种产品。 每个人都将数据包复制到内存中,解压缩内容,分析数据和上下文,应用决策或策略,重新打包数据包,并将其传输到链中的下一个设备。 如有必要,每个设备必须对数据包进行解压缩/解密,并在传输前重做这些操作。 此过程非常耗时,并且会显着降低性能。

具有内部服务链(如图 1-1 所示)的单通道、基于流的架构可优化性能每个动作只执行一次。

» 它将数据包解包(并解密)到内存中。

» 它使所有安全、路由、策略、过滤和其他功能都可以使用内容和上下文。

» 它重新打包(并加密)数据包以进行传输。

 

弹性扩展

单通道处理架构可显着降低延迟、显着提高性能、减少安全风险,并节省空间、电力和专业 IT 人员。 它通过利用多个底层内核或内存来高效并水平扩展。

在裸机服务器、VM 或容器上运行集成纯软件解决方案的能力使其可部署为基于云的服务,从而提供额外的灵活性和敏捷性。使用全自动、单一管理平台的编排功能, 一个分支可以在云中临时实例化,然后很容易退役。 例如,家庭办公室可以定义为分支机构。

容器和微服务

微服务是面向服务的应用程序,具有强封装性、松耦合性、可独立部署性和独立可扩展性。 每个服务负责一个离散的任务,并通过简单的 API 与其他服务通信,以解决更大、更复杂的业务问题。

基于微服务设计的云原生 SASE 解决方案具有可在公共或私有云上运行的流畅架构,从而使水平扩展既简单又灵活。

微服务架构的优势在于其隔离性、弹性和可扩展性。

全局分布

通过托管设施、服务提供商 POP 和基础设施即服务 (IaaS) 提供的全球分布式 SASE 接入点 (POP) 应用于减少延迟并提高网络安全服务的性能。 SASE 解决方案必须提供符合数字企业访问延迟和数据驻留要求的分布式 POP。 这对于最大化本地化最终用户体验也至关重要。

内联加密

加密对于保护传输中的交易和数据至关重要。 SASE 提供程序必须能够在需要时根据具有可扩展(理想情况下,基于软件)架构的策略终止和检查加密会话。 SASE 产品必须能够大规模提供内联加密流量检查(解密和随后的重新加密),最好从云中提供并且不使用专有硬件。SASE 解决方案必须包括线速加密功能(硬件或软件)以 提供可接受的用户 QoE。

多租户分割

SASE 通过隔离和分割流量来提供安全性。与单租户相比,云原生 SASE 架构是多租户的,多个客户共享底层数据平面,这会导致较低的密度和更高的成本。

多租户架构将每个租户的操作环境、配置、配置文件、权限、策略和流量处理完全分开,从而确保每个租户的共享资源分区之间的完全安全。多租户分区支持可靠性、可用性和可扩展性,同时为 IT 组织实现成本节约、灵活性和安全性。多租户平台可轻松扩展以应对不断增长的需求。

多租户架构必须包含每个租户的所有环境——管理、控制和数据平面。任何共享的 SASE 或云资源都需要多租户支持,例如网关、控制器和编排平台。

 

» 在传统企业网络外围执行的用户工作多于内部执行。

» 与企业数据中心相比,云中运行的工作负载更多。

» SaaS 应用程序的使用频率高于本地安装的应用程序。

» 位于企业数据中心外部的敏感数据多于内部。

» 流向公共云服务的流量多于企业数据中心。

» 来自分支机构的更多流量流向公共云,而不是流向企业数据中心

work-from-anywhere (WFA)

当今的客户端到云网络通过 Internet 将家庭和移动位置中的随时随地工作 (WFA) 客户端连接到全球分布的云资产,其中工作负载可能会根据成本、性能要求或需求量动态更改位置。 在以云为中心的企业中,用户和设备无处不在,他们需要安全访问的网络功能也是如此。 这意味着安全访问服务也必须无处不在。

使用传统广域网 传统广域网架构通过安全团队管理和设置防火墙的集中式互联网连接汇集对企业外部(包括云)资源的所有访问,从而保护企业外围。

固定式安全方法填补了这一空白,但由于每个位置有多个单一用途的设备而导致成本和复杂性增加——这对于具有许多小型站点(如零售店)的网络来说是一个相当大的负担。

附加安全方法仅解决了出站流量的云安全问题,但站点仍然面临来自云的入站流量的 Internet 威胁。 分支边界仍然需要本地安全来控制和分割流量,防止入口拒绝服务 (DOS) 攻击,并阻止恶意软件和攻击者的横向移动。 例如,出于合规性原因,银行可能希望对来自投资服务的零售和 ATM 流量进行细分,或者公司可能会选择根据安全策略对访客 Wi-Fi 流量进行细分。 一些组织可能会通过云安全服务检查出站超文本传输协议 (HTTP) 流量,但会部署本地安全来保护非 HTTP 流量。 每个场景中的关键组件是简单且经济高效地将安全性嵌入到整个企业边缘的 SD-WAN 中。

关键的 IT 挑战包括

» 用户体验:IT 必须通过基于用户身份、上下文、企业安全/合规策略和持续信任评估的自动化、综合策略,提供一致、可靠和安全的用户体验。

» 安全性:为了满足合规性标准并保护边界不定的网络环境,企业必须保护自己免受所有 Internet 接触点的攻击。这是新的边界。

» 可见性:IT 必须对用户、设备、应用程序和会话具有实时和历史可见性,而不管位置是私有的还是公共的。网络必须能够减少确定问题根本原因的平均时间。

» 自动化控制:环境必须为动态和自动实施的用户、网络和安全提供统一的策略自动化。

» 节省投资:IT 必须在不增加人员或预算的情况下完成上述所有工作。找到使组织及其网络现代化和转型的方法,同时还能节省资金,这是现代企业的关键。

 

云计算和云存储、SaaS、基础设施即服务 (IaaS)、移动性、无处不在的互联网连接和 WFA 劳动力的趋势使传统的 WAN 架构变得过时。 这些趋势需要先进的安全解决方案来保护您的用户和资产。

多云迁移正在迅速成为常态,但传统 WAN 架构完全缺乏服务多云环境的能力。 通过静态 MPLS 电路将分支机构用户连接到数据中心防火墙的传统中心辐射式连接在现代多云环境中不起作用,在这种环境中,互联网边界已成为分布式模型,其中每个分支机构位置和用户都必须直接和优化 云访问。

需要 SD-WAN 和多层安全性的结合才能使多云工作。 当公司办公室连接到多个云时,您需要云智能、动态多路径连接以及强大的网络和安全功能,例如路由、SD-WAN、运营商级网络地址转换 (CGNAT)、DOS 防护、状态防火墙、下一代防火墙 (NGFW)、统一资源定位器 (URL) 过滤、数据丢失防护 (DLP)、入侵防御系统 (IPS)、防病毒、互联网协议 (IP) 过滤、文件过滤、反恶意软件、横向移动检测和安全 套接字层 (SSL) 代理。

 

应用程序分类、安全性、流量优先级和流量导向对于端点设备来说是最重要的。

应用程序分类是通过基于应用程序签名和启发式分析的深度数据包检测 (DPI) 完成的,这些应用程序签名和启发式分析会动态定期更新。 使用应用程序分类,识别应用程序类别。 应用程序类别可以包括应用程序系列和子系列、风险标签、生产力标签以及用于将流量标记为以业务为中心与否的标签。

如图 3-2 所示,网关对用户进行身份验证,授权受 ZTNA 保护的应用程序访问,保护企业网络免受外部威胁,同时优化 QoE 和直接访问云应用程序。 具有集成 SASE 功能的 SD-WAN 云网关为业务应用程序提供全面的安全性和 QoE,并支持直接、优化的云/SaaS 流量导向。

 

» 保护您的用户、位置和设备:安全必须位于流量进出网络的位置,无论位置如何:家庭、移动站点、分支机构或云软件工作负载。流量可能会前往任何 Internet 目的地。安全必须根据与流相关的风险动态地内联应用于所有流。

» 云服务的特殊安全注意事项:SD-WAN 提供 SaaS 优化、DIA 安全和云网关。 SD-WAN 的 SASE 功能可确保每条路径上的所有流量都是安全的。在虚拟私有云 (VPC) 部署中,可以存在带有 SASE 的虚拟 SD-WAN 位置,为 VPC 带来等效的“分支”安全性。

» 在威胁成为主要问题之前阻止威胁:云迁移、混合计算环境和 WFA 现实——以及越来越复杂的攻击——构成了一种威胁,需要一种超越防御和边界策略的纪律和动态安全方法。当今的企业需要一种积极、广泛的网络安全态势,包括持续监控、快速事件响应和主动威胁评估。所有这些同时还优化了应用程序性能和 QoE。

» 为所有流量集成安全性并保护所有端点的访问:当今的 SD-WAN 安全性必须是分布式的,通过基于云的存在来增强,灵活、简单且随处可用。

SD_WAN路由

» Internet 协议版本 4 (IPv4) 静态路由

» Internet 协议版本 6 (IPv6) 静态路由

» 开放最短路径优先版本 2 (OSPFv2)

» 开放最短路径优先版本 3 (OSPFv3)

» 边界网关协议 (BGP)

» BGP 多协议扩展 (MP-BGP)

  • 基于 MPLS 的第 3 层虚拟专用网络 (VPN)
  • 基于 MPLS 的以太网 VPN (EVPN)
  • 基于虚拟可扩展 LAN (VXLAN) 的 EVPN

» 路由信息协议 (RIP)

» Internet 组管理协议版本 2 (IGMPv2)

» Internet 组管理协议版本 3 (IGMPv3)

» 协议无关多播稀疏模式 (PIM-SM)

» 协议独立组播源特定组播 (PIM-SSM)

» 虚拟路由器冗余协议 (VRRP)

» 基于策略的路由 (PBR)

 

用于为 SaaS 应用程序提供最佳性能的 SD-WAN 功能包括

» 首包应用程序识别

» 智能路径选择机制

» 通过内联分析所有 SaaS 应用程序的 TCP 流量进行被动性能监控,以创建每个路径的应用程序性能的近期历史记录

» 针对每个 SaaS 应用程序的主动 TCP 和 HTTP 探测,以创建每个路径的应用程序性能的近期历史记录

» 为每个 SaaS 应用程序选择最佳出口或路径的主动和被动性能指标

» 将本地直接出口与 SaaS 网关出口相结合

连接故障管理/Y.1731 用于监控到网络中部署的其他分支的所有可能路径。 每条路径的每个方向都被独立监控。 SLA 信息数据库(延迟、抖动、数据包丢失、往返延迟)通过各种访问电路构建到其他 VPN 站点。 SLA 测量是按转发类完成的。 双向主动测量协议 (TWAMP) 和基于 ICMP 的探针测量非 SD-WAN 端点的 SLA 特征,而基于 HTTP 的探针更准确地测量 SaaS 应用程序的响应时间。

WAN优化:

» TCP 优化:使用基于 TCP 代理的优化,有助于在具有挑战性的网络条件(包括高延迟和丢失)中保持高吞吐量。

» 增强的拥塞控制、丢失检测和丢失恢复:这些机制包括基于瓶颈带宽和往返传播时间 (BBR) 的拥塞控制、最近确认 (RACK) 丢失检测、尾部丢失探测 (TLP) 和速率步调.

» 智能缓冲区管理:这可以防止数据传输在高带宽延迟积 (BDP) 网络中受到缓冲区限制。

» 启用高性能选项:这些选项包括选择性 ACK (SACK)、窗口缩放和时间戳选项。

» 重复数据删除:这种方法是一种双端方法——部署在两个节点上,一个靠近客户端,一个靠近服务器优化,涉及通过较短的签名表示大块或数据块。

» 压缩:无状态、无损压缩方法(例如 zip)通常用于在通过网络发送时进一步压缩经过重复数据删除的数据流,但它们也可以单独使用。

» 缓存:针对 HTTP 或服务器消息块 (SMB) 等应用程序的单端优化。内容(文件)可以缓存在边缘设备上,以便对同一文件的后续请求在本地得到响应,避免重复的 WAN 数据传输。