专利名称:用于分组方式数据连接的路由再选的方法
技术领域:
本发明涉及一种根据附带的权利要求1的前序部分的用于分组方式数据连接的路由再选的方法。
原则上,本发明的方法可以应用于任何分组交换网络,但是本发明主要打算用于FR网络(帧中继网络),对该网络,本发明方法的特性(缓冲的使用)很适合。然而,本发明也能例如使用在一个(通常更快的)如ATM(异步传输模式)网络中。
代替以前的分组网络连接,帧中继是用于传输变化长度的帧的一种分组网络技术,它是在需要大量处理的当今普遍使用的规程(X.25)的基础上大大降低拆卸操作后的(heavily stripped-down)版本,随着时间的推移,由于传输网络性能上的改进,拆卸操作已变得有点不必要了,使帧中继技术中的帧中继变得更快和更有效。
ATM是一种新的分组交换技术,在其中,传统的分组网络的问题通过引入一个标准长度(53字节)的被称为信元的短分组已经得到解决。每个信元包含一个48字节的有效负载(payload)部分和一个5字节长度的报头。
然而,在本发明的连接中对FR或ATM技术将不作进一步的说明,因为本发明的方法与任何FR或ATM的特殊构造没有关系,只是网络的节点装置需要有进行缓冲的能力。帧中继服务在国际电报咨询委员会的推荐书I.233,“帧模式承载业务”和相关的规程推荐书Q.922中有概要说明。有关帧中继技术的更详细的说明,有一份参考资料已经出版,题目是“帧中继技术综述”Data-Pro管理数据通信,由麦克格劳-希尔公司出版,1991年4月。有关ATM技术更详细的说明能在以下资料中找到如,如国际电报电话咨询委员会的推荐书I.610,“B-ISDN操作、维护原理和功能”CCITT第18研究小组,日内瓦1992年6月9日-19日,或推荐书I.361,“B-I SDN ATN层说明书”,CCITT;美国国家标准协会T1.617附件D。
在分组网络中,在两个节点之间除了主要路由之外,还有一至两条替代路由,这样,连接可以得到“保护”。如果有必要,在这种情况下就可以从一条路由传递至另一条路由。ATM网络的要求之一是,例如,连接中信元的顺序在网络中将维持不变。因为数据信元的ATM报头没有一个顺序号使信元能够重新排列,连接不得不经由同一路由通过网络。
从一条路转移到另一条路由传递报务,如果新的路由的延迟比旧路由的更小,将极有可能导致信元顺序的改变,并因此丢失数据。
本发明的一个目的是消除上面提到的缺点,并且获得一种方法,在该方法中,即使是在冲突的状态下,即该状态中路由终端点的节点得到关于使用中的路由的相互矛盾的信息时,发送分组方式数据的一条虚拟连接从一条路由尽快地传递到另一条路由,并具有最少的报务丢失。这个目的用本发明的方法是可以达到的,本发明的特征在于附带的权利要求1的特征部分所描述的内容。
本发明的思想是去完成一次对话,该对话是基于节点间的相互信息交换,而且在该对话的基础上,只有当需要时,这些节点将在它们的发射机中缓冲数据,而且还直到它们能确定它们正在向同一路由传递数据,使得在对方端点的分组(packets)的顺序将不会改变。通过信息交换,在每一次路由再选情况中,对方的端点被通知需要缓冲。
本发明的方法提供最大的概率使分组数据将到达它的目的地,而且是以正确的顺序。报务只有当一条工作的路由发生物理上的故障时才会丢失,而且即使这样,也只有在发生故障和故障被检测到之间的这段时间里,已经发送出去的报务才会丢失。
下面参考附图的例子,对本发明对它的优选实施例进行更详细的说明,其中
图1表示一个分组交换网络的一部份,它在两个节点之间有两条可能的路由,图2表示根据图1的路由的端点中的节点的示意结构,图3表示出用于路由再选的一个状态机的运行,图4表示出用于缓冲的一个状态机的运行,以及图5表示出用于路由测试的一个状态机的运行,a)在一条有故障的工作路由上的报务必须转接到一条替代的路由去,或b)在一条正常工作路由上的报务要转接到另一条路由去的情况中,本发明的方法特别适用于采用半永久性虚拟联接(PVC)的网络,在下面,把方案a)称为强制路由再选,而方案b)称为受控路由再选。受控路由再选的执行,是当停止一条路由的工作以用于维修过程或是当从一条替代的路由返回至普通路由。
虚拟连接的端点通常是相互距离很远的不同节点,这时不同的节点独立地控制了虚拟连接的端点,图1表示出一个网络或者一个网络的一部分,其中在用户A和B之间有两条可能的路由。网络的节点用参考号码1…4标明,而在节点1和4之间的可选路由用参考符号a-b和A-B标明。下面的记号被用于说明中-用户A数据连接的第一方-用户B数据连接的第二方-a-b,A-B双向路由,在该路由上可以传输用户A或B的数据。
-a→b,A→B单向路由,在该路由上用户A的数据可以传输到用户B。
-b→a,B→A单向路由,在该路由上用户A的数据可以传输到用户B。
本发明的方法对节点的内部构造仅要求需要有缓冲数据的能力而没有其它任何要求。这样,节点的内部构造可以有多种变化,这些都取决于所使用的网络。节点(1或4)可以简单地类似于一个FR节点(本质上已知的),正如图2中所示,在该图中从一个用户来的一个RF帧被接收进一个输入缓冲器15a,从该缓冲器15a它被进一步转接到一个路由器16,该路由器16把它路由到一个正确的输出缓冲器(15c或15e)。在这种情况下(参考图1),有两路中继(trunk)连接(到节点2和3)和一条用户连接(缓冲器15a和15b)。
强制路由再选,它是在连接中出现故障的结果,对它的说明将首先给出。
在这个例子中,假设在初始状态中路由a-b是工作的。举例来说,当节点1检测到传输报务的路由a→b有故障(节点检测到去对方端点的数据链路不能运行),就开始强制路由再选。这里的检测,例如,可以根据来自对方端点的故障通知。在这种故障检测之后,节点1立即传送该报务(将要传输的数据分组)到一条可用的替代路由A→B,并且通过这条新的路由送出这样一个通知到对方的端点(节点4)。根据一个更有利的(更有效的)实施例,该顺序如上面所示;该节点首先将要传输的报务传送到一条替代的路由上,并且只在这之后,才送出上述通知。(路由再选被首先执行,使得没有帧的不必要丢失)。
如果节点4和节点1在同一时间检测到故障,两个节点都同时传送报务到路由A-B。并且两个节点也都从对方端点接收到一个转换另一个报务方向到同一条双向路由的通知,该路由是它刚刚开始使用或是恰好正开始使用的。在此情况下,两个节点都确信这些通知,强制路由再选也就结束了。
如果节点4没有足够快地检测到故障,它从它自己的一条替代路由A-B接收到一个对方端点的转接在这条新的路由上运行的通知,将此作为在路由a-b上故障的一个第一征兆。(在本发明的方法中,节点也不断地对备用的路由进行收听)。最迟,在接收这个通知之后,节点4从路由A-B接收所有的来到的报务,并向前传递给用户。同时节点4开始缓冲将发送到一条工作的路由b→a去的数据分组,并且还进行测试,举例来说测试可以用一种“乒乓”型的信息交换来进行,该方法的优点在于它将允许整个连接的条件均被测试。在发现路由故障之后,节点4通过一条新的路由B→A发送被缓冲的帧,并继续把报务引向这条路由。在此情况下,强制路由再选就结束了。
在一种可能的冲突状态中,即在该状态中一条虚拟连接的不同端点(节点1和4)要求传送报务至不同的路由,这种情况下,一个节点的概念(conception)通常是占据支配地位的。用于管理虚拟连接的信息有一个字段(field),在该字段中表示出不同端点的等级(在一个帧中,该字段的位置取决于所用的规程)。举例来说,这个标志可以是网络中的一个节点号码,比如说,在该情况下具有较高号码的节点支配较低号码的节点。
如果在用户A和B之间的虚拟连接还有第三条路由a′-b′(在图中没有表示出来),比如说,该条路由在节点1中被作为一条补充的替代路由,但是在节点4中被作为一条主要的替代路由,这样就出现了冲突状态。在这种情况下,节点4的操作取决于它是一个处于支配地位的节点还是处于服从地位的节点。
在节点4处于支配地位的情况下,它通过它自己的主要替代路由a′-b′发送被缓冲的分组(packets),并命令对方端点也使用这条路由。此后,处于服从地位的节点1通过受控路由再选传送报务到路由a′-b′,利用这种受控路由再选,这些节点通过使用一个特殊的从路由返回的通知和在对它响应的一个应答,确信在转接传输到一条新的路由之前,全部数据信息已经到达对方端点。其中所用的受控路由再选和信息交换在下面将作更详细的说明。
如果在上面描述的强制路由再选期间,节点4检测出在原来的路由b→a中故障已经消失,这样就创造出一个冲突状态,在该状态中,节点的操作再次取决于它是一个处于支配地位的节点还是处于服从地位的节点。如果一个处于支配地位的节点检测出原来的路由再次是正常的,它就停止缓冲将要发送到虚拟连接去的数据分组(data packets),而通过原来的路由发送被缓冲的分组,并为此通过发送一个管理信息来命令对方端点使用原来的路由。在这种情况下,最好是保持这些事件的顺序,使得管理信息首先送出而数据分组只在它后面。如果一个处于服从地位的节点检测出原来的路由再次是正常的,它将不直接传递报务回到原来的路由,而是象在受控路由再选中那样操作,通过信息交换,在新的数据分组传送至新的路由之前,首先保证已到达的数据分组已经从将停止工作的路由到达对方端点。
在本发明的一个(快速的)实施例中,上面描述的强制路由再选被改造得更加有效,使得检测到故障的节点,通过发送一个专门的强制路由再选信息,首先命令对方的端点立刻传送报务到一条新的路由,即完全没有缓冲。接收到这个命令的那个节点,只有在从上述路由传递报务之后,才测试旧的工作路由的条件。
当虚拟连接的双方端点都在同一时间检测出工作路由是有故障的时,它们通过它们所选择的新的工作路由发送强制路由再选命令。这样的节点,选择了不同路由,例如,如上所描述的,它们的路由信息在如上所述的与路息由a′-b′的连接中是分散的(divergent)。在这种情况下,在接收了一个强制路由再选命令之后,处于服从地位的节点被强制从它所选择的路由到处于支配地位的节点所选择的路由上传送报务,没有任何安全措施(缓冲)。于是,改变数据分组顺序的危险是十分明显的。
如果在虚拟连接的不同端点上路由的数据是相互矛盾的,上面描述的快速强制路由再选因此容易发生故障。如果该虚拟连接的路由数据是按顺序的,这个方法仍是十分安全的。这个实施例的优点是在于它的速度,因为数据分组没有经过缓冲。
强制路由再选和它不同的实施例已经在上面说明过了。在下面,将说明一种替代的方法,即受控路由再选,该路由再选不象强制路由再选那样处于一个故障状态,而是处于这样一种状态,在该状态中因为连接的两条路由都还在使用中,没有实际的需要使得应尽快地执行路由再选。
从路由A-B至路由a-b的受控路由再选被启动,举例来说,常常发生在以下情况当主要的路由a-b再次是正常的或者网络操作员由于某些其它的原因要求停止路由A-B的工作之时(在典型的状态中,主要路由是可选用路由中最快的一条路由,因此,如果有可能的话,当它正常时就被一直使用。所以,甚至于这里所表示的受控路由再选的例子也涉及返回到主要的路由a-b)。
举例来说,如果节点1是第一个开始受控路由再选的节点,它开始缓冲将要发送到虚拟连接的数据分组,并且通知对方端点(例如通过将要被允许工作的路由)它正启动路由a→b。这样是对本发明有利的,因为所有这些管理信息涉及的恰好是它们所经过的路由。(在这种情况下,不同的端点不需要有任何共同的路由标识数据)。
当节点4对这条新的路由是满意的,它也开始缓冲报务,也发送一个相应的通知给节点1。在冲突的状态中,即在该状态中虚拟连接的不同端点打算传送报务到不同的路由,此时,正如以上所描述的那样,一个节点的概念是处于支配地位的。当这些节点一致同意这条新的工作路由时,它们将各自发送给对方一个专门的从路由返回(return-from-route)的通知。
从路由返回的通知被送到将要停止工作的虚拟连接的路由(A-B),象普通的那些数据分组那样被路由出去,所以它不会超越它们。(从路由返回的通知在数据分组之后因此被发送到将要停止工作的路由去。)当一个节点从该虚拟连接的路由接收一个从路由返回的通知时,它通过同一条路由发送一个应答给该发送者。在接收到这个关于从该路由返回的应答时,该节点确信所有的数据分组从上述的路由到达对方端点(除非它们在途中被破坏)。
当节点1从将被停止工作的路由A-B接收到一个从路由返回的应答时,它停止缓冲将要被发送到虚拟连接去的数据分组,并且发送被缓冲的数据分组到一条新的工作路由a→b。当节点4也接收到一个从路由返回的应答,则也进行相应的操作,总的来说,报务以这样的方式传送至路由a-b,即由于路由再选,信息不会丢失或者它们的顺序不会被改变。
根据本发明的一个优选实施例,在从路由返回的应答没有到来的情况下在受控路由再选中采用时间监督作为进一步的校验是可取的。在超时(time-out)的期间结束后,停止报务的缓冲,这也意味着超时(timeout)的期间结束后,停止报务的缓冲,这也意味着超时期间必须有一段长的持续时间。使数据分组顺序出错的概率很小。另一方面,时间监督的期间也应尽量短,使节点进行缓冲的能力(取决于所用的缓冲器的长度)在该期间中将极不可能会中止。
本发明的方法确信不会从虚拟连接的不同路由同时接收到报务。本方法可能以这样的方法来实现,使节点在将要用的路由上达成协议之后,数据分组不从别的路由接收(即使已收到)。这样可进一步保证数据分组不会以错误的顺序到达,但是,例如,当由于传输中的差错而丢失了一个路由再选的通知的时候。这也将导致报务的中断。因此,一个更好的可选择方案是把全部接收到的数据分组传送给用户。
作为一个例子,图3至5表示出状态机的基本部分,利用该状态机,强制路由再选和受控路由再选两者都能运行(快速的强制路由再选没有表示出来)。
图3表示与在一个节点中的一条路由有关的一个状态机的运行。一条路由有4个主要的状态,这些状态被标明如下使用中的路由,备用中的路由,等待应答的路由,和有故障的路由。这些状态之间的转接用参考符号A至M标明。(从等待应答的路由状态或备用中的路由状态转接到使用中的路由状态可以有两个步骤,D+I或J+I0)由该节点所接收的信息引起的转接和作为这些转接的一个结果被发送的可能的信息在以下加以说明。接收到的信息用字母R和一个在信息前的冒号表示(R)。将被发送的信息类似地用字母S表示(S)。信息可以是任何具有以下说明的意义的信息,而且它们没必要必须来自对方节点,它们可以来自远方,比如说来自网络管理。对于将要被发送的信息,信息的目的地在字母S之后指明,并用一个斜线符号分开。如果字母S在括号中,它表示上述信息只有在需要时才发送,不是每次都发送。
转接A-R“测试失败”转接B-R“即使是最后的故障也已经从路由中被排除”。
-S/对方的端点“这里的路由是正常的,那边怎样?”转接C-R“测试失败”-R“在我自己的端点的路由有故障”,-R“在路由上有故障”,-R“在对方的端点有故障”,-(S)/替代路由“立刻开始工作”。
必须注意,所有4个接收到的信息是可以任取其一的,以至于它们中的任一个都将使得从使用中的路由状态转接到路由故障状态。在前面两条信息的情况下,有必要时可发送“我们的端点有故障”这一信息。在转接C,报务被中断(一个故障状态)。
转接D-R“在处于服从地位的端点的路由也是正常的”。
转接E(使用中的路由状态中的内部转接)-R“可能的强制路由再选”。
-S“开始测试”,转接F(使用中的路由状态中的内部转接)-R“测试正常”-S“停止缓冲”转接G-R“立即开始工作”-S/对方端点“报务进入这条路由”,-S“停止缓冲”。
当这个转接发生时,节点开始运行业务并发送上述信息。
转接H-S/对方端点“从路由返回”转接I-S/对方端点“报务进入这条路由”。
-S“开始缓冲”-S/以前的路由“从路由返回”转接J-R“对方端点的优先权也允许使这条路由工作”。
-R“处于支配地位的端点使用这条路由”。
转接K-R“在处于支配地位的端点的路由也是正常的”,-(S)/对方端点“我们的优先权允许使这条路由工作”。
转接L(在备用中的路由状态中的内部转接)-R“从路由返回的的应答”,-S“停止缓冲”。
作为一个从路由返回的应答的替代,转接也可以是由超时(time-out)期间的结束所引起。
转接M(备用中的路由状态中的内部转接)-R“处于服从地位的端点使用这条路由”,-S/工作路由“可能的强制路由再选”,-S“开始缓冲”。
强制路由再选和受控路由再选包括以上所述的转接,例如,以上说明的被一个节点开始的受控路由再选可以包括,例如,转接H和L(将要停止工作的路由);和B,K,J和I(将要被允许工作的路由/处于服从地位的节点)或者B,D和I(将被允许工作的路由/处于支配地位的节点)。(信息中的优先权涉及在节点中配置给上述路由的优先权)。
当节点检测出一个故障,并在同一时间开始一个强制路由再选时,它们只做转接C(将要停止工作的路由)和G(将要被允许工作的路由)。在处于服从地位的节点通知路由再选之前,如果处于支配地位的节点没有检测到故障,它将依靠(在将被停止工作的路由上)转接M,E,和C。在一个冲突的状态中,其中在转接M和E之后,处于支配地位的节点检测出路由是正常的,它只执行一个内部的转接,而转接C和G不被实现。
图4表示一个缓冲过程的自动机(一个用于缓冲的状态机),它有两个主要的状态空闲(FREE)的和忙碌的(BUSY)的。当一个节点接收到说“开始缓冲”的一个信息时,自动机就从空闲的状态转到忙碌的状态,而且数据连接的报务将被写入缓冲器。当在忙碌时状态中时,如果接收到一个信息说“停止缓冲”或者在超时(time-out)的期间结束之后,如上面所述,被缓冲的报务就通过正在使用中的路由被传输到数据连接中去。此后,报务将不再被写入缓冲器,而且被转到空闲的状态。
图5表示出一个路由的测试自动机(用于路由测试的一个状态机),它也有两个主要的状态路由没有被测试和路由正在被测试。当节点接收到说“开始测试”的一个信息时,自动机就被转接到一个测试状态,而且一个信息“是否一切正常?”被发送至对方端点。有两种方法可以脱离测试状态,并转到另一主要状态。完成这个转接的一个方法是这样的,如果接收到一个信息“在对方的端点,路由是正常的”,之后又发出一个信息“测试正常”,这时路由测试的状态就可转至路由没有被测试的状态。在测试的状态中接收到一个信息“在对方的端点有故障”或是“在路由上有故障”或是在超过之后,就可以以另一种方法完成同样的转接。与此同时,一个“测试失败”的信息被发送出去。
尽管参考附图的例子,在上面对本发明进行了描述,显然本发明决不只限于这些,而是可以在以上所揭示的本发明的基本思想和在附带的权利要求书的范围内进行变化。正如以上所提出的,本发明的构造对节点的内部结构,比如说,除了有缓冲数据能力的要求之外,没有任何其它的要求,所以,节点的内部结构可以用许多实质上已知的方法来完成。另外,缓冲本身也可以以不同的方法来完成;而且,被缓冲的数据可以是输出数据、输入数据,或者是以上两者一起。然而,缓冲最普通的做法是用来缓冲输出数据。还有,比如说,状态机的运行,尽管它们要实现本发明的基本思想,但它们可以在许多方式上有变化,而且,上面所表示是只是它们运行的一个例子。
权利要求
1.一个用于分组方式数据连接的路由再选方法,尤其是一个帧中继网络的数据连接的路由再选方法,在该方法中,网络的两个节点(1,4)之间传输的报务是从第一条将被停止工作的路由转接到第二条新的路由,在那里,在一个路由再选的状态中,当需要的时候,将被发送至一条新的路由去的数据分组在发射机中被缓冲,以例执行涉及路由的校验或保证数据分组(data packets)的正确顺序,其特征在于在一个单个的路由再选状态中,通过发送一个信息,对方的端点被通知需要进行缓冲,该信息的内容取决于在问题中的路由再选的状态。
2.根据权利要求1的一种方法,其特征在于在强制路由再选中,启动路由再选的节点(1)发送一个涉及强制路由再选的第一类型的信息到一条新的路由(A-B),并且立刻传送报务到该新的路由,从而当双方的节点都独立地开始强制路由再选而且从对方的端点接收上述信息时,该节点在接收到上述信息时停止路由再选。
3.根据权利要求1的一种方法,其特征在于在强制路由再选中,启动路由再选的节点(1)发送涉及强制路吊再选的第一类型的一个信息到一条新的路由(A-B),而且立刻传送报务到该新的路由,并且对方端点响应上述信息,立即开始缓冲数据分组,测试以前的工作连接(a-b)的条件,并且在发现连接有故障之后,停止进行缓冲,并引导已被缓冲的数据分组到该新的路由(A-B)。
4.根据权利要求1的一种方法,其特征在于该信息还带有有关该新的路由和在节点的相互等级层次中节点的优先权的信息,如果这些节点最初把报务转接至不同的路由,在此情况下,一个较低等级层次的节点将开始使用一个较高等级层次节点所通知的路由。
5.根据权利要求4的一个方法,其特征在于在转接至由一个较高等级层次的节点所通知的一条路由的过程中,一个较低等级层次的一个节点-开始对数据进行缓冲-给对方端点的节点发送一个专门的从路由返回的通知,以及-在响应来自对方端点的一个应答时,停止进行缓冲,并转接传输至一条新的路由。
6.根据权利要求1的一种方法,其特征在于在强制路由再选中,启动路由再选的节点(1)发送一个涉及强制路由再选的第二类型的信息到一条新的路吊(A-B),并立刻传送报务到该新的路由,而且对方的端点在响应上述信息时,立刻传送报务到该新的路由(A-B)。
7.根据权利要求1的一种方法,其特征在于在受控路由再选中,节点(1,4)-通过使用包含在上述信息中的有关新的路由的信息商定新的工作路由,而且最迟在问题中的路由上达成一致之后,开始对将要被发送的数据分组进行缓冲,-在将要不工作的路由(A-B)上,互相发送从路由返回的通知,-给对方端点发送已接收到从路由返回的通知以应答,以及-响应所接收到的应答,停止进行缓冲,并转接传输至一条新的路由(a-b)。
8.根据权利要求7的一个方法,其特征在于从路由返回的通知是作为一般的数据分组,在一般数据分组之后被发送和路由出去的。
9.根据权利要求7的一个方法,其特征在于在受控路由再选中,节点(1,4)-通过使用包含在上述信息中有关新的路由的信息,商定该新的工作路由,而且最迟在问题中的路由上达成一致之后,开始对将要被发送的数据分组进行缓冲。-在将要停止工作的路由(A-B)上,互相发送从路由返回的通知。-从对方端点等待一个对从路由返回的通知的应答,而且在超过某一预定的等待时间之后,它们独立地停止进行缓冲,并转接传输到一条新的路由(a-b)。
10.根据权利要求7或9的一个方法,其特征在于在上述信息中,还带有有关该新的路由和在节点的相互等级层次中的节点优先权的消息,如果这些节点最初把报务转接至不同的路由,在此情况下,一个较低等级层次节点将开始使用一个较高等级层次的节点所通知的路由。
全文摘要
本发明涉及一种用于一个分组方式连接,尤其是帧中继网络数据连接的路由再选方法。在该方法中,在两个节点(1,4)之间传送的报务是从第一条将被停止工作的路由转接到第二条新的路由。在路由再选的状态中,将要传送给新的路由的数据分组,当需要时被缓冲在发射机中,以便执行有关路由的校验或者保证数据分组的正确顺序。为了尽快地完成路由再选并做到最少的数据丢失,通过发送一个信息,对方的端点被通知需要缓冲,信息的内容取决于问题中的路由再选的状态。
文档编号H04Q3/00GK1159267SQ95191824
公开日1997年9月10日 申请日期1995年2月28日 优先权日1994年2月28日
发明者克劳斯·哈万希 申请人:诺基亚电信公司