tcp/ip協議(1)三握四揮

~arbitrary`發表於2020-12-01

TCP/IP協議

一.協議的作用

在網路通訊過程中,通訊雙方必須以同一種規則來通訊,保證通訊過程中資訊的準確,同時,我們也需要知道通訊雙方怎麼建立通訊連線,以及由誰發起建立,這些都需要一種規則來進行規範,這種規則就是協議(protocol)。

二.TCP/IP協議族

tcp/ip協議族是網際網路中相關各類協議的總稱,其可按照具體功能不同劃分為四層,包括:應用層->傳輸層->網路層->物理層.

三.傳輸層中的TCP和UDP協議

(1)TCP協議(translation control protocol)

TCP協議(傳輸控制協議),是一種基於連線的提供可靠傳輸的協議,其在連線過程中需進行三次握手建立連線和四次揮手斷開連結

1.三次握手

建立連線前,伺服器端被動開啟,處於LISTEN狀態,

1.當建立連線時,客戶端主動開啟,使標誌位SYN=1,ACK=0,seq=x,x為傳送的位元組流中最後一個位元組的編號,客戶端傳送完後將自己的狀態置為SYN-SENT狀態,

2.此時伺服器收到訊息,傳送SYN=1,ACK=1,seq=y,ack=x+1的訊息,並將自身狀態置為SYN-RECV,

3.當客戶端收到訊息後,給伺服器端傳送確認訊息ACK=1,seq=x+1,ack=y+1,並將自身狀態置為ESTABLISHED,當伺服器端收到訊息後將自身狀態置為ESTABLISHED,建立連線過程完成。

在這裡插入圖片描述

2.四次揮手

1.當客戶端傳送完訊息主動關閉時,使FIN=1,seq=u,將自身狀態由ESTABLISHED置為FIN-WAIT-1

2.伺服器端收到訊息後傳送ACK=1,seq=v,ack=u+1的訊息,並將自身狀態由ESTABLISHED置為CLOSE-WAIT狀態 當客戶端收到訊息後將自身狀態置為FIN-WAIT-2,此時客戶端已經不能向伺服器端傳送訊息,但還能繼續接受資料

3.當伺服器端完成資料傳輸後傳送FIN=1,ACK=1,seq=w,ack=u+1給客戶端,並將自身狀態置為LAST-ACK

4.客戶端收到伺服器的斷開連線請求後,傳送ACK=1,seq=u+1,ack=w+1,並將自身狀態置為TIME-WAIT,此時伺服器端收到訊息後斷開連線,而客戶端等待2MSL時間也關閉此連線。

在這裡插入圖片描述

相關文章