TCP协议中有7中定时器
建立连接定时器(connection-establishment timer)
重传定时器(retransmission timer)
延迟应答定时器(delayed ACK timer)
坚持定时器(persist timer)
保活定时器(keepalive timer)
FIN_WAIT_2定时器(FIN_WAIT_2 timer)
TIME_WAIT定时器 (TIME_WAIT timer, 也叫2MSL timer)
建立连接定时器、FIN_WAIT_2定时器、TIME_WAIT定时器和tcp连接的生命周期直接相关
重传定时器和超时重传机制相关(经过RTT后没有ACK即重传)
延迟应答机制和延迟ACK机制相关(ack前等一段时间,当有其他包要发的时候和ACK一起发,减少流量)
坚持定时器和流量控制机制相关(当ack窗口为0时等一段时间探测接受窗口的变化)
保活定时器是一个连接建立后,每2小时发送探测包探测连接的计时器
关于RST标识
建立连接(connect)时,如果对方端口不存在,则会发送RESET,使本地还原之前的状态
如果一方处于半连接状态,也就是发送了FIN没有ACK,但是另一方处于断开后重新启动 的状态,在接受到FIN后也会发送RESET,使其强制关闭
连接异常时也会发送RST给对方