[TCP/IP] TCP第三次握手失败怎么办

三次握手

客户端 ==> SYN是1同步 ,ACK确认标志是0,seq序号是x ==> 服务器
客户端 <== SYN是1同步 ,ACK确认标志是1,seq序号是y,ack确认号是x+1 <==服务器
客户端 ==> ACK确认标志是1,seq序号是x+1,ack确认号是y+1 ==>服务器

server端发送了SYN+ACK报文后就会启动一个定时器,等待client返回的ACK报文。如果第三次握手失败的话client给server返回了ACK报文,server并不能收到这个ACK报文。那么server端就会启动超时重传机制,超过规定时间后重新发送SYN+ACK,重传次数根据/proc/sys/net/ipv4/tcp_synack_retries来指定,默认是5次。如果重传指定次数到了后,仍然未收到ACK应答,那么一段时间后,server自动关闭这个连接。但是client认为这个连接已经建立,如果client端向server写数据,server端将以RST包响应

 

posted @ 2019-07-19 19:13  唯一客服系统开发笔记  阅读(5528)  评论(0编辑  收藏  举报