服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-08-29 更新于 2026-08-29 简米科技 3,099 字 7 分钟阅读

低延迟网卡与内核旁路在交易链路中如何落地,有何优势?

导读交易链路的延迟瓶颈往往不在应用代码,而在于数据从网卡到应用的路径——低延迟网卡和内核旁路技术,就是要在这条路径上做减法,我们直接给出结论:落地低延迟交易系统,核心是“网卡硬件卸载”与“用户态协议栈”的协同,而非单纯更换某一块硬件,低延迟网卡与内核旁路的原理联动低延迟网卡到底解决了什么问题普通网卡接收数据后,需要……

交易链路的延迟瓶颈往往不在应用代码,而在于数据从网卡到应用的路径低延迟网卡和内核旁路技术,就是要在这条路径上做减法,我们直接给出结论:落地低延迟交易系统,核心是“网卡硬件卸载”与“用户态协议栈”的协同,而非单纯更换某一块硬件。

低延迟网卡与内核旁路的原理联动

低延迟网卡到底解决了什么问题

普通网卡接收数据后,需要经过内核协议栈、中断处理、Socket缓冲等多层拷贝,才能到达交易应用程序,业内专家指出,这一路径在极端情况下可能消耗数十微秒,而行情行情数据在极速交易场景下,每一微秒都关乎排队顺序。

低延迟网卡(如基于Solarflare和Mellanox芯片的方案)通过硬件时间戳、TCP卸载引擎和可编程流水线,将原本由CPU承担的协议处理任务下沉到网卡内部,更关键的是,这类网卡支持内核旁路(Kernel Bypass),允许应用程序绕过操作系统内核,直接与网卡硬件交换数据。

内核旁路的三种主流路径

当前交易链路中,主流的旁路技术路径有三条:

  • DPDK(数据平面开发套件):Intel主导的开源方案,通过轮询模式驱动替代中断,并在用户态实现完整的报文收发循环,它最灵活,但需要业务代码深度适配。
  • OpenOnload:Solarflare网卡专属的用户态协议栈,对现有TCP应用几乎零改造,通过LD_PRELOAD方式将内核Socket调用重定向到用户态处理。
  • RDMA(远程直接内存访问):主要用于节点间低延迟传输,配合RoCE或InfiniBand网卡,在极速交易中常用于行情分发总线。

行业共识认为,DPDK适合自研交易系统的核心链路,OpenOnload适合快速改造存量应用

极速交易场景中DPDK与内核旁路如何选型

TCP方案与UDP方案的差异化选型

在极速交易实践中,选型的第一依据是

低延迟网卡与内核旁路在交易链路中如何落地,有何优势?

业务是走TCP还是UDP

场景 推荐技术路径 原因
订单报盘(TCP) 低延迟网卡 + OpenOnload或DPDK用户态TCP栈 保持TCP可靠性,同时砍掉内核拷贝
行情接收(UDP多播) DPDK直接接管网卡,自定义组播过滤逻辑 多播报文量极大,需要零拷贝批量处理
内部极速总线(节点间) RDMA(RoCE) 端到端延迟可控制在1-2微秒

以订单报盘为例,国内期货市场的CTP柜台通常走TCP通道,如果团队短期无法重构网络模块,用Solarflare网卡 + OpenOnload 是性价比极高的改造路径,只需在启动脚本中加一行环境变量,应用代码几乎不用动,而若从零自建极速柜台,直接基于DPDK + 用户态TCP协议栈(如F-Stack或Seastar)能获得更彻底的延迟控制。

选型时的性能验证清单

不要只信厂商白皮书,落到测试环境里跑这三步:

  1. 延迟基准测试:用硬件的硬件时间戳统计从网卡收包到应用收到数据的时延,分别测P50、P99和P999。
  2. 多核扩展性测试:重点观察多队列(RSS)是否均匀分布到不同CPU核,避免所有中断或轮询扎堆在同一物理核。
  3. 退避与恢复测试:模拟行情峰值流量下的丢包率,以及CPU忙等待时的稳定性。

交易链路软硬件一体化的落地实操步骤

硬件层调优(BIOS、NUMA、PCIe)

