2024 年 eBPF 和网络趋势预测

本文地址:2024 年 eBPF 和网络趋势预测 | 深入浅出 eBPF

  • 1. eBPF
    • 1.1 eBPF 将继续呈指数增长
    • 1.2 eBPF 应用市场
    • 1.3 eBPF 在手机中得到更广泛的应用
    • 1.4 eBPF 滥用带来的风险
  • 2. 可观测
    • 2.1 最受欢迎的可观测性
    • 2.2 降低可观测性开销
    • 2.3 上下文感知的 Kubernetes 工作负载
    • 2.4 AI 助力网络排查
  • 3. 网络
    • 3.1 与主机网络性能匹配的容器网络性能
    • 3.2 网络行业的变革
    • 3.3 Cilium 进行家庭环境
    • 3.4 网络人员寻求 LLM 帮助 - 可能并不都如意
  • 4. 云原生
    • 4.1 Kubernetes 用户开始反击复杂性
    • 4.2 IPv6 单栈 Kubernetes 集群成为常态
    • 4.3 快速增长的 WSAM
    • 4.4 不应该被遗忘的异构网络
    • 4.5 平台工程与网络之成长的烦恼

2024 年及以后的网络和 eBPF 预测

2024 年初,Isovalent 公司高级销售工程师 Nico Vibert 针对网络和 eBPF 提出了一些预测,这里我们将简单给出一些重要的结论,主要涉及到 eBPF/Cilium/云原生/网络/可观测和安全等领域。

1. eBPF

1.1 eBPF 将继续呈指数增长

2023 年,基于 eBPF 技术网络和安全项目快速增长,预计明年基于 eBPF 的项目总数将轻松超过三位数。Liz 的著作 Learning eBPF、eBPF Labs、eBPF 峰会和 eBPF 纪录片的热度,都表明 eBPF 正变得越来越受欢迎。

这部 eBPF 该纪录片自上映以来已获得超过 50,000 次观看。

1.2 eBPF 应用市场

ebpf.io 网站中收录的项目已经从 2 年前的 9 个增加到了 41 个,这些项目或工具涉及了 CNI/高性能负载均衡/云原生运行时安全/可观测等诸多领域。预计未来会出现 eBPF 应用市场,在这里我们不仅能够下载和安装 eBPF 程序,还能够检测程序之间是否存在冲突。预计在未来几年内,eBPF Store 的概念将得到发展。

1.3 eBPF 在手机中得到更广泛的应用

当前 eBPF 每天都会被数百万的 Android 用户使用。eBPF 在 Android 中的初始用途是用来测量网络流量统计,但现在你手机中的每个网络数据包都可能会通过 eBPF 程序。在将来作者预测会有更多的 eBPF 应用在移动设备上的使用案例,不仅限于安卓设备。未来几年,Cilium 项目可能也会在移动设备中运行。

在 Android 上的 eBPF 主要用途有以下几种:

  • 数据使用统计和计费;
  • 防火墙/网络限制,以便在进入节电模式时实现节能;
  • 高速数据包处理,比如共享网络连接或 464xlat(一种在 IPv6 网络上提供 IPv4 连接的方法,因为 Linux 内核本身不支持)。

这段来自日本 IETF 116 会议的视频提供了 Android 上关于 eBPF 的精彩而简短的演示。

1.4 eBPF 滥用带来的风险

随着 eBPF 技术的流行,不可避免会出现滥用。尽管 eBPF 验证器的目标是确保 eBPF 程序安全运行,并防止危险行为,但随着 eBPF技术广泛的应用,可能会出现某些形式的漏洞被利用。这可能会导致某些人对 eBPF 技术产生顾虑,预测基于 eBPF 的应用以控制监视 eBPF 程序应用的成倍增加。

2. 可观测

2.1 最受欢迎的可观测性

根据这篇博客文章的统计表明,可观测性无疑是 KubeCon 上最受欢迎的主题。

虽然许多组织将投入时间和精力建立其内部开发平台(平台工程可能会成为明年 KubeCon 上最受欢迎的主题),但作者预计许多组织将会首先专注于提高其可观测性能力。大型组织将需要针对集群和部署的 Pod 进行治理。

2.2 降低可观测性开销

观测集群中发生的一切将会带来巨大的数据量,这将会显著增加可观测性的成本开销,特别是涉及数百个 Kubernetes 集群和数十万个 Pod 场景中。由于集群中运行着众多用于日志记录、监控和安全等目的守护进程,特定场景下,这些应用自身的资源消耗可能会超过集群上运行的实际应用程序。随着人们对 FinOps 框架的日益关注,预计工程师将开始优化消耗德过多资源的观测工具。这也是 Tetragon 人气飙升的原因之一:低开销的 eBPF 事件监控。

2.3 上下文感知的 Kubernetes 工作负载

上下文感知(Context-Aware)并不是一个新概念(10 年多前在思科工作时曾提出上下文感知安全 ),但这是一个在未来几年将受到更多关注的事情。容器化引入的诸多抽象层导致了过程中上下文丢失。例如一个 Pod 通常包含多个容器 ( 有时甚至有几十个 ),它们共享一个 IP 地址。设置容器应用安全策略通常意味着我们给予 Pod 中容器所需更多的权限。将 Tetragon 的上下文与 Cilium 网络策略集成 ,可能是具有变革性的举措。

2.4 AI 助力网络排查

网络工具将开始与 LLM 原生集成,提供类似聊天的体验以与网络进行交互。

例如登录到 Grafana 仪表板通过对话方式排查做完流量在晚上 10 点到 11 点之间下降的问题,这最有可能是一个配置错误的网络策略所导致。聊天机器人能够响应关于构建架构的简单指示,并给出对应的 Terraform 配置。最终可以通聊天交谈最终排查出为什么陷入了路由环路。

3. 网络

3.1 与主机网络性能匹配的容器网络性能

在芝加哥的 KubeCon 上 ,Daniel Borkmann 发表了 “Turning up Performance to 11: Cilium, NetKit Devices, and Going Big with TCP” 的演讲。在与合作者过去十年中共同创造了最变革性的网络技术 之一(eBPF)之后,Daniel 为自己设定了另一个挑战:提升容器网络性能,使其达到与主机网络相当的水平。

随着最近发布的 netkit(以及在容器级别运行 eBPF 程序的能力),预计我们将在网络性能方面达到同等水平。虽然这些功能可能需要一段时间才能在通常部署的内核上可用,但网络这一功能的确令人兴奋。

Linux 网络协议栈包含如此多的路径,Daniel 需要和 XDP(Express Data Path)/BIG TCP 等技术背后的开发人员一起找到巧妙的方法来寻找捷径或研究优化。

3.2 网络行业的变革

网络行业将在明年经历其最重大的转型之一,这是由于几个趋势共同作用导致的。

  • Broadcom 对 VMware 的收购将导致一些组织重新考虑他们对 VMware 技术栈的使用。反过来,这将对采用 NSX 作为虚拟网络技术产生影响。
  • 开源网络技术从未如此受欢迎。2023 年见证了首届网络自动化和 NetDevOps 大会 – 这是主要由开源项目支持的技术趋势。Awesome Network Automation GitHub 仓库 及其突出显示的许多工具的热度 – 诸如 GoBGP 和 containerlab 等项目 - 突显出过去十年网络行业的变化。
  • 开源网络从未如此强大。过去,开源网络在功能和性能方面与专有解决方案相比有所折扣。当你考虑通过 eBPF 和 XDP 等技术可以实现的一些性能提升时,这一情况得到了明显的改善。这个用例中的性能 改进令人难以置信(谁不希望 CPU 占用空间提高 72 倍)。

预计未来几年将在网络行业出现根本性变革;或许是自软件定义网络开始以来最大的变革。

3.3 Cilium 进行家庭环境

在最近一集的 eCHO 中,探讨了如何以及为什么 Cilium 会出现在家庭的环境中。通过 Cilium,你可以使用网络策略保护应用程序,并通过内置的 BGP 和 Gateway API 支持将其对外发布。预计 Cilium 今年将在家庭使用中会变得非常受欢迎。

近年来,Cilium 在边缘环境中的采用率不断增长。零售和医疗保健等行业的许多组织都在部署云原生边缘计算平台,并使用 Cilium 使网络和防火墙更接近工作负载。

3.4 网络人员寻求 LLM 帮助 - 可能并不都如意

