TCP三次握手 四次揮手過程

2021-08-26 08:17:45 字數 1007 閱讀 9068

tcp是面向位元組流的可靠協議,傳輸的資料單元叫報文段,報文段包括:首部和資料。

序號:本報文段傳送的資料的第乙個位元組的序號

確認ack:連線請求報文段的ack=0,建立連線後ack=1(ack=1時確認號有效,ack=0時確認號無效)

同步syn:當syn=1,ack=0這是連線請求報文段,若對方同意則響應報文段syn=1,ack=1

終止fin:當fin=1,表示此報文段傳送方的資料已傳送完畢,要請求釋放連線

a向b發連線請求報文段,同步syn=1,確認ack=0,序號seq=x(不攜帶資料也要消耗1個序號),確認ack=0確認號ack無效

b收到連線請求報文段後,若同意建立連線,向a傳送確認報文段,同步syn=1,確認ack=1,序號seq=y(不攜帶資料也要消耗1個序號),確認號ack=x+1(不攜帶資料)

a收到b的確認後,還要傳送確認報文段,同步syn=0(syn不需要了),確認ack=1,序號seq=x+1,確認號ack=y+1

a的資料傳送完畢,a向b傳送連線釋放報文段,終止fin=1,序號seq=u(不攜帶資料也要消耗1個序號)

b收到連線釋放報文段後,若同意釋放,向a傳送確認報文段,確認ack=1,序號seq=v(v=b已傳送的資料的最後乙個位元組序號+1),確認號ack=u+1

此時a到b方向的連線就釋放了,tcp處於半關閉狀態,b到a方向的連線未關閉,若b要傳送資料,a仍要接收。若在半關閉狀態b又傳送了一些資料,b的資料傳送完畢,b向a傳送連線釋放報文段,終止fin=1,確認ack=1,序號seq=w(w=b已傳送的資料的最後乙個位元組序號+1),確認號ack=u+1

a收到連線釋放報文段後,向b傳送確認報文段,確認ack=1,序號seq=u+1,確認號ack=w+1

注:若b收到a的連線釋放報文段後,不再傳送資料了,第2和3步合併為乙個即只傳送乙個確認報文段,終止fin=1,確認ack=1,序號seq=v(w=b已傳送的資料的最後乙個位元組序號+1),確認號ack=u+1,第4步變為:a收到連線釋放報文段後,向b傳送確認報文段,確認ack=1,序號seq=u+1,確認號ack=v+1

TCP三次握手四次揮手過程

tcp三次握手四次揮手過程 三次握手 在tcp ip協議中,tcp協議提供可靠的連線服務,採用三次握手建立乙個連線 第一次握手 建立連線時,客戶端傳送syn包 syn j 到伺服器,並進入syn send狀態,等待伺服器確認。第二次握手 伺服器收到syn包,必須確認客戶的syn ack j 1 同時...

TCP三次握手 四次揮手

tcp 三次握手 tcp 連線是通過三次握手進行初始化的。三次握手的目的是同步連線雙方的序列號和確認號並交換 tcp 視窗大小資訊。以下步驟概述了通常情況下客戶端計算機聯絡伺服器計算機的過程 1.客戶端向伺服器傳送乙個syn置位的tcp報文,其中包含連線的初始序列號x和乙個視窗大小 表示客戶端上用來...

TCP三次握手 四次揮手

服務端的tcp程序先建立傳輸控制塊tcb,準備接受客戶端程序的連線請求,然後服務端程序處於listen狀態,等待客戶端的連線請求,如有,則作出響應。1 客戶端的tcp程序也首先建立傳輸控制模組tcb,然後向服務端發出連線請求報文段,該報文段首部中的syn 1,ack 0,同時選擇乙個初始序號seq ...