TCP協議三次握手四次揮手

2021-10-21 15:14:26 字數 1763 閱讀 5392

tp三次握手四次揮手

一、三次握手

tcp建立過程要經歷三次握手的過程;分別為:

1、客戶機向伺服器傳送鏈結請求(帶著客戶端的設定,如客戶的接收視窗的大小,客戶端接受的最大報文段) ;

2、伺服器向客戶機傳送tcl連線確認(帶著伺服器的設定引數,接受視窗大小等) ;

3、客戶機向伺服器傳送確認的確認(此時連線已經建立);

4、傳輸資料報。

建立過程:

1、tcp連線請求:syn = 1,ack = 0(ack = 0表示此時的ack是無效的)

seq = x,ack = 0.(seq表示客戶機將要給伺服器傳送第x個位元組,ack表示客戶機已經收到了伺服器發來的前y-1個位元組,接下來伺服器應該給客戶機傳送第y個位元組)。

大寫的ack代表標記,小寫的ack代表確認號。

2、tcp確認連線:syn = 1,ack = 1(ack = 1表示此時的ack有效)

seq = y,ack = x+1.(伺服器向客戶機傳送第y個位元組,客戶機向伺服器傳送的前x個位元組已經收到,此時向伺服器請求第x+1個位元組)。

3、tcp確認的確認:syn = 0,ack = 1.(syn只有在請求和確認時為1,在確認的確認和之後的資料報傳輸中都為0)

seq = x+1,ack = y+1.(客戶機收到上一條確認連線的資料報,此時客戶機向伺服器傳送第x+1個位元組,同時表示已經收到了伺服器發來的第y個位元組,向伺服器請求傳送第y+1個位元組)。

二、四次揮手

1、客戶機請求斷開連線;

2、伺服器收到請求,向客戶機傳送確認斷開;

3、伺服器關閉自身應用程序,再次向客戶機傳送斷開確認;

4、客戶機向伺服器傳送確認的確認;

5、斷開連線,傳輸結束。

1、客戶機向伺服器傳送斷開連線請求(fin = 1,seq = u):客戶端主動關閉。此時,客戶機請求斷開連線,客戶機不會再給伺服器發訊息,但是伺服器給客戶機發訊息,客戶機可以接受;

2、伺服器接收到客戶機發來的斷開連線請求(ack = 1,seq = v,ack = u+1):通知自己的應用程序關閉,同時向客戶機傳送斷開確認的資料報;

3、伺服器被動關閉應用程序之後(fin = 1,ack = 1,seq = w,ack = u+1),再次向客戶機傳送斷開確認的資料報。

4、客戶機接收到第二次確認斷開的資料報後,向伺服器傳送確認的確認(ack = 1,seq = u+1,ack = w+1),客戶機進入等待時間(等待2msl,msl為最長報文時間,1msl約為1分鐘)。

5、伺服器收到客戶機發來的確認的確認,伺服器關閉。客戶機等待2msl之後,客戶機關閉,此時伺服器也不會給客戶機發訊息。此次連線斷開,傳輸結束。

關於客戶端處於等待時間(time-wait 2msl)的原因:客戶機向伺服器傳送確認的確認(第四次揮手),若此時資料報丟包,伺服器可以向客戶機再次傳送第二次確認斷開(第三次揮手),此時伺服器屬於等待狀態,可以再次傳送最後的確認(第四次揮手)。若客戶機沒有延時等待,客戶機直接關閉,此時缺少第四次揮手,伺服器將一直處於last_ack狀態,伺服器不會關閉。

可以cmd開啟windows終端,使用netstat -n檢視客戶機狀態。

tcp協議三次握手 四次揮手

起初,伺服器和客戶端都為closed狀態。在通訊開始前,雙方都得建立各自的傳輸控制塊 tcb 伺服器建立完tcb後遍進入listen狀態,此時準備接收客戶端發來的連線請求。第一次握手 客戶端向服務端傳送連線請求報文段。該報文段的頭部中syn 1,ack 0,seq x。請求傳送後,客戶端便進入syn...

TCP協議三次握手四次揮手

1.什麼是tcp協議 tcp協議是作用在傳輸層的傳輸控制協議 tcp 提供一種面向連線的 可靠的位元組流服務 在乙個 tcp 連線中,僅有兩方進行彼此通訊。廣播和多播不能用於 tcp tcp 使用校驗和,確認和重傳機制來保證可靠傳輸 tcp 給資料分節進行排序,並使用累積確認保證資料的順序不變和非重...

TCP協議三次握手四次揮手

tcp有哪些過程?a.建立連線 b.資料傳輸 c.終止連線 tcp三次握手和四次揮手的過程?syn,ack是什麼?syn 請求建立連線 含有同步序列號的標誌位的資料,tcp建立連線時,將這個 位 置1 ack 針對syn的確認應答 fin是什麼?fin 傳送端完成傳送任務 位 當tcp完成資料傳輸需...