0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

openEuler倡議建立eBPF軟件發(fā)布標(biāo)準(zhǔn)

openEuler ? 來(lái)源:openEuler ? 作者:openEuler ? 2022-12-06 10:29 ? 次閱讀

eBPF 是一個(gè)能夠在內(nèi)核運(yùn)行沙箱程序的技術(shù),提供了一種在內(nèi)核事件和用戶(hù)程序事件發(fā)生時(shí)安全注入代碼的機(jī)制,使得非內(nèi)核開(kāi)發(fā)人員也可以對(duì)內(nèi)核進(jìn)行控制。隨著內(nèi)核的發(fā)展,eBPF 逐步從最初的數(shù)據(jù)包過(guò)濾擴(kuò)展到了網(wǎng)絡(luò)、內(nèi)核、安全、跟蹤等,而且它的功能特性還在快速發(fā)展中,早期的 BPF 被稱(chēng)為經(jīng)典 BPF,簡(jiǎn)稱(chēng) cBPF,正是這種功能擴(kuò)展,使得現(xiàn)在的 BPF 被稱(chēng)為擴(kuò)展 BPF,簡(jiǎn)稱(chēng) eBPF。

如今 eBPF 被廣泛應(yīng)用在云原生、可觀測(cè)、性能調(diào)優(yōu)、安全、硬件加速等領(lǐng)域,并且其應(yīng)用場(chǎng)景還在快速擴(kuò)展,各種場(chǎng)景基于 eBPF 技術(shù)的創(chuàng)新 idea 呈現(xiàn)井噴現(xiàn)象,eBPF 的時(shí)代已經(jīng)來(lái)臨。

eBPF 技術(shù)現(xiàn)狀

雖然 eBPF 技術(shù)應(yīng)用呈現(xiàn)井噴現(xiàn)象,但是開(kāi)發(fā)、發(fā)布、安裝等相關(guān)的基礎(chǔ)技術(shù)出現(xiàn)碎片化現(xiàn)象,導(dǎo)致技術(shù)成果無(wú)法快速平移至行業(yè)客戶(hù)生產(chǎn)環(huán)境;相似 eBPF 技術(shù)應(yīng)用在重復(fù)實(shí)踐。這些問(wèn)題阻礙 eBPF 技術(shù)的普及與推廣。

如下圖所示,總結(jié)目前 eBPF 的開(kāi)發(fā)、發(fā)布方式基本可以劃分成 2 種技術(shù)路線:

開(kāi)發(fā)態(tài)、運(yùn)行態(tài)分離(典型代表 libbpf)

優(yōu)點(diǎn):ELF 文件形式(或者鏈接進(jìn)應(yīng)用程序)發(fā)布,運(yùn)行時(shí)輕量化,適合生產(chǎn)環(huán)境大規(guī)模應(yīng)用。

缺點(diǎn):應(yīng)用技術(shù)門(mén)檻高,且不具備可移植性(比如高內(nèi)核版本的 eBPF 程序無(wú)法移植至低內(nèi)核版本中)。

開(kāi)發(fā)態(tài)、運(yùn)行態(tài)融合(典型代表 BCC)

優(yōu)點(diǎn):源碼形式發(fā)布天然具備可移植性;封裝抽象運(yùn)行時(shí),提供高級(jí)語(yǔ)言 API,降低開(kāi)發(fā)難度。

缺點(diǎn):運(yùn)行時(shí)重型化,對(duì)生產(chǎn)環(huán)境要求較高(需要安裝開(kāi)發(fā)態(tài)一系列工具);高度抽象后,降低使用靈活度,不適合大型應(yīng)用開(kāi)發(fā)。

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

這兩種技術(shù)路線都存在弊端,隨著 eBPF 技術(shù)的發(fā)展,出現(xiàn) BumbleBee 、eunomia-bpf 等項(xiàng)目致力于綜合這兩類(lèi)技術(shù)路線的優(yōu)點(diǎn),但依舊缺乏對(duì) eBPF 基礎(chǔ)技術(shù)的整體規(guī)劃。

eBPF 發(fā)展展望

eBPF summit 2022 《The future of eBPF in the Linux Kernel》展望了 eBPF 的發(fā)展方向,具體的演進(jìn)方向包括幾個(gè)方面:

更完備的編程能力:當(dāng)前 eBPF 的編程能力存在一些局限性(比如不支持變量邊界的循環(huán),指令數(shù)量受限等),演進(jìn)目標(biāo)提供圖靈完備的編程能力。

更強(qiáng)的安全性:支持類(lèi)型安全,增強(qiáng)運(yùn)行時(shí) Verifier,演進(jìn)目標(biāo)是提供媲美 Rust 的安全編程能力。

更廣泛的移植能力:增強(qiáng) CO-RE,加強(qiáng) Helper 接口可移植能力,實(shí)現(xiàn)跨體系、平臺(tái)的移植能力。

