我正在阅读一篇文章中关于 TCP 和 UDP 的内容。最后我的理解是UDP比TCP快但不可靠。所以如果我要发送一个文件,如果使用UDP,它会比TCP快吗?有人能解释一下它如何比 TCP 更快地交付吗?
它可以更快,因为它不需要握手就可以开始发送带有有效载荷的数据包(没有与 UDP 连接的概念 - 您只需发送数据包并希望另一端接收数据)并且数据包标头略小(尽管对于批量流量这导致发送大数据包,这可能不是那么重要)。
但是,您不希望以这种方式发送数据 - 您必须实现丢失的数据包检测、数据包重新发送、数据包重新排序(它们并不总是以发送的相同顺序到达)、拥塞检测等等为你做。一旦你把所有这些都加进去,你几乎肯定会发现你最终的速度并不比 TCP 快(也许慢得多),而且你已经做了很多工作来达到目标。
TCP 适用于不需要重新发送丢失数据包中的信息,您想要实现自己的流量控制,或者您将 TCP 流和类似内容包装在您自己的流中(即您正在通过 TCP 实现 VPN - TCP当出现间歇性拥塞时可能会出现严重的性能问题),它不适合传输大量数据,例如尝试可靠地传输文件时(当然,VPN 情况除外,但您仍然在 VPN 的包装器中使用 TCP)。
归档时间: |
|
查看次数: |
1079 次 |
最近记录: |