为什么UDP有时比TCP更有优势?
隨著網(wǎng)絡(luò)技術(shù)飛速發(fā)展,網(wǎng)速已不再是傳輸?shù)钠款i,UDP協(xié)議以其簡(jiǎn)單、傳輸快的優(yōu)勢(shì),在越來越多場(chǎng)景下取代了TCP。
1、網(wǎng)速的提升給UDP穩(wěn)定性提供可靠網(wǎng)絡(luò)保障
網(wǎng)絡(luò)環(huán)境變好,網(wǎng)絡(luò)傳輸?shù)难舆t、穩(wěn)定性也隨之改善,UDP的丟包率低于5%,如果再使用應(yīng)用層重傳,能夠完全確保傳輸?shù)目煽啃浴?/p>
2、對(duì)比測(cè)試結(jié)果UDP性能優(yōu)于TCP
為了提升瀏覽速度,Google基于TCP提出了SPDY協(xié)議以及HTTP/2。Google在Chrome上實(shí)驗(yàn)基于UDP的QUIC協(xié)議,傳輸速率減少到100ms以內(nèi)。
Google采用QUIC后連接速率能有效提升75%。
Google搜索采用QUIC后頁面加載性能提升3%。
YouTube采用QUIC后重新緩沖次數(shù)減少了30%。
3、TCP設(shè)計(jì)過于冗余,速度難以進(jìn)一步提升
TCP為了實(shí)現(xiàn)網(wǎng)絡(luò)通信的可靠性,使用了復(fù)雜的擁塞控制算法,建立了繁瑣的握手過程以及重傳策略。由于TCP內(nèi)置在系統(tǒng)協(xié)議棧中,極難對(duì)其進(jìn)行改進(jìn)。
4、UDP協(xié)議以其簡(jiǎn)單、傳輸快的優(yōu)勢(shì),在越來越多場(chǎng)景下取代了TCP
4.1 網(wǎng)頁瀏覽
使用UDP協(xié)議有三個(gè)優(yōu)點(diǎn) :
精簡(jiǎn)握手過程,減少網(wǎng)絡(luò)通信往返次數(shù);
能夠?qū)LS加解密過程進(jìn)行優(yōu)化;
收發(fā)快速,無阻塞。
4.2 流媒體
采用TCP,一旦發(fā)生丟包,TCP會(huì)將后續(xù)包緩存起來,等前面的包重傳并接收到后再繼續(xù)發(fā)送,延遲會(huì)越來越大?;赨DP的協(xié)議如WebRTC是極佳的選擇。
2010年google 通過收購(gòu) Global IP Solutions,獲得了WebRTC(網(wǎng)頁實(shí)時(shí)通信,Web Real-Time Communication)技術(shù),用于提升網(wǎng)頁視頻速率。
4.3 實(shí)時(shí)游戲
對(duì)實(shí)時(shí)要求較為嚴(yán)格的情況下,采用自定義的可靠UDP協(xié)議,比如Enet、RakNet(用戶有sony onlinegame、minecraft)等,自定義重傳策略,能夠把丟包產(chǎn)生的延遲降到最低,盡量減少網(wǎng)絡(luò)問題對(duì)游戲性造成的影響。
采用UDP的經(jīng)典游戲如FPS游戲Quake、CS,著名的游戲引擎Unity3D采用的也是RakNet。
4.4 物聯(lián)網(wǎng)
2014年google旗下的Nest建立Thread Group,推出了物聯(lián)網(wǎng)通信協(xié)議Thread,完善物聯(lián)網(wǎng)通信。
采用UDP有3個(gè)關(guān)鍵點(diǎn):
網(wǎng)絡(luò)帶寬需求較小,而實(shí)時(shí)性要求高;
大部分應(yīng)用無需維持連接;
需要低功耗;
如今全球?qū)⒔?0%的人都在使用互聯(lián)網(wǎng),人們不斷的追求更快、更好的服務(wù),一切都在變化,在越來越多的領(lǐng)域,UDP將會(huì)搶占TCP的主導(dǎo)低位。
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的为什么UDP有时比TCP更有优势?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。