DPDK-ANS基于 DPDK 的 TCP/IP 协议栈
ANS(Acceleted Network Stack) 是一个基于 DPDK 的 TCP/IP stack,可以运行在 linux userspace。用户可以自由添加、删除ether 接口和IP地址,添加、删除静态路由。
支持的环境
EAL is based on dpdk-1.7.0
Development enviroment is based on x86_64-native-linuxapp-gcc
TCP/IP stack is based on FreeBSD 10.0-RELEASE
支持的特性
Netdp initialize
Ether layer
ARP
IP layer
Routing
ICMP
TCP
UDP
Commands for adding, deleting, showing IP address
Commands for adding, deleting, showing static route
Testing
TCP 连接建立释放性能
|--------------------------------------|
| TCP Server accept performance |
|--------------------------------------|
| Linux with epoll | NETDP with epoll |
| (Multi core) | (one core) |
|--------------------------------------|
| 53k connection/s | 43k connection/s |
|--------------------------------------|
TCP 数据传输性能
一个socket接收190Mbyte tcp payload,一个socket发送130Mbyte tcp playload
Communication(synchronization) 0 runtime: 0.734931 s
Communication(synchronization) 1 runtime: 0.469566 s
Communication(synchronization) 2 runtime: 0.449729 s
Communication(synchronization) 3 runtime: 0.648432 s
Communication(synchronization) 4 runtime: 0.449422 s
Communication(synchronization) 5 runtime: 0.647259 s
Communication(synchronization) 6 runtime: 0.457027 s
Communication(synchronization) 7 runtime: 0.457691 s
Communication(synchronization) 8 runtime: 0.67568 s
Communication(synchronization) 9 runtime: 0.736285 s
三层转发性能
|--------------------------------------|
| L3 forwarding performance |
| (one lcore) |
|--------------------------------------|
| Packet size(byte)| Throughput(Mpps) |
|--------------------------------------|
| 64 | 3.682 |
|--------------------------------------|
| 128 | 3.682 |
|--------------------------------------|
| 256 | 3.683 |
|--------------------------------------|
| 512 | 2.35 |
|--------------------------------------|
| 1024 | 1.197 |
|--------------------------------------|
| 1500 | 0.822 |
|--------------------------------------|
评论
