TCP三次握手,四次挥手(三张图片解决)

使用抓包工具(wireshark)

三次握手
在这里插入图片描述
(理论版介绍)
第一次握手:
建立连接时,客户端发送(SYN=1,seq号=x)到服务器,
并进入到SYN-SENT状态,等待 服务器确认;

第二次握手:
服务器收到,确认客户端发送(ACK=1,ack=x+1)。同时自己发送syn包,
把自己的序列号也发出去(SYN=1,seq=y)
服务器进入到SYN_RECV状态

第三次握手:
客户端收到服务器的包,发送(ACK=1,ack=y+1)
客户端进入到ESTABLISHED状态 服务器收到包后也进入ESTABLISHED状态

(秒懂版介绍)
第一次握手:
客户端给服务器发送自己的序列号seq,并且起始值为x。标志位SYN=1。

第二次握手:
服务器收到了客户端发送的seq=x。则确认标志位ACK = 1,并且确认ack=x+1。同时又发送了自己的序列号seq=y,标志位SYN=1.
(意思为我已经收到你的消息了(ACK),请下次发送序列号为x+1的数据(ack=x+1),这是我的序列号seq=y,标志位SYN=1 )
第三次握手:
客户端收到了服务器的消息,客户端:我收到啦(ACK),请下次发送序列号为y+1的数据(ack=y+1);

此时双方已经建立连接了。之后每个数据都会有它自己的序列号。
(注意:这里SYN只是在建立握手的时候出现。是双方同步序列号的标志,第四次发送数据的时候,SYN为0了,见下图)
在这里插入图片描述

四次挥手
在这里插入图片描述
(理论版介绍)
第一次挥手:
主动关闭方发送FIN 进入FINWAIT1状态

第二次挥手:
被动关闭方收到主动关闭方FINACK,进入到CLOSEWAIT状态
主动方收到被动关闭方的ACK后,进入到FINWAIT2状态

如果没有发送完数据继续把剩余发送完,然后第三次挥手

第三次挥手:被动方发送一个FIN进入到LASTACK状态

第四次挥手:主动关闭方收到被动关闭方发送的FIN后发送ACK,主动关闭方进入到TIMEWAIT状态
后关闭连接,被动关闭方收到ACK后关闭连接。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

&春风有信

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值