OpenVPN的TCP与UDP对比

更新时间

Top10VPN的编辑团队独立运作。如果您通过我们的链接购买VPN,我们可能会获得佣金。
经过Simon Migliano的事实核查

我们的结论

TCP和UDP都是用于在互联网上传输数据的网络协议。UDP速度更快且更高效,而TCP则更安全和可靠。OpenVPN可以使用这两种协议,但我们建议您首先尝试UDP,如果无法正常工作再切换到TCP。

什么是TCP?

TCP(传输控制协议)在两台设备之间建立连接,例如您的计算机和网络服务器。数据通过该连接进行发送。这就像一个电话通话,两个设备可以相互对话,以确认信息是否正确接收。

使用TCP时的特点:

  • 所有数据包确保被接收。如果接收方没有确认收到某个数据包,发送方会重新发送。
  • 数据包按顺序发送,以确保它们以相同的顺序到达接收方。
  • 如果接收方尚未准备好接收数据包,则不会发送数据包。

TCP是一种“面向连接”的协议,通过三次握手建立连接。这个过程包括以下数据包的交换:

  1. SYN(同步)数据包:客户端通过发送SYN数据包启动连接。该数据包包含客户端的初始序列号。
  2. SYN-ACK(同步-确认)数据包:服务器接收到SYN数据包后,响应一个SYN-ACK数据包,确认客户端的SYN,并包含服务器自己的初始序列号。
  3. ACK(确认)数据包:客户端向服务器发送ACK数据包,确认服务器的SYN-ACK。此时,连接建立,客户端和服务器可以开始交换数据。

这个三次握手确保了客户端和服务器都准备好进行通信,并同步用于跟踪数据的序列号,从而防止连接问题和数据丢失。

什么是UDP?

与TCP不同,UDP(用户数据报协议)是一种无连接协议。数据被简单地发送,但没有确认机制来确认数据是否正确接收。UDP有点像发送邮件:您将其放入邮筒,然后就不再考虑它。

使用UDP时的特点:

  • 数据包在传输过程中可能会丢失,发送方不会知道。
  • 发送到超负荷接收方的数据包将被丢弃(丢失),无法恢复。
  • UDP没有内置的丢失或损坏数据的恢复机制,但使用UDP的应用程序可以包含自己的恢复机制。

虽然UDP相对于TCP不可靠,但由于不需要建立和维护连接,因此UDP的速度快于TCP。它非常适合对延迟敏感的应用程序,如视频会议和在线游戏。

TCP与UDP的关键区别

尽管TCP和UDP都是促进主机间互联网通信的网络协议,但它们在数据传输方式上有显著区别。以下是这两种协议在实际应用中的五个关键区别:

1. UDP比TCP更快

我们对2024年排名前两位的VPN(ExpressVPN和NordVPN)进行了测试,以比较它们在使用OpenVPN协议时UDP和TCP的速度。通过连接我们位于美国的总部到位于美国、英国和澳大利亚的服务器,我们测量了每个VPN和协议的下载速度。

数据显示,UDP通常比TCP更快,随着服务器距离的增加,性能差距更为明显。因为TCP以有序、经过错误检查的流传输数据,需要重新传输任何丢失或损坏的数据包,这会增加延迟。相反,UDP的数据包头较小,允许每个连接有更多的有效载荷,从而实现更高的吞吐量。

2. TCP消耗的数据比UDP更多

由于TCP数据包头中的附加信息,TCP使用的数据比UDP多。每个通过互联网发送的数据包都有一个头部,包含将数据传送到正确位置所需的信息以及协议所需的任何附加信息。

尽管这使得TCP比UDP更可靠,但它的效率较低。TCP头部可以超过20字节,而UDP头部仅为8字节。

专家提示

校验和是对数据进行的两次计算:在发送之前和接收之后。如果接收端的结果不同,说明数据在传输过程中已损坏。

总结

在大多数情况下,UDP是VPN连接的最佳选择,因为其速度更快和数据开销更低。然而,在某些特定情况下,特别是当可靠性至关重要时,TCP可能是更好的选择。

何时使用每种协议的快速指南:

  • TCP:适用于需要稳定性的网络活动,如网页浏览(HTTP、HTTPS)、电子邮件(SMTP、IMAP/POP)、下载和上传(FTP)以及通过安全外壳(SSH)进行的远程计算机访问。
  • UDP:适用于速度关键的用例,如在线游戏、视频流、语音通话(VoIP)和物联网(IoT)设备(例如,偶尔发送数据的传感器)。

为什么值得信赖我们?

我们完全独立,自2016年以来一直在评测VPN。我们的建议基于我们的测试结果,并不受财务激励的影响。了解我们是谁以及我们如何测试VPN。

更新时间