更強(qiáng)的可編程能力:支持訪問(wèn)/修改內(nèi)核任意參數(shù)、返回值,實(shí)現(xiàn)更強(qiáng)的內(nèi)核編程能力。

概括其演進(jìn)目標(biāo)是希望將 eBPF 打造成一款針對(duì)內(nèi)核(包括硬件)運(yùn)行時(shí)的安全編程語(yǔ)言,通過(guò)該語(yǔ)言構(gòu)建 eBPF 軟件,用來(lái)承載內(nèi)核(或硬件)的能力。演進(jìn)結(jié)果產(chǎn)生一個(gè)有趣現(xiàn)象:按照傳統(tǒng)軟件類(lèi)型劃分方式,我們很難將 eBPF 軟件歸類(lèi)成應(yīng)用軟件或是系統(tǒng)軟件。所以,干脆將其定義成一種獨(dú)立軟件形態(tài):內(nèi)核態(tài)服務(wù)(eBPF as Service)。

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

eBPF Service 形態(tài)

建立 eBPF 行業(yè)標(biāo)準(zhǔn)的思路

eBPF 軟件有別于系統(tǒng)軟件、應(yīng)用軟件,從軟件自身特點(diǎn)而言,其應(yīng)具備符合其自身特點(diǎn)的開(kāi)發(fā)、編譯、打包、發(fā)布、安裝、升級(jí)等工具系列。

當(dāng)前 eBPF 的開(kāi)發(fā)框架、發(fā)布形式發(fā)展迅速,但也存在一些問(wèn)題,包括跨版本移植能力、多場(chǎng)景支持能力、開(kāi)發(fā)易用性、服務(wù)可獲得性等問(wèn)題。openEuler 可編程內(nèi)核 SIG 希望標(biāo)準(zhǔn)化 eBPF 軟件相關(guān)基礎(chǔ)技術(shù)(包括打包、發(fā)布、安裝、升級(jí)等),方便 eBPF 技術(shù)在各行業(yè)、場(chǎng)景的推廣。為此,由多家企業(yè)/高校在 openEuler 社區(qū)倡議建立行業(yè)標(biāo)準(zhǔn),通過(guò)標(biāo)準(zhǔn)化發(fā)布將內(nèi)核定制能力、硬件卸載能力向社區(qū)用戶(hù)提供性能加速、安全加固、智能觀測(cè)等服務(wù)。

預(yù)計(jì)我們將在 12 月份組織一次線上 meetup,當(dāng)前參與企業(yè)/組織包括天翼云、深信服、華為、西郵、中山大學(xué)、中科馭數(shù)、信通院、銳捷等,希望國(guó)內(nèi)對(duì) eBPF 技術(shù)有訴求、規(guī)劃的廠商加入本次 meetup,建立 eBPF 技術(shù)相關(guān)標(biāo)準(zhǔn),為 eBPF 技術(shù)應(yīng)用、科研提供較好的基礎(chǔ)平臺(tái)。

具體討論范圍劃分成三個(gè)方向:

eBPF runtime:負(fù)責(zé)提供具備可移植性的軟件安裝能力,軟件熱升級(jí)能力,包管理等能力。

eBPF Development Kit:負(fù)責(zé)提供一站式開(kāi)發(fā)、調(diào)試、編譯工具,提供具備跨體系、平臺(tái)移植能力的軟件包發(fā)布能力。

eBPF Service HUB:負(fù)責(zé)提供 eBPF Service 集市化管理,提供 eBPF Service 推送、分發(fā)等能力。

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

openEuler 可編程內(nèi)核 SIG 目標(biāo)

openEuler 可編程內(nèi)核 SIG 目標(biāo)之一就是推動(dòng) eBPF as Service 標(biāo)準(zhǔn)化工作,將內(nèi)核能力、硬件加速能力服務(wù)化、集市化,惠及更多的社區(qū)用戶(hù)。

與此同時(shí),openEuler 社區(qū)會(huì)將行業(yè)標(biāo)準(zhǔn)內(nèi)的一些基礎(chǔ)軟件、技術(shù)標(biāo)準(zhǔn)推送至 Linux 上游社區(qū),加強(qiáng) eBPF 技術(shù)生態(tài)建設(shè),提升國(guó)內(nèi) eBPF 技術(shù)在上游社區(qū)影響力。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3543

    瀏覽量

    93469
  • 云原生
    +關(guān)注

    關(guān)注

    0

    文章

    239

    瀏覽量

    7924
  • openEuler
    +關(guān)注

    關(guān)注

    2

    文章

    300

    瀏覽量

    5799

原文標(biāo)題:openEuler 倡議建立 eBPF 軟件發(fā)布標(biāo)準(zhǔn)

