1. 程式人生 > >TCP和UDP區別

TCP和UDP區別

TCP和UDP的區別:

  • TCP面向連線(如打電話要先撥號建立連線) UDP是無連線的,即傳送資料之前不需要建立連線
  • TCP提供可靠的服務。也就是說,通過TCP連線傳送的資料,無差錯,不丟失,不重複,且按序到達;UDP盡最大努力交付,即不保證可靠交付
  • TCP面向位元組流,實際上是TCP把資料看成一連串無結構的位元組流;UDP是面向報文的
  • UDP沒有擁塞控制,因此網路出現擁塞不會使源主機的傳送速率降低(對實時應用很有用,如IP電話,實時視訊會議等)
  • 每一條TCP連線只能是點到點的;UDP支援一對一,一對多,多對一和多對多的互動通訊
  • TCP首部開銷20位元組;UDP的首部開銷小,只有8個位元組
  • TCP的邏輯通訊通道是全雙工的可靠通道,UDP則是不可靠通道

TCP 與 UDP 的應用場景

    兩種協議都是傳輸層協議,為應用層提供資訊載體。TCP協議是基於連線的可靠協議,有流量控制和差錯控制,也正因為有可靠性的保證和控制手段,所以傳輸效率比UDP低;UDP協議是基於無連線的不可靠協議,沒有控制手段,僅僅是將資料傳送給對方,因此效率比TCP要高 從特點上我們已經知道,TCP 是可靠的但傳輸速度慢 ,UDP 是不可靠的但傳輸速度快。因此在選用具體協議通訊時,應該根據通訊資料的要求而決定。 若通訊資料完整性需讓位與通訊實時性,則應該選用 TCP 協議(如檔案傳輸、重要狀態的更新等);反之,則使用 UDP 協議(如視訊傳輸、實時通訊等)