如果想要使用 UDP 来提高 TCP 的性能,那么是否有东西可以充当发送方和接收方的中介,将数据包馈送到它并通过 UDP 发送它们,同时还处理错误更正/重传?
这里的想法是能够使用现有的基于 UDP 的协议,而无需在应用程序级别编写纠错/重传程序。例如,在本地端点和远程端点上启动此中介软件,传统应用程序连接到本地主机和该软件正在监听的端口,然后将其传输到另一端。
答案1
UDP 只是盲目地发送数据报。它没有拥塞控制、重传或流的概念。这些功能的任何实现实际上都是对 TCP 的重新实现,并且必须解决相同的问题。至少会有一些开销。
除了 TCP 或 UDP 之外,还存在其他传输方式。例如 SCTP。然而,尚不清楚这些传输方式是否具有任何性能优势。此外,网络和软件堆栈对传输方式的支持并不像 TCP 那样普遍。
目前已发明了几种基于 UDP 的传输方式,其中最流行的是 QUIC。
通过详细研究 TCP 流来确定 TCP 性能下降的原因。TCP 已经非常成熟,并且经过了深入研究。利用这些经验和工具来优化它,或者了解您真正希望从传输中获得什么。