TCP 三次握手

2021-09-19 12:07:04 字數 975 閱讀 8759

該列舉型別列出tcp socket的所有可能的狀態

typedef enum

tcp_state_enum_type ;

log中的seq和ack均為16進製表示,wireshark資料報中的是以十進位制表示,它們是完全對應的

從log中可以看到,第一次client端syn報文發出後,收到了server的syn+ack,可是client端認為沒收到,又進行重傳(對應tcp retransmission報文),伺服器也做了應答,不過這次應答是重複的(dup ack),最後收到ack,三次握手成功

如下過程是一次標準的三次握手過程:

用於抓取log的模組作為tcp server,從log可以看出,

1.(ps_tcpin.c)當伺服器收到syn(seq=aa86d000,ack=0)報文後,

socket state:1 -> 3(tcp_listen -> tcp_syn_received)

2.(ps_tcpout.c)緊接著伺服器發出確認報文syn+ack(seq=9dc30000,ack=aa86d001)

3.(ps_tcpin.c)收到最後乙個ack(seq=aa86d001,ack=9dc30001),至此,三次握手結束

tcp三次握手 TCP 三次握手總結

tcp特點概述 tcp segment structure 段結構 step2 server host receives syn,replie with syn ack segment 答覆syn ack報文段 step3 client receives synack,replies with ac...

TCP 三次握手

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

TCP三次握手

1.伺服器準備好接受外來連線。passive open 被動開啟 需呼叫 socket bind listen 函式來完成。2.客戶端通過呼叫 connect 主動開啟 active open 這使得客戶 tcp傳送乙個 syn 表示同步 分節,這個分節告訴伺服器,客戶端將在待建立的連線中傳送的資料...