iperf測試udp帶寬 為什么TCP比UDP傳輸速度慢?
為什么TCP比UDP傳輸速度慢?與TCP相比,UDP缺少可靠的丟包重傳機制,因此可以立即返回。所以你認(rèn)為快速UDP屬于傳輸之后的任何一種。但在IP層上,其效率幾乎與TCP相當(dāng)。為什么TCP慢?正是因為
為什么TCP比UDP傳輸速度慢?
與TCP相比,UDP缺少可靠的丟包重傳機制,因此可以立即返回。所以你認(rèn)為快速UDP屬于傳輸之后的任何一種。但在IP層上,其效率幾乎與TCP相當(dāng)。為什么TCP慢?正是因為需要發(fā)送確認(rèn)這樣一個循環(huán)過程,所以速度很慢?,F(xiàn)在我喜歡用UDP代替TCP的主要原因是TCP的重傳機制不完善,等待時間不合理,響應(yīng)速度慢。UDP的主要問題是丟包。如果您的API層協(xié)議規(guī)定某些數(shù)據(jù)可能丟失,那么UDP的響應(yīng)速度將是最佳選擇。同樣,如果它規(guī)定絕對不允許丟包,那么您需要負(fù)責(zé)在API或引擎中可靠地傳輸UDP。一般測試下,相對測試下,如果在可靠的環(huán)境下不允許丟包,UDP的丟包率很低,所以即使采用確認(rèn)方式傳輸,速度也很快。但是,如果互聯(lián)網(wǎng)上的丟包率很高,比如電信到CNC線路,效率會嚴(yán)重降低,CPU開銷會急劇增加[主要是由于確認(rèn)機的引導(dǎo)]
TCP和UDP傳輸速度為什么UDP要快?
與TCP相比,UDP缺乏可靠的丟包重傳機制,因此可以返回立即,所以你認(rèn)為它很快
UDP不關(guān)心傳輸后,但在IP層,它的效率幾乎與TCP相同
為什么TCP慢?只是因為你需要發(fā)送一個確認(rèn)循環(huán),所以速度很慢
現(xiàn)在你喜歡用UDP代替TCP的主要原因是TCP的重傳機制不完善,等待時間不合理,響應(yīng)速度往往很慢
UDP的主要問題是丟包。如果您的API層協(xié)議規(guī)定部分?jǐn)?shù)據(jù)可能丟失,那么UDP的響應(yīng)速度將是最佳選擇
同樣,如果它規(guī)定絕對不允許丟包,那么您需要自己在API或引擎中處理UDP的可靠傳輸
在一般測試下,在相對可靠的環(huán)境下,UDP的丟包率很低,所以即使采用確認(rèn)方式,傳輸速度也很快
但是如果在互聯(lián)網(wǎng)上,比如電信到CNC線路,丟包率很高,效率會嚴(yán)重降低,CPU開銷將急劇增加[主要是由于確認(rèn)機制]
內(nèi)網(wǎng)網(wǎng)速怎么測?
我們假設(shè)測量網(wǎng)絡(luò)中計算機a 10.91.30.45和計算機B 10.91.30.42之間的實際帶寬。
實現(xiàn)方法:
第一步:首先,在AB計算機上運行chariot的客戶端軟件端點,雙擊端點.exe確認(rèn)之后,您將發(fā)現(xiàn)在任務(wù)管理器中還有一個名為endpoint的附加進(jìn)程。
第2步:當(dāng)被測機器準(zhǔn)備就緒時,我們需要在控制側(cè)運行戰(zhàn)車。我們可以在網(wǎng)絡(luò)中選擇其他計算機,也可以直接在a或B計算機上運行戰(zhàn)車。
步驟3:單擊主界面中的“新建”按鈕,并在彈出界面中點上方添加一對一行按鈕。
步驟4:在添加端點對窗口中輸入對名稱,然后在端點1輸入計算機a的IP地址10.91.30.45,在端點2輸入計算機B的IP地址10.91.30.42。按選擇腳本按鈕并選擇腳本。因為我們在測量帶寬,所以我們選擇了內(nèi)置腳本吞吐量.scr腳本。
Chariot可以測量各種網(wǎng)絡(luò)傳輸層協(xié)議,包括TCP、UDP和SPX。當(dāng)我們測量帶寬時,我們可以選擇默認(rèn)的TCP。
第5步:確認(rèn)后,我們可以單擊主菜單中的運行開始測量。當(dāng)然,我們也可以直接點擊上面一行的run按鈕。
第6步:之后,軟件將測試從計算機a發(fā)送到計算機B的100個數(shù)據(jù)包。由于軟件默認(rèn)的傳輸數(shù)據(jù)包非常小,因此測量工作很快結(jié)束。在結(jié)果中,我們可以通過點擊troughput標(biāo)簽來檢查測量的帶寬。
由于交換機和網(wǎng)絡(luò)電纜的損耗,實際帶寬通常小于100Mbps,幾乎為80%。