UDP與TCP的區別

  • UDP是無連接的,即發送數據之前不需要建立連接,發送數據結束時也沒有連接可以釋放,因此減少了開銷和發送數據之前的時延。目的主機的運輸層在收到UDP報文後,不需要給出任何確認
     
  • TCP是面向連接的運輸層協議,也就是說,應用程序在使用TCP協議之前,必須先建立TCP連接,在傳送數據完畢後,必須釋放已經建立的TCP連接
     
  • UDP盡最大努力交付,即不保證可靠交付,因此主機不需要維持複雜的連接狀態表
     
  • TCP提供可靠交付的服務。通過TCP連接傳送的數據,無差錯、不丟失、不重複,並且按序到達
     
  • UDP是面向報文的。發送方的UDP對應用程序交下來的報文,在添加首部後就向下交付IP層,應用層交給UDP多長的報文,UDP就照樣發送,既不合並,也不拆分,一次發送一個報文。
     
  • TCP是面向字節流的,即TCP把應用程序交下來的數據僅僅看成是一連串的無結構的字節流
     
  • UDP支持一對一、一對多、多對一和多對多的交互通信
     
  • 每一條TCP連接只能有兩個端點,每一條TCP連接只能是點對點的(一對一)。
     
  • UDP沒有擁塞控制,因此網絡出現的擁塞不會使源主機的發送速率降低。
     
  • UDP的首部小,只有8個字節,比TCP的20個字節的首部要短
     
  • TCP提供全雙工通信。TCP允許通信雙方的應用進程在任何時候都能發送數據。TCP連接的兩端都設有發送緩存和接收緩存,用來臨時存放雙向通信的數據。在發送時,應用程序在把數據傳送給TCP的緩存後,就可以做自己的事情了,而TCP在合適的時候把數據發送出去。在接收時,TCP把收到的數據方法緩存,上層的應用進程在合適的時候讀取緩存中的數據。
     
     
    參考書籍:計算機網絡(第7版) 謝希仁
  • 發表評論
    所有評論
    還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
    相關文章