TCP和UDP以及相應的區別和用法

TCP和UDP都是來自於傳輸層的協議。

傳輸層是位於第2層的,如下圖所示。

傳輸層位於應用層和網絡層之間,負責位於不同主機中進程之間的通信。


不同電腦之間是如何通信的呢?是不是還要自己開發協議什麼的。

分析:覺得如果開發一個應用需要自己定義協議。其實也並不是沒有道理的,協議是什麼?協議就是雙方通信共同遵守的規則,被稱之爲協議。像怎麼使用的HTTP,FTP這些都屬於應用服務,爲什麼叫應用服務?因爲是專門服務其他人的應用。像QQ、微信、淘寶、瀏覽器這些通常稱之爲應用客戶端,當然了這些的服務端咱們是看不到摸不着的,除非你是參與其中開發的人員。QQ使用的是OICQ協議,HTTP服務則使用的HTTP協議,這些協議肯定都是自定義的。如果你使用HTTP服務器的話,你就必須遵守這個規則,否則人家是不認你的。其實都是基於TCP或UDP的。 

Internet的傳輸層提供兩種不同的服務,應用開發者必須選擇其中的一種。

TCP
是面向連接的可靠的傳輸層協議。

UDP
是無連接的不可靠的傳輸層協議。

何來可靠和不可靠之說?

UDP相對於IP來說,只添加了process到process的分發服務和錯誤檢驗機制,因爲,提供的也是不可靠的服務。
而TCP爲應用提供了包括可靠數據傳輸、流量控制和擁塞控制等在內的服務。

有了可靠的TCP,爲什麼還要UDP?

應用可以更精細控制何時發送何種數據
無需事先建立連接就可以發送數據
無連接狀態,實現簡單
頭部開銷小

擴展:

1、應用可更好控制何時發送何種數據:無須建立連接,UDP可儘快將消息發給網絡層;TCP可能需要重傳在規定時間內沒有收到確認的Segment。UDP沒有建立連接所引入的延遲,這可能是DNS選擇UDP而不是TCP的最主要原因。
2、實現簡單:UDP因爲是無連接的,Host因而無須維護連接狀態,實現簡單;
3、頭部開銷小:UDP的Segment頭部字段共8個字節;而TCP的頭部共包括20個字節.
UDP被多數多媒體應用使用。但是…

UDP通常被認爲是不負責任的
UDP流量通常不容易穿透防火牆
因此TCP的多媒體應用越來越多了…

TCP的優點:

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

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

UDP的優點:

快,比TCP稍安全。
UDP沒有TCP的握手、確認、窗口、重傳、擁塞控制,UDP是一個無狀態的傳輸協議,所以它在傳遞數據時非常快。
沒有TCP的這些機制(如:三次握手),攻擊者利用UDP的漏洞就要少一些。但是UDP也是無法避免攻擊的,比如:UDPFlood等。
UDP的缺點:

不可靠,不穩定。
因爲UDP沒有TCP那些可靠的機制,在數據傳遞時,如果網絡質量不好,就會很容易丟包。
在UDP和TCP協議面前,如何選擇並使用?
基於上面的優點和缺點的分析

什麼時候應該使用TCP傳輸協議:

當網絡通訊有要求的時候,比如:整個數據要準確無誤的傳遞給對方,這往往用於一些可靠的應用,比如:HTTP,HTTPS,FTP等傳輸文件的協議,POP、SMTP等郵件傳輸協議。

什麼時候應該使用UDP:

當網絡通訊質量要求不高的時候,要求網絡通訊速度能儘量的快,這時就可以使用UDP。比如:QQ語言、QQ視頻等。

面試經常會問道:TCP和UDP協議的區別是什麼?

簡化很多字的總結:

1、TCP面向連接,UDP無連接;
2、TCP佔用系統資源較多,UDP少;
3、TCP結構複雜,UDP絞簡單;
4、TCP基於流模式,UDP時數據報模式;
5、TCP保證數據正確性,UDP可能丟包;
6、TCP保證數據順序,UDP不保證。
轉載於:https://blog.csdn.net/qq_17623363/article/details/105109907?utm_medium=distribute.pc_feed.none-task-blog-alirecmd-19.nonecase&depth_1-utm_source=distribute.pc_feed.none-task-blog-alirecmd-19.nonecase&request_id=

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