TCP和UDP同屬于協(xié)議,在學(xué)習(xí)Python的時候都會涉及到這方面的知識,那么TCP和UDP區(qū)別是什么呢?我們來看看它們的優(yōu)缺點吧。
什么是UDP?
UDP是面向無連接的通訊協(xié)議,UDP數(shù)據(jù)包含目的端口號和源端口號信息。主要優(yōu)點速度快、操作簡單、要求系統(tǒng)資源較少,由于通訊不需要連接,可以實現(xiàn)廣播發(fā)送;缺點是傳輸數(shù)據(jù)前并不與對方建立連接,對接收到的數(shù)據(jù)也不發(fā)送確認(rèn)信號,發(fā)送端不知道數(shù)據(jù)是否會正確接收,也不重復(fù)發(fā)送,不可靠。
什么是TCP?
是面向連接的通訊協(xié)議,通過三次握手建立連接,通訊完成時四次握手,主要優(yōu)點是TCP在數(shù)據(jù)傳輸時,有確認(rèn)、窗口、重傳、阻塞等控制機制,能保證數(shù)據(jù)正確性,較為可靠;缺點是相對于UDP速度慢,要求系統(tǒng)資源較多。
TCP和UDP區(qū)別是什么?
TCP是面向連接的協(xié)議,而UDP是無連接的協(xié)議,意味著當(dāng)一個客戶端和一個服務(wù)端通過TCP發(fā)送數(shù)據(jù)前,必須先建立連接,建立連接的過程被稱為TCP三次握手;
TCP提供交付保證,意味著一個使用TCP協(xié)議發(fā)送的信息是保證交付給客戶端的,如果消息在傳輸過程中丟失,將重發(fā);UDP是不可靠的,不提供任何交付的保證,一個數(shù)據(jù)報包在運輸過程中可能會丟失;
消息到達(dá)網(wǎng)絡(luò)的另一端時可能是無序的,TCP協(xié)議將會為你排序,UDP不提供任何有序性的保證;
TCP速度比較慢,而UDP速度比較快,因為TCP必須建立連接,以保證消息的可靠交付和有序性,需要做比UDP多的事;
TCP是重量級的協(xié)議,UDP協(xié)議則是輕量級的協(xié)議。一個TCP數(shù)據(jù)報的報頭大小最少是20個字節(jié),UDP數(shù)據(jù)報的報頭固定是8個字節(jié)。TCP報頭中包含序列號,ACK號,數(shù)據(jù)偏移量,保留,控制位,窗口,緊急指針,可選項,填充項,校驗位,源端口和目的端口。
聯(lián)系客服