网络工程师已经在使用 ChatGPT 来帮助解决网络问题并生成网络配置。但即使经常使用 ChatGPT,我们还是不能够将决策权放到 LLM 手中。尽管不可避免地会出现小问题,但 AI 和 LLM 仍然将对网络产生变革性影响。

4. 云原生

4.1 Kubernetes 用户开始反击复杂性

云原的生态系统日趋复杂。在社交媒体上可以经常看到人们抱怨操作云原生平台技术栈的复杂性。大量云原生项目和工具的泛滥给使用者带了更多的疲劳感。2024 年平台和 DevOps 工程师想要什么?简单

作者预计,许多平台和 DevOps 工程师将在 2024 年投入时间来简化他们云原生相关的工具。作为结果,预计云原生生态将开始缩减。

4.2 IPv6 单栈 Kubernetes 集群成为常态

Google 用户使用 IPv6 的比例已经从 3 年前的 31% 提升到了 45%,按目前的速度,预计到 2024 年底,全球 Google 用户看到的主要协议将是 IPv6(在法国和印度等国家,已经超过 70%)。但 IPv6 的普及是否延伸到了 Kubernetes 平台呢?部分是。尽管托管的 Kubernetes 服务提供商(AKS、GKE 和 EKS)已经有了重大改进,但 IPv6 仍然是次要选择,通常缺少较文档也并不被推荐。直到最近,许多基本的云原生工具都存在一些 IPv6 缺点。

Cilium 确实引入了对 NAT46/NAT64 的原生支持,以提供纯 IPv6 集群和 IPv4 世界之间的相互兼容性,也让人看到了积极的一面。

GitHub 和 Docker Hub 也在积极推动 IPv6 的普及。 此外还有一些其他因素将加速 Kubernetes 中 IPv6 的采用:

  • 成本:AWS 最近对公共 IPv4 地址 进行的定价上涨也会引导用户转向 IPv6;

  • 操作简便性:电信公司使用的 SRv6 技术,也即将应用到 Kubernetes,这可能大规模简化网络连接和可编程性。作者预计电信公司会对在其集群中利用 SRv6 产生浓厚的兴趣。

  • 性能:诸如 BIG TCP 等高性能网络特性将给用户更多理由转向 IPv6。

虽然规模和 IP 地址耗尽是 IPv6 推广最普遍的理由,但更便宜、更快的 IPv6 网络,将会被客户更快地被接受。

4.3 快速增长的 WSAM

我们通常用 “eBPF 之于内核,就像 Javascript 之于浏览器一样” 的讲法来描述 eBPF 技术。有趣的是,另一种流行的云原生技术 Wasm 也有类似的说法,Wasm 提供了一个能够在 Web 浏览器中运行 C/C++、C# 和 Rust 程序的抽象。随着 Containerd 原生支持 Wasm,预计 Wasm 将在 2024 年进一步腾飞。更近一步,基于 eBPF 的强大功能,可使用 Cilium 无缝保护和连接这些应用程序。

4.4 不应该被遗忘的异构网络

除了 Kubernetes 平台外,仍然存在着大量的虚机和裸金属服务器部署的服务实例。根据 VMware/Broadcom 统计数据,至少有 8500 万台正在运行在 vSphere 上的虚拟机,并且很可能有同样数量的 EC2 实例在 AWS 上运行。在芝加哥举办的 CiliumCon(在 KubeCon 之前专注于 Cilium 的活动)上的几个专题讨论的是 Kubernetes 外的技术:OpenStack和 Nomad,以及 Cilium 在这些环境中用于网络连接和安全性。

2024 年,我们将看到诸如 Cilium Mesh 类似的项目将致力于填补 Kubernetes 、VM 和 Serverless 世界等之间的空白,并试图连接和保护这些异构工作负载。

4.5 平台工程与网络之成长的烦恼

根据 Gartner 的说法,“平台工程通过提供具有自动化基础设施操作的自助服务能力,改善开发人员的体验和生产效率 ”。

期待看到平台工程和网络领域的交集,但同时一些平台工程师绝对会害怕让开发人员拥有自助服务网络能力。

如何为 IDP(内部开发人员门户)的开发人员和其他使用者提供独立性和灵活性,而不会让他们做出一些糟糕的网络决策并危及他们正在启动的应用程序?组织必须在自主性和控制性之间找到适当的平衡。

