TCP连接建立的三次握手是不是也存在着 TCP连接拆除的两军问题?
中科大-郑烇老师
编辑于 2022年05月14日 09:19

TCP拆除是信令交互的过程,暂时的网络不通畅(TCP拆除信令不通畅)会造成信令的丢失,以至于连接拆除存在两军问题,TCP连接拆除方案是一个不完美的解决方案。

因此,很多学友也自然想到TCP连接建立是不是也存在着两军问题呢?

TCP连接建立和拆除看似都是信令交互的过程,但是二者的目的不一样,一个是信令之后数据通信,一个是信令之后不再相见。目的不一样,面临的问题也不一样。TCP连接建立和拆除不一样,不存在两军问题。

原因如下:

1)TCP建立连接的目的是 为了通信,就是信令交互的目的是为了后面数据通信。如果 连接建立不通顺,一定会一直会进行建立TCP连接的信令通信。否则信令都不通,那么后面咋进行数据通信呢,所以信令通信不畅,二者会一直握手下去。

只要握手成功,没有必要再握手下去了的另一个原因是:因为后面的 数据通信过程 本身就有确认信息,相当于 一直数据+握手,后面的通信就有再握手,再再握手的意思。数据通信本身就有握手所具备的确认意思。

2)反过来,拆除是为了拜拜,以后不通信了。

拆除连接的信令通信的目的是为了 后面不通信,当然不必要为了后面的数据不通信 而一直通信(拆除信令交互)下去。

TCP拆除连接的方式是,每个方向单独拆除。每个方向的拆除信令,一个方向拆除交互两个信令,后面用计时器凑活一下拉倒,99%以上也能够解决问题。即使定时器之前连接拆除的信令不通畅,用计时器差不多也能够解决问题。

TCP连接拆除虽然不完美,但也不存在完美的解决方案。