释放连接有非对称式和对此式两中方式,非对称式可能会导致数据丢失,比如主机1发送了一个TPDU到主机2,然后主机1又发送了一个TPDU。不幸的是主机2第二个TPDU到达之前,发送了DISCONNECT TPDU。结果该连接被释放,数据丢失。对称式释放过程是每个方向被单独释放,两个方向互不影响。如果主机2发送了DISCONNECT TPDU以后,它依然可以接受数据。
释放连接的4中情况:
a:一般情况下的三次握手释放连接
一个用户发送一个DR TPDU,以发起释放连接的过程。当到达的时候,接受方也送回一个DR TPDU,并启动一个定时器,目的就是为了防止它的DR丢失。当这个DR到达时候,最初的发送方也送回一个ACK TPDU,并且释放,最后当ACK TPDU到达的时候,接收方也释放连接。
b:丢失最后ACK三次握手释放连接
如果最后的ACk 丢失的话,可以通过一个定时器来补救,当定时器超时的时候,不管怎么样,连接都被释放。
c:应答都丢失了的三次握手释放连接
如果第二个DR丢失,发起释放连接操作的用户将接受不到预期的应答,所以它超时,于是再次尝试释放连接。
d:应答和后续的DR都丢失了的三次握手释放连接
所有重传TPDU 尝试都失败了,经过N次重试以后,发送方超时放弃了,并且释放连接。同时接收方超时了,于是退出。