幫助文檔
TCP協(xié)議和UDP協(xié)議特別與區(qū)別分析
一、TCP協(xié)議的主要特點(diǎn)
(1)TCP是面向連接的運(yùn)輸層協(xié)議;
(2)每一條TCP連接只能有兩個(gè)端點(diǎn)(即兩個(gè)套接字),只能是點(diǎn)對(duì)點(diǎn)的;
(3)TCP提供可靠的傳輸服務(wù)。傳送的數(shù)據(jù)無差錯(cuò)、不丟失、不重復(fù)、按序到達(dá);
(4)TCP提供全雙工通信。允許通信雙方的應(yīng)用進(jìn)程在任何時(shí)候都可以發(fā)送數(shù)據(jù),因?yàn)閮啥硕荚O(shè)有發(fā)送緩存和接受緩存;
(5)面向字節(jié)流。雖然應(yīng)用程序與TCP交互是一次一個(gè)大小不等的數(shù)據(jù)塊,但TCP把這些數(shù)據(jù)看成一連串無結(jié)構(gòu)的字節(jié)流,它不保證接收方收到的數(shù)據(jù)塊和發(fā)送方發(fā)送的數(shù)據(jù)塊具有對(duì)應(yīng)大小關(guān)系,例如,發(fā)送方應(yīng)用程序交給發(fā)送方的TCP10個(gè)數(shù)據(jù)塊,但就受訪的TCP可能只用了4個(gè)數(shù)據(jù)塊久保收到的字節(jié)流交付給上層的應(yīng)用程序,但字節(jié)流完全一樣。
TCP的可靠性原理
可靠傳輸有如下兩個(gè)特點(diǎn):
a、傳輸信道無差錯(cuò),保證傳輸數(shù)據(jù)正確;
b、不管發(fā)送方以多快的速度發(fā)送數(shù)據(jù),接收方總是來得及處理收到的數(shù)據(jù);
(1)首先,采用三次握手來建立TCP連接,四次握手來釋放TCP連接,從而保證建立的傳輸信道是可靠的。
(2)其次,TCP采用了連續(xù)ARQ協(xié)議(回退N,Go-back-N;超時(shí)自動(dòng)重傳)來保證數(shù)據(jù)傳輸?shù)恼_性,使用滑動(dòng)窗口協(xié)議來保證接方能夠及時(shí)處理所接收到的數(shù)據(jù),進(jìn)行流量控制。
(3)最后,TCP使用慢開始、擁塞避免、快重傳和快恢復(fù)來進(jìn)行擁塞控制,避免網(wǎng)絡(luò)擁塞。
二、UDP協(xié)議特點(diǎn)
(1)UDP是無連接的傳輸層協(xié)議;
(2)UDP使用盡最大努力交付,不保證可靠交付;
(3)UDP是面向報(bào)文的,對(duì)應(yīng)用層交下來的報(bào)文,不合并,不拆分,保留原報(bào)文的邊界;
(4)UDP沒有擁塞控制,因此即使網(wǎng)絡(luò)出現(xiàn)擁塞也不會(huì)降低發(fā)送速率;
(5)UDP支持一對(duì)一 一對(duì)多 多對(duì)多的交互通信;
(6)UDP的首部開銷小,只有8字節(jié)。
三、TCP和UDP的區(qū)別
(1)TCP是可靠傳輸,UDP是不可靠傳輸;
(2)TCP面向連接,UDP無連接;
(3)TCP傳輸數(shù)據(jù)有序,UDP不保證數(shù)據(jù)的有序性;
(4)TCP不保存數(shù)據(jù)邊界,UDP保留數(shù)據(jù)邊界;
(5)TCP傳輸速度相對(duì)UDP較慢;
(6)TCP有流量控制和擁塞控制,UDP沒有;
(7)TCP是重量級(jí)協(xié)議,UDP是輕量級(jí)協(xié)議;
(8)TCP首部較長(zhǎng)20字節(jié),UDP首部較短8字節(jié)。

閩公網(wǎng)安備 35021102001331號(hào)