VPN over TCP 与 UDP 有什么区别?

信息安全 虚拟专用网
2021-08-25 19:08:46

我的 VPN 提供商让我可以选择使用 UDP 和 TCP 进行连接。根据这个站点, UDP 在短距离内更快。我和我的服务器在同一个大陆,这算是短距离吗?有没有我可以运行的测试来比较两者?

4个回答

VPN 用于将原始 IP 数据包包装到两个站点之间的某种“隧道”中(其中一个站点可能减少为一台计算机,即您的计算机)。TCP是一种位于 IP 之上的协议,它使用 IP 数据包(“不可靠”:它们可能会丢失、重复、重新排序……)为数据字节提供可靠的双向通道,字节总是到达接收者按发送顺序排列。TCP 通过使用具有明确确认和重新发送的复杂元数据种类来做到这一点。因此,TCP 会产生轻微的网络开销。

如果 VPN 使用 TCP,那么自己的 TCP 连接将使用通过 VPN 发送的 IP 数据包,因此您最终需要支付两次 TCP 开销。因此,基于 UDP 的 VPN 有可能获得更好的性能。另一方面,VPN 的加密保护需要一些状态管理,这对于使用 UDP 的 VPN 实现来说可能更难,因此基于 UDP 的 VPN 有可能需要额外的开销来应对。

因此,性能情况并不清楚,应该衡量

您可以尝试通过任一方法下载文件并查看下载速度是否有很大不同。

TCP 和 UDP 之间的权衡(无论使用 VPN或不。这在互联网游戏之类的事物中很好,其中每个数据包可能是用户的移动,但在加密之类的事物中,丢失的数据位意味着可能需要重新发送整个消息,随着时间的推移,TCP 会更受欢迎使用 UDP 获得的信息可能会因必须重新发送整个消息而丢失。

在同一个大陆上通常不被认为是短距离。我会考虑在同一栋楼里,也许在同一个城市里,但距离不远。一个数据包必须经过的跳越多,它就越有可能在沿途的某个时刻被破坏。如果您想查看到达目的地需要多少跳,请尝试运行“跟踪路由”命令。

希望我有所帮助。

VPN 优先使用 UDP,开销较低。这种关于 UDP 不可靠性的讨论是没有实际意义的。由于我们正在调谐,因此在开放 Internet 上丢失的 TCP 数据报与在 TCP 隧道中丢失的 TCP 数据报或在 UDP 隧道中丢失的 TCP 数据报之间没有区别。所有将被重新传输。

UDP 隧道的一个问题是它们是无状态的,这使得防火墙更难保护。回复数据包与源数据包没有什么不同。从安全角度来看,TCP 隧道更容易。

这实际上与通常的 TCP 和 UDP 相同。TCP是一个保证每个数据包按顺序到达的系统。如果一个数据包被乱序接收,它会被存储,如果一个数据包没有出现来填补一个空白,它会被重新请求。这确保了一个完整的流,没有数据丢失,但这意味着在再次请求信息时,一个丢失的数据包可能会阻止连接。

另一方面,UDP 不做这样的保证,信息将按照它到达的任何顺序到达并被处理。我不确定确切的安全含义,但是如果使用不可并行的链接流密码,您可能仍然会在 UDP 中获得类似的延迟,因为它需要所有数据包按顺序到达,但这也可以通过使用支持并行解密的加密模式。

所以基本上,VPN 添加到典型的 TCP/UDP 组合的唯一一件事是它限制了可以使用的加密模式的性质,但在其他方面则是典型的权衡。