虽然在 2024 年,构建开发人员门户仍将是许多人关注的焦点,但预计在提供多少网络独立性方面会有很多成长的烦恼。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/246565.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python-自动化篇-运维-监控-简单实例-道出如何使⽤Python进⾏系统监控?

如何使⽤Python进⾏系统监控? 使⽤Python进⾏系统监控涉及以下⼀般步骤: 选择监控指标: ⾸先,确定希望监控的系统指标,这可以包括 CPU 利⽤率、内存使⽤情况、磁盘空间、⽹络流量、服务可⽤性等。选择监控⼯具&#x…

计算机网络——路由信息协议 (RIP) 实验

1.实验题目 实验五:路由信息协议 (RIP) 实验 2.实验目的 (1)了解RIP的相关知识以及原理。 (2)掌握RIP路由的配置方法。 3.实验任务 (1) 路由器的基本配置:设置路由器接口 IP 地址。 (2) 根据以上拓扑…

acwing周赛140 b题

思路:我们按照从小到大的顺序将数组逆转好,然后枚举数组首项,分别让其1,-1,0,然后求出公差,从前往后遍历即可。 代码: int ans1(){//不动int cha (a[n] - a[1] 1) / (n - 1);int…

iOS 文件分割保存加密

demo只是验证想法,没有做很多异常处理 默认文件是大于1KB的,对于小于1KB的没有做异常处理demo中文件只能分割成2个,可以做成可配置的N个文件分割拼接还可以使用固定的二进制数据,拼接文件开头或结尾 不论哪种拼法,目的…

class_19:抽象类(纯虚函数不能被实例化)

#include <iostream>using namespace std;class Teacher{ public:string name;string school;virtual void goinclass() 0;//纯虚函数不能被实例化 抽象类virtual void startclass() 0;//纯虚函数不能被实例化virtual void afterclass() 0;//纯虚函数不能被实例化 };…

巨杉数据库携手广发证券入选2023大数据“星河”案例

近期&#xff0c;中国信息通信研究院、中国通信标准化协会大数据技术标准推进委员会(CCSA TC601)连续七年共同组织的大数据“星河&#xff08;Galaxy&#xff09;”案例征集活动发布公示。本次征集活动&#xff0c;旨在通过总结和推广大数据产业发展的优秀成果&#xff0c;推动…

js中字符串string,遍历json/Object【匹配url、邮箱、电话,版本号,千位分割,判断回文】

目录 正则 合法的URL 邮箱、电话 字符串方法 千位分割&#xff1a;num.slice(render, len).match(/\d{3}/g).join(,) 版本号比较 判断回文 json/Object 遍历 自身属性 for...inhasOwnProperty(key) Object.获取数组(obj)&#xff1a;Object.keys&#xff0c;Object…

拦截器的简单使用

拦截器的简单使用 拦截器的使用创建拦截器preHandle 目标方法执行前执行postHandle 目标方法执行后执行afterCompletion 视图渲染后执行 拦截器使用场景返回值注册拦截器运用拦截器 拦截器的使用 创建拦截器 首先,我们需要创建一个拦截器器的类,并且需要继承自HandlerIntercep…

Nginx解析漏洞(nginx_parsing_vulnerability)

目录 Nginx解析漏洞 环境搭建 复现 漏洞利用 Nginx解析漏洞 NGINX解析漏洞主要是由于NGINX配置文件以及PHP配置文件的错误配置导致的。这个漏洞与NGINX、PHP版本无关&#xff0c;属于用户配置不当造成的解析漏洞。具体来说&#xff0c;由于nginx.conf的配置导致nginx把…

x-cmd pkg | httpx - 为 Python 设计的下一代 HTTP 客户端库

目录 简介首次用户功能特点进一步探索 简介 HTTPX 是一个为 Python 设计的下一代 HTTP 客户端库&#xff0c;由 Tom Christie 创建。它提供了同步和异步的 API&#xff0c;并支持 HTTP/1.1 和 HTTP/2 协议。与 Requests 库类似&#xff0c;但增加了对异步请求的支持和 HTTP/2 …

[docker] 关于docker的面试题

docker命名空间&#xff1f; docker与虚拟机的区别&#xff1f; 容器虚拟机所有容器共享宿主机的内核每个虚拟机都有独立的操作系统和内核通过namespace实现资源隔离&#xff0c;通过cgroup实现限制资源的最大使用量完全隔离。每个虚拟机都有独立的硬件资源秒级启动速度分钟级…

怎么移除WordPress后台工具栏“新建”菜单?如何添加“新建文章”菜单?

默认情况下&#xff0c;WordPress后台顶部管理工具栏有左侧有一个“新建”菜单&#xff0c;而且还有下拉菜单文章、媒体、链接、页面和用户等&#xff0c;不过我们平时用得最多的就是“新建文章”&#xff0c;虽然可以直接点击“新建”&#xff0c;或点击“新建 – 文章”&…

uniapp组件库fullScreen 压窗屏的适用方法

目录 #平台差异说明 #基本使用 #触发压窗屏 #定义压窗屏内容 #注意事项 所谓压窗屏&#xff0c;是指遮罩能盖住原生导航栏和底部tabbar栏的弹窗&#xff0c;一般用于在APP端弹出升级应用弹框&#xff0c;或者其他需要增强型弹窗的场景。 警告 由于uni-app的Bug&#xff0…

ASUS华硕无畏Pro15笔记本电脑(M6500QB,M6500QH)工厂模式原厂OEM预装Windows11.22H2系统 含Recovery恢复

原装出厂Windows11系统适用于华硕无畏15笔记本电脑型号&#xff1a;M6500QB和M6500QH 链接&#xff1a;https://pan.baidu.com/s/1AVGLN6-ILIRogOMj48Mk1w?pwdmi7d 提取码&#xff1a;mi7d 带有ASUS RECOVERY恢复功能、自带所有驱动、出厂主题专用壁纸、系统属性联机支持…

【QT+QGIS跨平台编译】之十二:【libpng+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文件目录 一、libpng介绍二、文件下载三、文件分析四、pro文件五、编译实践一、libpng介绍 PNG(Portable Network Graphics,便携式网络图形),是一种采用无损压缩算法的位图格式,支持索引、灰度、RGB三种颜色方案以及Alpha通道等特性。 PNG使用从LZ77派生的无损数据压缩算…

Topaz Video AI:无损放大,让你的视频更清晰!

在当今的数字时代&#xff0c;视频内容的重要性越来越受到人们的关注。无论是在社交媒体上分享生活片段&#xff0c;还是在商业领域中制作宣传视频&#xff0c;人们都希望能够展现出更高质量的视频内容。 然而&#xff0c;由于各种原因&#xff0c;我们经常会面临一个问题&…

银行数据仓库体系实践(11)--数据仓库开发管理系统及开发流程

数据仓库管理着整个银行或公司的数据&#xff0c;数据结构复杂&#xff0c;数据量庞大&#xff0c;任何一个数据字段的变化或错误都会引起数据错误&#xff0c;影响数据应用&#xff0c;同时业务的发展也带来系统不断升级&#xff0c;数据需求的不断增加&#xff0c;数据仓库需…

Vscode配置python代码开发

文章目录 1. 配置python运行环境2. 常用插件说明3. Vscode配置文件说明3.1 setting.json配置说明3.2 launch.json配置说明 4. 远程开发5. 其他配置 1. 配置python运行环境 安装python插件&#xff1a;点击VSCode左侧边栏中的扩展图标&#xff08;或按 CtrlShiftX&#xff09;&a…

Vue3 Suspense 优雅地处理异步组件加载

✨ 专栏介绍 在当今Web开发领域中&#xff0c;构建交互性强、可复用且易于维护的用户界面是至关重要的。而Vue.js作为一款现代化且流行的JavaScript框架&#xff0c;正是为了满足这些需求而诞生。它采用了MVVM架构模式&#xff0c;并通过数据驱动和组件化的方式&#xff0c;使…

深入浅出 diffusion(3):pytorch 实现 diffusion 中的 U-Net

导入python包 import mathimport torch import torch.nn as nn import torch.nn.functional as F silu激活函数 class SiLU(nn.Module): # SiLU激活函数staticmethoddef forward(x):return x * torch.sigmoid(x) 归一化设置 def get_norm(norm, num_channels, num_groups)…