复位报文段:
一些特殊情况,TCP一端向另一端发送复位报文,以通知对方关闭链接或者重新建立链接。
产生复位报文的三种情况:
1. 当客户端访问一个不存在的端口时,目标主机会给客户端发送一个复位报文段。
并且该复位报文是不可回复的,因为他在头部告诉客户端,服务器这边的接收窗口为0.
// connectio refuse 端口不存在 拒绝链接
所以收到复位报文段的一方应该关闭链接或者重新建立链接。
实际上,客户端向一个正在处于TIME_WAIT状态的服务器端发起连接,也会收到一个复位报文
2. 正常情况下双方数据交换完成后,客户端会发送FIN来结束链接
TCP提供了一种异常方式来终止连接,就是给对方发送一个复位报文段,然后发送端的所有排队等发送的数据全部丢弃
3. 如服务器端由于网络故障或者电源关闭等异常和客户端异常中断了链接,但是客户端还维持着原来的链接,就算服务器重启,该链接的信息早就被服务器遗忘。(半打开状态)
如果此时客户端向半打开状态的链接发送数据,将收到对方回应的一个复位报文。
原文地址:https://www.cnblogs.com/Koaler/p/11926967.html