2011-10-07 256 views
1

假设我们在容量C的同一链路上有tcp和udp连接。 TCP的传输速率为C,而UDP的传输速率为8C。哪个会更有效率?TCP vs UDP吞吐量

+1

这听起来像作业... – David

+0

是这个功课? – Thor

+0

是的,这是分配。但是对于给定的数据,我们无法解决。 – Knight71

回答

0

理论上,如果在路上没有任何数据包发生,UDP会更快。 UDP不需要像TCP那样确认每个数据包(ACK标志)。此外,不需要握手,也不需要拆卸连接。在没有数据包丢失的理想网络中,UDP将是更快的选择。

问题是,在现实世界的例子中,UDP会丢失数据包。你会慢一些,因为你必须在UDP中实现像TCP一样的数据包控制。 UDP不会确认数据包的接收,并且它也不会在门上敲以查看是否有人在家(TCP SYN)。 UDP数据包比TCP数据包更容易构建,但牺牲了其大小的安全性。 http://www.diffen.com/difference/TCP_vs_UDP描述了这些差异。

所以为你的例子。使用一个可以保持C包/秒,TCP以C包/秒和UDP以8 * C包/秒的速率进行传输的电缆,UDP会更快。