TCP與UDP的區別總結

  1. 特點
    TCP協議(傳輸控制協議):提供一個可靠的、面向鏈接的、基於數據流的服務。
    UDP協議(用戶數據報協議):提供一個不可靠的、無鏈接的、基於數據報的服務
  2. 主要區別
    (1)TCP是面向鏈接的,雙方在通信之前必須要建立連接,而使用UDP通信之前不需要建立連接,所以應用程序每次發送數據之前必須明確接收端的地址。
    (2)TCP是基於流的,而UDP是基於數據報的。
    (3)TCP提供可靠的服務,TCP連接傳輸服務,無差錯,不丟失不重複,且按序到達,UDP則盡最努力交付。
    (4)TCP爲全雙工的可靠通信,而UDP是不可靠信道。
    (5)TCP只能提供點對點的服務,而UDP可以支持一對一,一對多,多對一,多對多的交互通信。
    (6)TCP首部固定開銷爲20字節,而UDP則爲8字節。

  3. 小知識點
    (1)字節流和數據報
    字節流和數據報的主要區別在於發送方的寫入次數和接收端的讀出次數是否相同。
    字節流:發送方的寫入次數和接收端的讀出次數相同。即就是當發送端進行多次寫操作後,把數據先放在一個發送緩衝區中,當發送端真正要發送數據後,在把數據封裝成一個或者多個TCP數據段發送。
    數據報:當發送端發送數據後,UDP模塊立即將其封裝成一個UDP數據報,接收端在一定時間內必須接受這個數據報,否則會造成數據包丟失。並且,如果沒有提供較大的應用程序緩衝區來讀取UDP數據,UDP數據會造成截斷。
    (2)
    《1》TCP通過三次握手來建立連接,四次揮手來斷開連接,從而保證建立的傳輸信道是可靠的。
    《2》TCP採用了連續ARQ協議(回退N,GO-back-N,超時自動重傳)來保證數據傳輸的正確性,使用滑動窗口協議來保證雙方能即使處理所接收到的數據,進行流量控制。
    《3》最後,TCP使用慢開始,擁塞控制,快重傳和快恢復來進行擁塞控制,避免網絡擁塞。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章