舉個例子:UDP發送的消息可能先到的例子
UDP比TCP快,舉個例子?
繁花不似錦
2019-05-19 20:50:25
TA貢獻1786條經驗 獲得超13個贊
UDP比TCP快這句話本身是非常不嚴謹的。已經構造好的數據包在鏈路上傳播時,路由器是不會管你傳輸層使用了什么協議的(除了出于特殊目的,需要進行流量審查和端口屏蔽),所以理論上UDP和TCP封包的傳輸時延是一樣的。那么讓上面那句話顯得有道理的,只能是加上了傳輸時延以外的時延后的情況。不過這個問題從時延來想的話不太合適。從UDP和TCP的開銷來看,UDP頭部占8個字節,而TCP占20個,因此在相同環境下發送同樣多的應用層的數據,TCP的開銷比UDP大,從而也會產生“慢”的感覺。從連接特性來看,UDP是無連接的,而TCP是有連接的,TCP需要通過三次握手建立連接后才能正式發送應用層數據,而UDP不需要,額外的握手時間也會產生“慢”的感覺。從其它特性來看,TCP有自動重傳、重整失序數據的功能,例如,使用TCP發送“ABCD”,接收方接收到了“BCD”,而“A”由于丟包等原因暫時沒有接收到,TCP就會一直等到“A”也接收到了,才會把“ABCD”一起送到應用層,這樣一來,雖然“BCD”早就接收到了,但應用層實際等待的時間會被“A”拖慢,造成整體“慢”的感覺。具體還是要了解這兩個協議本身的特點。
舉報