# VM UDP Fast Path

在使用 Surge 网关模式接管下游设备时，如果某些设备运行了大量使用 UDP 的 P2P 应用（如 BT 下载、游戏平台启动器、直播客户端等），可能会在 Dashboard 中瞬间产生海量连接。这不仅会拖慢 Surge 的整体处理速度，在极端情况下甚至可能导致 macOS 资源耗尽，使 Surge 被系统强制重启。

## 问题成因

Surge 作为工作在四层的代理，对每一个「四元组」不同的 UDP 流（源地址 / 源端口 / 目标地址 / 目标端口）都会按一个独立连接进行管理。\
对于普通应用而言，即便使用 UDP，通常也只会维持少量逻辑连接，这一开销是完全可接受的；但对 P2P 应用来说，在数秒内就可能产生上千个逻辑连接，显著放大了连接管理成本。

## UDP Fast Path 机制

为应对上述情况，我们引入了 UDP Fast Path 防御机制。当检测到某个客户端在短时间内新建了大量 UDP 连接时（**1 秒内 ≥ 10 个** 或 **10 秒内 ≥ 30 个**），Surge 会对该客户端启用 UDP Fast Path，将其 UDP 流量退化为仅进行 L3 转发处理。

在 UDP Fast Path 模式下：

* 每个数据包只做最小化的三层转发处理，不再为每个四元组建立独立连接；
* 处理性能极高，理论上可轻松超过物理网卡的带宽极限；
* 大幅降低连接管理与系统资源消耗，不再需要担心 P2P 连接风暴拖垮系统。

## 注意事项

1. **绕过代理**：\
   启用 UDP Fast Path 的数据包会被直接转发，**不会经过代理规则和策略处理**。
2. **关键端口与 FakeIP 保护**：\
   为避免影响正常应用，对以下 UDP 流量**始终使用常规模式处理**，不会进入 Fast Path：
   * 目标端口号 **小于 1024** 的 UDP 数据包；
   * 目标地址为 **FakeIP** 的 UDP 数据包。
3. **仅适用于 Surge Gateway VM**：\
   UDP Fast Path 仅在配合 **Surge Gateway VM** 使用时生效，对增强模式接管无效。
4. **按设备单独开关**：\
   自 Surge Mac 6.4.2 起，Dashboard 中新增了按设备单独关闭 UDP Fast Path的开关。\
   你可以根据需要，为特定设备单独启用或禁用 UDP Fast Path，以在性能与可控性之间取得平衡。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kb.nssurge.com/surge-knowledge-base/zh/technotes/udp-fast-path.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
