DPDK-TCP-UDP_Protocol_Stack
Simple protocol stack based on dpdk(使用dpdk搭建协议栈)
为了对协议栈了解更深入一些,借助dpdk-19.11实现一个简易协议栈。
本项目要完成的工作如下:
- dpdk相关配置
- 实现协议栈,主要针对TCP与UDP,包含三次握手、四次挥手
- 实现服务端socket系统调用api:socket、bind、listen、accept、recv、send、recvfrom、sendto、recv、send、close
- 实现epoll多线程
使用
- 环境:安装dpdp-19.11,多队列网卡
- make clean;make
- sh run.sh
测试
- 在虚拟机中执行该代码
- windows中可以使用类似网络调试助手的工具软件给虚拟机发送tcp/udp数据包
测试时,需要在客户端增加一条arp表项,目的是为了客户端能根据mac地址将数据包发送至服务端
具体方法如下:
https://www.sohu.com/a/502006584_121258626
注意
本项目目前正在逐步优化,欢迎同学们指出不足哈!