TCP半关闭,半连接,半打开

半关闭:

当TCP链接中A向B发送 FIN 请求关闭,另一端B回应ACK之后,并没有立即发送 FIN 给A,A方处于半连接状态(半开关),此时A可以接收B发送的数据,但是A已经不能再向B发送数据。

半连接:

发生在TCP三次握手中
如果A向B发起链接,B也按照正常情况响应了,但是A不进行三次握手,这就是半连接。
半连接攻击:半连接,会造成B分配的内存资源就一直这么耗着,直到资源耗尽。(SYN攻击)

半打开:

如果一方关闭或者异常关闭(断电,断网),而另一方并不知情,这样的链接称之为半打开。处于半打开的连接,如果双方不进行数据通信,是发现不了问题的,只有在通信是才真正的察觉到这个连接已经处于半打开状态,如果双方不传输数据的话,仍处于连接状态的一方就不会检测另外一方已经出现异常

解决方法:

如何解决半打开问题,引入心跳机制就可以察觉半打开。

如果需要发数据的话,这边收到之后 其实发现这个连接并不存在了,就会回复RST包告知,这个时候就需要重新建立连接了!

你可能感兴趣的:(网络基础)