淺談 UDP協議和TCP協議(三次握手)

UDP與TCP特點

UDP:只提供應用進程尋址和簡單的差錯檢錯功能,不向應用層提供數據的可靠性傳輸,實時性好,效率高。
TCP:提供應用進程尋址,還能爲應用層提供可靠的數據傳輸服務,具有流量控制和擁塞控制能力。
各應用層協議對應的運輸層協議:
在這裏插入圖片描述

UDP

特點:無連接性,發送數據前不需要與對端進行連接,減少了開銷和發送數據之前的延時。
盡力而爲的服務,不提供可靠的數據傳輸服務,提供差錯檢錯服務,一旦檢測出數據出現錯誤,就將其丟棄不向應用層傳遞。
高效傳輸協議,收到應用層報文後,不合並,不拆分,添加首部直接發送,適用於實時性要求較高,容忍數據丟失,應用在(視頻會議,直播)。
沒有擁塞控制和流量控制。
接下來我們主要講解一下TCP協議的特點和連接(三次握手)和釋放連接的過程

TCP

特點:TCP是面向連接的運輸層協議:兩端TCP協議必須進行建立一個TCP連接,數據傳輸完畢後,再釋放連接,(對於這裏涉及到的一些定時器的內容先不解釋)。
TCP提供可靠的數據傳輸服務
TCP提供流量控制:控制進程發送速率,保證另一端數據不溢出,而發生數據丟失。
提供擁塞控制:通過TCP調整減小向網絡中加入數據的數量和速率。
提供雙全工數據傳輸服務:雙方都建立發送緩存和接收緩存
TCP是面向字節流:將數據塊看成一連串的無結構的字節流,並對每個字節進行編號。
TCP傳輸過程:
建立數據連接(虛擬形式的連接) 數據傳輸 關閉連接
TCP連接(三次握手)
在這裏插入圖片描述
採用客戶-服務器模型
1.第一個TCP報文段,由客戶端發出(只有tcp首部無應用層報文)SYN=1 表示想要建立連接,並告訴服務器 客戶端所發送的字節流的起始編號。
2. 服務器收到後,會迴應一個tcp報文段,SYN =1,ACK =1。告訴客戶端自己發送的字節流的初始編號爲 y 並表示期望客戶端發送的編號爲 x+1。
3. 客戶端收到後 ACK = 1 seq = x+1,ack = y+1。表示客戶端對服務器表號的確認。(seq = 編號,ack=確認號)
關閉連接
在這裏插入圖片描述
1.客戶端TCP發出一個特殊報文段 PIN = 1,客戶端數據發送完畢,並關閉連接。
2.服務器收到報文段後,通知服務器進程,同時發送一個確認的TCP報文段,ACK=1 此時只關閉客戶端到服務器這個方向上的連接 處於半關閉狀態。
3.服務器發出TCP報文段 FIN =1 通知客戶端關閉連接。
4.客戶端接收後通知服務器發送確認的TCP報文,此時連接關閉,雙發TCP釋放連接,並刪掉這個連接所佔用的全部資源。

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