天天看點

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與UDP的差別:

1.基于連接配接與無連接配接;

2.對系統資源的要求(TCP較多,UDP少);

3.UDP程式結構較簡單;

4.流模式與資料報模式 ;

5.TCP保證資料正确性,UDP可能丢包,TCP保證資料順序,UDP不保證。

即:TCP是面向連接配接的,UDP是無連接配接的,TCP提供可靠的服務,也就是說,通過TCP連接配接傳輸的資料不會丢失,沒有重複,并且按順序到達,UDP沒有可靠性。TCP是面向位元組流的,實際上是TCP把資料看成一連串無結構的位元組流;UDP是面向封包的。TCP是雙全工的可靠信道,UDP是不可靠信道。

繼續閱讀