ebpf简述

2023-12-05

0 什么是ebpf?

Ebpf可以简单的理解成在linux内核(当然windows也已经支持)里添加了一个虚拟机,开发者编写的代码可以安全地在内核虚拟机中运行,这样可以更高效地、安全地实现内核级程序的编写,ebpf 的map机制可以实现内核态和用户态程序的交互。进而 将linux内核变成了一个可编程的内核

图片

可编程的力量

20 年前,网页几乎完全是用静态标记语言 (HTML) 编写的。网页基本上是一个文档,应用程序(浏览器)能够显示它。但是如今的网页已经姿态万千,并孕育了众多网页应用。是什么促成了这种演变?答案是浏览器引入 JavaScript,具有了可编程性。ebpf之于linux,就像JavaScript之于浏览器,尽管Ebpf是一个比较新的技术,但是其光芒必定万千。

在这里插入图片描述

1 为什么叫ebpf?

在有ebpf之前有cbpf(classic bpf),BPF是Berkeley Packet Filter的缩写(伯克利包过滤器),cbpf主要是用于网络包过滤,如熟知的wireshark、tcpdump等都是使用了cbpf。Cbpf已经在内核版本中发布,因为担内核社区不接受ebpf,所以使用并拓展了bpf,并命名为ebpf(extend bpf) eBPF: Unlocking the Kernel 。ebpf在网络包过滤功能的基础上又新增了系统运行监测(性能分析)、数据包处理(安全过滤)、虚拟化等功能。Ebpf其实是借鉴了bfp的思想,但是技术架构上ebpf却与cbpf非常不同。

2 ebpf的能力

网络 :在内核空间绕过协议栈直接处理网络包,加速网络数据包的处理性能;

可观测性 :在内核中直接收集系统调用信息,且不需要应用程序做改动;

追踪与剖析 :将ebpf程序挂载到跟踪点及内核和应用程序探测点,进行跟踪和剖析,解析系统及性能问题;

安全 :动态分析内核和应用的行为,监测各类高危的事件,并执行相应的安全策略;

3 ebpf在各个大厂中的应用

首先需要说明的是ebpf应用正在被很多大厂应用eBPF Case Studies, 如google用其做安全审计、数据包处理、性能监控;Meta(facebook)使用其处理和负载均衡数据包。从侧面也说明了ebpf在实际生产中价值。Ebpf是践行SDN的重要工具。
在这里插入图片描述

参考:
eBPF在云原生中的运用-倪朋飞
ebpf.io

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ebpf简述 的相关文章

  • EasyV不止可视化|易知微带你打开可视化工具新大门!

    可视化工具的发展已经成为当今信息技术领域中的一股不可忽视的力量 如今 人们有了更多的数据和信息需要处理 因此需要一种更加高效 更加直观的手段来呈现这些信息 而可视化工具应运而生 这些工具包括多种类型的图表 地图 仪表板等 随着技术不断革新和
  • 博士论文答辩通过但需改论文【保姆教程】

    大家好 今天来聊聊博士论文答辩通过但需改论文 希望能给大家提供一点参考 以下是针对论文重复率高的情况 提供一些修改建议和技巧 博士论文答辩通过但需改论文 背景介绍 博士论文答辩是博士研究生学术生涯的重要环节 也是对其研究能力和学术水平的全面
  • zephir 实现PHP封装成C语言扩展文件so实现demo简单案例【菜鸟级教程】

    从github 安装 zephir phar 最新网址 https github com zephir lang zephir releases 将文件改名 zephir phar 改名为 zephir 放到 bin 目录下 查看是否安装
  • ERP软件定制开发对企业的优势|app小程序搭建

    ERP软件定制开发对企业的优势 app小程序搭建 随着科技的不断发展 企业管理也面临了更多的挑战 为了更好地适应市场需求和提高运营效率 越来越多的企业开始选择使用ERP软件进行管理 然而 市场上现成的ERP软件并不能完全满足企业的需求 因此

