我的问题是,我的 OpenVPN 连接是否使用 TCP 或 UDP。我为一家初创公司设置了一个简单的网络,允许外部用户通过 OpenVPN 服务器(路由模式)访问网络。用户使用 VPN 唯一能做的事情就是访问文件。
首要任务是保持文件的完整性。考虑到这一点,我应该为我的 VPN 隧道使用 UDP 还是 TCP 协议?我已经阅读了可靠性层冲突(即http://openvpn.net/index.php/open-source/documentation/security-overview.html),但由于 tcp、openvpn 传输层和隧道 TCP 会话都可以为我提供可靠性检查,所以我不知道什么对我来说最有效。
那么,在这种情况下我应该使用 TCP 还是 UDP?
答案1
UDP。如果可以从网络/防火墙的角度考虑,则始终使用 UDP 进行隧道连接。底层 TCP 流将在必要时处理重试。如果您在 OpenVPN 层使用 TCP,则最终会出现这样一种情况:在丢失数据包的情况下,两个层都可以发送重复的数据包。这可能会导致严重的性能问题。