- 2024-04-14eBPF xdp和tc区别
xdptc层次网卡驱动层数据链路层位置进入Linux网络协议栈之前在Linux网络协议栈中方向只有ingress有ingress和egress修改支持修改报文支持修改报文,有skb结构,修改更方便cilium加载eBPF到虚拟网卡tc上来实现流量转发。
- 2024-03-26BTF:实践指南
BPF是Linux内核中基于寄存器的虚拟机,可安全、高效和事件驱动的方式执行加载至内核的字节码。与内核模块不同,BPF程序经过验证以确保它们终止并且不包含任何可能锁定内核的循环。BPF程序允许调用的内核函数也受到限制,以确保最大的安全性以防止非法的访问。尽管BPF为编写事件
- 2024-02-05各类eBPF程序的触发机制及其应用场景
每一类eBPF程序都有哪些具体的类型,以及这些不同类型的程序都是由哪些事件触发执行的。1、跟踪类eBPF程序跟踪类eBPF程序主要用于从系统中提取跟踪信息,进而为监控、排错、性能优化等提供数据支撑。比如,我们前几讲中的HelloWorld示例就是一个BPF_PROG_TYPE_KPROBE类型的跟
- 2023-12-18Flannel,Calico 和 Cilium的优缺点和差别
Flannel常见采取UDPOverlay方案,VxLAN性能比TUN强一点,一个是内核态一个是用户态。Calico是一个纯三层的方案,不需要Overlay,基于Etcd维护网络准确性,也基于Iptables增加了策略配置Cilium就厉害了,基于eBPF和XDP的方案,eBPF/XDP处理数据包的速度可以和DPDK媲美,零拷
- 2023-09-21书籍推荐
《Linux高性能网络详解:从DPDK、RDMA到XDP》:1.Linux网络的瓶颈当Linux在20世纪90年代初设计开发Linux内核时,还无法预料到未来30年全球互联网的规模,所以也不可能按现在的数据流量去做设计。而Linux内核的基本结构也保持到现在。因此问题就在于Linux内核网络协议栈的
- 2023-08-05Cilium系列-13-启用XDP加速及Cilium性能调优总结
系列文章Cilium系列文章前言将Kubernetes的CNI从其他组件切换为Cilium,已经可以有效地提升网络的性能.但是通过对Cilium不同模式的切换/功能的启用,可以进一步提升Cilium的网络性能.具体调优项包括不限于:启用本地路由(NativeRouting)完全替换KubeProxyI
- 2023-07-28龙蜥白皮书精选:面向 HTTP 3.0 时代的高性能网络协议栈
文/高性能网络 SIG01背景概述 随着互联网特别是移动互联网的快速发展,对互联网通信协议提出了新的诉求。经过多年的发展,QUIC协议在2021年正式被IEFT标准化,成为HTTP3的标准传输层协议。QUIC是基于UDP实现的面向连接可靠有序的传输协议。相比于TCP在内核态实现,QUIC
- 2023-06-29探索eBPF:Linux内核的黑科技
Linux内核在2022年主要发布了5.16-5.19以及6.0和6.1这几个版本,每个版本都为eBPF引入了大量的新特性。本文将对这些新特性进行一点简要的介绍,更详细的资料请参考对应的链接信息。总体而言,eBPF在内核中依然是最活跃的模块之一,它的功能特性也还在高速发展中。某种意义上说,eBPF正朝着一
- 2023-02-21内核通用xdp
目前想做个功能,一些简单转发就在内核中直接转发走,所以想到了XDP,但是呢,部分网卡驱动不支持XDP程序,能不能在netif_recv收包接口或者驱动的hook钩子挂载一个通用接口来处理XD
- 2023-02-01幂等性
幂等性执行一次的结果跟执行多个的结果是一样的。表单重复提交的常见应用场景参考文章:https://www.cnblogs.com/xdp-gacl/p/3859416.html
- 2022-09-18glb-director 部署
源码下载:https://github.com/github/glb-director.git2018年8月8日,GitHub发布了开源负载均衡组件GitHubLoadBalancerDirector(GLB)Director,GLB是GitHub针对裸机
- 2022-09-03简析XDP的重定向机制
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。一.XDPSocket示例解析源码参见:https://
- 2022-08-27【转载】AF_XDP技术详解
原文信息作者:rexrock出处:https://rexrock.github.io/post/af_xdp1/目录1.用户态程序1.1创建AF_XDP的socket1.2为UMEM申请内存1.3向AF_XDPsocket注册UMEM1.4