2018-5-31 TCP、UDP協議對比

1.可靠性:
(1)UDP協議:不可靠,沒有確認機制,沒有重傳機制,如果因爲網絡故障該段無法發送到對方,UDP協議層也不會給應用層返回任何錯誤信息;

(2)TCP協議:通過校驗和、序列號(按序到達)、確認應答、超時重傳、連接管理、流量控制、擁塞控制保證可靠性;TCP協議通過滑動窗口、快重傳、延遲應答、捎帶應答等機制來提高性能。

2.面向對象:
(1)UDP協議:UDP是無連接的,知道對端的IP和端口號就直接進行傳輸,不需建立連接;UDP是面向數據報的,應用層交給UDP多長的報文,UDP原樣發送,既不會拆分,也不會合並。

(2)TCP協議:TCP面向連接,知道對端的IP和端口號並建立連接後纔可通信,保證可靠性;面向字節流,可以一次性將對端發送的消息接收完畢,也可以分幾次進行接收。

3.TCP與UDP優缺點:
(1)UDP協議:
a.優點: 快,比TCP稍安全 UDP沒有TCP的握手、確認、窗口、重傳、擁塞控制等機制,UDP是一個無狀態的傳輸協議,所以它在傳遞數據時非常快。沒有TCP的這些機制,UDP較TCP被攻擊者利用的漏洞就要少一些。

b.缺點: 不可靠,不穩定 因爲UDP沒有TCP那些可靠的機制,在數據傳遞時,如果網絡質量不好,就會很容易丟包。

c.應用場景:當對網絡通訊質量要求不高的時候,要求網絡通訊速度能儘量的快,這時就可以使用UDP。 比如,日常生活中,常見使用UDP協議的應用如下: QQ語音 QQ視頻 TFTP ……

(2)TCP協議:
a.優點: 可靠,穩定 TCP的可靠體現在TCP在傳遞數據之前,會有三次握手來建立連接,而且在數據傳遞時,有確認、窗口、重傳、擁塞控制機制,在數據傳完後,還會斷開連接用來節約系統資源。

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

c.應用場景:當對網絡通訊質量有要求的時候,比如:整個數據要準確無誤的傳遞給對方,這往往用於一些要求可靠的應用,比如HTTP、HTTPS、FTP等傳輸文件的協議,POP、SMTP等郵件傳輸的協議。 在日常生活中,常見使用TCP協議的應用如下: 瀏覽器,用的HTTP FlashFXP,用的FTP Outlook,用的POP、SMTP Putty,用的Telnet、SSH QQ文件傳輸 。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章