tcp三次握手与四次断开

三次握手与四次断开

当客户端向服务端发起连接时,会发送SYN包,请求连接。服务端收到请求包后,同意连接的话会发送SYN+ACK包表示可以连接,客户端收到并回复ACK包。连接建立。因为这个过程相互发送了三包数据,所以称为三次握手。

“三”次握手——三的含义,为什么不是二次呢?

服务端回复完SYN+ACK就建立连接,是为了已经失效了的报文突然又传到服务器引起错误。

当客户端发SYN包,因为某些特殊原因,这个包没有到达服务器,所以服务端也不会发出任何命令,然后客户端重新发送SYN包,这次这包数据完成传输,服务端回复完SYN+ACK就建立连接。但是第一包数据阻碍网络的传输,又重新恢复,又到达了服务端,服务端会以为客户端以为这个是新的连接,所以,在这两次传输后,两端都进入等待状态,。这样的状态不一致,导致连接没有成功。。

四次断开:客户端先向服务端发送FIN包,然后自己进入等待状态

服务端收到FIN包,发送给客户端ACK包,自己进入关闭等待状态,

服务端发送自己未发送的数据,客户端接收数据,服务端发送完后,进入确认状态

客户端发送ACK 进入超时等待阶段,然后关闭连接,服务端收到立即关闭连接

客户端为啥等待超时时间,保护对方收到ACK包,假如客户端发送完最后一ACK包后释放了连接,ack如果丢失,服务端就会一直停留在确认状态这是保护在不可靠网络链路中进行可靠连接断开确认

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值