udp協(xié)議和tcp協(xié)議的區(qū)別 為什么TCP比UDP傳輸速度慢?
為什么TCP比UDP傳輸速度慢?與TCP相比,UDP缺少可靠的丟包重傳機(jī)制,因此可以立即返回。所以你認(rèn)為快速UDP屬于傳輸之后的任何一種。但在IP層上,其效率幾乎與TCP相當(dāng)。為什么TCP慢?正是因?yàn)?/p>
為什么TCP比UDP傳輸速度慢?
與TCP相比,UDP缺少可靠的丟包重傳機(jī)制,因此可以立即返回。所以你認(rèn)為快速UDP屬于傳輸之后的任何一種。但在IP層上,其效率幾乎與TCP相當(dāng)。為什么TCP慢?正是因?yàn)樾枰l(fā)送確認(rèn)這樣一個(gè)循環(huán)過(guò)程,所以速度很慢。現(xiàn)在我喜歡用UDP代替TCP的主要原因是TCP的重傳機(jī)制不完善,等待時(shí)間不合理,響應(yīng)速度慢。UDP的主要問(wèn)題是丟包。如果您的API層協(xié)議規(guī)定某些數(shù)據(jù)可能丟失,那么UDP的響應(yīng)速度將是最佳選擇。同樣,如果它規(guī)定絕對(duì)不允許丟包,那么您需要負(fù)責(zé)在API或引擎中可靠地傳輸U(kuò)DP。一般測(cè)試下,相對(duì)測(cè)試下,如果在可靠的環(huán)境下不允許丟包,UDP的丟包率很低,所以即使采用確認(rèn)方式傳輸,速度也很快。但是,如果互聯(lián)網(wǎng)上的丟包率很高,比如電信到CNC線路,效率會(huì)嚴(yán)重降低,CPU開(kāi)銷會(huì)急劇增加[主要是由于確認(rèn)機(jī)的引導(dǎo)]
TCP和UDP傳輸速度為什么UDP要快?
與TCP相比,UDP缺乏可靠的丟包重傳機(jī)制,因此可以返回立即,所以你認(rèn)為它很快
UDP不關(guān)心傳輸后,但在IP層,它的效率幾乎與TCP相同
為什么TCP慢?只是因?yàn)槟阈枰l(fā)送一個(gè)確認(rèn)循環(huán),所以速度很慢
現(xiàn)在你喜歡用UDP代替TCP的主要原因是TCP的重傳機(jī)制不完善,等待時(shí)間不合理,響應(yīng)速度往往很慢
UDP的主要問(wèn)題是丟包。如果您的API層協(xié)議規(guī)定部分?jǐn)?shù)據(jù)可能丟失,那么UDP的響應(yīng)速度將是最佳選擇
同樣,如果它規(guī)定絕對(duì)不允許丟包,那么您需要自己在API或引擎中處理UDP的可靠傳輸
在一般測(cè)試下,在相對(duì)可靠的環(huán)境下,UDP的丟包率很低,所以即使采用確認(rèn)方式,傳輸速度也很快
但是如果在互聯(lián)網(wǎng)上,比如電信到CNC線路,丟包率很高,效率會(huì)嚴(yán)重降低,CPU開(kāi)銷將急劇增加[主要是由于確認(rèn)機(jī)制]