QUIC 的 P2P 愿景 (2024)
A P2P Vision for QUIC (2024)

原始链接: https://seemann.io/posts/2024-10-26---p2p-quic/

## QUIC 与 NAT 穿越的未来 多年来,通过网络地址转换器 (NAT) 和防火墙建立直接连接(使用 STUN、ICE 和 TURN 等协议)一直很复杂。本文探讨了现代传输协议 QUIC 如何为点对点 (p2p) 网络提供一个简化的解决方案。 传统上,p2p 连接依赖于通过 STUN 发现公网 IP 地址,协调“打孔”以打开防火墙路径(ICE),并在无法建立直接连接时回退到中继服务器(TURN)。QUIC 通过**连接迁移**简化了这一点,允许连接切换到新的 IP 地址——这对于更改网络的移动设备非常有用。 QUIC 通过探测新路径来实现类似“打孔”的效果,并且可以利用新的 **QUIC 地址发现**机制来取代 STUN,安全地交换地址信息。此外,QUIC 可以利用 **基于 HTTP 的 UDP 代理**(通过 RFC 9298 和相关草案)进行可靠的中继,在无法建立直接连接时使用,甚至允许节点通过代理 *监听*。 虽然仍在不断发展,但这种基于 QUIC 的方法有望为 NAT 穿越提供更强大、更高效的解决方案,从而可能简化 p2p 网络开发并改善连接性。 持续的工作包括为实现更高的弹性和性能而调整系统以适应多路径连接。

这个Hacker News讨论围绕着一个使用QUIC(一种现代传输协议)的P2P(点对点)实现方案。核心挑战在于QUIC要求所有端点都使用证书颁发机构(CA)的TLS证书——这使得在没有企业CA或集成Let's Encrypt的情况下,直接P2P连接变得困难,增加了复杂性。 然而,评论者指出,任何基于UDP的协议都可以通过双向认证实现P2P,并且NAT穿透(hole-punching)在UDP和TCP中都是可能的,尽管后者可能不太可靠。一位用户甚至分享了一个2013年的Hacker News讨论链接,详细介绍了罕见的“TCP同时打开”场景,在这种场景下双方同时发起连接。 这次对话突出了在QUIC和其他传输协议之上构建P2P系统的技术障碍和潜在解决方案。
相关文章

原文