TCP三次握手四次挥手详解

1.三次握手四次挥手

SYN = 1,代表这个数据包是客户端和服务器之间连接数据包。
ACK = 1,代表这个数据包是一个答复包,用于确认收到的数据包。
FIN = 1,说明这是一个单方面结束连接的数据包
RST = 1,说明TCP连接出现异常强制断开连接。

ack=上一次的seq+1,+1表示上一段发送的消息成功接收

seq为服务器初始化的一个数,代表数据包在服务器连接中发送的所有数据包
1.1何为三次握手?

三次握手为“建立连接”

(1)客户端-------->服务器发送一段建立连接请求的SYN

(2)服务器收到SYN后,发出一个SYN表示已收到,又给客户端一个同意建立连接的ACK

(3)客户端收到服务器的回复后,双方达成一致建立连接

1.2何为四次挥手?

四次挥手为“解除连接”

(1)客户端-------->服务器发送一段解除连接请求的SYN

(2)服务器收到SYN后,发出SYN告诉客户端已经收到

(3)然后再次发出一个ACK表示同意解除

(4)由1和3中的信息达成一致,双方解除连接

1.3为何握手三次,挥手则是四次?

当客户端发起解除连接请求时,客户端不能关闭,需要等待服务器回应;

服务器收到请求后,首先表示同意;

此时服务器还有数据未完成发送给客户端,他需要完成发送才可发送FIN=1结束连接并且还要等待客户端回应,避免FIN数据包失效

客户端再次向服务器发送ACK确认的答复包。此时连接才真正关闭

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值