TCP和UDP的優缺點及區別
TCP的優點: 可靠,穩定 TCP的可靠體現在TCP在傳遞資料之前,會有三次握手來建立連線,而且在資料傳遞時,有確認、視窗、重傳、擁塞控制機制,在資料傳完後,還會斷開連線用來節約系統資源。 TCP的缺點: 慢,效率低,佔用系統資源高,易被攻擊 TCP在傳遞資料之前,要先建連線,這會消耗時間,而且在資料傳遞時,確認機制、重傳機制、擁塞控制機制等都會消耗大量的時間,而且要在每臺裝置上維護所有的傳輸連線,事實上,每個連線都會佔用系統的CPU、記憶體等硬體資源。 而且,因為TCP有確認機制、三次握手機制,這些也導致TCP容易被人利用,實現DOS、DDOS、CC等攻擊。
UDP的優點: 快,比TCP稍安全 UDP沒有TCP的握手、確認、視窗、重傳、擁塞控制等機制,UDP是一個無狀態的傳輸協議,所以它在傳遞資料時非常快。沒有TCP的這些機制,UDP較TCP被攻擊者利用的漏洞就要少一些。但UDP也是無法避免攻擊的,比如:UDP Flood攻擊…… UDP的缺點: 不可靠,不穩定 因為UDP沒有TCP那些可靠的機制,在資料傳遞時,如果網路質量不好,就會很容易丟包。 基於上面的優缺點,那麼: 什麼時候應該使用TCP: 當對網路通訊質量有要求的時候,比如:整個資料要準確無誤的傳遞給對方,這往往用於一些要求可靠的應用,比如HTTP、HTTPS、FTP等傳輸檔案的協議,POP、SMTP等郵件傳輸的協議。 在日常生活中,常見使用TCP協議的應用如下: 瀏覽器,用的HTTP FlashFXP,用的FTP Outlook,用的POP、SMTP Putty,用的Telnet、SSH QQ檔案傳輸 ………… 什麼時候應該使用UDP: 當對網路通訊質量要求不高的時候,要求網路通訊速度能儘量的快,這時就可以使用UDP。 比如,日常生活中,常見使用UDP協議的應用如下: QQ語音 QQ視訊 TFTP ……
有些應用場景對可靠性要求不高會用到UPD,比如長視訊,要求速率
小結TCP與UDP的區別:
1.基於連線與無連線;
2.對系統資源的要求(TCP較多,UDP少);
3.UDP程式結構較簡單;
4.流模式與資料包模式 ;
5.TCP保證資料正確性,UDP可能丟包,TCP保證資料順序,UDP不保證。
tcp協議和udp協議的差別
TCP UDP
是否連線 面向連線 面向非連線
傳輸可靠性 可靠 不可靠
應用場合 傳輸大量資料 少量資料
速度 慢 快
TCP與UDP區別總結:
1、TCP面向連線(如打電話要先撥號建立連線);UDP是無連線的,即傳送資料之前不需要建立連線
2、TCP提供可靠的服務。也就是說,通過TCP連線傳送的資料,無差錯,不丟失,不重複,且按序到達;UDP盡最大努力交付,即不保證可靠交付
3、TCP面向位元組流,實際上是TCP把資料看成一連串無結構的位元組流;UDP是面向報文的
UDP沒有擁塞控制,因此網路出現擁塞不會使源主機的傳送速率降低(對實時應用很有用,如IP電話,實時視訊會議等)
4、每一條TCP連線只能是點到點的;UDP支援一對一,一對多,多對一和多對多的互動通訊
5、TCP首部開銷20位元組;UDP的首部開銷小,只有8個位元組
6、TCP的邏輯通訊通道是全雙工的可靠通道,UDP則是不可靠通道
相關文章
- tcp和udp的區別TCPUDP
- php中TCP和UDP的區別PHPTCPUDP
- mixins和元件的區別和優缺點元件
- UDP與TCP的區別UDPTCP
- TCP與UDP的區別TCPUDP
- Nginx/Tomcat/Apache的優缺點和區別NginxTomcatApache
- 淺談TCP和UDP協議的區別TCPUDP協議
- MQTT是TCP還是UDP?TCP與UDP區別MQQTTCPUDP
- HTTP與UDP/TCP區別HTTPUDPTCP
- 知其所以然~tcp和udp的區別TCPUDP
- 終於懂了TCP和UDP協議區別TCPUDP協議
- 宏旺半導體分析EEPROM和FLASH的區別及各自的優缺點
- TCP與UDP區別詳解TCPUDP
- 如何理解UDP 和 TCP? 區別? 應用場景?UDPTCP
- Ajax、fetch、axios的區別與優缺點iOS
- Linux的優缺點,Linux與windows的區別LinuxWindows
- 一文搞懂TCP與UDP的區別TCPUDP
- TCP 和 UDPTCPUDP
- TCP和UDPTCPUDP
- Redis叢集的三種方式詳解(附優缺點及原理區別)Redis
- Ajax,jQuery ajax,axios和fetch介紹、區別以及優缺點jQueryiOS
- Python 關於TCP簡介以及與UDP的區別PythonTCPUDP
- 你真的瞭解HashSet 和HashMap的區別、優缺點、使用場景嗎?HashMap
- 繼承的優點和缺點繼承
- UDP和TCP的差異UDPTCP
- tcp和http的區別TCPHTTP
- HTTP和RPC的優缺點HTTPRPC
- ajax、axios、fetch之間的詳細區別以及優缺點iOS
- PyLint 的優點、缺點和危險
- 內部區塊鏈的優缺點區塊鏈
- Python開發中TCP和UDP區別是什麼?Python入門教程PythonTCPUDP
- TCP和UDP比較TCPUDP
- TCP和UDP協議TCPUDP協議
- UDP和TCP以及HTTPUDPTCPHTTP
- TCP和UDP對比TCPUDP
- python 中的UDP和TCP(1)PythonUDPTCP
- TCP和UDP是如何工作的TCPUDP
- memcached 和 redis 使用場景及優缺點對比Redis