TCP和UDP的區別


TCP和UDP的區別:

(1)TCP是面向連接的;UDP是無連接的。

  TCP進行數據傳輸時,需要通過三次握手建立一條TCP傳輸連接,傳輸完成后通過四次揮手釋放連接。UDP在傳輸報文之間不需要在通信雙方之間建立連接。

(2)TCP保證數據可靠性,UDP可能會丟包。

  通過TCP連接傳送的數據,無差錯,不丟失,不重復,且按序到達;UDP盡最大努力交付,即不保證可靠交付。TCP提供校驗和,重傳控制,序號標識,滑動窗口、確認應答等機制保證數據的可靠性,而UDP除了提供一種可選的檢驗和,幾乎沒有提供其他的保證數據傳輸可靠性的傳輸。如果檢測出收到的分組出錯,則丟棄這個分組,既不確認,也不通知發送端和要求重傳。

(3)TCP傳輸速度慢,UDP傳輸速度快。

  TCP每發一次報文都需要確認應答,若超時則重新再發一次。而UDP沒有這種機制,一個個數據包不斷地發送,即使數據包是錯的也直接丟棄該數據包

(4)TCP是面向字節流,而UDP是面向報文的。

  TCP將數據看成是一連串的、無結構的字節流,在發送端和接收端都需要使用緩存,將幾個字節流組成一個報文段;UDP對應用程序提交的報文既不合並,也不拆分,保留原報文的長度和格式,原封不動地發送出去。

(5)TCP連接只能是點到點的,但支持同時建立多個並發的TCP連接。而UDP支持一對一,一對多,多對一和多對多的交互通信。

(6)TCP對系統資源要求較多,UDP對系統資源要求較少。

(7)TCP的邏輯通信信道是全雙工的可靠信道,UDP則是不可靠信道。

應用場景:

  TCP注重的是可靠性,而不是實時性,具有一定的延遲性。而UDP注重的是實時性,速度快,可靠性不高。對於特別的場合,可以對UDP協議基礎上再進行封裝。

  UDP協議適用於(1)視頻播放應用,(2)簡短的交互式應用,(3)多播和廣播應用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM