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 | |--------------------------------------|
评论
lwIP开源TCP/IP协议栈
Lwip是一个非常优秀的开源TCP/IP协议栈。lwip提供三种API:1)RAWAPI2)lwipAPI3)BSDAPI。RAWAPI把协议栈和应用程序放到一个进程里边,该接口基于函数回调技术,使用
lwIP开源TCP/IP协议栈
0
uIP微型 TCP/IP 协议栈
uIP是专为8位和16位的嵌入式微控制器设计的微型TCP/IP协议栈,它采用BSD授权,具有良好的互操作性,并遵循RFC标准。uIP提供了网络通信所必须的协议,本身代码和占用的内存数都非常少-uIP的
uIP微型 TCP/IP 协议栈
0
phpstackPHP的TCP/IP协议堆栈
phpstackisaproof-of-conceptTCP/IPstackandwebserverwrittenentirelyinthePHPscriptinglanguage.TheTCP/IP
phpstackPHP的TCP/IP协议堆栈
0