个人简历
About me
- 姓名: xxx
- 教育经历: xxxx大学 xx工程(2016 - 2020)
- GitHub: github.com/echoechoin
求职意向
- 意向岗位:网络数据面开发工程师
- 期望方向:基于 DPDK / VPP / eBPF 的高性能网络转发面开发
- 当前状态:在职
Skills
- 网络与转发技术:VPP(主要)、DPDK、Netfilter、eBPF(XDP/AF-XDP、TC)
- 编程语言:C、Python、Shell
- 系统与工具:Linux、Git、Docker、GDB、bpftrace
- AI辅助开发工具:Claude Code、Cursor、Codex
工作经历
xxxxxxxxxx科技股份有限公司(2020 - 至今)
岗位:数据面开发工程师
负责网络安全产品数据面转发组件的设计与开发,核心职责包括:
- 转发组件开发:主导将内核 Netfilter 转发逻辑迁移至用户态 VPP,负责 L2-L4 层转发特性的开发与维护,覆盖 VLAN/QinQ 解析、流表管理、流量限速、旁路阻断、反测绘等功能。
- 代理转发实现:维护 VPP 侧与内核侧两套代理方案,涵盖 NAT、tproxy + iptables、TC eBPF tproxy 等技术路线。
- 系统维护与调优:负责系统补丁管理、资源分配(CPU/内存/IRQ affinity)的配置化改造,减少不同硬件平台间的代码维护成本。
项目经历
VPP 高性能转发组件开发
背景:公司安全产品原基于内核 Netfilter 框架实现流量转发,内核模块 coredump 会导致整机重启,影响业务连续性。
目标:将核心转发逻辑从内核态迁移至用户态 VPP,降低故障爆炸半径,并在此基础上迭代 L2-L4 层转发特性。
技术方案:
- 将 Netfilter hooks 转发逻辑适配移植至 VPP plugin 框架
技术方案:
- 二层:实现基于VPP接口的 VLAN / QinQ 协议解析与处理
- 三层:实现流表维护与 hook 点暴露、流量统计与 DDOS 限速维护
- 四层:实现旁路阻断(TCP reset / UDP 端口不可达)、TCP 报文定制篡改、基于 UDP/ICMP/TCP 欺骗的 NMAP 反测绘
效果:
- 用户态 coredump 便于快速定位根因,排查效率相比内核崩溃显著提升。
- coredump 影响范围从内核级崩溃(整机重启)缩小为用户态进程重启,故障恢复时间从小时级降至分秒级
- 限速功能有效降低后端服务器因 DDOS 导致的崩溃频率
VPP 与 Suricata 零拷贝数据通道
背景:原有 VPP 与 Suricata 入侵检测引擎间的数据通道基于 pf_ring,存在额外的内存拷贝开销,制约检测吞吐。
目标:实现 VPP 到 Suricata 的零拷贝内存通道,消除数据传输瓶颈。
技术方案:基于 VPP 共享内存机制,设计零拷贝通道替代 kernel + pf_ring,Suricata 直接读取 VPP 内存中的数据包。
效果:消除数据通路上的内存拷贝操作,降低了 CPU 开销,提高了检测吞吐。
透明代理转发实现
背景:安全产品需要在不改变客户端配置的前提下,对特定流量进行代理转发。
目标:实现内核态与用户态两套透明代理方案,适配二层桥接和三层路由两种网络拓扑。
技术方案:
- 用户态:基于 VPP + 基于流表的 NAT + virtio tap ↔ kernel ↔ nginx 链路实现代理
- 内核态:基于 tproxy + ebtables + iptables,TC eBPF tproxy(仅做了调研)
效果:两套方案覆盖不同部署场景,实现客户端无感知的流量代理。
网络配置管理模块开发与维护
背景:安全产品同时存在 VPP 用户态与内核态两套转发面,网络配置(接口、路由、策略等)方式差异大,运维需要分别操作两套体系,效率低且易出错。
目标:实现一套统一的配置下发管理模块,提供后端管理逻辑与命令行操作入口。
技术方案:
- 后端:基于 Python 实现配置解析、校验与下发逻辑
- CLI:基于 Python 实现命令行管理工具,覆盖配置查询、修改、回滚等日常操作
效果:运维人员无需感知底层是 VPP 还是内核转发面,一套命令即可完成两套体系的网络配置,减少重复操作,降低配置出错概率。
XDP + VPP + Suricata 高可用旁路方案调研
背景:Suricata 协议解析场景复杂、边界案例多,coredump 概率较高。当前 Suricata 挂死后,VPP 侧流量转发也会异常,影响业务连续性。
目标:当 Suricata 异常时,保障基础流量转发不中断,Suricata 恢复后自动切回完整检测链路。
技术方案:基于 XDP (AF-XDP) 实现故障旁路机制——正常路径下流量经 XDP 分发至 VPP + Suricata 进行检测转发;当检测到 Suricata 挂死时,XDP 直接将流量旁路到内核协议栈,保底转发;待 VPP 与 Suricata 重启恢复后,XDP 重新将流量切回 VPP 路径。
效果:完成方案调研与技术验证,性能测试满足要求。Suricata 故障时基础转发能力不丢失。由于国产网卡对 AF-XDP 适配较少,目前尚未投入生产环境,待国产网卡驱动完善后即可落地。
开源贡献
- util-linux:基于 AI 辅助编码参与 util-linux 项目开发 https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/log/?qt=author&q=WanBingjiang
- VPP / XDP 项目代码提交: https://gerrit.fd.io/r/q/author:614699596%2540qq.com https://github.com/xdp-project/xdp-tutorial/commits?author=echoechoin
- vpp-plugins:VPP 插件集合,支持 CPU 负载模拟、流表追踪、链路状态监控等功能 https://github.com/echoechoin/vpp-plugins