当前位置: 移动技术网 > IT编程>开发语言>PHP > [TCP/IP] TCP第三次握手失败怎么办

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

2019年07月19日  | 移动技术网IT编程  | 我要评论
三次握手 客户端 ==> SYN是1同步 ,ACK确认标志是0,seq序号是x ==> 服务器 客户端 <== SYN是1同步 ,ACK确认标志是1,seq序号是y,ack确认号是x+1 <==服务器 客户端 ==> ACK确认标志是1,seq序号是x+1,ack确认号是y+1 ==>服务器 ser ...

三次握手

客户端 ==> 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包响应

 

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网