文章出處:【微信號(hào):openEulercommunity,微信公眾號(hào):openEuler】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    中軟國(guó)際參加openEuler 24.03 LTS版本發(fā)布會(huì)

    國(guó)產(chǎn)操作系統(tǒng)的發(fā)展再次迎來(lái)了重要里程碑,開(kāi)放原子開(kāi)源基金會(huì)openEuler社區(qū)在北京舉辦openEuler 24.03 LTS版本發(fā)布會(huì)。這場(chǎng)大會(huì)不僅是一個(gè)版本的發(fā)布儀式,更是一次技
    的頭像 發(fā)表于 10-10 11:23 ?344次閱讀

    潤(rùn)和軟件攜手業(yè)界伙伴在openEuler社區(qū)成立IDE-SIG

    經(jīng)OpenAtom openEuler(簡(jiǎn)稱(chēng)"openEuler")社區(qū)技術(shù)委員會(huì)討論決定,openEuler 社區(qū)正式成立 IDE-SIG。該組由華為技術(shù)有限公司、粵港澳大灣區(qū)
    的頭像 發(fā)表于 07-31 10:34 ?489次閱讀

    江波龍加入openEuler社區(qū),攜手歐拉生態(tài)共助存儲(chǔ)發(fā)展

    近日,江波龍受邀參加了openEuler24.03版本發(fā)布會(huì),見(jiàn)證這一全新版本發(fā)布。隨著新版本的推出,F(xiàn)ORESEEDDR4RDIMM和DDR5RDIMM內(nèi)存條產(chǎn)品迅速展開(kāi)了適配測(cè)試,并已正式通過(guò)
    的頭像 發(fā)表于 07-11 08:21 ?273次閱讀
    江波龍加入<b class='flag-5'>openEuler</b>社區(qū),攜手歐拉生態(tài)共助存儲(chǔ)發(fā)展

    openEuler 24.03 LTS Meetup:聚焦AI、嵌入式與分布式創(chuàng)新

    隨著OpenAtom openEuler(簡(jiǎn)稱(chēng)“openEuler”)24.03 LTS版本的發(fā)布,這一開(kāi)源操作系統(tǒng)再次成為業(yè)界的焦點(diǎn)。為了進(jìn)一步推廣與宣傳新版本帶來(lái)的特性和技術(shù)進(jìn)展,6月21日
    的頭像 發(fā)表于 06-24 10:08 ?363次閱讀

    潤(rùn)和軟件受邀參與openEuler 24.03 LTS發(fā)布

    近日,由OpenAtom openEuler(簡(jiǎn)稱(chēng)"openEuler")社區(qū)主辦的openEuler 24.03 LTS版本發(fā)布會(huì)(以下簡(jiǎn)稱(chēng)“發(fā)布
    的頭像 發(fā)表于 06-15 10:07 ?681次閱讀

    openEuler 24.03 LTS正式發(fā)布,首個(gè)AI原生開(kāi)源操作系統(tǒng)

    日,openEuler委員會(huì)主席江大勇正式對(duì)外發(fā)布openEuler首個(gè)AI原生開(kāi)源操作系統(tǒng)——openEuler24.03LTS版本。openE
    的頭像 發(fā)表于 06-15 08:36 ?565次閱讀
    <b class='flag-5'>openEuler</b> 24.03 LTS正式<b class='flag-5'>發(fā)布</b>,首個(gè)AI原生開(kāi)源操作系統(tǒng)

    eBPF動(dòng)手實(shí)踐系列三:基于原生libbpf庫(kù)的eBPF編程改進(jìn)方案簡(jiǎn)析

    在上一篇文章《eBPF動(dòng)手實(shí)踐系列二:構(gòu)建基于純C語(yǔ)言的eBPF項(xiàng)目》中,我們初步實(shí)現(xiàn)了脫離內(nèi)核源碼進(jìn)行純C語(yǔ)言eBPF項(xiàng)目的構(gòu)建。libbpf庫(kù)在早期和內(nèi)核源碼結(jié)合的比較緊密,如今的libbpf庫(kù)更加成熟,已經(jīng)完全脫離內(nèi)核源碼
    的頭像 發(fā)表于 03-19 14:19 ?664次閱讀
    <b class='flag-5'>eBPF</b>動(dòng)手實(shí)踐系列三:基于原生libbpf庫(kù)的<b class='flag-5'>eBPF</b>編程改進(jìn)方案簡(jiǎn)析

    基于原生libbpf庫(kù)的eBPF編程改進(jìn)方案

    為了簡(jiǎn)化 eBPF程序的開(kāi)發(fā)流程,降低開(kāi)發(fā)者在使用 libbpf 庫(kù)時(shí)的入門(mén)難度,libbpf-bootstrap 框架應(yīng)運(yùn)而生?;趌ibbpf-bootstrap框架的編程方案是目前網(wǎng)絡(luò)上看到的最主流編程方案。
    發(fā)表于 03-19 14:19 ?502次閱讀
    基于原生libbpf庫(kù)的<b class='flag-5'>eBPF</b>編程改進(jìn)方案

    openEuler安全配置基線標(biāo)準(zhǔn)首發(fā)

    、超聚變、華為等公司共同發(fā)布openEuler 安全配置基線標(biāo)準(zhǔn) v1.0》。 在當(dāng)今日益復(fù)雜的數(shù)字化環(huán)境中,操作系統(tǒng)安全已成為企業(yè)和個(gè)人必須面對(duì)的挑戰(zhàn),運(yùn)行環(huán)境的多樣性和不一致性使得安全加固、核查、巡檢等工作變得異常艱巨。為
    的頭像 發(fā)表于 01-04 13:43 ?637次閱讀
    <b class='flag-5'>openEuler</b>安全配置基線<b class='flag-5'>標(biāo)準(zhǔn)</b>首發(fā)

    openEuler Code Camp 圓滿(mǎn)舉辦

    ? ? 12 月 17 日,2023 開(kāi)放原子開(kāi)發(fā)者大會(huì) openEuler Code Camp 在無(wú)錫成功舉辦。此次盛會(huì)吸引了眾多行業(yè)領(lǐng)袖、前沿開(kāi)發(fā)者和用戶(hù)共襄盛舉,共同聆聽(tīng) openEuler
    的頭像 發(fā)表于 12-22 10:41 ?607次閱讀
    <b class='flag-5'>openEuler</b> Code Camp 圓滿(mǎn)舉辦

    天合光能等龍頭發(fā)布700W+光伏組件標(biāo)準(zhǔn)化聯(lián)合倡議,推動(dòng)700W+生態(tài)聯(lián)盟升級(jí)

    常州2023年12月21日?/美通社/ -- 12月11日,阿特斯、東方日升、TCL中環(huán)、天合光能、通威股份、正泰新能發(fā)布《關(guān)于推動(dòng)700W+光伏組件標(biāo)準(zhǔn)設(shè)計(jì)和應(yīng)用的聯(lián)合倡議》,約定700W+光伏
    的頭像 發(fā)表于 12-22 05:56 ?741次閱讀

    openEuler Code Camp圓滿(mǎn)舉辦

    12月17日,2023開(kāi)放原子開(kāi)發(fā)者大會(huì)openEuler Code Camp在無(wú)錫成功舉辦。此次盛會(huì)吸引了眾多行 業(yè)領(lǐng)袖、前沿開(kāi)發(fā)者和用戶(hù)共襄盛舉,共同聆聽(tīng)openEuler在推動(dòng)生態(tài)系統(tǒng)迅速發(fā)展
    的頭像 發(fā)表于 12-20 09:45 ?245次閱讀
    <b class='flag-5'>openEuler</b> Code Camp圓滿(mǎn)舉辦

    開(kāi)源共建 | 潤(rùn)和軟件閃耀操作系統(tǒng)大會(huì),openEuler社區(qū)貢獻(xiàn)與創(chuàng)新實(shí)踐雙雙獲獎(jiǎng)

    12月15-16日,以“崛起數(shù)字時(shí)代?引領(lǐng)數(shù)智未來(lái)”為主題的操作系統(tǒng)大會(huì)? openEuler Summit 2023在北京國(guó)家會(huì)議中心圓滿(mǎn)舉辦。大會(huì)由開(kāi)放原子開(kāi)源基金會(huì)、中國(guó)電子技術(shù)標(biāo)準(zhǔn)化研究院
    的頭像 發(fā)表于 12-19 15:55 ?306次閱讀

    OpenCV對(duì)openEuler提供上游原生支持

    2023年11月17日,OpenCV社區(qū)正式接納openEuler作為持續(xù)集成(Continuous Integration,CI)系統(tǒng)的操作系統(tǒng)之一,對(duì)openEuler提供上游原生支持
    的頭像 發(fā)表于 11-20 09:14 ?746次閱讀

    介紹一種基于eBPF的Linux安全防護(hù)系統(tǒng)

    針對(duì)操作系統(tǒng)、內(nèi)核安全,聯(lián)通云操作系統(tǒng)團(tuán)隊(duì)開(kāi)發(fā)了的一個(gè)基于 eBPF 的 Linux 安全防護(hù)系統(tǒng) safeguard,可以實(shí)現(xiàn)安全操作的審計(jì)攔截及安全防護(hù)功能。項(xiàng)目采用 libbpfgo 庫(kù)
    的頭像 發(fā)表于 11-07 17:43 ?788次閱讀
    介紹一種基于<b class='flag-5'>eBPF</b>的Linux安全防護(hù)系統(tǒng)