OpenVPN通过TCP还是UDP:区别是什么,我应该如何选择?

Shanika W.

By Shanika W. . 30 3 月 2024

网络安全分析师

Miklos Zoltan

Fact-Checked this

如果你经常使用VPN,你可能知道几乎所有VPN供应商都提供OpenVPN协议,因为OpenVPN是一个安全可靠的开源解决方案。

传输控制协议(TCP)和用户数据报协议(UDP)都是建立在互联网协议之上,用于通过互联网发送数据包的协议。它们也是OpenVPN可以操作的主要传输协议。这两种网络协议都提供隐私和安全性。

许多VPN供应商允许用户选择使用哪种协议。是的,每种协议都有其优点和缺点,但选择哪种协议完全取决于您的偏好。虽然没有哪个选项在所有方面都优于另一个,但在选择最佳协议之前,您应该考虑您的使用和安全需求。

这篇文章将给你一个关于选项、优点、缺点以及何时使用特定协议的基本理解。

摘要:本文探讨了用于跨互联网传输数据包的两个主要协议:传输控制协议(TCP)和用户数据报协议(UDP)。
这两种协议都增强了隐私和安全性,并被OpenVPN实施。TCP以其面向连接的协议而闻名,提供稳定的连接并确保数据的成功传输。

另一方面,UDP在不建立连接的情况下操作,提供比TCP更快的传输速度,尽管可靠性降低。在TCP和UDP之间的选择取决于个人需求和偏好。

文章深入探讨了每种协议的优缺点,提供了详细的见解以帮助您做出明智的选择。

OpenVPN通过TCP还是UDP

介绍传输控制协议(TCP)

TCP是一种有状态或面向连接的协议,允许网络中的设备之间进行通信。一旦它从应用层接收到消息,就会在将它们分割成数据包后转发到网络。

TCP确保连接建立并稳定维持,直到数据包传输完成。这就是为什么它是面向连接的。

一旦数据包在另一端被接收,发送端就会等待接收端的确认,然后再发送下一个数据包。这种确保数据接收的保证使得这种VPN协议成为最可靠的一个。

让我们看看TCP提供的好处。

TCP的优点

  • 面向连接 – TCP被认为是一种面向连接或有状态的协议。它建立连接,并在整个会话中维持连接,直到接收方成功完成消息发送。
  • 确认序列 – TCP以其确认序列行为而闻名。它会等待另一端对每个数据包的确认,然后再发送下一个。如果等待结束时没有收到确认,它会重新发送相同的数据包。
  • 分段序列 – 消息被分割成数据包,然后编号。TCP在发送前会将它们重新组合成正确的顺序。如果因为网络问题接收到的数据包顺序不正确,发送方可以轻松地按编号将它们排序。
  • 绕过严格的防火墙 – 使用TCP VPN隧道轻松绕过即使是最严格的防火墙。它们通常不会被阻止,因为它们在常见端口上运行,如80或443。
  • 高兼容性 – TCP是互联网中使用最广泛的协议;几乎所有网络都确保了与它的广泛兼容性。

是的,TCP可以完成任务,但您可能需要考虑它的一些缺点。

TCP的缺点

  • 高开销和延迟 – TCP连接的开销相当大,因为每传输一个数据包就需要一个确认。接收方应该总是向发送方发送确认,以接收其他数据。
  • 此外,如果您在实时会议或VoIP中经历连接丢失,TCP会让人难以忍受,因为它会不断重传丢失的数据。因此,如果您使用TCP,接收数据时会有一定的延迟或滞后。

关于TCP的结论

TCP是互联网上最可靠、最常用的协议。这可能已足够成为选择TCP而非UDP的理由。

这主要是因为TCP的错误纠正和数据流控制机制。它们确保发送方发送的数据包能够无损坏且以正确的顺序被其预期的接收者接收。

这就是使连接无错误的原因。

正如提到的,TCP会等待接收方确认数据包已成功接收,然后再发送下一个。

换句话说,您可以依靠TCP成功传递消息。因此,如果您寻求一个可靠且稳定的连接,TCP可能是理想的选择。

介绍用户数据报协议(UDP)

由于TCP的速度问题,您可能会偏好选择其他协议而非OpenVPN。UDP可能是一个不错的选择,因为它可以省略TCP中的特定步骤。

虽然UDP是另一种流行的互联网协议,但它只在特定情况下使用。UDP和TCP的主要区别在于UDP没有错误纠正机制。

UDP被认为是无状态或无连接通信,发送方和接收方之间不需要事先通信就可以建立连接。

它提供校验和以检查数据完整性,以及端口号来处理接收数据端的功能——或者在这种情况下,是一个数据报。

让我们看看UDP带来的各种优势。

