TCP和UDP協議的區別

TCP和UDP都是傳輸層的協議

UDP協議的特色:
  • UDP協議是一種無鏈接的、不可靠的傳輸層協議(盡力而爲的協議)
  • 爲何說UDP是一種無鏈接、不可靠的協議呢?UDP協議在傳輸報文以前不須要在雙方之間創建鏈接。
  • UDP協議對報文只提供了一種保證數據傳輸可靠性的措施——可選的校驗和
  • 若是UDP協議檢測出收到的分組出現錯誤,就丟棄分組,不會確認,也不會通知重傳,這也是UDP最大的缺點,傳輸不可靠。當傳遞數據的時候,網絡質量很差,就會發生丟包(數據丟失),沒法保證數據的傳輸順序。
  • 在傳輸上UDP的傳輸速度很是快,由於在傳輸以前不須要進行確認,傳輸中沒有擁塞,重傳。
    相似於一個廣播的形式,無論你聽不聽,發送方一直在發送數據。UDP的效率高,處理速度快,對網絡要求不高的的特色使他應用在P2P會話類。能夠一對一,一對多,多對一的通訊。適用於實時的語音和視頻傳輸。
TCP協議的特色:
  • 面向鏈接的傳輸服務,下面是一段形象的總結:css

    UDP像是你郵一封信,信郵丟了不知道,寫信的一直覺得信已經郵到,以後還會郵信。而TCP像是打電話,若是對方不接電話,雙方永遠不能交流信息,對方接電話你知道,對方說了什麼你知道,對方掛了電話你也會知道。
    因此TCP協議的傳輸不會出現差錯,丟失,重複(雙方會有確認)markdown

  • 因爲是面向鏈接的協議,TCP協議提升了數據傳輸的可靠性,TCP會有三次握手來創建鏈接,在傳輸過程當中會有重傳,確認,擁塞控制等機制,傳輸完成後還會斷開鏈接釋放資源。網絡

  • 相比於UDP協議,TCP傳輸速度上會慢,效率低下,時間都浪費在保證數據傳輸的各類機制上。
  • TCP支持全雙工通訊:第一次聽到這個名詞的時候是在單片機課上,老師詳細的講述了單工,半雙工,全雙工的區別。全雙工就是雙方能夠同時在任什麼時候候發送數據。
  • TCP協議是將數據當作一連串,無結構的字節流,UDP是面向報文傳輸的。
相關文章
相關標籤/搜索