简单分析TCP3次握手4次挥手

1.TCP/IP的体系结构

在这里插入图片描述

2.TCP头部结构

在这里插入图片描述

TCP标志位有6种标识

SYN(synchronous建立联机)
ACK(acknowledgement确认)
PSH(push传送)
FIN(finish结束)
RST(reset重置)
URG(urgent紧急)

Sequence number(顺序号码)  
接收的数据包中的确认号(始终让对方来设置我的序列号,以便于接收方按照序列号对分组数据重组,保证数据的完整性)

Acknowledge number(确认号码)  
 一般是接收数据包中的序列号+该包的有效数据长度。

3本地抓包
注意:wireshark是不可以抓取本地回路的包,如果想抓取的话,需要下载一个RawCap.exe,抓取文件后,用wireshark打开即可.
下面我以我抓取的本地数据包进行分析
在这里插入图片描述

3.1三次握手
在这里插入图片描述

第一次握手:55722–>9999 ACK=0,SYN = 1, Sequence number = 0,Acknowledgment number = 0
如图
第一次握手

第二次握手:9999 -->55722 ACK =1,SYN = 1, Sequence number = 0,Acknowledgment number = 1
在这里插入图片描述

第三次握手:55722–>9999 ACK=1,SYN = 0, Sequence number = 1,Acknowledgment number = 1

在这里插入图片描述

3.2传输数据
注意:
Sequence number(顺序号码)
接收的数据包中的确认号(始终让对方来设置我的序列号,以便于接收方按照序列号对分组数据重组,保证数据的完整性)

Acknowledge number(确认号码)
一般是接收数据包中的序列号+该包的有效数据长度。

55722–>9999第一次发送字符串为 “hello”
此时ACK=1,Push=1,AckNum = 1
在这里插入图片描述

9999–>55722 发出响应
ACK=1,AckNum = 1+7 = 8
在这里插入图片描述

9999–>55722 向客户端发送"good"
ACK = 1,Push =1,AckNum = 8
在这里插入图片描述

55722–>9999表示收到
ACK = 1,ACKNum= 1+6 = 7
在这里插入图片描述

4四次挥手

在这里插入图片描述

第一次挥手

在这里插入图片描述

第二次挥手
在这里插入图片描述

第三次挥手
在这里插入图片描述

第四次挥手
在这里插入图片描述

简单分析TCP过程到此为止.

猜你喜欢

转载自blog.csdn.net/qdh186/article/details/85603627