用一条桥接连接承载多个隧道
理解 NPS 如何在一条 NPC 桥接连接中承载多个业务连接及其故障影响
NPS 的业务转发默认使用多路复用,不需要在 Web 或配置文件中另行开启。NPC 与 NPS 建立数据桥接后,多个 TCP、HTTP(S)、SOCKS5 等业务连接会作为独立逻辑流共享这条连接。
这样做的作用
- 减少每个业务连接都重新穿过 NAT、代理或防火墙建立控制通道的开销。
- 根据测得的延迟和传输速度动态调整逻辑流窗口。
- 每个逻辑连接仍可独立关闭,不需要为每条隧道建立常驻桥接。
故障影响
共享也意味着数据桥接断开时,其中承载的所有活动业务连接都会一起中断。NPS 与 NPC 每 5 秒交换一次探测包,连续未收到响应达到阈值后关闭数据桥接;NPC 随后重新连接,但 SSH、数据库、WebSocket 等原业务连接需要应用自行重建。
阈值配置见调整断线检测时间 。它不是单条业务连接的空闲超时,也不会仅关闭某一条隧道。
性能与排障
大带宽或高时延链路应先保持默认值,通过真实业务压测观察吞吐、延迟和重连。高并发时检查 Linux 并发连接调优 、CPU、内存、文件描述符和网络丢包。
不要在没有网络证据时随意降低 Linux 的 tcp_retries1、tcp_retries2 等全局重传参数,它们会影响主机上所有 TCP 应用。频繁出现整个客户端的连接同时中断时,检查 NPC/NPS 日志中的 ping timeout、桥接链路丢包、防火墙空闲超时和 NAT 映射,而不是逐条排查内网目标。