今天创建应用负载的时候,关注了一下节点监视器的类型
<ignore_js_op>
监视器的类型很多,这里的TCP半连接是什么意思呢,在这里简单的分析一下,不对的地方请各位大神批评指正。
大家都知道TCP协议建立连接需要经过三次握手。说到三次握手,首先需要回忆一下TCP头部的几个字段:
ACK:是请求状态还是应答状态。1是应答,0是请求
SYN:用于建立连接。SYN=1 ACK=0 表示连接请求, SYN=1ACK=1 表示连接被接受
FIN:用于释放连接,表明发送方已经没有数据发送了。
RST:用于复位由于主机崩溃或其他原因而出现错误的连接。
<ignore_js_op>
节点监视器里还有一个类型是CONNECT(TCP)这个应该指的是TCP全连接,通过尝试与端口进行三次握手,建立完整的TCP连接,根据连接的成败推断端口的工作状态。TCP全连接的优点是稳定可靠,对端口工作状态的判定准确。
那么TCP半连接究竟是啥意思呢?
<ignore_js_op>
所谓“半连接”是指在和目标主机的指定端口建立连接时只完成了前两次握手,在第三步时,中断了本次连接,使连接没有完全建立起来。向目标主机发送SYN数据包,好像准备打开一个实际的连接,并等待反应一样。返回SYN/ACK信息表示端口处于侦听状态;返回RST,表示端口没有处在侦听状态。TCP半连接的有点是隐匿性好,大部分系统不会记录这种不完整的TCP连接。