首页 理论教育 计算机网络原理:建立初始连接的方法

计算机网络原理:建立初始连接的方法

时间:2023-11-17 理论教育 版权反馈
【摘要】:图6.3.2两次握手在此过程中,只要两步就可以确定连接是否可以建立,故这种方法称为“两次握手”法。图6.3.3两次握手交换初始顺序号在十分可靠的网络中,例如A1型,这种两次握手方法可以工作得很好。图6.3.4两次握手对付不了迟到分组解决这个问题的方法是双方都明确地回复对方的RFC和序号。图6.3.5三次握手法现来分析一下存在迟到的连接请求控制分组时,三次握手法的工作过程。图6.3.7三次握手法处理迟到RFC1和RFC2的应答

计算机网络原理:建立初始连接的方法

在初始连接建立的过程中,也须注意不可靠的网络服务和迟到分组的影响。一般情况下,双方通过两次交换有关连接的请求和应答的控制报文来建立连接,例如,利用CallRequest和Call Accepted报文的交换过程。

现在把这类请求和应答都记为RFC(Request For Connection),RFC1表示请求,RFC2表示对请求的肯定应答,REJECT表示拒绝。用这种表示方法,上述连接过程如图6.3.2所示。

图6.3.2 两次握手

在此过程中,只要两步就可以确定连接是否可以建立,故这种方法称为“两次握手”法。当然,此例中是默认双方的初始顺序号都有一个固定的值(例如0),但即使采用Tomlinson法中的不定初始顺序号,“两次握手”法也可以将双方的初始顺序号同时进行交换,其过程如图6.3.3所示。

图6.3.3 两次握手交换初始顺序号

在十分可靠的网络中,例如A1型,这种两次握手方法可以工作得很好。但在不那么可靠的网络中,发出的RFC可能丢失或迟到,从而就可能对初始连接过程产生干扰。如果RFC1和RFC2在传送时都可能丢失,则可以用定时器计时并在一定时间后重发来防止这种干扰。重发的结果可能使子网中有两个同样目的地同样内容的报文,所以一旦连接建立,就应该忽略掉这些报文副本,因为如某些副本保留到了下次连接建立时以迟到分组的形式出现,就可能造成影响,如图6.3.4所示。

图6.3.4 两次握手对付不了迟到分组

解决这个问题的方法是双方都明确地回复对方的RFC和序号。这个过程被称为“三次握手法”,这也是由Tomlinson提出的。在正常情况下,经过三次交换就可以确定本次连接是否正确。三次握手法的工作过程如图6.3.5所示。(www.xing528.com)

图6.3.5 三次握手法

现来分析一下存在迟到的连接请求控制分组时,三次握手法的工作过程。假设第一个报文是来自一个关闭了连接的迟到分组,因其没有准确的发出时间,故用“…”表示;B对它的反应是发出一个应答报文RFC2,以核实A是否确已发出了请求;当A发出REJECT拒绝时,B才发现被迟到的RFC1所欺骗,于是放弃这次连接。其工作过程如图6.3.6所示。

图6.3.6 三次握手处理迟到RFC1

最坏的情况是一个迟到的RFC1和它的应答RFC2在子网内到处游动。若此时B得到了一个迟到RFC1并且应答了它,而另一个迟到的Data又应答了B,但由于所用的顺序号不统一,于是只得放弃连接,其过程如图6.3.7所示。

所以,三次握手法可以应付迟到报文分组的种种干扰。

妥善地终止一个连接虽比建立一个新的连接容易,但也须处理丢失关闭请求或应答的情况,以及迟到的此类报文分组,都要明确地回答对方的关闭请求。为此,可在请求及应答中加有序号,即在关闭请求中有最后一个数据单位的序号加1的序号,而在应答中有关闭请求中的序号。即使如此,仍有可能因丢失应答而造成一方永不关闭,为此还要采取其它的手段,如多次重发关闭请求等。

图6.3.7 三次握手法处理迟到RFC1和RFC2的应答

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