TCP连接的部分异常情况

本文探讨了TCP连接在建立及已建立阶段可能遇到的问题,如服务器未监听、客户端SYN包丢失、服务器未开启等情况导致的连接失败,以及客户端断电后的连接恢复机制。深入解析了TCP的保活计时器和心跳机制如何确保连接的健壮性。

一、建立连接阶段

1.访问非listen状态的服务器接口

    A向B发出连接,而B相应的端口并未监听,这时B会发送一个RST包给A。

ps:如果服务器的BACKLOG已满,客户端的SYN包只是被简单丢弃,客户端表现为连接超时,服务器并不会发RST包。

2.客户端的SYN包在网络传输过程中丢失

    A超时重发SYN包。

3.服务器未开启(指电源)    

   A超时重发SYN包。  

(2和3中的超时之后会重发,但是超时定时器的时间也会一次比一次长,总共等待75s未收到响应包就返回错误)

(截图自https://www.cnblogs.com/wanpengcoder/p/5356776.html

二、连接已建立阶段

1.A断电了,而B不知情

   TCP设有一个保活计时器,应用层还有一个心跳机制。每收到一次客户的数据会重启计时器,而当计时器时间到了,就会发生探测报文,以后每隔75s发送一次,若连续十次没有响应,则B认为A出现故障了,接着关闭连接。

2.A断电之后重启了,B并不知情,并且向A发送了一个报文

   A重启之后,之前所有的连接已丢失。此时收到一个B发来的报文,一脸懵逼,会回复一个RST包。

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值