TCP三次握手四次揮手過程

2021-07-11 01:57:59 字數 1017 閱讀 2680

tcp三次握手四次揮手過程

三次握手:

在tcp/ip協議中,tcp協議提供可靠的連線服務,採用三次握手建立乙個連線

第一次握手:建立連線時,客戶端傳送syn包(syn=j)到伺服器,並進入syn_send狀態,等待伺服器確認。

第二次握手:伺服器收到syn包,必須確認客戶的syn(ack=j+1),同時也傳送自己的syn(syn=k)包,即syn+ack包,此時伺服器進入syn_revc狀態。

第三次握手:客戶端收到伺服器的syn+ack包,向伺服器傳送確認包ack(ack=k+1),此包傳送完畢,客戶端和伺服器端進入establish狀態,完成三次握手。

完成三次握手,客戶端和伺服器端開始傳送資料。

未連線佇列:在三次握手協議中,伺服器維護乙個未連線佇列,該隊列為每個客戶端的syn包(syn=j)開設乙個條目,該條目表明伺服器收到了syn包,並向客戶端傳送確認,正在等待客戶端的確認包,這些條目所表示的連線在伺服器處於syn_recv狀態,當伺服器收到客戶端的確認包時,刪除該條目,伺服器進入establish狀態。

理想狀態下,tcp連線一旦建立,在通訊雙方中的任何一方主動關閉連線之前,tcp 連線都將被一直保持下去。

四次握手

與建立連線的「三次握手」類似,斷開乙個tcp連線則需要「四次握手」。

第一次揮手:主動關閉方傳送乙個fin,用來關閉主動方到被動關閉方的資料傳送,也就是主動關閉方告訴被動關閉方:我已經不 會再給你發資料了(當然,在fin包之前傳送出去的資料,如果沒有收到對應的ack確認報文,主動關閉方依然會重發這些資料),但是,此時主動關閉方還可 以接受資料。

第二次揮手:被動關閉方收到fin包後,傳送乙個ack給對方,確認序號為收到序號+1(與syn相同,乙個fin占用乙個序號)。

第三次揮手:被動關閉方傳送乙個fin,用來關閉被動關閉方到主動關閉方的資料傳送,也就是告訴主動關閉方,我的資料也傳送完了,不會再給你發資料了。

第四次揮手:主動關閉方收到fin後,傳送乙個ack給被動關閉方,確認序號為收到序號+1,至此,完成四次揮手。

TCP三次握手 四次揮手過程

tcp是面向位元組流的可靠協議,傳輸的資料單元叫報文段,報文段包括 首部和資料。序號 本報文段傳送的資料的第乙個位元組的序號 確認ack 連線請求報文段的ack 0,建立連線後ack 1 ack 1時確認號有效,ack 0時確認號無效 同步syn 當syn 1,ack 0這是連線請求報文段,若對方同...

TCP三次握手 四次揮手

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

TCP三次握手 四次揮手

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