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 年初,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 年,构建开发人员门户仍将是许多人关注的焦点,但预计在提供多少网络独立性方面会有很多成长的烦恼。
相关文章:

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 工作负…...

2024.1.27 GNSS 学习笔记
1.精确的描述轨道的一组数据(星历)是实现精确定位与导航的基础。 2.GNSS卫星广播星历的提供方式一般有两种:一种是提供开普勒轨道参数和必要的轨道摄动改正项参数,如GPS、BDS、Galileo三大系统采用此种模式,还有QZSS系统;另一种是…...

Unity - 将项目转为HDRP
Camera window -> Package Manager 之后会出现HDRP向导窗口,均点击修复。 在Edit中,更改项目中的材质...

ETCD高可用架构涉及常用功能整理
ETCD高可用架构涉及常用功能整理 1. etcd的高可用系统架构和相关组件1.1 Quorum机制1.2 Raft协议 2. etcd的核心参数2.1 常规配置2.2 特殊优化配置2.2.1 强行拉起新集群 --force-new-cluster2.2.2 兼容磁盘io性能差2.2.3 etcd存储quota 3. etcd常用命令3.1 常用基础命令3.1.1 列…...

深度学习中RGB影像图的直方图均衡化python代码and对图片中指定部分做基于掩模的特定区域直方图均衡化
深度学习很重要的预处理步骤 就是需要对做直方图均衡化 其中主要分成灰度图以及RGB图的直方图均衡化 这俩的方法和代码不同 想要去看具体原理的朋友可以查看下面这篇博客的内容 写的很详细颜色直方图均衡化(https://www.cnblogs.com/wancy/p/17668345.html) 我们这个场景中会用…...

PyTorch深度学习实战(33)——条件生成对抗网络(Conditional Generative Adversarial Network, CGAN)
PyTorch深度学习实战(33)——条件生成对抗网络 0. 前言1. 条件生成对抗网络1.1 模型介绍1.2 模型与数据集分析 2. 实现条件生成对抗网络小结系列链接 0. 前言 条件生成对抗网络 (Conditional Generative Adversarial Network, CGAN) 是一种生成对抗网络…...

编写Bash脚本程序从记录文件中提取history命令的优化,再介绍linux bash语法和结构
目 录 一、引言 二、脚本代码实现 三、bash语法和结构 (一)基本语法 1、脚本开始与结束 2、注释 3、变量 4、数据类型 5、控制结构 6、循环控制 7、函数 8、算术运算 9、算术操作符和逻辑操作符 (二)命令相关…...

Python中Numba库装饰器
一、运行速度是Python天生的短板 1.1 编译型语言:C 对于编译型语言,开发完成以后需要将所有的源代码都转换成可执行程序,比如 Windows 下的.exe文件,可执行程序里面包含的就是机器码。只要我们拥有可执行程序,就可以随…...

Spring Boot Aop 执行顺序
Spring Boot Aop 执行顺序 1. 概述 在 spring boot 项目中,使用 aop 增强,不仅可以很优雅地扩展功能,还可以让一写多用,避免写重复代码,例如:记录接口耗时,记录接口日志,接口权限&…...

100天精通鸿蒙从入门到跳槽——第16天:ArkTS条件渲染使用教程
博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通Golang》 — Go语言学习之旅!《100天精通鸿蒙》 — 从Web/安卓到鸿蒙大师!100天…...

【Linux C | 进程】Linux 进程间通信的10种方式(1)
😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…...

橘子学Mybatis08之Mybatis关于一级缓存的使用和适配器设计模式
前面我们说了mybatis的缓存设计体系,这里我们来正式看一下这玩意到底是咋个用法。 首先我们是知道的,Mybatis中存在两级缓存。分别是一级缓存(会话级),和二级缓存(全局级)。 下面我们就来看看这两级缓存。 一、准备工作 1、准备数据库 在此之…...

看图说话:Git图谱解读
很多新加入公司的同学在使用Git各类客户端管理代码的过程中对于Git图谱解读不太理解,我们常用的Git客户端是SourceTree,配合P4Merge进行冲突解决基本可以满足日常工作大部分需要。不同的Git客户端工具对图谱展示会有些许差异,以下是SourceTre…...

linux新增用户,指定home目录和bash脚本且加入到sudoer列表
前言 近3年一直用自动化脚本,搞得连useradd命令都不会用了。哈哈。 今天还碰到一个问题,有个系统没有‘useradd’和‘passwd’命令,直接蒙了。当然直接用apt install就能安装,不然还得自己编译折腾一会。新建用户 useradd -d /h…...

经典目标检测YOLO系列(三)YOLOV3的复现(1)总体网络架构及前向处理过程
经典目标检测YOLO系列(三)YOLOV3的复现(1)总体网络架构及前向处理过程 和之前实现的YOLOv2一样,根据《YOLO目标检测》(ISBN:9787115627094)一书,在不脱离YOLOv3的大部分核心理念的前提下,重构一款较新的YOLOv3检测器,来对YOLOv3有…...

OpenGL/C++_学习笔记(四)空间概念与摄像头
汇总页 上一篇: OpenGL/C_学习笔记(三) 绘制第一个图形 OpenGL/C_学习笔记(四)空间概念与摄像头 空间概念与摄像头前置科技树: 线性代数空间概念流程简述各空间相关概念详述 空间概念与摄像头 前置科技树: 线性代数 矩阵/向量定…...

C语言2024-1-27练习记录
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>//int main() //{ // char c[15] { I, ,a,n,d, ,you,. }; // int i; // for(i 0; i < 15; i) //这个地方有几个地方需要注意一下,首先变量指定之后必须要加上英文状态下的分号 // printf("%c&q…...

深入解析HTTPS:安全机制全方位剖析
随着互联网的深入发展,网络传输中的数据安全性受到了前所未有的关注。HTTPS,作为HTTP的安全版本,为数据在客户端和服务器之间的传输提供了加密和身份验证,从而确保了数据的机密性、完整性和身份真实性。本文将详细探讨HTTPS背后的…...

【197】JAVA8调用阿里云对象存储API,保存图片并获取图片URL地址。
实际工作中,需要用阿里云对象存储保存图片,并且在上传图片到阿里云对象存储服务器后,获取图片在阿里云对象存储服务器的URL地址,以便给 WEB 前端显示。 阿里云对象存储上传图片的工具类 package zhangchao;import com.aliyun.os…...

2024.1.24 C++QT 作业
思维导图 练习题 1.提示并输入一个字符串,统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数 #include <iostream> #include <string.h> #include <array> using namespace std;int main() {string str;cout << "…...

jenkins部署过程记录
一、jenkins部署git链接找不到 原因分析: 机器的git环境不是个人git的权限,所以clone不了。Jenkins的master节点部署机器已经部署较多其他的job在跑,如果直接修改机器的git配置,很可能影响到其他的job clone 不了代码,…...

JS-策略设计模式
设计模式:针对特定问题提出的简洁优化的解决方案 一个问题有多种处理方案,而且处理方案随时可能增加或减少比如:商场满减活动 满50元减5元满100元减15元满200元减35元满500元减100元 // 满减金额计算函数 function count(money, type) {if …...

漏洞复现-EduSoho任意文件读取漏洞(附漏洞检测脚本)
免责声明 文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…...

「QT」QString类的详细说明
✨博客主页何曾参静谧的博客📌文章专栏「QT」QT5程序设计📚全部专栏「VS」Visual Studio「C/C++」C/C++程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「...

微信小程序-04
rpx(responsive pixel)是微信小程序独有的,用来解决屏适配的尺寸单位。 import 后跟需要导入的外联样式表的相对路径,用 ; 表示语句结束。 定义在 app.wxss 中的样式为全局样式,作用于每一个页面。 在页面的 .wxss 文…...

什么是数据库的三级模式两级映象?
三级模式两级映象结构图 概念 三级模式 内模式:也称为存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。定义所有的内部记录类型、索引和文件组织方式,以及数据控制方面的细节。模式:又称概念…...

初识人工智能,一文读懂机器学习之逻辑回归知识文集(6)
🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…...

2024 CKA 题库 | 15、备份还原 etcd
不等更新题库 文章目录 15、备份还原 etcd题目:考点:参考链接:解答:备份快照恢复快照 检查 15、备份还原 etcd 题目: 设置配置环境 此项目无需更改配置环境。但是,在执行此项目之前,请确保您已返回初始节点。 [candidatemaster01] $ exit #…...

基于Matlab/Simulink直驱式风电储能制氢仿真模型
接着还是以直驱式风电为DG中的研究对象,上篇博客考虑的风电并网惯性的问题,这边博客主要讨论功率消纳的问题。 考虑到风速是随机变化的,导致风电输出功率的波动性和间歇性问题突出;随着其应用规模的不断扩大以及风电在电网中渗透率…...

计算机网络(第六版)复习提纲16
三 IP地址与MAC地址 1 IP层只能看到IP数据报 2 路由器只根据目的IP地址进行转发 3 局域网的链路层只能看到MAC帧 4 IP层抽象的互联网屏蔽了下层的复杂细节,在网络层讨论问题能够使用统一的、抽象的IP地址来研究主机和主机或路由间的通信 问题: 1 主机或路…...