TCP第三次握手失败后怎么办?

来源:互联网 发布:四大工资2017 知乎 编辑:程序博客网 时间:2024/05/17 22:43
作者:骨气
链接:https://www.nowcoder.com/discuss/8081?type=1&order=0&pos=105&page=1
来源:牛客网

当客户端收到服务端的SYN+ACK应答后,其状态变为ESTABLISHED,并会发送ACK包给服务端,准备发送数据了。如果此时ACK在网络中丢失,过了超时计时器后,那么Server端会重新发送SYN+ACK包,重传次数根据/proc/sys/net/ipv4/tcp_synack_retries来指定,默认是5次。如果重传指定次数到了后,仍然未收到ACK应答,那么一段时间后,Server自动关闭这个连接。但是Client认为这个连接已经建立,如果Client端向Server写数据,Server端将以RST包响应,方能感知到Server的错误。


当失败时服务器并不会重传ack报文,而是直接发送RTS报文段,进入CLOSED状态。这样做的目的是为了防止SYN洪泛攻击。

参考:http://www.cnblogs.com/heyonggang/p/3386415.html




0 0
原创粉丝点击