0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

openEuler倡议建立eBPF软件发布标准

openEuler 来源:openEuler 作者:openEuler 2022-12-06 10:29 次阅读

eBPF 是一个能够在内核运行沙箱程序的技术,提供了一种在内核事件和用户程序事件发生时安全注入代码的机制,使得非内核开发人员也可以对内核进行控制。随着内核的发展,eBPF 逐步从最初的数据包过滤扩展到了网络、内核、安全、跟踪等,而且它的功能特性还在快速发展中,早期的 BPF 被称为经典 BPF,简称 cBPF,正是这种功能扩展,使得现在的 BPF 被称为扩展 BPF,简称 eBPF。

如今 eBPF 被广泛应用在云原生、可观测、性能调优、安全、硬件加速等领域,并且其应用场景还在快速扩展,各种场景基于 eBPF 技术的创新 idea 呈现井喷现象,eBPF 的时代已经来临。

eBPF 技术现状

虽然 eBPF 技术应用呈现井喷现象,但是开发、发布、安装等相关的基础技术出现碎片化现象,导致技术成果无法快速平移至行业客户生产环境;相似 eBPF 技术应用在重复实践。这些问题阻碍 eBPF 技术的普及与推广。

如下图所示,总结目前 eBPF 的开发、发布方式基本可以划分成 2 种技术路线:

开发态、运行态分离(典型代表 libbpf)

优点:ELF 文件形式(或者链接进应用程序)发布,运行时轻量化,适合生产环境大规模应用。

缺点:应用技术门槛高,且不具备可移植性(比如高内核版本的 eBPF 程序无法移植至低内核版本中)。

开发态、运行态融合(典型代表 BCC)

优点:源码形式发布天然具备可移植性;封装抽象运行时,提供高级语言 API,降低开发难度。

缺点:运行时重型化,对生产环境要求较高(需要安装开发态一系列工具);高度抽象后,降低使用灵活度,不适合大型应用开发。

03500d2e-7486-11ed-8abf-dac502259ad0.png

这两种技术路线都存在弊端,随着 eBPF 技术的发展,出现 BumbleBee 、eunomia-bpf 等项目致力于综合这两类技术路线的优点,但依旧缺乏对 eBPF 基础技术的整体规划。

eBPF 发展展望

eBPF summit 2022 《The future of eBPF in theLinuxKernel》展望了 eBPF 的发展方向,具体的演进方向包括几个方面:

更完备的编程能力:当前 eBPF 的编程能力存在一些局限性(比如不支持变量边界的循环,指令数量受限等),演进目标提供图灵完备的编程能力。

更强的安全性:支持类型安全,增强运行时 Verifier,演进目标是提供媲美 Rust 的安全编程能力。

更广泛的移植能力:增强 CO-RE,加强 Helper接口可移植能力,实现跨体系、平台的移植能力。

更强的可编程能力:支持访问/修改内核任意参数、返回值,实现更强的内核编程能力。

概括其演进目标是希望将 eBPF 打造成一款针对内核(包括硬件)运行时的安全编程语言,通过该语言构建 eBPF 软件,用来承载内核(或硬件)的能力。演进结果产生一个有趣现象:按照传统软件类型划分方式,我们很难将 eBPF 软件归类成应用软件或是系统软件。所以,干脆将其定义成一种独立软件形态:内核态服务(eBPF as Service)。

036b4fd0-7486-11ed-8abf-dac502259ad0.png

eBPF Service 形态

建立 eBPF 行业标准的思路

eBPF 软件有别于系统软件、应用软件,从软件自身特点而言,其应具备符合其自身特点的开发、编译、打包、发布、安装、升级等工具系列。

当前 eBPF 的开发框架、发布形式发展迅速,但也存在一些问题,包括跨版本移植能力、多场景支持能力、开发易用性、服务可获得性等问题。openEuler 可编程内核 SIG 希望标准化 eBPF 软件相关基础技术(包括打包、发布、安装、升级等),方便 eBPF 技术在各行业、场景的推广。为此,由多家企业/高校在 openEuler 社区倡议建立行业标准,通过标准化发布将内核定制能力、硬件卸载能力向社区用户提供性能加速、安全加固、智能观测等服务。

