TCP状态解释
2008年11月22日
2 条评论
文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。
某同学看端口开放状况,然后看到一堆LISTENING、TIME_WAIT...于是就问我,我也懒得说,直接写出来凑文章数好了。
1、LISTENING
侦听状态,例如开放诸如FTP服务的时候就会侦听端口,当然一些反向连接的后门也会开启某个端口进行侦听。
2、ESTABLISHED
已经建立连接,通常还会显示另外一个IP和端口,表示这两个端口正在进行通信。
3、CLOSE_WAIT
对方主动关闭连接或者网络异常导致连接中断,这时你的状态会变成CLOSE_WAIT,此时你可以调用close()来使得连接正确关闭。
4、TIME_WAIT
当你主动调用close()断开连接,对方确认后状态就会变为TIME_WAIT。
TCP协议规定TIME_WAIT状态会一直持续2MSL(即两倍的分段最大生存期),以此来确保旧的连接状态不会对新连接产生影响。处于TIME_WAIT状态的连接占用的资源不会被内核释放,所以作为服务器,在可能的情况下,尽量不要主动断开连接,以减少TIME_WAIT状态造成的资源浪费。
最新评论