CN1729661A - 分组交换网络中返回路径的推导 - Google Patents
分组交换网络中返回路径的推导 Download PDFInfo
- Publication number
- CN1729661A CN1729661A CNA2003801066434A CN200380106643A CN1729661A CN 1729661 A CN1729661 A CN 1729661A CN A2003801066434 A CNA2003801066434 A CN A2003801066434A CN 200380106643 A CN200380106643 A CN 200380106643A CN 1729661 A CN1729661 A CN 1729661A
- Authority
- CN
- China
- Prior art keywords
- node
- grouping
- network
- return path
- identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/06—Deflection routing, e.g. hot-potato routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/36—Backward learning
Abstract
用于传输数据的网络由链接在一起的一组两个和多个节点组成,例如交换机,路由器,或计算机系统。通过网络从源节点传输数据到目的节点。在分组交换网络中,称为分组的小数据单元被路由通过网络从源节点到达目的节点。这些分组也被用来编程网络。在一些情况中要求分组沿返回路径传播到源节点。在本发明中,从存储在网络节点中的信息推导返回路径。
Description
技术领域
本发明涉及一种确定网络中分组返回路径的方法,该网络包含多个节点和节点间的多个链路,并且其中对于每一个具有至少一个到第二节点的链路的第一节点,在第二节点和第一节点之间存在链路,当从源节点发送分组经由至少一个中间节点到达目的节点时使用本方法。
本发明进一步涉及一种集成电路,包含一个网络,该网络具有多个节点和节点间的多个链路,并且其中对于具有至少一个到第二节点链路的每一个第一节点,在第二节点和第一节点之间存在链路,安排该网络当从源节点发送分组经由至少一个中间节点到达目的节点时确定分组的返回路径。
背景技术
通常,传送数据的网络包含链接在一起的一组两个或多个设备,该设备被称作节点。网络中的节点可以包含交换机,路由器,或计算机系统。这些计算机系统也可以具有外围设备,这些外围设备对于使计算机系统能够工作是必需的。在网络中两个相邻节点之间的通信路径被称作链路。通过单个传输信道可以实现一个链路。可替换地,在两个节点之间的两个链路可以被组合在单个传输信道中。在不同的网络中,为了提高通信的带宽,两个邻接的节点可以有三个或多个链路用于在这两个节点之间通信。所有这些链路同样可以在单个传输信道中实现。通过网络数据从源节点被传送到目的节点。网络可以被用来,例如在装配在集成电路上的几个元件之间通信,或者在几个计算机系统之间通信。通过网络数据以消息或分组的形式被传送。消息是用户定义的数据单元而分组是网络定义的数据单元。在所谓的消息交换网络中,消息被路由通过网络到达它们的目的地,而在分组交换网络中,分组被路由通过网络到达它们的目的地。在分组交换网络的情况下,应当被发送到指定目的地的消息被划分为几个分组送往目的地。在目的地,搜集消息中的分组并且重新装配为初始消息。分组交换网络的一个优点是,通过把源点和终点之间的通信拆为相对较小的数据单元,它允许以更精细的粒度共享网络中许多用户之间的同一数据路径。在这个文献的剩余部分中,为了效率的原因,使用词“分组”和“分组交换”,也可以把这些词当作“消息”和“消息交换”。
在分组交换网络中,除发送数据之外,也可以使用分组来对网络编程,例如预定(reserve)或释放资源,或建立或消除连接。资源的例子是在路由器中的缓冲器容量或连接的带宽。建立连接的例子是在网络中设置一系列路由器以便经由那个连接从源节点发送一个或多个分组到目的节点。当在许多用户之间共享网络时,仲裁方案组合在单个传输信道上的分组传输。例如,可以使用时分复用(TDM),其通过给每一个流指定集合中不同的时隙组合数据流。TDM在时隙的固定时序中通过单个传输信道重复发送数据。
在一些资源预定和连接建立的情况中,例如由于这个动作不能在路径上的节点之一中执行,其中该路径是路由分组所经过的路径,资源预定和连接建立失败。一个例子是由于缺乏资源而失败,例如缺乏在沿着路径的节点中的缓冲器容量。因此,期望的连接不能被建立。随后,直到路径的那个点撤销才能进行资源预定和建立连接。因此分组重新访问以前访问过的路径节点是必须的,也就是说,它沿返回路径传播到源节点。
US2002/0031095描述了一种当通过网络发送分组时建立返回路径说明的方法。该网络包含通过在任意网络拓扑的物理点到点连接中的至少两个双向连接接口灵活组网的模块。当模块转发分组到另一个模块时,那个模块的接收接口号被存储在分组中。以这种方式,从存储在分组中并且与分组访问过的模块对应的接收接口列表中推导出返回路径。
现有技术的处理器的一个缺点是,在分组中存储关于返回路径的信息,这会增加分组的大小,特别是在分组只包含目的地址而不是通过网络的路径的完整说明的情况中。
发明的公开内容
本发明的一个目标是提供一种确定网络中分组返回路径的改进的方法,该方法允许减小分组的大小。
通过一种在所陈述的那种网络中确定分组返回路径的方法实现该目标,其特征在于该方法包含在中间节点存储信息用于推导返回路径的步骤。在节点中储存关于返回路径的信息,这些节点是分组在它到目的节点的路径上访问过的节点。一旦出现故障,例如由于不能够在特定节点中预定资源,分组从保存在一个或多个节点中的信息中推导它的返回路径,这些节点是分组在它到目的节点的路径上访问过的节点。不要求分组中的额外空间来存储关于返回路径的信息,这允许减小分组的大小。
本发明的一个有利实施例的特征在于该方法进一步包含步骤:当从源节点发送分组到目的节点时,在分组访问过的每一节点中存储信息用于推导返回路径,而不是仅仅在分组访问过的有限数量的节点中存储信息或者甚至仅仅在一个中心节点存储信息。关于返回路径的信息被分布保存在节点中并且当分组沿返回路径传播时,分组从一个节点传播到另一个节点,从每一节点推导关于返回路径的信息。通过在分组访问过的所有节点中存储关于返回路径的信息,对每一个体节点来说可以减小确定返回路径的开销。
本发明一个实施例的特征在于,在中间节点存储的信息包含分组的标识符和编码中间节点用来返回分组的输出端口的信息。一个优点是这个信息很容易在节点中推导并且唯一标识每一分组的返回路径。
根据本发明,在引言段落中定义的集成电路的特征在于,安排中间节点存储信息用于推导返回路径。因此,可以减小在芯片级通信网络中使用的分组的大小,减小通信开销。
根据本发明的集成电路的优选实施例在从属权利要求中定义。
附图简述
图1展示了当使用目的地路由从源节点发送分组到目的节点时,使用根据本发明的确定网络中分组返回路径的方法的网络的实施例。
图2展示了当使用源路由从源节点发送分组到目的节点时,使用根据本发明的确定网络中分组返回路径的方法的网络的实施例。
实施例的描述
图1展示了当使用目的地路由从源节点发送分组到目的节点时,使用根据本发明的确定网络中分组返回路径的方法的网络的实施例,也就是说,只有关于最后目的地的信息被存储在分组中。参考101,展示了网络,包含节点S,R1,R2,R3和D,这些节点通过它们的输入端口和输出端口S_1,S_2,R1_1,R1_2,R1_3,R1_4,R2_1,R2_2,R2_3,R2_4,R3_1,R3_2,R3_3,R3_4,D_1和D_2与链路107,109,111,113,115,117,119和121耦合。网络101可以是网络,或者网络的一部分,或者集成电路的一部分。节点S,R1,R2,R3和D可以包含发送一数据单元到下一目的地的路由器或交换机。节点S,R1,R2,R3和D也可以包含用于耦合到其它节点的多个输入端口和输出端口,在图1中没有示出。对于所有的节点,S,R1,R2,R3和D保持如果第一节点有至少一个到第二节点的链路,在第二节点和第一节点之间也存在一个链路。节点S,R1,R2,R3和D已经各自存储了返回关系,将那个节点的每一输入端口与那个节点的每一输出端口关联起来以便当在上述输入端口上接收来自特定节点的分组和通过上述输出端口发送分组时,把返回关系发送到那个特定节点。节点R1,R2,R3分别包含存储器M1,M2和M3。节点D和S也包含一个存储器,在图1中没有示出。从源节点S发送分组123到目的节点D。安排分组123来对网络编程,例如,建立或消除连接,或者预定或释放资源。建立连接的一个例子是为了以期望的方向发送分组把某一节点的输入端口耦合到那个节点的输出端口。资源的例子是路由器中的缓冲器容量或连接带宽。如果在每一节点网络的编程是成功的,分组被路由到目的节点D。然而,网络编程在某一节点可能失败,例如由于缺乏诸如缓冲器容量之类的资源。在那种情况下为了重新编程网络,分组从前进到源节点S的那个确定节点经过返回路径回到源节点S是必需的,例如通过释放预定的资源。在这个实施例中假定,一直到目的节点D网络编程是成功的。分组123包含标识符ID,目的地址DEST和用于编程网络的数据DAT。为了知道使用哪个输出端口用于发送分组到希望的目的地,每一节点S,R1,R2,R3和D已经存储了目的地关系,使所有的目的地与那个节点的输出端口相关联。使用这个信息,给定由那个节点接收的分组的目的地址DEST,节点能确定使用哪个输出端口将分组发送到邻接节点之一。例如,目的地关系和返回关系都能被编程在可编程序存储器中,该存储器存在于节点S,R1,R2,R3和D中,在图1中没有示出。目的地址DEST等于目的节点D的地址。参考103,展示了当从源节点S发送分组到目的节点D时分组123前进的路径。参考105,展示了当从源节点S发送分组123到目的节点D时存储器M1,M2,M3的内容。在第一步骤1中,通过输出端口S_1,链路107和输入端口R1_1,由源节点S发送分组123到节点R1。节点R1从分组123中读取标识符ID,并且结合来自输入端口R1_1的标识符R1_1把它存储在存储器M1中,作为一对ID,R1_1。使用存储在分组123中的目的地址DEST和它的目的地关系,节点R1确定使用哪个输出端口转发分组123,该端口是输出端口R1_3。在下一步骤2中,经由输出端口R1_3,链路111和输入端口R2_1发送分组123到达节点R2。节点R2从分组123中读取标识符ID,并且结合来自输入端口R2_1的标识符R2_1把它存储在存储器M2中,作为一对ID,R2_1。使用存储在分组123中的目的地址DEST和它的目的地关系,节点R2确定使用哪个输出端口转发分组,该端口是输出端口R2_3。在下一步骤3中,经由输出端口R2_3,链路115和输入端口R3_1发送分组到达节点R3。节点R3从分组123中读取标识符ID,并且结合来自输入端口R3_1的标识符R3_1把它存储在存储器M3中,作为一对ID,R3_1。使用存储在分组123中的目的地址DEST和它的目的地关系,节点R3确定使用哪个输出端口转发分组,该端口是输出端口R3_3。在下一步骤4中,经由输出端口R3_3,链路119和输入端口D_1发送分组到目的节点D。目的节点D读取存储在分组123中的目的地址DEST,并且当与它自己的地址比较时它确定它就是目的节点。万一网络编程在节点D失败,使用分布保存的返回路径从目的节点D返回分组123到源节点S来对网络重新编程。目的节点D根据输入端口D_1的标识符D_1和存储在目的节点D中的返回关系的组合确定使用输出端口D_2来发送分组123,其中经由输入端口D_1接收该分组。在下一步骤5中,经由输出端口D_2,链路121和输入端口R3_4发送分组123到节点R3。节点R3从分组123中读取标识符ID,并且校验这个标识符以一对ID,R3_1的形式存储在存储器M3中。节点R3根据输入端口R3_1的标识符R3_1和存储在节点R3中的返回关系的组合确定使用输出端口R3_2发送分组。其后,消除以标识符ID和标识符R3_1成对的形式存储在存储器M3中的关于返回路径的信息。在下一步骤6中,经由输出端口R3_2,链路117和输入端口R2_4发送分组123到节点R2。节点R2从分组123中读取标识符ID,并且检测这个标识符以一对ID,R2_1的形式存储在存储器M2中。节点R2根据输入端口R2_1的标识符R2_1和存储在节点R2中的返回关系的组合确定使用输出端口R2_2发送分组123。其后,消除以标识符ID和标识符R2_1成对的形式存储在存储器M2中的关于返回路径的信息。在下一步骤7中,经由输出端口R2_2,链路113和输入端口R1_4发送分组123到节点R1。节点R1从分组123中读取标识符ID,并且检测这个标识符以一对ID,R1_1的形式存储在存储器M1中。节点R1根据输入端口R1_1的标识符R1_1和存储在节点R1中的返回关系的组合确定使用输出端口R1_2发送分组。其后,消除以标识符ID和标识符R1_1成对的形式存储在存储器M1中的关于返回路径的信息。在下一步骤8中,经由输出端口R1_2,链路113和输入端口S_2发送分组123到源节点S。源节点S从分组123中读取标识符ID并在检测到该标识符ID没有存储在它的内部存储器之后确定它是分组123最后的目的地,在图1中没有示出内部存储器。在这个实施例中,为了有效地实现“分组的标识符和输入端口的标识符”成对的存储,存储器M1,M2,M3可以包含哈希表或可按内容寻址的存储器。存储器M1,M2,M3也可以包含关于除分组123之外其它分组的返回路径的信息,没有在图1中示出。
从节点推导关于返回路径的信息,该节点是当从目的节点D路由到源节点S时分组123访问的节点。该路径信息被分布保存在节点中并且当分组沿着返回路径传播时,分组可以从一个节点传播到另一个时,从每一节点推导关于返回路径的信息。因此,不要求分组中的额外空间来存储关于返回路径的信息,这允许减小分组的大小。
在其它实施例中,“分组的标识符和输出端口的标识符”成对存储在存储器M1,M2,M3中以确定分组123的返回路径。节点经由输入端口接收分组,根据输入端口的标识符和存储在那个节点中的返回关系确定输出端口的标识符。例如,在步骤1之后节点R1从分组123中读取标识符ID并结合标识符R1_2一起存储在存储器M1中,作为一对ID,R1_2。根据输入端口R1_1的标识符R1_1和存储在节点R1中的返回关系的组合确定标识符R1_2。在步骤7中发送分组123到节点R1之后,节点R1从分组123中读取标识符ID并校验这个标识符以一对ID,R1_2的形式存储在存储器M1中。使用输出端口R1_2的标识符R1_2,节点R1发送分组123经由输出端口R1_2,链路109,和输入端口S_2到达源节点S。万一节点R1,R2,R3的输入端口数大于输出端口数,在存储器M1,M2,M3中存储输出端口的标识符而不是输入端口的标识符以确定返回路径,这要求较小的存储空间。
在其它实施例中,在到达目的节点D之前,网络编程在某一节点上可能失败。参考图1,万一网络编程在节点R3失败,这个节点将把分组123路由到源节点S。正如已经提到的,为了重新编程网络,分组沿返回路径传播到达源节点S是必需的。在这个实施例中网络的重新编程涉及取消在路径的那个点之前作的资源预定。在不同的实施例中,网络的重新编程也可以包括在沿返回路径传播期间发现到目的节点的可替换路径。节点R3根据输入端口R3_1的标识符R3_1和存储在节点R3中返回关系的组合确定使用输出端口R3_2发送分组,其中分组123是经由输入端口R3_1接收的。在下一步骤6中,经由输出端口R3_2,链路117和输入端口R2_4发送分组到节点R2。其后,把分组123路由到源节点S,正如在先前实施例中所述。
在不同的实施例中,网络的重新编程在某一节点可能失败,例如因为某一资源正在被使用,访问该资源被拒绝。参考图1,把分组路由到目的节点D,但是节点R3的编程失败并且随后使用存储在节点R1和R2中的关于返回路径的信息把分组路由到源节点S,正如在先前实施例中所述。网络的重新编程在节点R2失败,因为访问这个节点的资源被拒绝。节点R2读取存储在分组123中的目的地址DEST,并且使用这个目的地址和目的地关系确定使用输出端口R2_4路由分组到目的节点D。以ID,R2_1成对的形式存储在存储器M2中的关于返回路径的信息目前保留在存储器M2中。在下一步骤3中,经由输出端口R2_3,链路115和输入端口R3_1发送分组到节点R3。在节点R3中,作新的尝试以编程网络。如果这个尝试成功,发送分组123到目的节点D,正如在先前实施例中所述。如果尝试失败,把分组路由到源节点S,同样正如在先前实施例中所述。
在另一个实施例中,可以使用不同的方法推导分组的唯一标识符。例如,当使用时分复用仲裁方案时,为了确定在给定的时隙中路由器的哪个输出端口连接到路由器的哪个唯一的输入端口,使用时隙表用于路由器。因此,可以使用时隙来唯一标识分组和确定返回路径,正如下面所述。当从源节点传播到目的节点时,在分组中存储时隙,在该时隙期间节点发送分组,并且因为在两个邻近节点之间传播传播花费一个时隙,对于每一节点时隙值增加1。万一分组不得不沿返回路径传播,它被发送到一个节点,例如经由输入端口R2_4发送到节点R2。假定输入端口R2_4的返回关系是唯一的,通过把返回关系应用到输入端口R2_4,输出端口R2_3被唯一标识。接下来,当分组从源节点传播到目的节点时,结合输出端口R2_3的标识符使用存储在分组中的时隙,经由它来接收分组的输入端口的标识符,也就是R2_1,可以从路由表中推导。接下来,使用返回关系和输入端口R2_1的标识符,可以确定输出端口R2_2的标识符,并且使用这个输出端口在源节点方向上发送分组,也就是说,沿返回路径传播。在发送分组之前存储在分组中的时隙值被降低1。
图2展示了一个网络的实施例,当使用源路由从源节点发送分组到目的节点时,也就是说,该分组包含关于那个分组的路由的信息,该实施例使用根据本发明的确定网络中分组返回路径的方法。关于路由的信息可以以一系列后继节点输出端口的形式存储在分组中,以便每一节点从该分组检测使用哪个输出端口发送分组到下一节点。当把分组路由到目的节点时,在节点中存储关于返回路径的信息。参考201,展示了包含节点S1,R4,R5和D1的一个网络,这些节点经由它们的输入端口和输出端口S1_1,S1_2,R4_1,R4_2,R4_3,R4_4,R5_1,R5_2,R5_3,R5_4,D1_1和D1_2用链路207,209,211,213,215,217连接。网络201可以是一个网络,或是网络的一部分,或者集成电路的一部分。节点S1,R4,R5和D1可以包含用于发送数据单元到它的下一个目的地的路由器或交换机。节点S1,R4,R5和D1也可以包含用于耦合到其它节点的多个输入端口和输出端口,在图2中没有示出。从源节点S1发送分组219到目的节点D1。节点R4和R5分别包含存储器M4和M5。节点S1和D1同样包含一个存储器,在图2中没有示出。对于所有的节点S1,R4,R5和D1保持如果第一节点有至少一个到第二节点的链路,在第二节点和第一节点之间同样存在链路。节点S1,R4,R5和D1已经存储返回关系,使那个节点的每一输入端口与那个节点的一个输出端口相关联以便当在所述输入端口上接收来自特定节点的分组和经由所述输出端口发送分组时,它将被发送到那个特定节点。分组219被安排用来编程网络。如果在每一节点上网络编程是成功的,把分组路由到目的节点D。然而,网络编程可能在某一节点失败,例如由于缺乏资源。在那种情况下为了重新编程到目前为止访问过的那部分网络,分组沿返回路径传播到源节点是必需的。在这个实施例中假定,一直到目的节点D1网络编程是成功的。参考203,展示了当从源节点S1发送分组219到目的节点D1时分组219追随的路径。参考205,展示了当从源节点S1发送分组到目的节点D1时存储器M4和M5的内容。分组219包含标识符ID,指针P,输出端口标识符A1和A2,计数器C和数据DAT。标识符ID为分组219提供唯一标识。指针P指向在分组219内存储输出端口标识符的位置,该标识符是应当用来发送分组的输出端口的标识符。输出端口标识符A1和A2唯一地标识输出端口,分组应当经由该输出端口被发送。计数器C确定在到达目的节点D之前应当通过的节点的总数。使用数据DAT编程网络。在其它实施例中,对源路由使用不同的编码方法是可能的,正如本领域内的技术人员所已知的那样。在从源节点S1发送分组219到目的节点D1之前,定义指针P以便它指向分组219中的输出端口标识符A1的位置。设置输出端口标识符A1等于输出端口R4_3的输出端口标识符R4_3,并且设置输出端口标识符A2等于输出端口R5_3的输出端口标识符R5_3。计数器C被设置为2。在第一步骤1中,分组219经过输出端口S1_1,链路207和输入端口R4_1由源节点S1发送到节点R4。由于为了发送分组219而选择正确的输出端口,源节点S1必须具有关于它连接到的网络的信息,例如以存储在节点S1中的目的地关系的形式。节点R4读取计数器C的值并因为计数器C的值不等于0而检测它不是目的节点。计数器C的值降低1。节点R4从分组219中读出标识符ID,并且结合来自输入端口R4_1的标识符R4_1把它存储在存储器M4中,作为一对ID,R4_1。通过读取指针P的值和使用那个值读取输出端口标识符A1,节点R4确定使用输出端口R4_3发送分组219。节点R4更新指针P以便它指向在分组219中存储输出端口标识符A2的位置。在下一步骤2中,经由输出端口R4_3,链路211和输入端口R5_1发送分组219到节点R5。节点R5读计数器C并确定它不是目的节点,因为计数器C的值不等于0。计数器C的值降低1。节点R5从分组219中读取标识符ID,并且结合来自输入端口R5_1的标识符R5_1存储在存储器M5中,作为一对ID,R5_1。通过读取指针P的值和使用那个值读取输出端口标识符A2,节点R5确定使用输出端口R5_3发送分组219。节点R5确定指针P不用更新,因为计数器C的值等于0。在下一步骤3中,经由输出端口R5_3,链路213和输入端口D1_1发送分组219到节点D1。节点D1读取计数器C的值并确定它是目的节点,因为计数器C的值等于0。因此不用更新C的值并且不用读取指针P的值。万一网络编程在节点D1失败,使用分布保存的返回路径,从目的节点D1把分组219路由到源节点S1来重新编程网络。使用输入端口D1_1的标识符D1_1和存储在节点D1的返回关系,节点D1确定使用输出端口D1_2把分组219发送回源节点S1,其中分组219是经由输入端口接收。在下一步骤4中,经由输出端口D1_2,链路217和输入端口R5_4把分组发送节点R5。节点R5从分组219中读取标识符ID,并检测这个标识符是以一对ID,R5_1的形式存储在存储器M5中。节点R5根据输入端口R5_1的输入端口标识符R5_1和存储在节点R5的返回关系确定使用输出端口R5_2发送分组219。因为计数器C的值等于0,节点R5确定指针P的值不用更新。随后,节点R5使计数器C加1。消除以标识符ID和标识符R5_1成对的形式存储在存储器M5中的关于返回路径的信息。在下一步骤5中,经由输出端口R5_2,链路211和输入端口R4_4发送该分组到节点R4。节点R4从分组219中读取标识符ID,并检测这个标识符以一对ID,R4_1的形式存储在存储器M4中。节点R4根据输入端口R4_1的输入端口标识符R4_1和存储在节点R4中的返回关系的组合确定使用输出端口R4_2发送分组219。节点R4更新指针P以便它指向输出端口标识符A1被存储的位置,并且使计数器C加1。消除以标识符ID和标识符R4_1成对的形式存储在存储器M4中的关于返回路径的信息。在下一步骤6中,经由输出端口R4_2,链路209和输入端口S1_2发送该分组到节点S1。源节点S1从分组219中读取标识符ID,检测这个标识符没有存储在它的内部存储器中,该存储器没有在图2中示出,并确定它是目的节点。
参考图2,在不同的实施例中,在到达目的节点D1之前网络编程可能在某一节点失败。参考图2,万一网络编程在节点R5失败,这个节点将路由分组219到源节点S1。正如已经提到的,为了重新编程网络,分组219沿返回路径传播到源节点S1是必需的。节点R5使用输入端口R5_1的输入端口标识符R5_1和存储在节点R5中的返回关系的组合确定使用输出端口R5_2把分组219路由到源节点S1。因为计数器C的值等于0,节点R5确定指针P的值不用更新。节点R5使计数器C加1。在下一步骤5中,经由输出端口R5_1,链路211和输入端口R4_3发送该分组到节点R4。随后,正如在先前实施例中所述,进一步把分组219路由到源节点S1。
参考图2,在不同的实施例中,网络的重新编程可能失败,例如因为在特定的节点访问某一资源被拒绝。分组219被路由到目的节点D1,但是网络编程在节点R5失败并且随后使用存储在节点中的返回信息把分组219路由到源节点S,正如在较早实施例中所述。把分组219发送到节点R4。节点R4更新指针P以便它指向分组219中输出端口标识符A1被存储的位置,并且使计数器C的值加1。接下来,网络的重新编程在节点R4失败并且这个节点把该分组路由到目的节点D1。节点R4通过读取指针P的值和使用那个值读取的输出端口标识符A1确定使用输出端口R4_3发送分组219。节点R4更新指针P以便它指向输出端口标识符A2被存储的位置,并且使计数器C的值减1。在下一步骤2中,经由输出端口R4_3,链路211和输入端口R5_1发送分组219到节点R5,正如在较早实施例中所述。当关于返回路径的信息被存储在节点R4和R5中时,存储在分组219中用于从源节点S1路由该分组到目的节点D1的信息保留在分组219中。因此,分组219可以不止一次的经由相同的路径被路由到目的节点D1,正如在这个实施例中所述的,并每次都尝试编程该网络。
再次参考图1,在不同的实施例中,在从源节点S到目的节点D的路径上不是在所有分组123访问过的节点中存储关于返回路径的信息。如果部分返回路径是唯一的并等于该分组从源节点S传播到目的节点D的路径,没有返回信息必须被存储在与那部分返回路径相关的节点中。例如,在一个实施例中,节点R2仅仅有两个输入端口R2_1和R2_4,和两个输出端口R2_3和R2_2,当从源节点S发送分组123到目的节点D时,没有关于返回路径的信息被存储在节点R2的存储器M2中。万一网络编程在节点R3失败,分组123被路由到源节点S,正如在先前实施例中所述。节点R3发送分组123经由输出端口R3_2,链路117和输入端口R2_4到达节点R2。因为可以从它的目的地关系确定,节点R2仅仅使用输出端口R2_2把分组123路由到源节点S,并且发送分组123经由输出端口R2_2,链路113和输入端口R1_4到达节点R1。随后,节点R1把分组123发送源节点S,正如在先前实施例中所述。在这个实施例中,假定当节点R2已经从节点R3接收到该分组并且在节点R2中的网络重新编程是成功时,不允许节点R2把该分组发送回节点R3。
应该注意到上述实施例是说明而不是限制本发明,并且本领域内的技术人员在不脱离附加权利要求范围的情况下能够设计许多可以替换的实施例。在权利要求书中,在括弧内放置的任何参考标记都不应该被解释为限制权利要求。词“包含”不排除除了权利要求书中所列的那些之外的单元或步骤的出现。在单元之前的词“一”或“一个”不排除多个这样单元的出现。在列举了几个装置的设备权利要求中,这些装置中的几个可以由同一项硬件实现。仅仅在相互不同的从属权利要求中描述某一措施这个事实不表示不可以有利地使用这些措施的组合。
Claims (6)
1.一种确定网络中分组返回路径的方法,该网络包含多个节点和节点间的多个链路,并且其中对于具有至少一个到第二节点的链路的每一个第一节点,在第二节点和第一节点之间存在一个链路,
当从源节点经由至少一个中间节点向目的节点发送分组时,使用本方法,
其特征在于,该方法包含在中间节点存储信息用来推导返回路径的步骤。
2.根据权利要求1的确定网络中分组返回路径的方法,其特征在于,进一步包含当从源节点发送分组到目的节点时,在分组访问过的每一节点中存储信息用来推导返回路径的步骤。
3.根据权利要求1的确定网络中分组返回路径的方法,其特征在于,存储在中间节点中的信息包含分组的标识符和编码中间节点将用来返回分组的输出端口的信息。
4.一种集成电路,包含网络,该网络具有多个节点和节点间的多个链路,并且其中对于具有至少一个到第二节点的链路的每一个第一节点,在第二节点和第一节点之间存在一个链路,安排该网络当从源节点经由至少一个中间节点向目的节点发送分组时确定分组的返回路径,其特征在于,安排中间节点来存储用于推导返回路径的信息。
5.根据权利要求4的集成电路,其特征在于,多个节点中的每一节点被安排用来存储用于推导返回路径的信息。
6.根据权利要求4的集成电路,其特征在于,中间节点被安排用来存储分组的标识符和编码中间节点用来返回分组的输出端口的信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02080356 | 2002-12-18 | ||
EP02080356.5 | 2002-12-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1729661A true CN1729661A (zh) | 2006-02-01 |
Family
ID=32524042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2003801066434A Pending CN1729661A (zh) | 2002-12-18 | 2003-11-18 | 分组交换网络中返回路径的推导 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20060077974A1 (zh) |
EP (1) | EP1576773A1 (zh) |
JP (1) | JP2006511115A (zh) |
KR (1) | KR20050087838A (zh) |
CN (1) | CN1729661A (zh) |
AU (1) | AU2003276606A1 (zh) |
WO (1) | WO2004056051A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107104903A (zh) * | 2012-12-14 | 2017-08-29 | 英特尔公司 | 通过分组循环进行网络拥塞管理 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2892877B1 (fr) * | 2005-10-28 | 2008-01-11 | Centre Nat Rech Scient | Routeur et reseau de routage |
US8634428B2 (en) | 2009-09-21 | 2014-01-21 | At&T Intellectual Property I, L.P. | Method and system for symmetric routing |
US8640221B2 (en) * | 2009-12-11 | 2014-01-28 | Juniper Networks, Inc. | Media access control address translation in virtualized environments |
WO2012069950A1 (en) * | 2010-11-25 | 2012-05-31 | Koninklijke Philips Electronics N.V. | System and method for optimizing data transmission to nodes of a wireless mesh network |
WO2013133211A1 (ja) * | 2012-03-09 | 2013-09-12 | 三菱電機株式会社 | データ通信装置、データ通信システム及びデータ通信方法 |
US9282034B2 (en) | 2013-02-20 | 2016-03-08 | International Business Machines Corporation | Directed route load/store packets for distributed switch initialization |
US9252965B2 (en) | 2013-03-15 | 2016-02-02 | International Business Machines Corporation | Directed route load/store packets for distributed switch initialization |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5191650A (en) * | 1989-08-16 | 1993-03-02 | International Business Machines Corporation | Virtual chains for session initiation in a distributed computer network |
WO1992022971A1 (en) * | 1991-06-18 | 1992-12-23 | Fujitsu Limited | Method for determining alternative route |
JP2856050B2 (ja) * | 1993-11-30 | 1999-02-10 | 日本電気株式会社 | ルーティング制御方法 |
JP3615057B2 (ja) * | 1998-07-17 | 2005-01-26 | 株式会社東芝 | ラベルスイッチングパス設定方法及びノード装置 |
US6233075B1 (en) * | 1999-01-25 | 2001-05-15 | Telcordia Technologies, Inc. | Optical layer survivability and security system |
DE10037969C2 (de) * | 2000-08-03 | 2002-10-24 | Siemens Ag | Verfahren zur Erkennung einer flexiblen Vernetzung von Baugruppen bei beliebiger Netztopologie sowie zum Informationsaustausch zwischen solchen Baugruppen |
-
2003
- 2003-11-18 KR KR1020057011337A patent/KR20050087838A/ko not_active Application Discontinuation
- 2003-11-18 CN CNA2003801066434A patent/CN1729661A/zh active Pending
- 2003-11-18 EP EP03813214A patent/EP1576773A1/en not_active Withdrawn
- 2003-11-18 WO PCT/IB2003/005261 patent/WO2004056051A1/en active Application Filing
- 2003-11-18 JP JP2004559991A patent/JP2006511115A/ja active Pending
- 2003-11-18 US US10/539,199 patent/US20060077974A1/en not_active Abandoned
- 2003-11-18 AU AU2003276606A patent/AU2003276606A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107104903A (zh) * | 2012-12-14 | 2017-08-29 | 英特尔公司 | 通过分组循环进行网络拥塞管理 |
Also Published As
Publication number | Publication date |
---|---|
AU2003276606A1 (en) | 2004-07-09 |
JP2006511115A (ja) | 2006-03-30 |
KR20050087838A (ko) | 2005-08-31 |
US20060077974A1 (en) | 2006-04-13 |
EP1576773A1 (en) | 2005-09-21 |
WO2004056051A1 (en) | 2004-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2010393C (en) | Communication switching system | |
EP0300061B1 (en) | Self-routing switching system | |
US5987028A (en) | Multiple channel ATM switch | |
US5940389A (en) | Enhanced partially self-routing algorithm for controller Benes networks | |
US4884263A (en) | Packet-switched communications network with parallel virtual circuits for re-routing message packets | |
EP1019833B1 (en) | Mechanism for packet field replacement in a multi-layered switched network element | |
US5687168A (en) | Link state routing device in ATM communication system | |
ES2265971T3 (es) | Conmutador y componentes de red y metodo de funcionamiento. | |
KR0138742B1 (ko) | 통신 스위칭 시스템 | |
US6847647B1 (en) | Method and apparatus for distributing traffic over multiple switched fiber channel routes | |
US5402415A (en) | Multicast virtual circuit switch using cell recycling | |
US6278709B1 (en) | Routing switch | |
CN103931147A (zh) | 面向连接的网络中的路径分集 | |
JPS62502303A (ja) | パケット通信網の相互接続方法 | |
JPS62188450A (ja) | 代替ル−ト決定方法 | |
US20170085463A1 (en) | Network Topology of Hierarchical Ring with Recursive Shortcuts | |
EP0843942A1 (en) | Route finding in communications networks | |
US20070110052A1 (en) | System and method for the static routing of data packet streams in an interconnect network | |
US6101184A (en) | Data switching method and data switching apparatus for efficiently handling scan data in information communication network | |
US5712854A (en) | Method of routing cells in an asynchronous time-division multiplex switching network and corresponding network input switch and application | |
US7152113B2 (en) | Efficient system and method of node and link insertion for deadlock-free routing on arbitrary topologies | |
CN1729661A (zh) | 分组交换网络中返回路径的推导 | |
US11005724B1 (en) | Network topology having minimal number of long connections among groups of network elements | |
US6731628B1 (en) | Circuit-switched network | |
CN104935509A (zh) | 一种纵向堆叠系统中防止产生环路的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |