TCP和UDP優缺點以及使用場景

TCP

TCP全稱爲Transmission Control Protocol(傳輸控制協議),是一種可靠的面向連接傳輸協議,同時它也是一種client-server模式的協議,因爲是可靠的傳輸協議,所以它比UDP要複雜的多

TCP的主要特點:

  • TCP是面向連接的傳輸協議;
  • 每一條TCP有且只有兩個端點,爲一對一關係;
  • TCP提供可靠交互的服務;
  • TCP提供全雙工通信,全雙工爲即可傳輸又可接收;
  • TCP是面向字節流的。

優點:可靠、穩定

TCP的可靠體現在TCP在傳輸數據之前,會有三次握手來建立連接,而且在數據傳遞時,有確認、窗口、重傳、擁塞控制機制,在數據傳完之後,還會斷開連接用來節約系統資源

缺點:慢,效率低,佔用系統資源高,易被攻擊

在傳遞數據之前要先建立連接,這會消耗時間,而且在數據傳遞時,確認機制、重傳機制、擁塞機制等都會消耗大量時間,而且要在每臺設備上維護所有的傳輸連接。然而,每個鏈接都會佔用系統的CPU、內存等硬件資源。因爲TCP有確認機制、三次握手機制,這些也導致TCP容易被利用,實現DOS、DDOS、CC等攻擊

UDP

UDP的全稱是User Date Protocal,翻譯成中文是用戶數據包協議,它是一種不可靠的傳輸協議,一般情況下一個數據包(大概64K)能完成的數據通訊使用UDP協議,比如請求DNS解析IP地址使用的就是UDP協議,因爲解析IP一個數據包完全足夠。還有就是文字聊天一般用的也是UDP,通常一段文字消息一個數據包就足夠了,如果發送失敗就再次發送,反正就一個數據包。還有一種傳遞大量數據包使用UDP協議的場景,就是廣播,類似對講機之類的,接收方並不一定能接收到所有的數據包。所以說UDP是一種不可靠的傳輸協議

UDP的主要特點:

  • UDP是無連接的,即發送數據之前是不需要建立連接的;
  • UDP使用盡最大努力交付,不保證可靠交付,同時不使用阻塞控制;
  • UDP是面向報文的,UDP沒有擁塞控制,很適合多媒體通信的要求;
  • UDP支持一對一、一對多、多對一、多對多的交互通信;
  • UDP的首部開銷小,只需要8個字節。

優點:快,比TCP稍安全

UDP沒有TCP擁有的各種機制,是一個無狀態的傳輸協議,所以傳遞數據非常快,沒有TCP的這些機制,被攻擊利用的機制就少一些,但是也無法避免被攻擊

缺點:不可靠,不穩定

因爲沒有TCP的那些機制,UDP在傳輸數據時,如果網絡質量不好,就會很容易丟包,造成數據的缺失

適用場景:

TCP:當對網絡通訊質量有要求時,比如HTTP、HTTPS、FTP等傳輸文件的協議, POP、SMTP等郵件傳輸的協議

UDP:對網絡通訊質量要求不高時,要求網絡通訊速度要快的場景

發佈了61 篇原創文章 · 獲贊 40 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章