随机推荐

  • 2024年甘肃省职业院校技能大赛(中职教师组)网络安全竞赛样题卷③

    2024年甘肃省职业院校技能大赛 中职教师组 网络安全竞赛样题卷 2024年甘肃省职业院校技能大赛 中职教师组 网络安全竞赛样题卷 A模块基础设施设置 安全加固 200分 A 1任务一 登录安全加固 Windows Linux A 2任务二
  • 部门新来的00后太猛了,老油条表示真干不过...

    在程序员职场上 什么样的人最让人反感呢 是技术不好的人吗 并不是 技术不好的同事 我们可以帮他 是技术太强的人吗 也不是 技术很强的同事 可遇不可求 向他学习还来不及呢 真正让人反感的 是技术平平 却急于表现自己的人 每天加班到12点 在老
  • js 解析表达式,js的算法案例

    大家好 给大家分享一下js 解析表达式 很多人还不知道这一点 下面详细解释一下 现在让我们来看看 01 模拟实现 new 首先 这里呢 先简单说明一下 new 关键字的基本作用 有以下三点 创建一个新的对象 把Person方法的原型 pro
  • 一致性哈希算法,hash(key)是负值时,会出现异常吗?

    一致性哈希算法 hash key 是负值时 会出现异常吗 一致性哈希算法中 哈希函数hash key 的返回值通常是一个非负整数 如果hash key 返回负值 则可能会出现一些问题 例如无法正确地映射对象到哈希环上的位置 或者无法正确地找
  • MySQL中,什么是 crash-safe?

    crash safe 是指发生宕机等意外情况下 服务器重启后数据依然不会丢失的情况 在MySQL中 crash safe 是指数据库系统在发生意外崩溃或故障时 能够保证数据的一致性和持久性 具体来说 一个 crash safe 的数据库系统
  • 【源码篇】基于SpringBoot+thymeleaf实现的大学生自习室座位预定系统

    文章目录 系统介绍 管理员 学生 技术选型 成果展示 账号地址及其他说明 系统介绍 基于SpringBoot thymeleaf实现的大学生自习室座位预定系统是为座位管理打造的一款在线管理平台 它可以实时完成信息处理 使其系统化和规范化 系
  • 关于#java#的问题:该文件夹下有两个文件file1和file2,请将files文件夹从原位置整体复制到其他磁盘中

    现有一个文件夹files 该文件夹下有两个文件file1和file2 请将files文件夹从原位置整体复制到其他磁盘中 import java io File import java io IOException import java n
  • 请老师修改论文怎么说【一文读懂】

    大家好 今天来聊聊请老师修改论文怎么说 希望能给大家提供一点参考 以下是针对论文重复率高的情况 提供一些修改建议和技巧 请老师修改论文怎么说 一 引言 在学术领域 论文的质量和准确性是至关重要的 当我们在撰写论文时 可能会遇到各种问题 如语
  • python使用numpy实现高斯核并对数据进行高斯滤波

    自定义高斯核 size为一个数表示一维高斯核 两个数的列表表示二维高斯核 import numpy as np def gaussian filter size sigma if type size int siz int size 1 2
  • MySQL中,redolog 和 binlog 有什么区别?

    MySQL中 redolog 和 binlog 有什么区别 概述 redo log 重做日志 和 binlog 归档日志 都是 MySQL 的重要的日志 它们的区别如下 redo log 是物理日志 记录的是 在某个数据页上做了什么修改 b
  • MySQL乐观锁有什么优点和缺点?

    因为没有加锁所以乐观锁的优点就是执行性能高 它的缺点就是有可能产生 ABA 的问题 ABA 问题指的是有一个变量 V 初次读取的时候是 A 值 并且在准备赋值的时候检查到它仍然是 A 值 会误以为没有被修改会正常的执行修改操作 实际上这段时
  • 数据库SQL中的三个语句:DROP、TRUNCATE 、DELETE 以上三种的区别? 效率?

    数据库SQL中的三个语句 DROP TRUNCATE DELETE 以上三种的区别 效率 DROP TRUNCATE和DELETE是数据库SQL中用于删除数据或表的三种不同语句 它们之间有以下区别 1 DROP DROP用于删除整个表 包括
  • js必须掌握的知识点,javascript基础笔记

    本篇文章给大家谈谈js必须掌握的知识点 以及javascript基础笔记 希望对各位有所帮助 不要忘了收藏本站喔 JavaScript 1 JavaScript介绍 Java 语言诞生主要是完成页面的数据验证 因此它运行在客户端 需要运行浏
  • MySQL中,优化锁方面你有什么建议?

    MySQL中 优化锁方面你有什么建议 思路 尽量使用较低的隔离级别 精心设计索引 并尽量使用索引访问数据 使加锁更精确 从而减少锁冲突的机会 选择合理的事务大小 小事务发生锁冲突的几率也更小 给记录集显示加锁时 最好一次性请求足够级别的锁
  • 数据库日期类型dateTime,java用Date接收结果多一个.0

    问题 MySQL数据库表里数字段时date类型的字段 Java用string接收会莫名多一个 0 解决方法 1 字段换成date 2 用substring截取
  • C#有像Java ThreadLocal的类似实现吗?

    在C 中 可以使用 ThreadLocal
  • 低成本扩大输入分辨率!华科大提出Monkey:新的多模态大模型

    点击下方 卡片 关注 CVer 公众号 AI CV重磅干货 第一时间送达 点击进入 gt 超分和Transformer 微信交流群 扫码加入CVer知识星球 可以最快学习到最新顶会顶刊上的论文idea 和CV从入门到精通资料 以及最前沿项目
  • [转]HTML中 ;      等6种空白空格的区别

    HTML提供了5种空格实体 space entity 它们拥有不同的宽度 非断行空格 nbsp 是常规空格的宽度 可运行于所有主流浏览器 其他几种空格 ensp emsp thinsp zwnj zwj 在不同浏览器中宽度各异 nbsp 它
  • 创建java类,抽象类,实例化类源码演示

    创建一个名叫Example java类文件 定义一个常量PI 3 14 定义一个圆类Circle 包含属性半径radius等 定义两个抽象方法 一个是计算面积的getArea 一个是计算周长的getPer 在main方法中 创建Circle
  • ebpf简述

    0 什么是ebpf Ebpf可以简单的理解成在linux内核 当然windows也已经支持 里添加了一个虚拟机 开发者编写的代码可以安全地在内核虚拟机中运行 这样可以更高效地 安全地实现内核级程序的编写 ebpf 的map机制可以实现内核态