第二章 物理层与数据链路层:交易所机房的布线艺术、光纤与铜缆的选择、低延迟网卡与交换机
聊到交易所的网络,很多人第一反应是「TCP 还是 UDP」、「组播怎么优化」、「FPGA 怎么加速」。这些当然重要。但我想说,如果你忽略了物理层和数据链路层,那就像盖摩天大楼却打歪了地基。
我在参与改造某家期货交易所的机房时,亲眼见过一个案例:上层代码优化了三个月,延迟降了 5 微秒。结果呢?机柜里一根光纤的弯曲半径过小,信号衰减直接吃掉了 8 微秒。嗯,白干了。所以这一章,咱们就踏踏实实把「地面」铺好。
2.1 布线艺术:不只是「把线连上」
交易所机房的布线,说白了就是一场与物理定律的博弈。光在光纤里跑,电在铜缆里跑,它们都有物理极限。
我个人的习惯是: 先画物理拓扑图,再画逻辑拓扑图。很多人反过来,结果线拉好了才发现,核心交换机和撮合引擎服务器隔了三个机柜,多走了 15 米线。这 15 米,在光纤里就是大约 75 纳秒的额外延迟。别小看这几十纳秒,高频交易里,这就是输赢的分界线。
2.2 光纤 vs 铜缆:怎么选?
这个问题我经常被问到。我的回答是:看距离,看成本,看功耗。
| 类型 | 传输距离 | 延迟(每米) | 抗干扰 | 典型场景 |
|---|---|---|---|---|
| 单模光纤(OS2) | 10km+ | ≈ 5 ns | 极强 | 跨机房、跨数据中心 |
| 多模光纤(OM4) | 100-400m | ≈ 5 ns | 强 | 同一机房内机柜间 |
| 高速铜缆(DAC) | ≤ 7m | ≈ 6 ns | 中等 | 机柜内服务器到交换机 |
| Cat6a 网线 | ≤ 100m | ≈ 5.5 ns | 弱 | 管理网络、非交易链路 |
我建议: 交易链路,能上光纤就上光纤。尤其是单模。为什么?因为单模光纤的色散最小,信号质量最好。我曾经在项目中遇到过,多模光纤在 300 米距离上,因为模式色散导致误码率升高,重传率飙升。换了单模,问题立刻消失。
但铜缆也有它的位置。机柜内,服务器到顶部交换机,距离通常不超过 5 米。这时候用 DAC 铜缆,成本低、功耗低、延迟也不差。你想想看,如果每个端口都用光模块,一个机柜几十台服务器,光模块的成本就够你喝一壶的。
2.3 低延迟网卡:从「通用」到「专用」
普通网卡,比如 Intel X710,做文件服务器没问题。但在交易所,它不够。为什么?因为它的硬件流水线是为「通用性」设计的,不是为「极致延迟」设计的。
低延迟网卡的核心差异在哪?我总结了三点:
- 内核旁路(Kernel Bypass): 数据不经过操作系统内核,直接从网卡到用户态。比如 Solarflare 的 ef_vi、Mellanox 的 DPDK 支持。
- 硬件时间戳: 网卡自己打时间戳,精度可达纳秒级。这对交易日志和合规审计至关重要。
- 可编程流水线: 比如 Netronome 的 Agilio,可以在网卡上做简单的报文过滤和转发,不占用 CPU。
我记得有一次,帮一家券商做延迟调优。他们用的是普通网卡,CPU 占用率 40%,延迟抖动很大。换了 Solarflare X2522 之后,CPU 占用降到 5%,延迟从 15 微秒降到 3 微秒。说白了,硬件选对了,优化事半功倍。
2.4 低延迟交换机:Cut-Through 是关键
交换机有两种转发模式:Store-and-Forward(存储转发)和 Cut-Through(直通转发)。
存储转发,交换机要收完整个数据帧,校验 CRC 无误后才转发。延迟 = 帧长度 / 带宽。一个 1500 字节的帧在 10G 链路上,延迟大约是 1.2 微秒。
直通转发,交换机只要读到目标 MAC 地址(前 14 字节),就开始转发。延迟固定,大约 200-400 纳秒。
你想想看,在交易所的撮合链路上,每一跳都省下 1 微秒,经过 5 跳就是 5 微秒。这差距,足够让一个订单从「成交」变成「被拒」。
我建议: 交易网络的核心交换机,必须支持 Cut-Through。比如 Arista 7130 系列、Cisco Nexus 3548。这些交换机还支持硬件级 PTP(精确时间协议),能把整个机房的时钟同步到纳秒级。
2.5 知识体系:一张图看懂
下面这张 SVG 图,是我梳理的本章核心逻辑。从物理介质到数据链路层,每一步的选择都影响最终延迟。
2.6 总结
物理层和数据链路层,听起来很「底层」,但恰恰是交易所网络优化的起点。布线省 1 米,网卡选对型号,交换机用 Cut-Through,这些加起来,轻松省下 5-10 微秒。而 10 微秒,在交易所的世界里,就是一座金山。
嗯,这一章就到这里。下一章咱们聊聊更「烧脑」的——如何用 FPGA 在网卡上直接解析金融报文。那才是真正的好戏开场。