[发明专利]运行在用户空间的基于EBPF的软件容器实现方法在审

专利信息
申请号: 202110040004.2 申请日: 2021-01-12
公开(公告)号: CN112817597A 公开(公告)日: 2021-05-18
发明(设计)人: 谭宇翔;郝振石 申请(专利权)人: 山东兆物网络技术股份有限公司
主分类号: G06F8/41 分类号: G06F8/41;G06F11/36
代理公司: 青岛发思特专利商标代理有限公司 37212 代理人: 孙佩佩
地址: 255000 山东*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 运行 用户 空间 基于 ebpf 软件 容器 实现 方法
【说明书】:

发明涉及一种运行在用户空间的基于EBPF的软件容器实现方法,属于数据处理技术领域;包括:步骤S1、在用户空间建立的容器端接收由在用户空间建立的客户端发送的bpf命令数据流;步骤S2A、通过验证器执行静态分析、指令验证、Map和函数关联;步骤S3A、若验证器验证通过则通过解析器将eBPF程序加载至目标平台,否则通过实时编译器编译为目标平台的机器码后加载至目标平台;步骤S2B、通过支持并发的共享Map完成bpf命令的横向访问和纵向访问;步骤S3B、将访问的bpf命令加载至目标平台的bpf命令加载至目标平台;将EBPF思想在用户层面实现,以解决现有EBPF技术只能应用在Linux内核中的不足。

技术领域

本发明涉及一种运行在用户空间的基于EBPF的软件容器实现方法,属于数据处理技术领域。

背景技术

EBPF技术基于BPF技术,BPF技术1992年诞生于美国伯克利大学,是BerkerlyPacket Filter的缩写,用于数据包过滤领域,一段bpf代码是由若干bpf指令组成,一个bpf指令共64位,有四部分组成,如图1所示。

通过多个bpf指令的精心编译可以组成一个自恰的有限状态机,其输入参数为数据包的首地址及长度,返回值是true或false可通过成熟的第三方库(例如libpcap)将格式友好的语法编译为bpf指令例如:

tcp port 80 or udp dst port 8000

可编译为

由于BPF的格式和逻辑都简单,因此非常适合做JIT(Just In Time)实时编译器,将BPF代码实时编译为目标平台的机器码,因此2000年开始各大cpu计算平台都推出了BPF的JIT版本,因此古老的BPF技术又焕发了新的活力。

虽然BPF的诞生年代久远,但是它的简洁有力的设计思想一直没有随着时代的跨越而消失,反而更加具有吸引力,2011年,随着Linux内核3.0的发布,将BPF全面JIT化,两年后Alexei Starovoitov对BPF进行彻底地改造,并增加了新的功能,改善了它的性能,这个新版本被命名为eBPF(意思是“extended BPF”),与此同时,将以前的BPF变成cBPF(意思是“classic”BPF)。几乎是同年,llvm推出了ebpf的后端编译器,让快速编写部署eBPF程序成为可能。

EBPF指令也是64位,但是其意义有了很大的变化,如图2所示。

通过图2可知,改造后的eBPF指令体积没变,但是结构更加类似现代处理器指令,由此构建的状态机也不仅仅是进行网络数据包的简单判断,而是能够可判断,可分支,可循环,可跳转和跳回(支持函数调用),可支持栈操作(取决于寄存器的选择)。又加了MAP的映射机制,与用户层程序接口简洁清晰。

再加上更新eBPF程序的“可注入”属性,使得热更新都成为可能,实际上eBPF刚推出时,在很短的时间内就在内核的各个子系统中进行了应用,从网络数据处理到文件系统追踪,从系统安全到容器应用,eBPF几乎可适应任何场景。

以上就是eBPF的应用背景。

EBPF技术的不足:

○EBPF技术只能应用在Linux内核中,其功能更新和bug修复只能等着新内核版本的发布。

○EBPF内核中的Map类型单一,只有数组,链表,哈希表和相关变种的类型,对于其他类型的Map比如ACL,LPM,PIPE等等都没有实现。

○虽然EBPF在内核的多个子系统中应用,但其应用特性还只是泛泛,深度上的应用还需要时间考量。

○对于并发的支持不好,Map对于并发的适配性和准确度存疑。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东兆物网络技术股份有限公司,未经山东兆物网络技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110040004.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

400-8765-105周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top