项目博客系列
基于本仓库(DPDK 用户态 TCP/IP 协议栈 + WebSocket 客户端)的技术博客,共 4 篇。
目录
| # | 文章 | 主题 | 适合读者 |
|---|---|---|---|
| 01 | 从零实现一个用户态 TCP/IP 协议栈 | 架构设计、11 状态机、拥塞控制、阻塞式 Socket API | 想理解整体设计的读者 |
| 02 | 在自研 TCP 栈上跑通 WebSocket | RFC 6455 握手、帧编解码、掩码、粘包半包 | 对协议实现细节感兴趣的读者 |
| 03 | 微秒级性能优化实战 | P0-P4 优化历程、测量方法、反超内核 52% 的全过程 | 性能工程师、C 开发者 |
| 04 | 从实验代码到产品:DPDK 行情接入网关 | 延迟直方图、产品定位、部署与商用评估 | 产品经理、架构师 |
渲染说明
- 所有文档为 Markdown + Mermaid 图表 + ASCII 图,推荐在 GitHub / Gitea / Typora / VS Code(装 Markdown Preview Mermaid Support 插件)中阅读,图表会自动渲染。
- 文中的数据均来自仓库实测:见
PERF_REPORT.md、PUBLISH.md、README.md。 - 文中标注的源码位置(
src/tcp_input.c等)可直接跳转到仓库对应文件核对。
一句话速览
用 6000 行 C 语言 + DPDK 24.11 从零实现用户态 TCP/IP 协议栈与 WebSocket 客户端:
· 零内存拷贝(收发各 0 次)
· 零系统调用(收发各 0 次)
· 跨核数据传递 0.2 μs
· TCP 连接延迟 1.5 ms(内核 2.5 ms,快 40%)
· WS echo RTT 1.5 ms(内核 3.1 ms,快 52%)