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