TCP产生复位报文段RST的三种情况

在某些特殊情况下,TCP连接的一端会向另一端发送携带RTS标志的报文段,即复位报文段,以通知对方关闭连接或重新建立连接。

访问不存在的端口
当客户端程序访问一个不存在的端口时,目标主机将给他发送一个复位报文段。

异常终止连接
TCP提供了异常终止连接的方法,即给对方发送一个复位报文段。一旦发送了复位报文段,发送端所有排队等待发送的数据都将被丢弃。
应用程序可以使用socket选项SO_LINGER来发送复位报文段,以异常终止一个连接。

处理半打开连接
服务器(或客户端)关闭或异常终止了连接,而对方没有接受到结束报文段(比如发生了网络故障),此时,客户端(或服务器)还维持着原来的连接,而服务器(或客户端)即使重启,也已经没有该连接的任何信息了。这种状态被称为半打开状态,处于这种状态的连接叫做半打开连接。如果客户端(或服务器)往处于半打开状态的连接里写入数据,则对方会回应一个复位报文段。

猜你喜欢

转载自blog.csdn.net/qq_33113661/article/details/88427975