UDP比TCP更快、更高效,因为它使用更少的数据来完成相同的任务。然而,TCP会跟踪所有数据包,并确保它们按正确的顺序交付,这使得TCP更加安全和可靠。如果你使用OpenVPN协议,我们建议你先尝试UDP,如果效果不好再切换到TCP。
UDP(用户数据报协议)和TCP(传输控制协议)是两种用于通过网络发送信息的通信协议。
在VPN软件中,OpenVPN协议需要使用UDP或TCP来在设备和VPN服务器之间发送数据。那么,它们之间有什么区别,哪个更适合你的VPN连接呢?
UDP和TCP的主要区别
- TCP在发送数据之前必须在发送方和接收方之间建立连接,而UDP可以在不建立通道或询问接收方是否准备好的情况下直接传输数据包。
- UDP比TCP更快,因为它不对数据包进行排序或错误检查。
- TCP比UDP更可靠。它提供错误检查并确保数据包按正确顺序传递给通信中国VPN。
- TCP比UDP略微更安全。由于TCP跟踪所有数据包,插入恶意数据的难度更大。
UDP和TCP的差异
尽管TCP和UDP都是通信协议,但它们的工作方式不同。
使用下表比较UDP和TCP的主要区别:
UDP | TCP | |
---|---|---|
工作方式 | 不建立连接 | 建立连接 |
速度 | 更快 | 更慢 |
可靠性 | 较低 | 较高 |
重新发送丢失的数据包? | 否 | 是 |
确保数据包按顺序到达? | 否 | 是 |
流量控制 | 否 – 如果接收方不堪重负,数据包可能会丢失 | 是 – 接收方告诉发送方其缓冲区中的空间大小,TCP会保留数据包直到有足够空间 |
数据使用 | 较低 | 较高 |
在VPN隧道中用于哪些应用? | DNS、在线游戏、视频流、VoIP、物联网设备(例如传感器间歇性发送数据) | DNS、网页浏览(HTTP、HTTPS)、电子邮件(SMTP、IMAP/POP)、下载/上传(FTP)、使用安全外壳(SSH)进行远程计算机访问 |
适用于实时应用? | 是 | 否 |
UDP比TCP更快
我们测试了ExpressVPN和NordVPN这两款2024年顶级VPN,以了解它们在使用OpenVPN协议时的速度比较。我们从美国总部连接到美国、英国和澳大利亚的服务器,并测量了下载速度。以下是我们的测试结果:
ExpressVPN (Mbps) | NordVPN (Mbps) | |
---|---|---|
国家 | UDP | TCP |
— | — | — |
美国 | 94 | 91 |
英国 | 62 | 47 |
澳大利亚 | 75 | 47 |
正如这些数据所示,UDP通常比TCP更快,且随着服务器距离的增加,差异更大。这是因为TCP以有序和错误检查的方式传递数据包,任何不正确或丢失的数据都必须从发送计算机重新请求,从而增加了延迟。
此外,由于UDP数据包的头部更小,UDP数据包的有效负载更多,可以在给定的网络连接管道中传输更多的数据,因此吞吐量增加。
因此,UDP通常在流媒体或游戏等活动中比TCP更常用。
TCP比UDP消耗更多数据
TCP使用的数据比UDP更多,因为它在每个数据包的头部包含更多信息。这使得TCP更可靠,但效率较低。
每个通过网络发送的数据包都有一个头部,就像信封上的地址一样。它包含将数据传送到正确位置所需的信息,以及协议所需的其他信息。
UDP和TCP都在头部显示源端口、目标端口、数据包长度和校验和。然而,TCP还包括其他信息以保证正确传递。
TCP比UDP稍微更安全
TCP和UDP都不是为安全性设计的。它们用于通过网络发送数据包,这些数据包可以是纯文本,也可以是加密的。通常在通信堆栈上层的其他协议或翻墙工具负责安全性。
由于TCP中的数据包是按序列号排列并被确认的,黑客插入恶意数据比在UDP中更难。
在实际操作中,当与VPN一起使用时,两种协议都没有安全问题。TCP和UDP都支持用于保护你安全的安全和隐私功能。
VPN如何使用UDP和TCP?
OpenVPN是一种开源VPN协议,广泛用于大多数安全VPN服务中。在许多情况下,用户可以选择使用OpenVPN的UDP或TCP。在本节中,我们将解释这个决定如何影响VPN的功能。
首先,假设你在没有VPN的情况下浏览网页。由于TCP比UDP更可靠,设备和Web服务器之间的连接将使用TCP。工作流程如下:
当你开始使用VPN时,新通信会被包装在设备和VPN服务器之间的OpenVPN隧道中。该隧道可以使用UDP或TCP。
当你更改VPN的设置时,你是在决定使用哪种包装。那么,哪个协议更好呢?
UDP vs TCP:哪个更好?
总结: 如果你的VPN允许在UDP和TCP之间选择,建议先尝试UDP。UDP比TCP更快,并且你仍然可以在UDP VPN隧道内使用TCP进行浏览等活动。如果UDP被防火墙屏蔽或连接不可靠,你可以使用TCP。
正常VPN连接
对于几乎所有的一般VPN连接,使用OpenVPN的UDP是更好的选择。这是因为UDP比TCP更快,且使用更少的数据。
机场梯子仍然可以在UDP VPN隧道内部使用TCP来确保可靠性。
流媒体和游戏
游戏和视频流通常使用UDP连接。因为相比于等待恢复丢失的数据,跳过流的一小部分更好。
电子邮件和网页浏览
我们建议在进行电子邮件和网页浏览等活动时使用OpenVPN UDP。
翻墙和规避审查
如果需要规避审查或防火墙,选择OpenVPN的TCP。在TCP端口4433上使用TCP时,你的VPN流量看起来像HTTPS加密的Web流量。
什么是TCP?
TCP在两个设备(例如你的计算机和Web服务器)之间创建连接,通过该连接发送数据。类似于电话通话,两台设备相互通信,以确认信息是否正确接收。
使用TCP时:
- 保证所有数据包都被接收。(This article is created by how and best.com)如果接收方未确认收到数据包,发送方会重新发送。
- 数据包按发送顺序排列。
- 如果接收方未准备好接收数据包,则不会发送数据包。
什么是UDP?
与TCP不同,UDP是一种无连接协议。数据被发送,但没有反馈机制来确认是否正确接收。类似于寄信:你将信件投入邮箱,然后就不再过问。
使用UDP时:
- 数据包在传输过程中可能会丢失,发送方不会知道。
- 发送到不堪重负的接收方的数据包将被丢弃(丢失),无法恢复。
- UDP中没有内置的丢失或损坏数据的恢复机制,但使用UDP的机场梯子可以包含自己的恢复机制。
由于UDP不需要建立和维护连接,因此UDP比TCP更快。它非常适合对延迟敏感的科学上网VPN,如视频会议和在线游戏。
偶尔丢失的数据包可能会导致小故障,但相比于TCP重新发送数据包导致的延迟,这是更好的选择。