预计我们将在 12 月份组织一次线上 meetup,当前参与企业/组织包括天翼云、深信服、华为、西邮、中山大学、中科驭数、信通院、锐捷等,希望国内对 eBPF 技术有诉求、规划的厂商加入本次 meetup,建立 eBPF 技术相关标准,为 eBPF 技术应用、科研提供较好的基础平台。

具体讨论范围划分成三个方向:

eBPF runtime:负责提供具备可移植性的软件安装能力,软件热升级能力,包管理等能力。

eBPF Development Kit:负责提供一站式开发、调试、编译工具,提供具备跨体系、平台移植能力的软件包发布能力。

eBPF Service HUB:负责提供 eBPF Service 集市化管理,提供 eBPF Service 推送、分发等能力。

03901144-7486-11ed-8abf-dac502259ad0.png

openEuler 可编程内核 SIG 目标

openEuler 可编程内核 SIG 目标之一就是推动 eBPF as Service 标准化工作,将内核能力、硬件加速能力服务化、集市化,惠及更多的社区用户。

与此同时,openEuler 社区会将行业标准内的一些基础软件、技术标准推送至 Linux 上游社区,加强 eBPF 技术生态建设,提升国内 eBPF 技术在上游社区影响力。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    88

    文章

    3495

    浏览量

    93088
  • 云原生
    +关注

    关注

    0

    文章

    233

    浏览量

    7915
  • openEuler
    +关注

    关注

    2

    文章

    297

    浏览量

    5765

原文标题:openEuler 倡议建立 eBPF 软件发布标准

