当前位置: 首页 > article >正文

Cilium + ebpf 系列文章- XDP (eXpress data Path)(四)

前言:

        现有网络容器的性能消耗与通信简单流程:

        1、只要是Pod都有自己的网络命名空间。

        2、Pod的网络命名空间由Pod内的容器使用并共享但是由暂停容器(Pause Container)管理。

        3、Pod内的容器网络通过veth_pair对与主机网络命名空间打通。

        上面是第一层消耗。

        4、当Pod要访问其他Pod的时候,必然要经过网桥或者隧道,mca-vlan与host network场景暂时不讨论。

        上面是第二层消耗。

        5、当你的数据包到达其他节点的kube-proxy时,kube-proxy拦截,iptables查表。

        上面是第三层消耗。

        6、回包的同时会把上面3层消耗每个再*2.

ebpf技术可以将XDP类型的ebpf程序附加在物理/虚拟网卡侧,即数据包都还没有到达内核的网络数据盏之前进行拆包!通过XDP_PASS XDP_DROP动作来提前过滤数据包。

下面为演示的demo:

#include <linux/bpf.h>
#include <bpf/bpf_helpers.h>


http://www.kler.cn/a/318338.html

相关文章:

  • AndroidStudio-常用布局
  • 安装SQL server中python和R
  • 亲测有效:Maven3.8.1使用Tomcat8插件启动项目
  • Android 10 默认授权安装app运行时权限(去掉运行时所有权限授权弹窗)
  • Spring-Webflux + Reactor + Netty 初体验
  • 探索Pillow库:Python图像处理的瑞士军刀
  • 基于jsonpath的JSON数据查找
  • golang学习笔记1-go程序执行流程
  • element-plus表格操作
  • C++之哈希 --- 哈希的应用(位图布隆过滤器)
  • 【鸿蒙】HarmonyOS NEXT开发快速入门教程之ArkTS语法装饰器(上)
  • 【软件测试】详解测试中常用的几种测试方法
  • 从更底层的角度理解网站的访问过程
  • 算法打卡:第十一章 图论part05
  • 关于Python升级以后脚本不能运行的问题
  • MongoDB-aggregate流式计算:去重操作
  • Linux下go环境安装、环境配置并执行第一个go程序
  • python多继承 - 子类指定父类
  • 【教程】鸿蒙ARKTS 打造数据驾驶舱---前序
  • 两数之和、三数之和、四数之和
  • 在mac中如何使python3作为默认版本
  • 用canvas画一个验证码
  • 从 Oracle 集群到单节点环境(详细记录一次数据迁移过程)之一:生产环境与目标服务器详情
  • 基于物联网的火灾报警器设计与实现(论文+源码)
  • 高维数据和超高维数据
  • CX8903:电动车手机充电器降压芯片,搭配协议实现快充