很多团队买了昂贵的低延迟网卡,却忽略了主板和CPU层面的噪音干扰。

  • 在BIOS中关闭C-States和P-States动态调频,将CPU锁定在高频档位,避免延迟抖动。
  • 把网卡插在直连CPU的PCIe插槽(看主板说明书确认),避免经过PCIe Switch增加跳数。
  • 通过numactl --hardware查看网卡所在NUMA节点,将业务线程绑定到同一节点的物理核心。
  • 低延迟网卡与内核旁路在交易链路中如何落地,有何优势?

网卡层配置

以最常见的Solarflare或Mellanox网卡为例,安装驱动后按以下路径操作:

  • 开启硬件时间戳ethtool -T eth0确认支持),用于精确测量报盘延迟。
  • 关闭中断合并(coalescing),网卡收到报文后立刻触发处理,不攒批,命令参考:ethtool -C eth0 rx-usecs 0 tx-usecs 0
  • 调整Ring Buffer大小,在行情洪峰时防止丢包,命令参考:ethtool -G eth0 rx 4096

软件层部署(DPDK绑定与队列映射)

以DPDK为例,部署流程遵循以下步骤:

  1. 绑定网卡到用户态驱动:用dpdk-devbind.py将网卡从内核驱动解绑,绑定到igb_uiovfio-pci
  2. 预留大页内存:在/etc/sysctl.conf中配置vm.nr_hugepages=1024,并在DPDK初始化时指定--huge-dir
  3. 多队列与核绑定:为每个网卡队列分配一个专用CPU核,通过--lcores参数固定线程与核的映射。

完成后,用pktgen-dpdk灌入真实行情流,观察延迟抖动曲线,如果P99比P50高出较多,优先检查是否存在NUMA跨节点访问CPU核被系统进程抢占

低延迟网卡报价与整体改造成本如何权衡

硬件侧成本

低延迟网卡的价格差异巨大,入门级支持内核旁路的网卡报价在数千元区间,而旗舰款带精确硬件时间戳和可编程逻辑的型号,价格可达数万元甚至更高,但这笔投入通常是一次性的。

软件侧隐藏成本

比网卡报价更值得关注的是人力成本,DPDK改造成本最高,因为需要吃透报文收发全流程;OpenOnload相对温和,但对网卡品牌有绑定;RDMA则需要网络架构的配合,国内部分IDC机房对RoCE支持尚不完善,这一点在选址时就要确认。

低延迟网卡与内核旁路在交易链路中如何落地,有何优势?

不同规模团队的方案选择

  • 小型私募/自营团队:优先选择低延迟网卡 + OpenOnload,改造周期以周计,对现有系统侵入小。
  • 中型券商/期货公司技术部:自研DPDK证券交易网关,核心链路口径采用内核旁路,周边系统保留传统TCP。
  • 交易所/核心撮合机构:RDMA或专用硬件加速,追求极致的确定性延迟,此时网卡成本不再是首要因素,稳定性与可运维性权重更高。

低延迟网卡与内核旁路常见问题解答

为什么低延迟网卡价格差距如此之大?

因为不同型号的硬件时间戳精度、可编程报文解析能力、队列数量和驱动成熟度差异悬殊,入门级产品仅提供基础的旁路通道,而高端产品支持纳秒级时间同步和自定义匹配规则,这些特性在跨机房撮合和精确行情重放中不可或缺。

内核旁路改造需要团队成员具备什么能力?

需要熟悉Linux网络协议栈原理,掌握DPDK的Mbuf和Ring Buffer设计,具备C语言和性能分析工具(perf、bpftrace)的使用经验,团队不一定要有内核开发经验,但必须具备定位缓存未命中、中断调度抖动等底层性能瓶颈的能力。

内核旁路会牺牲TCP的可靠传输优势吗?

以OpenOnload为例,它只是将TCP协议栈从内核搬到了用户态,TCP的序列号、重传和拥塞控制逻辑完全保留,因此可靠性并未减弱,而基于DPDK自研协议栈的方案,则需要团队自行实现或引入成熟库来处理重传逻辑,这往往需要经过大量故障注入测试才能达到生产可用标准。

交易链路的每一微秒优化,背后都是软硬件栈的深度联动,低延迟网卡提供了旁路的基础,内核旁路则决定了你是否能真正用好这种能力,两者缺一不可,从稳妥的OpenOnload改造起步,逐步深入自研DPDK路径,是当下多数团队兼顾成本与性能的稳妥路径。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