返回

文章详情

高性能策略路由的IPsec网状SD-WAN

Hacker News2026年10月18日 14:31

..::----::.. .:-++++++++++++++-:. :=+++-:.. ..:-+++=: :=++-. .-+-. .=++-. :::::: . .::. :++=. :+#@@@@@@@@#+: *@@@@= :++= -#@@%*+-::-+*%@@#- :@@@@@@ .++= .*@@#- -#@@*. .#@@@@* -++. .#@@= =@@#. -++: .++- *@@- :++: -@@* :++. .@@# -%@@@@%- #@@. .--: -++ .++: %@@@@@@% +@@: ++- -++ %@@@@@@% +@@: ++- :++. .=+-. -%@@@@%- #@@. .++: .++- :%@@@%: :++: -@@* -++. -++. =@@@@@= =@@#. .++- .++= +%@%+ -#@@*. =++. :++= =*+-::-+*%@@#- =++: :++=. .#@@@@@@@@#+: .=++: .=++-. :::::: .-++=. :=++-. .-++=: :=+++-:.. ..:-+++=: .:-++++++++++++++-:. ..::----::.. High performance policy routed IPsec mesh SD-WAN 为什么使用ranet3协议和路由 为什么使用ranet3标准协议 只需使用标准的IKEv2、ESP、Babel和SRv6。 互操作性检查: strongSwan IKEv2和ESP会话与Ed25519密钥 BIRD Babel路由具有RTT指标,匹配路由 Linux内核se6local在SRv6标头上执行 ranet3 写入 支持IKEv2与Ed25519密钥、Babel和SRv6的任何其他路由器或交换机也应该能够互操作。 常见的网状VPN和SD-WAN工具(Tailscale,NetBird,ZeroTier,Nebula等)只承认运行自己代理的节点,而ranet3在同一主机上与它们并行运行。 延迟路由 Babel测量每个链接的往返时间,并在直接链接较慢时通过中继进行路由。 ABC40 ms40 ms265 ms 通过B的选择路径,80 ms 直接链接,265 ms RTT持续测量,丢包和停机计入链接。 流量总是走最快的路径,一旦直接链接再次更快,就会恢复到直接链接。 段路由 源和目标前缀上的策略将流量通过所选的途径发送并在所选的出口处退出。 段路由在用户空间中实现,甚至可在没有支持的macOS上工作。 路径点终点出口终点.DT46笔记本电脑互联网默认路由 路径点可以按用户指定的任何顺序出现,并且可以重复,例如 A->B->C->B->D,以 D作为出口。 基准测试 测量于2026年10月15日 基准 流量平面 运行在协议和密码上 ranet3 用户空间 ESP在UDP中,AES-256-GCM wireguard-go 用户空间 WireGuard,ChaCha20-Poly1305 WireGuard内核 WireGuard,ChaCha20-Poly1305 IPsec内核(xfrm) ESP在UDP中,AES-256-GCM 95%的10 GbE有效负载限制,单流单向 8.39的8.84 Gbit/s 1.6-2.1倍内核WireGuard吞吐量 所有6个测试 1.2-1.5倍wireguard-go吞吐量 所有6个测试 1.91-4.96 ms RTT p99在饱和状态下 内核数据平面 0.85-2.51 ms饱和状态下3次运行的中位数 正面对正 数据平面 吞吐量更高为好 CPU每Gbit/s更低为好 延迟 p99更低为好 wireguard-go用户 1.2-1.5倍更好 0.8-0.9倍更好 0.2-1.0倍混合 WireGuard内核 1.6-2.1倍更好 0.6倍更好 1.9-2.4倍更糟 IPsec内核 1.8-3.9倍更好 1.1-1.7倍更糟 1.6-2.0倍更糟 每个范围是ranet3的结果除以其他数据平面的结果,通过下面的6个测试。 内核与用户空间 用户空间数据平面将每个数据包复制到自己的进程中,并通常期望比内核数据平面慢。 单流,Gbit/s 单向 双向 线的份额 单向 线 limit (10 GbE) 8.84 18.76 * 100% 内核,最好选择2 5.35 7.46 61% 用户空间,wireguard-go 6.77 10.78 77% 用户空间,ranet3 8.39 14.87 95% * 无隧道的普通TCP 内核WireGuard保持在单向5.1到5.4 Gbit/s。 内核IPsec保持在4.0到4.7 Gbit/s,因为其单个流量落在1个NIC接收队列上。 完整结果 吞吐量,饱和 Gbit/s 接收 更高为好 ranet3用户 wireguard-go用户 WireGuard内核 IPsec内核 单流,输出 8.39 6.77 5.35 4.67 单流,输入 8.37 6.95 5.10 4.44 单流,双向 14.87 10.78 7.46 4.67 8流,输出 8.52 6.06 5.14 3.97 8流,输入 8.48 6.72 5.12 4.06 8流,双向 15.79 10.33 7.41 4.10 CPU成本在3 Gbit/s提供 忙核每Gbit/s,两个主机 较低为好 ranet3用户 wireguard-go用户 WireGuard内核 IPsec内核 单流,输出 0.909 1.079 1.511 0.672 单流,输入 0.925 1.092 1.525 0.664 单流,双向 0.898 0.996 1.504 0.525 8流,输出 0.996 1.213 1.740 0.845 8流,输入 0.990 1.182 1.748 0.866 8流,双向 0.948 1.087 1.500 0.620 在“双方”行中,内核IPsec仅承载4.67和4.14的6 Gbit/s提供。 饱和状态下的延迟 RTT p99,毫秒 较低为好 ranet3用户 wireguard-go用户 WireGuard内核 IPsec内核 单流,输出 2.01 2.10 1.07 1.04 单流,输入 1.91 2.18 0.85 1.23 单流,双向 3.17 3.15 1.65 1.76 8流,输出 2.77 16.40 1.26 1.53 8流,输入 2.86 5.09 1.17 1.50 8流,双向 4.96 7.69 2.48 2.51 设置 硬件,软件和方法 设置 硬件 主机 2 x Dell PowerEdge C6420 处理器 Intel Xeon Gold 6130,16核32线程 内存 192 GiB NIC Intel X710 连接器 SFP+ 带宽 10 Gbit/s每个方向 交换机 两个主机在同一台Dell S5296F-ON上 软件 操作系统 Debian 13 内核 Linux 6.12.111 wireguard-go 0.0.20250522 wireguard-tools 1.0.20260223 iproute2 7.1.0 iperf3 3.21 方法 流量 TCP使用立方体在内部 MTU 1400 流 1和8 负载 饱和状态以进行吞吐量和延迟,每个3 Gbit/s

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

☕请我喝杯咖啡