1、首先,你要知道,数据报的结构如下图所示:
2、你要知道FIN的含义即:发送FIN=1,即上图中,F位置位,会使得FIN接收方得到的信息是——FIN发送方不再向我发送数据了。
而FIN发送方的本意则是:我不会再向你发送数据,但我还能接收你的数据。
3、而事实上,对于四次挥手,如下图所示:
第二次挥手时,主机2往往没有发送完数据,如果将2,3次挥手合并,那么就会导致主机1忽略主机2发的数据,要知道,主机1可能是想要这份数据的。
因此,如果二次挥手有数据发送,那么就不能合并,其次,如果发送方在二次挥手时没有数据要发送了,那么要三次挥手也不是不行。