一、TCP與UDP區別總結:
1、TCP面向連接(如打電話要先撥號建立連接);UDP是無連接的,即發送數據之前不需要建立連接
2、TCP提供可靠的服務。也就是說,通過TCP連接傳送的數據,無差錯,不丟失,不重復,且按序到達;UDP盡最大努力交付,即不保證可靠交付。Tcp通過校驗和,重傳控制,序號標識,滑動窗口、確認應答實現可靠傳輸。如丟包時的重發控制,還可以對次序亂掉的分包進行順序控制。
3、UDP具有較好的實時性,工作效率比TCP高,適用于對高速傳輸和實時性有較高的通信或廣播通信。
4.每一條TCP連接只能是點到點的;UDP支持一對一,一對多,多對一和多對多的交互通信
5、TCP對系統資源要求較多,UDP對系統資源要求較少。
二、TCP和UDP的優缺點
- TCP協議的優點:
可靠、穩定,TCP的可靠體現在TCP在傳輸數據之前,會有三次握手來建立連接,而且在數據傳輸之前,會有三次握手來建立連接,而且在數據傳輸時,有確認、窗口、重傳、擁塞控制機制,在數據傳完猴,還會斷開連接用來節約系統資源。 - TCP缺點:
慢,效率低,占用系統資源高,易被攻擊,TCP在傳輸數據之前,要先建立連接,這會消耗時間,而且在數據傳遞時,確認機制,重傳機制,擁塞機制等都會消耗大量時間,而且要在每臺設備上維護所有的傳輸連接,事實上,每個連接都會占用系統的CPU、內存等硬件資源。而且,因為TCP有確認機制、三次握手機制,這些也導致了TCP容易被人利用,實現DOS,DDOS,CC等攻擊。 - UDP的優點:
快速,比TCP稍安全,UDP沒有TCP的握手,確認,窗口,重傳,擁塞控制等機制,UDP是一個無狀態的傳輸協議,所以它在傳遞數據時非常快。沒有TCP的這些機制,UDP較TCP被攻擊者利用的漏洞就要少一點。 - UDP的缺點:
但是UDP也是無法避免攻擊;不可靠,不穩定 因為UDP沒有TCP那些可靠的機制,在數據傳遞時,如果網絡質量不好,就很容易丟失包。
什么時候應該使用TCP:
當對網絡通信質量有要求的時候,比如: 整個數據要準確無誤的傳遞給對方,這往往用于一些要求可靠的應用,如QQ,游覽器, HTTP,HTTPS,FTP等傳輸文件的協議,POP,SITP等郵件傳輸的協議。
什么時候應該使用UDP:
當對我拿過來通信質量要求不高的時候,要求網絡通訊能盡量的快,這時就可以使用UDP,比如qq語音,qq視頻FTFP