目錄
1、區別
2、優缺點
3、應用場景
tcpudp
4、tcp可靠性的保證 :
5、tcp報頭和udp報頭的區別
tcp頭部結構
udp報頭
(1)tcp 面向連線;udp 無連線,即在傳送資料之前不需要建立連線;
tcp 需要維護連線狀態;udp 不需要
(2)tcp 提供可靠的服務,保證資料正確性、不丟包、不重複、有序性;udp 只最大交付,不保證可靠性;
(3)tcp 通過流模式傳輸資料;udp 通過資料報模式傳輸資料;
(4)tcp 只能一對一的傳輸;udp 支援一對
一、一對多、多對
一、多對多的傳輸(互動通訊)
(5)tcp 資訊包頭 20 個位元組;udp 8 個位元組
(6)tcp 擁有流量控制及擁塞控制的機制;udp 不關注網路狀況
(7)tcp對系統資源要求較多;udp對系統資源要求較少;
(8)tcp通過校驗和,重傳控制,序號識別,滑動視窗,確認應答實現可靠傳輸。如丟包時的重發控制,還可以對次序亂掉的分包進行順序控制;
(9)udp具有較好的實時性,工作效率比tcp高,適用於高速傳輸和實時性較高的通訊或廣播通訊
(10)tcp 適合網路負擔不大、可靠性要求高的場景;udp 適合網路負擔重響應高、客戶端較多、可靠性要求不高的場景
(1)tcp優點:可靠穩定;
tcp的可靠體現在tcp在傳毒資料之前,會有三次握手來建立連線,而且在資料傳遞時,有確認,視窗,重傳,擁塞控制機制,在資料傳完後,還會斷開連線用來節約系統資源
(2)tcp缺點:慢,效率低,占用系統資源高,容易被攻擊;
tcp在傳遞資料之前,要先建立連線,這會消耗時間,而且在資料傳遞時,確認機制,重傳機制,擁塞控制機制等都會消耗大量的時間,而且要在每台裝置上維護所有的傳輸連線,每個連線都會占用系統的cpu,記憶體等硬體資源。而且,因為tcp有確認機制、三次握手機制,這些也導致tcp容器被人利用,實現攻擊;
(3)udp優點:快,比tcp稍微安全;
udp沒有tcp的握手、確認、視窗、重傳、擁塞控制等機制,udp是乙個無狀態的傳輸協議,所以它在傳遞資料時特別快。沒有tcp的這些機制,udp較tcp被攻擊者利用的漏洞就要少一些。但udp也是無法避免攻擊的;
(4)udp缺點:不可靠,不穩定;
因為udp沒有tcp哪些可靠的機制,在資料傳遞時,如果網路質量不好,就會很容易丟包;
比如,整個數要準確無誤的傳遞給對方,這往往用於一些要求可靠的應用,比如http,https,ftp等傳輸檔案的協議;pop,smtp等郵件傳輸的協議。
(1)面向資料報方式
(2)網路資料大多為短訊息
(3)擁有大量client
(4)對資料安全性無特殊要求
(5)網路負擔非常重,但對響應速度要求高
(1)針對傳送端發出的資料報的確認應答訊號ack;
(2)針對資料報丟失或者出現定時器超時的重發機制;
(3)針對資料報到達接收端主機順序亂掉的順序控制;
(4)高效傳輸資料報的流動視窗控制;
(5)針對避免網路擁堵時候的流量控制;
(6)針對剛開始啟動的時候避免一下子傳送大量資料報而導致網路癱瘓的慢啟動演算法和擁塞控制;
tcp通過序列號、校驗和、確認應答訊號、重發控制、連線管理、視窗控制、流量控制、擁塞控制實現可靠性。
(1)16位埠號:告訴主機該報文段是來自**,以及傳給哪個上層協議或者應用程式(目的埠)的。
(2)32位序號:給傳送的資料編號。(隨機值+偏移量(偏移量決定序號的大小));32位序號能夠指定資料傳送過去的序號。
作用:a、保證傳送的資料有序;b、保證重複的資料報被丟棄。
(3)32位確認號:對a端傳送的資料進行確認並回饋的序號。(在32位序中的序號值加1返回回去)。
作用:保證資料能夠有效地到達對端。
(4)4位頭部長度:因為4位最大能表示15,所以最大為60個位元組。
(5)6位標誌位:
psh:通知盡快讀取資料;
rst:請求重新建立連線;
syn:請求建立連線;
fin:請求斷開連線;
ack:表示確認號是否有效;
urg:表示禁忌之陣是否有效。
(6)16位視窗大小:控制傳送資料的速度或流量。
(7)16位校驗和:由傳送端填充,接收端對tcp報文段在傳輸過程中是否損壞。檢驗不僅包括頭部部分,還包括資料部分。
(8)16位緊急指標:乙個正的偏移量(相當於當前序號的偏移)。緊急指標是傳送端向接收端傳送緊急資料的方法。
tcp的特點的可靠性就體現在:32位序號,32位確認號16位校驗和。面向連線體現在:urg、rst、syn、fin、ack、psh等六位標誌。
(1)使用者資料報長度:包括報頭和資料部分的總長度。
(2)校驗和:udp協議不做錯誤糾正,發現錯誤會丟棄掉並發出警告。
TCP和UDP的區別
tcp transimission control protocol 傳輸控制協議 和udp user datagram protocol 是傳輸層的兩種實現版本!它們之間提供基本的服務又各有所長。因此,根據對特定服務質量的要求,應用層軟體單元可以選擇通過傳輸層的tcp版本或者udp版本來傳輸資料。...
TCP和UDP的區別
tcp和udp都是傳輸層的協議,他們的區別主要如下 1 tcp,全名 傳輸控制協議 是面向連線的,也就是說在傳送方和接收方在傳送資料之前,必須通過三次握手建立連線,相當於現實生活中的打 功能,必須先撥號,接通後才能說話,udp,全名 使用者資料報協議 是無連線的,其中一方向向另一方傳送資料時不需要建...
TCP和UDP的區別
tcp transmission control protocol,傳輸控制協議 是基於連線的協議,也就是說,在正式收發資料前,必須和對方建立可靠的連線。乙個tcp連線必須要經過三次 對話 才能建立起來,其中的過程非常複雜,我們這裡只做簡單 形象的介紹,你只要做到能夠理解這個過程即可。我們來看看這三...