使用 UDP/KCP 连接 NPS
在特定网络中用 KCP 替代 TCP 承载 NPC 与 NPS 的桥接连接
KCP 使用 UDP 承载 NPC 与 NPS 之间的桥接连接。在低丢包、低抖动且 UDP 畅通的专线或内网中,它可能降低部分交互延迟;公网、移动网络或受限网络不一定更快。
服务端配置
在 nps.conf 中设置并重启 NPS:
bridge_port 此时是 UDP 端口。需要同时修改云安全组、主机防火墙和容器端口发布,例如 Docker 使用 8024:8024/udp。
客户端配置
无配置文件模式:
配置文件模式:
两端协议必须一致。服务端切换后,所有 NPC 都必须改为 KCP;TCP NPC 无法连接 KCP 监听。
不兼容与排障
- KCP 不能使用基于 TCP 的端口复用 。
- TLS 桥接监听只用于 TCP,不能叠加到 KCP。
- NPC 的
proxy_url只用于 TCP 代理连接,不解决 UDP/KCP 被阻断的问题。 - 某些运营商、企业防火墙和云平台会限制 UDP,NAT 映射也可能更快失效。
切换前先从 NPC 所在网络测试服务端 UDP 可达,并保留回滚到 TCP 的维护窗口。上线后比较实际业务延迟、丢包、CPU 和重连次数;若日志持续出现 ping timeout,优先恢复 TCP,再排查 UDP 路径和 MTU。