1、基于 eBPF 的 VxLAN 性能加速及数据库应用-ONCache:将cache引入容器overlay网络第三届 eBPF开发者大会w w w.e b p f t r a v e l.c o m中 国 西 安林圣凯 上海交通大学李阳 上海星环科技有限公司第 三 届 e B P F 开 发 者 大 会研究背景 现有容器网络技术均未兼顾兼容性、灵活性与高性能/低开销等特性。灵活性兼容性高性能/低开销内核中报文的处理开销低;报文处理速度快支持各种通信协议应用开发与网络运维解耦合第 三 届 e B P F 开 发 者 大 会现有工作:兼容性+高性能/低开销容器应用与物理网络耦合限制了容器开发、部署的
2、灵活性灵活性兼容性高性能/低开销Node 1Podveth0.0172.16.3.2Eth0192.168.0.111172.16.3.2veth0.1Bridge172.16.3.2Bridge network容器独立IP物理网络负责路由容器IPNode 1PodEth0192.168.0.111192.168.0.111Host network容器使用主机IP容器应用需协商端口号第 三 届 e B P F 开 发 者 大 会现有工作:兼容性+灵活性灵活性高性能/低开销容器应用与物理网络之间解耦合隧道引入了显著开销Node 1Podveth0.0172.16.3.2Eth0192.168.0
3、.111172.16.3.2veth0.1Bridge192.168.0.111VXLAN TunnelOverlay network容器独立IP使用VXLAN等隧道技术二次封装报文35%65%兼容性第 三 届 e B P F 开 发 者 大 会现有工作:灵活性+高性能/低开销灵活性兼容性高性能/低开销容器应用与物理网络之间解耦合使用host socket取代隧道,不支持UDP,ICMP等协议难以实际落地Node 1PodSlimSocketEth0192.168.0.111192.168.0.111SlimRouterSlim 1容器自有IP利用中间层使容器仍可用自身IP建立连接通信时容器实
4、际直接用host网卡1 Zhuo,Danyang,et al.Slim:OS Kernel Support for a Low-Overhead Container Overlay Network.16th USENIX Symposium on Networked Systems Design and Implementation(NSDI 19).2019.第 三 届 e B P F 开 发 者 大 会ONCache:兼容性+灵活性+高性能/低开销灵活性兼容性高性能/低开销第 三 届 e B P F 开 发 者 大 会贡献一:定量分解Overlay网络开销 定量分解容器网络开销:Step
5、1:利用火焰图分析overlay网络开销来源Step 2:基于eBPF抓取关键函数执行时长Node 1Podveth0.0172.16.3.2Eth0192.168.0.111veth0.1BridgeVXLAN Tunnel第 三 届 e B P F 开 发 者 大 会贡献一:定量分解Overlay网络开销Node 1Podveth0.0172.16.3.2Eth0192.168.0.111veth0.1BridgeVXLAN Tunnel 定量分解结果:Overlay网络相关开销占据47%的egress路径开销;44%的ingress路径开销。容器Overlay网络确实会带来显著CPU开销
6、,从而影响性能。定量分解容器网络开销:Step 1:利用火焰图分析overlay网络开销来源Step 2:基于eBPF抓取关键函数执行时长第 三 届 e B P F 开 发 者 大 会贡献二:在容器网络引入Cache设计 贡献 总结出overlay开销的“不变性”在容器网络引入Cache设计Node 1Podveth0.0172.16.3.2Eth0192.168.0.111veth0.1BridgeVXLAN TunnelVXLAN路由与报文封装,机内转发处理主要基于IP地址报文过滤与防火墙处理主要基于“流”由源目端口+传输协议+源目IP定义发向同一目的容器IP的报文处理结果相同属于同一条“