UDP的优点

  • 适用于流媒体和在线游戏 – 对于需要低延迟的应用程序,如游戏或VoIP,以及视频或音频流媒体,UDP是理想的选择。即便有时会经历连接丢失,相比于传输时间敏感数据的延迟,数据丢失可能是更好的选择。
  • 高速度和性能 – 由于UDP在数据传输中涉及的步骤较少,它比TCP要快得多。这里不需要确认就可以继续连接,你可以更快地接收和发送数据。
  • 节省带宽 – UDP不涉及错误校正。即使数据包在传输途中丢失,也不会重新传输。这为你节省了大量带宽。

高速度固然好,但代价是什么呢?现在让我们来看看UDP的缺点。

UDP的缺点

  • 连接不可靠 – 在这里,无论是在建立连接之前还是在管理连接时,都不会进行握手对话。因此,连接不可靠,你将面临潜在网络中的威胁。
  • 数据包丢失 – UDP不保证数据报的成功传递和排序。这就是为什么我们说它没有错误校正功能。你可能会经历数据丢失,但它们不会像TCP中那样被重新传输。
  • 兼容性较差 – 在实施网络审查的国家,VPN流量被封锁。通过UDP的OpenVPN连接可能会失败,因为它们受到限制,用它绕过防火墙不会那么容易。

关于UDP的结论

现在应该很明显了,选择UDP的快速连接有其后果。除非你在寻找更高的性能和快速的协议,否则选择TCP可能会更好。

与TCP数据报不同,UDP数据报不包含序列号来排序接收的数据包。因此,用户可能会使用其他应用程序和UDP来重新排序数据包。

然而,如果你在与实时服务交互,如游戏、实时会议和VoIP,切换到UDP会更好。这样,它不会处理延迟的数据,确保你享受高性能。

难怪一些最快的VPN供应商选择将UDP作为其与OpenVPN的默认配置协议。这是OpenVPN本身对这两种协议的说法:

我该选择哪个?TCP 还是 UDP?

这取决于你的需求。

这里有一个可靠性与速度之间的权衡。例如,如果速度是你的首要考虑因素,那么 UDP 是你的最佳选择。使用 UDP,流式传输高清电影和在线游戏会更加便捷。

如果你更重视可靠性,那么就选择 TCP 吧。你可能会体验到较慢的数据传输速度,但 TCP 被许多互联网服务所使用,因此得到了许多人的信任。

当你遇到连接问题时,也可以从默认的 UDP 配置切换到 TCP。

不过,在着手协议之前,更换端口,因为连接类型往往不会引起太多连接问题,问题通常是因为 ISP 阻止了 VPN 端口。

TCP 中的慢速传输也可能取决于你与 VPN 服务器的距离。如果你选择离你最近的 VPN 服务器,那么慢速连接将会大幅减少。

配置 ExpressVPN 与 OpenVPN

ExpressVPN 是业内最佳的 VPN 提供商。像许多 VPN 应用程序一样,当协议选项设置为“自动”时,ExpressVPN 默认使用 OpenVPN。ExpressVPN 的网站建议用户可以通过更改设置来选择最佳协议。这只是一个两步过程:

1. 转到选项。

2. 选择你偏好的协议。

在 TCP 端口 443 上运行 OpenVPN 与政府

审查

通过 TCP 运行 OpenVPN 还有额外的优势。这是关于如何利用 TCP 端口 443 来打败政府审查的。

我们很多人都知道,像中国这样的一些国家,喜欢审查互联网并跟踪公民的互联网流量。这些政府会屏蔽不遵守其政策或不分享其信仰的网站。

幸运的是,如果你通过 TCP 使用 OpenVPN,政府几乎不可能阻止你。这就是许多人使用 VPN 的原因:为了绕过政府的防火墙。因为这些政府知道了这种对策,它们也会封锁 VPN。

你可能已经注意到,安全网站的 URL 以 HTTPS:// 开头。它们使用 SSL 或安全套接字层,一种标准的安全技术,来加密服务器和用户之间传输的数据。如今,几乎所有的网站都使用 SSL。

由于 SSL 的高度普及,使用这项技术的网站被认为是不可屏蔽的。即便是中国,也可能发现它们难以屏蔽。

由于在构建 OpenVPN 时使用了 OpenSSL 库,将 TCP 配置为使用 443 端口简直是小菜一碟。但这还不是最激动人心的部分。最棒的是,SSL 不仅使用任何协议和端口,而且使用 TCP 协议在 443 端口上。

因此,当 VPN 在 443 端口上通过 TCP 使用 OpenVPN 时,你的 VPN 流量看起来就像普通的 SSL 流量。由于数据被加密,无法识别这些数据。

在 TCP 端口 443 上运行 OpenVPN 将大大增强你的整体安全性和数字防御的强度。

最后的思考

只要 TCP 提供数据包的保证交付、可靠性、错误纠正等等,它就是主导协议。

但是要记住成本:延迟和额外的开销。即使 VPN 提供商将 UDP 作为他们的默认配置,尽管它不可靠且无连接。

选择对你来说理想的东西并不必须复杂。这只取决于你是优先考虑速度还是可靠性。

Leave a Comment