文章出处:【微信号:openEulercommunity,微信公众号:openEuler】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    润和软件携手业界伙伴在openEuler社区成立IDE-SIG

    经OpenAtom openEuler(简称" openEuler")社区技术委员会讨论决定, openEuler社区正式成立 IDE-SIG。该组由华为技术有限公司、粤港澳大湾区
    的头像 发表于07-31 10:34 328次阅读

    openEuler24.03 LTS Meetup:聚焦AI、嵌入式与分布式创新

    随着OpenAtom openEuler(简称“ openEuler”)24.03 LTS版本的 发布,这一开源操作系统再次成为业界的焦点。为了进一步推广与宣传新版本带来的特性和技术进展,6月21日
    的头像 发表于06-24 10:08 257次阅读

    润和软件受邀参与openEuler24.03 LTS发布

    近日,由OpenAtom openEuler(简称" openEuler")社区主办的 openEuler24.03 LTS版本 发布会(以下简称“ 发布
    的头像 发表于06-15 10:07 592次阅读

    openEuler24.03 LTS正式发布,首个AI原生开源操作系统

    日, openEuler委员会主席江大勇正式对外 发布openEuler首个AI原生开源操作系统—— openEuler24.03LTS版本。 openE
    的头像 发表于06-15 08:36 412次阅读
    <b class='flag-5'>openEuler</b> 24.03 LTS正式<b class='flag-5'>发布</b>,首个AI原生开源操作系统

    eBPF动手实践系列三:基于原生libbpf库的eBPF编程改进方案简析

    在上一篇文章《 eBPF动手实践系列二:构建基于纯C语言的 eBPF项目》中,我们初步实现了脱离内核源码进行纯C语言 eBPF项目的构建。libbpf库在早期和内核源码结合的比较紧密,如今的libbpf库更加成熟,已经完全脱离内核源码
    的头像 发表于03-19 14:19 527次阅读
    <b class='flag-5'>eBPF</b>动手实践系列三:基于原生libbpf库的<b class='flag-5'>eBPF</b>编程改进方案简析

    openEuler安全配置基线标准首发

    、超聚变、华为等公司共同 发布openEuler安全配置基线 标准v1.0》。 在当今日益复杂的数字化环境中,操作系统安全已成为企业和个人必须面对的挑战,运行环境的多样性和不一致性使得安全加固、核查、巡检等工作变得异常艰巨。为
    的头像 发表于01-04 13:43 550次阅读
    <b class='flag-5'>openEuler</b>安全配置基线<b class='flag-5'>标准</b>首发

    OpenCV对openEuler提供上游原生支持

    2023年11月17日,OpenCV社区正式接纳 openEuler作为持续集成(Continuous Integration,CI)系统的操作系统之一,对 openEuler提供上游原生支持
    的头像 发表于11-20 09:14 634次阅读

    介绍一种基于eBPF的Linux安全防护系统

    针对操作系统、内核安全,联通云操作系统团队开发了的一个基于 eBPF的 Linux 安全防护系统 safeguard,可以实现安全操作的审计拦截及安全防护功能。项目采用 libbpfgo 库
    的头像 发表于11-07 17:43 671次阅读
    介绍一种基于<b class='flag-5'>eBPF</b>的Linux安全防护系统

    openEuler社区对多样性算力和智能时代的基础软件的思考

    编辑按:2023年9月,为期3天的欧洲顶级开源峰会OSSUMMIT2023(Open Source Summit)在西班牙举办。作为开放原子开源基金会旗下的项目, openEuler作为钻石级别赞助
    的头像 发表于09-28 09:53 749次阅读

    OpenAtomopenEuler亮相2023欧洲开源峰会

    ,并在Keynote和多场分论坛上发表主题演讲,话题涵盖Linux Kernel、编译器、AI、多样性计算、 软件供应链安全、机密计算、社区治理等领域及多个创新项目。 峰会首日, openEuler技术
    的头像 发表于09-25 15:43 490次阅读
    OpenAtom <b class='flag-5'>openEuler</b>亮相2023欧洲开源峰会

    ebpf的快速开发工具--libbpf-bootstrap

    基于ubuntu22.04-深入浅出 eBPF基于 ebpf的性能工具-bpftrace 基于 ebpf的性能工具-bpftrace脚本语法 基于 ebpf的性能工具-bpftrace实战
    的头像 发表于09-25 09:04 666次阅读
    <b class='flag-5'>ebpf</b>的快速开发工具--libbpf-bootstrap

    OpenAtomopenEuler亮相2023欧洲开源峰会

    ,并在Keynote和多场分论坛上发表主题演讲,话题涵盖Linux Kernel、编译器、AI、多样性计算、 软件供应链安全、机密计算、社区治理等领域及多个创新项目。 峰会首日, openEuler技术
    的头像 发表于09-21 18:40 414次阅读

    开放原子开源大赛openEulerAI应用挑战赛等你来挑战

    8月29日,由工业和信息化部、江苏省人民政府、湖南省人民政府共同主办的2023开源和信息消费大赛新闻 发布会在北京召开,宣布开放原子开源大赛正式启动。 作为主流OS社区, openEuler参与首届
    的头像 发表于09-12 14:22 1828次阅读
    开放原子开源大赛<b class='flag-5'>openEuler</b> AI应用挑战赛等你来挑战

    基于ebpf的性能工具-bpftrace脚本语法

    bpftrace 通过高度抽象的封装来使用 eBPF,大多数功能只需要寥寥几笔就可以运行起来,可以很快让我们搞清楚 eBPF是什么样的,而暂时不关心 eBPF复杂的内部机理。由于
    的头像 发表于09-04 16:04 761次阅读
    基于<b class='flag-5'>ebpf</b>的性能工具-bpftrace脚本语法

    基于ebpf的性能工具-bpftrace

    在前面我已经分享了关于 ebpf入门的文章: 基于ubuntu22.04-深入浅出 eBPF。 这篇文章介绍一个基于 ebpf技术的强大工具--bpftrace。 在现代计算机系统中,了解系统的内部
    的头像 发表于09-04 16:02 549次阅读
    基于<b class='flag-5'>ebpf</b>的性能工具-bpftrace