一、什么是DPDK?
DPDK 全称是数据平面开发套件 (Data Plane Development Kit),由 6WIND,Intel 等多家公司开发,主要基于 Linux 系统运行,用于快速数据包处理的函数库与驱动集合,可以极大提高数据处理性能和吞吐量,提高数据平面应用程序的工作效率。
DPDK优点: 因为lvs是基于Linux内核的,而linux内核处理包的速度太慢(10G网卡3~4Mpps),特别是对小包的处理,导致了性能瓶颈。而利用DPDK技术可以绕过linux内核从而直接处理网络数据报,写的好的话可以达到线速(10G网卡14Mpps)。
二、DPVS介绍
DPVS
是基于DPDK的高性能第4层负载均衡器,它源自Linux Virtual Server LVS及其修改版本alibaba / LVS, 实现架构如下
三、主要功能
- L4负载均衡器,包括FNAT,DR,隧道,DNAT模式等。
- 从内部网络访问Internet的SNAT模式。
- FNAT模式下的NAT64转发可快速进行IPv6调整,而无需更改应用程序。
- 不同的调度算法,例如RR,WLC,WRR,MH(磁悬浮哈希),Conhash(持续哈希)等。
- 用户空间精简版IP堆栈(IPv4 / IPv6,路由,ARP,邻居,ICMP ...)。
- 支持不同IDC环境的KNI,VLAN,绑定,隧道。
- 安全方面,支持TCP代理,Conn-Limit,黑名单。
- QoS:流量控制。
四、DPVS 转发速度(pps)