半连接:
TCP三次握手中,A向B发起连接请求,B正常响应,但是A不进行三次握手,这样的情况为半连接。
半连接攻击:半连接,会造成B分配的内存资源就一直这么耗着,直到资源耗尽。(SYN攻击)
半打开:
如果通信双方中,有一方关闭或者异常关闭(断电,断网),而另一方并不知情,这样的情况为半打开。
处于半打开的连接,如果双方不进行数据通信,是无法察觉的,
只有在通信时才真正的察觉到这个连接已经处于半打开状态,
如果双方不传输数据的话,仍处于连接状态的一方就不会检测另外一方已经出现异常
解决方法:
可以引入心跳机制,检测半打开状态,检测到了发送RST重新建立连接。
半关闭:
当TCP连接中A向B发送fin请求关闭,另一端B回应ACK之后,并没有立即发送fin给A,
此时A不能再向B发送数据,但可以接收B发送的数据,这样的情况为半关闭。