基于 TCP 的 OpenVPN 与 UDP

开放VPN可以运行在传输控制协议(传输控制协议)或UDP协议(用户数据报协议)传输。选择使用哪一个是一个高度技术性的问题,而且大多数 VPN 提供商(这是可以理解的)将其隐藏在“幕后”。

然而,一些 VPN 提供商更愿意让客户选择他们喜欢的连接协议。原因是,虽然两者都有明显的优点和缺点,但选择“最好的”是很困难的,因为这取决于互联网的用途,以及对个人最重要的是什么——速度或可靠性。

区别

TCP 与 UDP、OpenVPN 与 TCP、UDP 与 OpenVPN...到底有什么区别?

传输控制协议一般来说,是互联网上最常用的连接协议,因为它提供纠错(因此被称为“有状态协议”)。每当计算机发送一个网络包使用 TCP,它在重新发送数据包(如果未收到确认)或发送下一个数据包(如果收到确认)之前等待数据包已到达的确认。

这意味着所有数据都有“保证交付”,使协议非常可靠,但在发送、确认、重新发送数据包等过程中会产生相当大的开销,使其速度相当慢。

UDP协议被称为“无状态协议”,因为它不执行此类纠错,只是简单地接收数据包,不进行重试。这使其速度更快,但可靠性较差。

  • 传输控制协议= 可靠
  • UDP协议= 快

使用哪一个?

因此,您使用哪一种取决于您最关心的是可靠性还是速度,一般来说,UDP 更适合流式传输 VoIP 和在线玩游戏。

然而,在实践中,TCP 实际减慢连接速度的程度可能很大程度上取决于其他网络因素,其中距离是最重要的。您距离 VPN 服务器的地理位置越远,TCP 数据包来回传输的距离就越远,因此您的连接速度就越慢。如果服务器相对较近,那么您可能不会看到太大的速度损失,同时受益于更可靠的连接。

也就是说,可能最好的一般建议是使用更快的 UDP 协议,除非您遇到连接问题,这是大多数 VPN 提供商默认采用的策略。

使用 TCP 端口 443 上的 OpenVPN 击败审查制度

当您连接到安全网站时,您的连接受到 SSL 加密的保护。您可以判断某个网站是安全的,因为它的 URL(网址)以 https: 开头,并且浏览器 URL 栏的左侧应该出现一个关闭的锁图标。传统上使用SSL的主要是银行、网上商店等,但随着公众对互联网安全的日益关注,SSL加密越来越普遍地部署在各类网站上。

SSL 是互联网安全的基石,任何阻止它的尝试都会有效地破坏互联网(这并没有阻止伊朗等国家的尝试!)。 SSL 在 TCP 端口 443 上运行。

OpenVPN(基于 OpenSSL 库)的有趣之处在于,配置为在 TCP 端口 443 上运行时,OpenVPN 流量看起来与常规 SSL 连接相同。这使得通过 TCP 端口 443 运行 OpenVPN 成为逃避审查的理想选择,因为:

  1. 使用 OpenVPN 而不是常规 SSL 是非常困难的
  2. 在不破坏互联网的情况下阻止几乎是不可能的。

某些自定义 VPN 客户端允许您选择 TCP 端口 443,或者通常可以手动配置(向您的 VPN 提供商询问设置。)