溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python開(kāi)發(fā)TCP和UDP的區(qū)別是什么

發(fā)布時(shí)間:2021-08-27 17:35:44 來(lái)源:億速云 閱讀:157 作者:chen 欄目:編程語(yǔ)言

這篇文章主要介紹“Python開(kāi)發(fā)TCP和UDP的區(qū)別是什么”,在日常操作中,相信很多人在Python開(kāi)發(fā)TCP和UDP的區(qū)別是什么問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”P(pán)ython開(kāi)發(fā)TCP和UDP的區(qū)別是什么”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!


  UDP 概念:


  UDP 是面向無(wú)連接的通訊協(xié)議,UDP 數(shù)據(jù)包括目的端口號(hào)和源端口號(hào)信息。


  優(yōu)點(diǎn):UDP 速度快、操作簡(jiǎn)單、要求系統(tǒng)資源較少,由于通訊不需要連接,可以實(shí)現(xiàn)廣播發(fā)送


  缺點(diǎn):UDP 傳送數(shù)據(jù)前并不與對(duì)方建立連接,對(duì)接收到的數(shù)據(jù)也不發(fā)送確認(rèn)信號(hào),發(fā)送端不知道數(shù)據(jù)是否會(huì)正確接收,也不重復(fù)發(fā)送,不可靠。


  TCP 概念:


  TCP 是面向連接的通訊協(xié)議,通過(guò)三次握手建立連接,通訊完成時(shí)四次揮手


  優(yōu)點(diǎn):TCP 在數(shù)據(jù)傳遞時(shí),有確認(rèn)、窗口、重傳、阻塞等控制機(jī)制,能保證數(shù)據(jù)正確性,較為可靠。


  缺點(diǎn):TCP 相對(duì)于 UDP 速度慢一點(diǎn),要求系統(tǒng)資源較多。


  TCP與UDP區(qū)別:


  1.、基于連接vs無(wú)連接


  TCP是面向連接的協(xié)議,而UDP是無(wú)連接的協(xié)議。這意味著當(dāng)一個(gè)客戶端和一個(gè)服務(wù)器端通過(guò)TCP發(fā)送數(shù)據(jù)前,必須先建立連接,建立連接的過(guò)程也被稱為T(mén)CP三次握手。


  2、 可靠性


  TCP提供交付保證,這意味著一個(gè)使用TCP協(xié)議發(fā)送的消息是保證交付給客戶端的,如果消息在傳輸過(guò)程中丟失,那么它將重發(fā)。UDP是不可靠的,它不提供任何交付的保證,一個(gè)數(shù)據(jù)報(bào)包在運(yùn)輸過(guò)程中可能會(huì)丟失。


  3、有序性


  消息到達(dá)網(wǎng)絡(luò)的另一端時(shí)可能是無(wú)序的,TCP協(xié)議將會(huì)為你排好序。UDP不提供任何有序性的保證。


  4、速度


  TCP速度比較慢,而UDP速度比較快,因?yàn)門(mén)CP必須創(chuàng)建連接,以保證消息的可靠交付和有序性,他需要做比UDP多的事。這就是為什么UDP更適用于對(duì)速度比較敏感的應(yīng)用。TCP適合傳輸大量數(shù)據(jù),UDP適合傳輸少量數(shù)據(jù)。


  5、重量級(jí)vs輕量級(jí)


  TCP是重量級(jí)的協(xié)議,UDP協(xié)議則是輕量級(jí)的協(xié)議。一個(gè)TCP數(shù)據(jù)報(bào)的報(bào)頭大小最少是20個(gè)字節(jié),UDP數(shù)據(jù)報(bào)的報(bào)頭固定是8個(gè)字節(jié)。TCP報(bào)頭中包含序列號(hào),ACK號(hào),數(shù)據(jù)偏移量,保留,控制位,窗口,緊急指針,可選項(xiàng),填充項(xiàng),校驗(yàn)位,源端口和目的端口。而UDP報(bào)頭只包含長(zhǎng)度,源端口號(hào),目的端口號(hào),校驗(yàn)和。


  6、流量控制和擁塞控制


  TCP有流量控制和擁塞控制。UDP沒(méi)有流量控制和擁塞控制。


  7、TCP是面向字節(jié)流,UDP是面向報(bào)文的


  TCP是字節(jié)流的協(xié)議,無(wú)邊界記錄。


  UDP發(fā)送的每個(gè)數(shù)據(jù)報(bào)是記錄型的數(shù)據(jù)報(bào),所謂的記錄型數(shù)據(jù)報(bào)就是接收進(jìn)程可以識(shí)別接收到的數(shù)據(jù)報(bào)的記錄邊界。


  8、TCP只能單播,不能廣播和組播;UDP可以廣播和組播


  TCP應(yīng)用場(chǎng)景:效率要求相對(duì)低,但對(duì)準(zhǔn)確性要求相對(duì)高的場(chǎng)景。因?yàn)閭鬏斨行枰獙?duì)數(shù)據(jù)確認(rèn),重發(fā),排序等操作,相比之下效率沒(méi)有UDP高。舉幾個(gè)例子:文件傳輸、郵件傳輸、遠(yuǎn)程登錄。


  UDP應(yīng)用場(chǎng)景:效率要求相對(duì)高,對(duì)準(zhǔn)確性要求相對(duì)低的場(chǎng)景。舉幾個(gè)例子:QQ聊天、QQ視頻,網(wǎng)絡(luò)語(yǔ)音電話(即時(shí)通訊,要求速度高,但是出現(xiàn)偶爾斷續(xù)不是太大問(wèn)題,并且此處完全不可以使用重傳機(jī)制)、廣播通信。

到此,關(guān)于“Python開(kāi)發(fā)TCP和UDP的區(qū)別是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI