2011-10-07 253 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會更快。