CN102970234B - 虚拟交换单元系统内部的报文转发方法和装置、网络设备 - Google Patents
虚拟交换单元系统内部的报文转发方法和装置、网络设备 Download PDFInfo
- Publication number
- CN102970234B CN102970234B CN201210514294.0A CN201210514294A CN102970234B CN 102970234 B CN102970234 B CN 102970234B CN 201210514294 A CN201210514294 A CN 201210514294A CN 102970234 B CN102970234 B CN 102970234B
- Authority
- CN
- China
- Prior art keywords
- unicast
- path
- multicast
- member device
- message
- 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.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种虚拟交换单元VSU系统内部的报文转发方法和装置、网络设备,根据该方法,在VSU系统内部,设置任意一个作为入口设备的成员设备和作为出口设备的其它一个成员设备之间的单播路径和组播路径相重合,使得中转设备根据组播路径转发单播报文时,能够正确地将报文转发出去,不会出现转发的单播报文在VSU系统中被丢弃的现象,从而能够解决现有技术中,VSU系统中的中转设备根据组播路径转发单播报文而造成单播报文被丢弃的问题。
Description
技术领域
本发明涉及网络通信系统,具体地,涉及一种虚拟交换单元(VSU,VirtualSwitching Unit)系统内部的报文转发方法和装置、网络设备。
背景技术
VSU是一种网络系统虚拟化技术,该技术支持将多台设备组合成单一的虚拟设备。用户针对虚拟设备进行管理,可以实现对VSU中的所有设备进行管理。成员设备按照功能不同,分为两种角色:主设备和备设备;主设备是成员设备的一种,由角色选举产生,它负责管理整个VSU,一个VSU中同一时刻只能有一台成员设备成为主设备;备设备也是成员设备的一种,它隶属于主设备,作为主设备的备份设备运行,VSU系统中除了主设备以外,其它设备都是备设备。
图1示出了一个典型的VSU系统拓扑结构框图,在如图1所示的VSU系统中包括成员设备1、成员设备2、成员设备3和成员设备4,每个成员设备都包括一个外部通信接口(例如外部接口W)和2个内部通信接口(例如内部接口A和B)。每个成员设备中都存储了关于VSU拓扑结构的连接信息,例如,成员设备1的接口1A连接成员设备2的接口2B,成员设备2的接口2A连接成员设备3的接口3B,成员设备3的接口3A连接成员设备4的接口4B,成员设备4的接口4A连接成员设备1的接口1B。
VSU系统的网络拓扑结构一旦形成,VSU系统内的成员设备将会根据网络拓扑结构计算确定设备自身的单播路径和组播路径。
(一)、确定单播路径
每个成员设备根据跳数、带宽、接口标识等因素计算出单播路径(具体的算法有多种,这里不一一介绍),例如,成员设备1作为入口设备、成员设备2作为出口设备之间的单播路径为1→2,成员设备1作为入口设备、成员设备3作为出口设备之间的单播路径为1→2→3,成员设备1作为入口设备、成员设备4作为出口设备之间的单播路径为1→4,成员设备2作为入口设备、成员设备1作为出口设备之间的单播路径为2→1,成员设备2作为入口设备、成员设备3作为出口设备之间的单播路径为2→3,成员设备2作为入口设备、成员设备4作为出口设备之间的单播路径为2→3→4,成员设备3作为入口设备、成员设备1作为出口设备之间的单播路径为3→4→1,成员设备3作为入口设备、成员设备2作为出口设备之间的单播路径为3→2,成员设备3作为入口设备、成员设备4作为出口设备之间的单播路径为3→4,成员设备4作为入口设备、成员设备1作为出口设备之间的单播路径为4→1,成员设备4作为入口设备、成员设备2作为出口设备之间的单播路径为4→1→2,成员设备4作为入口设备、成员设备3作为出口设备之间的单播路径为4→3。
所确定的单播路径具体通过单播转发表来体现,单播转发表中规定了各个成员设备作为入口设备将报文转发给其他成员设备时的报文转发出口接口。例如,成员设备1所确定的单播转发表如表1所示,并且成员设备2、成员设备3和成员设备4所确定的单播转发表与表1相同。具体地,成员设备1作为入口设备,确定报文为单播报文时,将报文单播转发至目的设备2的报文的转发出口接口为1A,将报文单播转发至目的设备3的报文的转发出口接口为1A,将报文单播转发至目的设备4的报文的转发出口接口为1B,成员设备2、成员设备3和成员设备4所分别对应的转发出口如表1所示,这里不再一一赘述。各个成员设备根据如表1所示的单播转发表能够在VSU系统内部实现报文的单播转发。
表1
入口设备 | 单播目的设备 | 入口设备的出口接口 |
1 | 2 | 1A |
1 | 3 | 1A |
1 | 4 | 1B |
2 | 1 | 2B |
2 | 3 | 2A |
2 | 4 | 2A |
3 | 1 | 3A |
3 | 2 | 3B |
3 | 4 | 3A |
4 | 1 | 4A |
4 | 2 | 4A |
4 | 3 | 4B |
(二)、确定组播路径
在确定了单播路径后,各成员设备就可以根据已经确定的单播路径确定组播路径。具体地,采用反向路径的方式确定设备间的组播路径,即成员设备α到成员设备β的单播路径为α→θ→ω→β,该单播路径的反向路径为β→ω→θ→α,则,成员设备β到成员设备α的组播路径为β→ω→θ→α,据此可以确定出各个成员设备之间的组播路径。通过反向路径的方向确定组播路径的目的在于,使得任意两个成员设备之间的单播路径和组播路径相互均不重合、路径清晰、寻址可靠。
例如,成员设备1作为入口设备、成员设备3作为出口设备之间的单播路径为1→2→3,则成员设备3作为入口设备(即组播源设备)、成员设备1的组播路径为3→2→1,成员设备3作为入口设备、成员设备1作为出口设备之间的单播路径为3→4→1,则成员设备1作为入口设备、成员设备3作为出口设备之间的组播路径为1→4→3。
所确定的组播路径具体通过每个成员设备作为入口设备或中转设备来选择报文转发出口来体现。例如,成员设备1确定的组播转发表可如表2所示。并且成员设备2、成员设备3和成员设备4所确定的单组播转发表与表2相同。在表2中,例如,成员设备1作为入口设备时(即中转设备入口为空),将报文通过出口1A和1B发送给成员设备2和成员设备4,组播源设备为2、中转设备为1时,中转设备1接收组播报文的入口接口为1A、转发组播报文的出口接口为1B。
并且,为了防止设备之间由于互转报文而造成报文环路,对于同一个组播源设备,如果相邻的两个成员设备之间如果存在相互转发的关系,则应该将其中一个成员设备发往其相邻成员的报文出口设置为空(NULL),以避免造成报文环路。例如,组播源设备为1、中转设备为3时的组播路径为1→4→3,组播源设备为1、中转设备为2时的组播路径为1→2,这样,中转设备2和中转设备3之间存在报文互转的现象,这就应当将中转设备2的出口接口2A和中转设备3的出口接口3B设置为空。同理,在组播源设备为2、中转设备为3和中转设备为4时,将中转设备3的出口接口3A和中转设备4的出口接口4B设置为空,在组播源设备为3、中转设备为1和中转设备为4时,将中转设备1的出口接口1B和中转设备4的出口接口4A设置为空,在组播源设备为4、中转设备为1和中转设备为2时,将中转设备的出口接口1A和中转设备2的出口接口2B设置为空。
如表2所示,成员设备1作为入口设备时(即中转设备入口为空),将报文通过出口1A和1B发送给成员设备2和成员设备4,成员设备1作为中转设备时,通过入口1A接收来自组播源设备为成员设备2的报文、并通过出口1B转发该报文,或者通过入口1A接收来自组播源设备为成员设备3的报文、并丢弃该报文,或者通过入口1B接收来自组播源设备为成员设备4的报文、并丢弃该报文。成员设备2、成员设备3和成员设备4所分别对应的出口和入口如表2所示,这里不再一一赘述。
以上确定出来的单播路径和组播路径在理论上是正确的,相互之间是不会发生冲突的。
表2
组播源设备 | 中转设备 | 中转设备入口 | 中转设备出口 |
1 | 1 | NULL | 1A,1B |
2 | 1 | 1A | 1B |
3 | 1 | 1A | NULL |
4 | 1 | 1B | NULL |
2 | 2 | NULL | 2A,2B |
1 | 2 | 2B | NULL |
3 | 2 | 2A | 2B |
4 | 2 | 2A | NULL |
3 | 3 | NULL | 3A,3B |
1 | 3 | 3A | NULL |
2 | 3 | 3B | NULL |
4 | 3 | 3A | 3B |
4 | 4 | NULL | 4A,4B |
1 | 4 | 4A | 4B |
2 | 4 | 4A | NULL |
3 | 4 | 4B | NULL |
各个成员设备确定了单播路径和组播路径后,各成员设备按照单播转发表和组播转发表对报文进行转发。VSU系统内的入口设备对单播/组播报文进行区分,按照单播转发表或组播转发表对报文进行转发;中转设备在转发报文的过程中,如果逐一区别每个报文是单播报文或组播报文,并且按照单播转发表对单播报文进行转发、按照组播转发表对组播报文进行转发,就会极大地降低VSU内部转发报文的速度,因而通常在实际的应用过程中,为了获得较快的转发速度,中转设备对单播/组播报文不进行区分,仅按照组播转发表对全部报文进行转发。
成员设备实际执行的报文转发过程如下所述:
对于单播报文,入口设备根据如表1所示的单播转发表来确定报文出口,通过该报文出口将报文转发出去,中转设备对于通过相应的入口接口接收到的、来自相应的组播源设备的报文,根据表2所示的组播转发表确定报文出口,如果存在出口接口就转发报文,如果确定的报文出口为空则丢弃报文。例如,入口设备1要将单播报文发往目的设备3,根据表1,入口设备1将报文通过出口1A发送给中转设备2,中转设备2根据表2确定通过入口接口2B接收到的报文、转发该报文的出口接口为空,并丢弃报文。可见,中转设备按照组播转发表转发单播报文时,会造成单播报文的丢弃。
综上,在VSU系统内部,虽然各个成员设备确定的单播路径和组播路径都是正确的,但是由于中转设备为获取更高的转发性能,不去识别报文是单播报文还是组播报文,并根据单播路径转发单播报文、根据组播路径转发组播报文,而是仅仅根据组播路径来转发全部报文,这就会导致单播报文在VSU系统中被丢弃的问题。
发明内容
有鉴于此,本发明实施例提供了一种VSU系统内部的报文转发方法和装置、网络设备,用以解决现有技术中VSU系统中的中转设备根据组播路径转发单播报文而造成单播报文被丢弃的问题。
本发明实施例技术方案如下:
一种VSU系统内部的报文转发方法,包括:VSU系统内部的当前成员设备确定系统内各成员设备之间的单播路径;并,对于任意一个成员设备,将该成员设备作为入口设备、系统中的另一个成员设备作为出口设备的第一单播路径,与所述另一个成员设备作为入口设备、该成员设备作为出口设备的第二单播路径进行对比,当这两条单播路径中所包括的中转设备不相同时,调整其中的一条单播路径,得到互为反向路径的调整后的第一单播路径和第二单播路径;对于任意一个成员设备,将该成员设备作为入口设备、系统中的另一个成员设备作为出口设备的调整后的单播路径的反向路径,作为所述另一个成员设备作为入口设备、该成员设备作为出口设备的组播路径;当前成员设备根据经过调整后的单播路径和确定的组播路径转发报文。
一种VSU系统内部的报文转发装置,包括:第一确定单元,用于确定VSU系统内各成员设备之间的单播路径;调整单元,用于对于任意一个成员设备,将该成员设备作为入口设备、系统中的另一个成员设备作为出口设备的第一单播路径,与所述另一个成员设备作为入口设备、该成员设备作为出口设备的第二单播路径进行对比,当这两条单播路径中所包括的中转设备不相同时,调整其中的一条单播路径,得到互为反向路径的调整后的第一单播路径和第二单播路径;第二确定单元,用于对于任意一个成员设备,将该成员设备作为入口设备、系统中的另一个成员设备作为出口设备的调整后的单播路径的反向路径,作为所述另一个成员设备作为入口设备、该成员设备作为出口设备的组播路径;转发单元,用于根据所述调整单元调整后的单播路径和第二确定单元确定的组播路径转发报文。
一种网络设备,包括如上所述的VSU系统内部的报文转发装置。
根据本发明实施例的技术方案,在VSU系统内部,当前设备确定了各成员设备之间的单播路径后,对于任意一个成员设备,将该成员设备作为入口设备、系统中的另一个成员设备作为出口设备的第一单播路径,与所述另一个成员设备作为入口设备、该成员设备作为出口设备的第二单播路径进行对比,当这两条单播路径中所包括的中转设备不相同时,调整其中的一条单播路径,得到互为反向路径的调整后的第一单播路径和第二单播路径,并根据互为反向路径的第一单播路径和第二单播路径确定得到该两个设备之间互为反向路径的两条组播路径,使得任意一个作为入口设备的成员设备和作为出口设备的其它一个成员设备之间的单播路径和组播路径相重合,这就使得中转设备根据组播路径转发单播报文时,能够正确地将报文转发出去,不会出现根据单播报文在VSU系统中被丢弃的现象,从而能够解决现有技术中,VSU系统中的中转设备根据组播路径转发单播报文而造成单播报文被丢弃的问题。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
图1为现有技术中VUS系统的拓扑结构框图;
图2为本发明实施例提供的VSU系统内部的报文转发方法的工作流程图;
图3为本发明实施例提供的VSU系统内部的报文转发装置的结构框图;
图4为图3所示装置的优选结构框图。
具体实施方式
以下结合附图对本发明的实施例进行说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例针对现有技术中VSU系统中的中转设备根据组播转发表转发单播报文而造成单播报文被丢弃的问题,提出了一种VSU系统内部的报文转发方案,以解决该问题。
图2示出了本发明实施例提供的VSU系统内部的报文转发方法的工作流程图,该方法包括:
步骤201、VSU系统内部的当前成员设备确定系统内各成员设备之间的单播路径;
当前成员设备确定系统内各成员设备之间的单播路径的方法可以是现有技术中任一种算法,例如,根据连接线路的跳数、线路带宽、成员设备的内部接口标识等因素计算出单播路由。具体地,优先选择跳数少的路径;在跳数相同情况下,优先选择带宽大的路径;在跳数相同和带宽也相同的情况下,优先选择接口标识排列靠前的内部接口(如,接口标识A排列在接口标识B之前,当然也可以优先选择接口标识排列靠后的内部接口)。
对于如图1所示的VSU网络拓扑结构,假设图上的每条连接线路的带宽都是相同的,因此实际决定因素是连接线路的跳数和内部接口标识,这样确定出来的单播路径可以如表3所示,表3中示出了入口设备、单播目的设备以及单播路径的对应关系,以及各条单播路径的跳数和带宽,这里不一一具体说明。
表3
入口设备 | 单播目的设备 | 单播路径 | 跳数 | 带宽 |
1 | 2 | 1→2 | 1 | 1 |
1 | 3 | 1→2→3 | 2 | 1 |
1 | 4 | 1→4 | 1 | 1 |
2 | 1 | 2→1 | 1 | 1 |
2 | 3 | 2→3 | 1 | 1 |
2 | 4 | 2→3→4 | 2 | 1 |
3 | 1 | 3→4→1 | 2 | 1 |
3 | 2 | 3→2 | 1 | 1 |
3 | 4 | 3→4 | 1 | 1 |
4 | 1 | 4→1 | 1 | 1 |
4 | 2 | 4→1→2 | 2 | 1 |
4 | 3 | 4→3 | 1 | 1 |
步骤202、对于任意一个成员设备,将该成员设备作为入口设备、系统中的另一个成员设备作为出口设备的第一单播路径,与所述另一个成员设备作为入口设备、该成员设备作为出口设备的第二单播路径进行对比,当这两条单播路径中所包括的中转设备不相同时,调整其中的一条单播路径,得到互为反向路径的调整后的第一单播路径和第二单播路径;
例如,在表3中,成员设备作为入口设备、成员设备3作为出口设备之间的第一单播路径为1→2→3,成员设备3作为入口设备、成员设备1作为出口设备之间的第二单播路径为3→4→1,可见,这两条单播路径中所包括的中转设备不相同,这样,就应该对成员设备1和成员设备3之间的第一单播路径和第二单播路径进行调整。同理,也需要对成员设备2和成员设备4之间的单播路径进行调整。
具体地,可以以第一单播路径为参考,将第一单播路径的反向路径作为调整后的第二单播路径;或者,以第二单播路径为参考,将第二单播路径的反向路径作为调整后的第一单播路径。
据此,就可以得到调整后的各个成员设备之间的单播路径,具体地,如表3所示的单播路径中,可以以成员设备1作为入口设备、成员设备3作为出口设备之间的第一单播路径为1→2→3为参考,将成员设备3作为入口设备、成员设备1作为出口设备之间的第二单播路径调整为3→2→1,以成员设备2作为入口设备、成员设备4作为出口设备之间的单播路径2→3→4为参考,将成员设备4作为入口设备、成员设备2作为出口设备之间的单播路径由原来的4→1→2调整为4→3→2。具体如表4所示。
表4
入口设备 | 单播目的设备 | 单播路径 | 跳数 | 带宽 |
1 | 2 | 1→2 | 1 | 1 |
1 | 3 | 1→2→3 | 2 | 1 |
1 | 4 | 1→4 | 1 | 1 |
2 | 1 | 2→1 | 1 | 1 |
2 | 3 | 2→3 | 1 | 1 |
2 | 4 | 2→3→4 | 2 | 1 |
3 | 1 | 3→2→1 | 2 | 1 |
3 | 2 | 3→2 | 1 | 1 |
3 | 4 | 3→4 | 1 | 1 |
4 | 1 | 4→1 | 1 | 1 |
4 | 2 | 4→3→2 | 2 | 1 |
4 | 3 | 4→3 | 1 | 1 |
步骤203、对于任意一个成员设备,将该成员设备作为入口设备、系统中的另一个成员设备作为出口设备的调整后的单播路径的反向路径,作为所述另一个成员设备作为入口设备、该成员设备作为出口设备的组播路径;
例如,成员设备1作为入口设备、成员设备3作为出口设备之间的单播路径为1→2→3,该单播路径的反向路径为3→2→1,则将成员设备3作为入口设备、成员设备1作为出口设备的组播路径设置为3→2→1。同理,将成员设备1作为入口设备、成员设备3作为出口设备之间的组播路径设置为成员设备3作为入口设备、成员设备1作为出口设备的单播路径的反向路径,即1→2→3。表5示出了具体的组播路径表。
表5
组播源设备 | 组播目的设备 | 组播路径 | 跳数 | 带宽 |
1 | 2 | 1→2 | 1 | 1 |
1 | 3 | 1→2→3 | 2 | 1 |
1 | 4 | 1→4 | 1 | 1 |
2 | 1 | 2→1 | 1 | 1 |
2 | 3 | 2→3 | 1 | 1 |
2 | 4 | 2→3→4 | 2 | 1 |
3 | 1 | 3→2→1 | 2 | 1 |
3 | 2 | 3→2 | 1 | 1 |
3 | 4 | 3→4 | 1 | 1 |
4 | 1 | 4→1 | 1 | 1 |
4 | 2 | 4→3→2 | 2 | 1 |
4 | 3 | 4→3 | 1 | 1 |
通过上面的处理过程,成员设备1作为入口设备、成员设备3作为出口设备之间的单播路径和组播路径就得到了重合,均为1→2→3。同理,成员设备3作为入口设备、成员设备1作为出口设备的单播路径和组播路径均为3→2→1,成员设备2作为入口设备、成员设备4作为出口设备之间的单播路径均为2→3→4,成员设备4作为入口设备、成员设备2作为出口设备之间的单播路径均为4→3→2。
进一步,根据确定的调整后的单播路径生成单播转发表,根据组播路径生成组播转发表,调整后的单播转发表如表6所示,组播转发表如表7所示。
在单播转发表、表6中,相对于表4中的内容,详细规定了各成员设备分别作为入口设备的情况下,向作为目的设备的其它成员设备转发单播报文的出口接口,例如,入口设备为1、单播目的设备为2时,入口设备1转发单播报文的出口接口为1A,入口设备为1、单播目的设备为3时,入口设备1转发单播报文的出口接口为1A,入口设备为1、单播目的设备为4时,入口设备1转发单播报文的出口接口为1B,其它情况如表6所示,不一一具体说明。
在组播转发表、表7中,对应表5中的组播路径,明确规定了各个成员设备作为组播源设备时(即表现为组播源设备与中转设备是同一个设备、中转设备入口接口为空),向作为目的设备的其它成员设备转发组播报文的出口接口,以及各成员设备分别作为中转设备,接收来自入口设备的组播报文的入口接口和发送组播报文的出口接口。
表6
入口设备 | 单播目的设备 | 单播路径 | 入口设备的出口接口 |
1 | 2 | 1→2 | 1A |
1 | 3 | 1→2→3 | 1A |
1 | 4 | 1→4 | 1B |
2 | 1 | 2→1 | 2B |
2 | 3 | 2→3 | 2A |
2 | 4 | 2→3→4 | 2A |
3 | 1 | 3→2→1 | 3B |
3 | 2 | 3→2 | 3B |
3 | 4 | 3→4 | 3A |
4 | 1 | 4→1 | 4A |
4 | 2 | 4→3→2 | 4B |
4 | 3 | 4→3 | 4B |
表7
组播源设备 | 中转设备 | 中转设备入口接口 | 中转设备出口接口 |
1 | 1 | NULL | 1A,1B |
2 | 1 | 1A | 1B |
3 | 1 | 1A | 1B |
4 | 1 | 1B | 1A |
2 | 2 | NULL | 2A,2B |
1 | 2 | 2B | 2A |
3 | 2 | 2A | 2B |
4 | 2 | 2A | 2B |
3 | 3 | NULL | 3A,3B |
1 | 3 | 3B | 3A |
2 | 3 | 3B | 3A |
4 | 3 | 3A | 3B |
4 | 4 | NULL | 4A,4B |
1 | 4 | 4A | 4B |
2 | 4 | 4B | 4A |
3 | 4 | 4B | 4A |
进一步地,如果各个成员设备根据表7进行组播报文的转发的话,对于由同一个组播源设备分别与两个相邻的成员设备构成的两条组播路径之间,会造成该两个相邻的成员设备之间相互发转报文的情况,例如,组播源设备为1、中转设备为3时,中转设备3的出口接口为3A,中转设备3将通过出口接口3A将报文发送给中转设备4,组播源设备为1、中转设备为4时,中转设备4的出口接口为4B,中转设备4将通过出口接口4B将报文发送给中转设备3,这样就会造成组播报文环路,导致组播报文在VSU系统中环回发送。这样这种情况下,应该对组播转发表进行修正,也即,对于如上所述存在该两个相邻的成员设备之间相互转发组播报文的情况时,将组播转发表中该两个相邻的成员设备相对的出口接口设置为空。如表8所示,将组播源设备为1、中转设备为3和中转设备为4之间相对的出口接口3A和4B均设置为空,将组播源为2、中转设备为4和中转设备为1之间相对的出口接口4A和1B设置为空,将组播源为3、中转设备为1和中转设备为4之间相对的出口接口1B和2A设置为空,将组播源为4、中转设备为1、中转设备为2之间相对的出口接口1A和2B设置为空,这样就能够避免相邻的两个中转设备相互转发组播报文的问题。
表8
组播源设备 | 中转设备 | 中转设备入口接口 | 中转设备出口接口 |
1 | 1 | NULL | 1A,1B |
2 | 1 | 1A | NULL |
3 | 1 | 1A | NULL |
4 | 1 | 1B | NULL |
2 | 2 | NULL | 2A,2B |
1 | 2 | 2B | 2A |
3 | 2 | 2A | 2B |
4 | 2 | 2A | NULL |
3 | 3 | NULL | 3A,3B |
1 | 3 | 3B | NULL |
2 | 3 | 3B | 3A |
4 | 3 | 3A | 3B |
4 | 4 | NULL | 4A,4B |
1 | 4 | 4A | NULL |
2 | 4 | 4B | NULL |
3 | 4 | 4B | NULL |
步骤204、当前成员设备根据经过调整后的单播路径和确定的组播路径转发报文。
具体地,当前设备作为入口设备时,根据单播转发表、通过单播转发表中所指示的出口接口转发单播报文,根据组播转发表、通过组播转发表中所指示的出口接口转播组播报文;当前设备作为中转设备时,根据组播转发表、通过组播转发表中指示的出口接口转发单播报文和组播报文。
通过上述处理过程,在VSU系统内部,当前设备确定了各成员设备之间的单播路径后,对于任意一个成员设备,将该成员设备作为入口设备、系统中的另一个成员设备作为出口设备的第一单播路径,与所述另一个成员设备作为入口设备、该成员设备作为出口设备的第二单播路径进行对比,当这两条单播路径中所包括的中转设备不相同时,调整其中的一条单播路径,得到互为反向路径的调整后的第一单播路径和第二单播路径,并根据互为反向路径的第一单播路径和第二单播路径确定得到该两个设备之间互为反向路径的两条组播路径,使得任意一个作为入口设备的成员设备和作为出口设备的其它一个成员设备之间的单播路径和组播路径相重合,这就使得中转设备根据组播路径转发单播报文时,能够正确地将报文转发出去,不会出现根据单播报文在VSU系统中被丢弃的现象,并且不会降低VSU系统的转发速度,从而能够解决现有技术中,VSU系统中的中转设备根据组播路径转发单播报文而造成单播报文被丢弃的问题。
并且,任意两个成员设备之间的单播路径互为反向路径、组播路径也互为反向路径,并不会影响设备寻址,通过如表6所示的单播转发表和表8所示的组播转发表,就能够准确、可靠地进行设备寻址,不会发生报文丢失或环回的问题。在具体实现的过程中,可靠性高、不影响VSU系统的转发速度,无需对VSU系统做出较大改动,与VSU系统中的其它处理功能具有良好的兼容性。
基于相同的发明构思,本发明实施例还提供了一种VSU系统内部的报文转发装置。
图3示出了本发明实施例提供的VSU系统内部的报文转发装置的结构框图,如图3所示,该装置包括:
第一确定单元301,用于确定VSU系统内各成员设备之间的单播路径;
调整单元302,连接至第一确定单元301,用于对于任意一个成员设备,将该成员设备作为入口设备、系统中的另一个成员设备作为出口设备的第一单播路径,与所述另一个成员设备作为入口设备、该成员设备作为出口设备的第二单播路径进行对比,当这两条单播路径中所包括的中转设备不相同时,调整其中的一条单播路径,得到互为反向路径的调整后的第一单播路径和第二单播路径;
具体地,以第一单播路径为参考,将第一单播路径的反向路径作为调整后的第二单播路径;或者,以第二单播路径为参考,将第二单播路径的反向路径作为调整后的第一单播路径;
第二确定单元303,连接至调整单元302,用于对于任意一个成员设备,将该成员设备作为入口设备、系统中的另一个成员设备作为出口设备的调整后的单播路径的反向路径,作为所述另一个成员设备作为入口设备、该成员设备作为出口设备的组播路径;
转发单元304,连接至调整单元302和第二确定单元303,用于根据所述调整单元302调整后的单播路径和第二确定单元303确定的组播路径转发报文。
具体地,图3所示装置的工作原理如图2所示,这里不再赘述。
根据如图3所示的装置,也能够使得任意一个作为入口设备的成员设备和作为出口设备的其它一个成员设备之间的单播路径和组播路径相重合,从而使得中转设备根据组播路径转发单播报文时,能够正确地将报文转发出去,不会出现根据单播报文在VSU系统中被丢弃的现象,进而能够解决现有技术中,VSU系统中的中转设备根据组播路径转发单播报文而造成单播报文被丢弃的问题。
图4示出了图3所示装置的优选实施结构框图,如图4所示的装置在如图3所示装置的基础上,还包括第三确定单元305和修正单元306。
第三确定单元305,用于根据所述调整单元302调整后的单播路径生成单播转发表,单播转发表中包括VSU系统内各成员设备分别作为入口设备的情况下,向作为目的设备的其它成员设备转发单播报文的出口接口;根据所述第二确定单元303确定的组播路径生成组播转发表,组播转发表中包括VSU系统内各成员设备作为入口设备的情况下,向作为目的设备的其它成员转发组播报文的出口接口,以及各成员设备分别作为中转设备,接收将来自入口设备的组播报文的入口接口和发送组播报文的出口接口;
修正单元306,连接至第三确定单元305,用于对于由同一个组播源设备分别与两个相邻的成员设备构成的两条组播路径之间,存在该两个相邻的成员设备之间相互转发组播报文的情况时,将所述第三确定单元确定的组播转发表中该两个相邻的成员设备相对的出口接口设置为空;
转发单元304,还可以连接至第三确定模块305,用于在所述装置作为入口设备时,根据单播转发表、通过单播转发表中所指示的出口接口转发单播报文,根据组播转发表、通过组播转发表中所指示的出口接口转播组播报文;所述装置作为中转设备时,根据组播转发表、通过组播转发表中指示的出口接口转发单播报文和组播报文。
根据如图4所示的装置,在图3所示装置的基础上,还能够正确地在VSU系统内转发组播报文。
基于相同的发明构思,本发明实施例还提供了一种网络设备,该网络设备包括如图3或图4所示的VSU系统内部的报文转发装置。
综上所述,根据本发明实施例的技术方案,在VSU系统内部,当前设备确定了各成员设备之间的单播路径后,对于任意一个成员设备,将该成员设备作为入口设备、系统中的另一个成员设备作为出口设备的第一单播路径,与所述另一个成员设备作为入口设备、该成员设备作为出口设备的第二单播路径进行对比,当这两条单播路径中所包括的中转设备不相同时,调整其中的一条单播路径,得到互为反向路径的调整后的第一单播路径和第二单播路径,并根据互为反向路径的第一单播路径和第二单播路径确定得到该两个设备之间互为反向路径的两条组播路径,使得任意一个作为入口设备的成员设备和作为出口设备的其它一个成员设备之间的单播路径和组播路径相重合,这就使得中转设备根据组播路径转发单播报文时,能够正确地将报文转发出去,不会出现根据单播报文在VSU系统中被丢弃的现象,从而能够解决现有技术中,VSU系统中的中转设备根据组播路径转发单播报文而造成单播报文被丢弃的问题。
本领域普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种虚拟交互单元VSU系统内部的报文转发方法,其特征在于,包括:
VSU系统内部的当前成员设备确定系统内各成员设备之间的单播路径;并,
对于任意一个成员设备,将该成员设备作为入口设备、系统中的另一个成员设备作为出口设备的第一单播路径,与所述另一个成员设备作为入口设备、该成员设备作为出口设备的第二单播路径进行对比,当这两条单播路径中所包括的中转设备不相同时,调整其中的一条单播路径,得到互为反向路径的调整后的第一单播路径和第二单播路径;
对于任意一个成员设备,将该成员设备作为入口设备、系统中的另一个成员设备作为出口设备的调整后的单播路径的反向路径,作为所述另一个成员设备作为入口设备、该成员设备作为出口设备的组播路径;
当前成员设备根据调整后的单播路径生成单播转发表,单播转发表中包括VSU系统内各成员设备分别作为入口设备的情况下,向作为目的设备的其它成员设备转发单播报文的出口接口;
当前设备根据组播路径生成组播转发表,组播转发表中包括VSU系统内各成员设备分别作为入口设备的情况下,向作为目的设备的其它成员设备转发组播报文的出口接口,以及各成员设备分别作为中转设备,接收来自入口设备的组播报文的入口接口和发送组播报文的出口接口;
当前成员设备根据经过调整后的单播路径和确定的组播路径转发报文,具体为当前成员设备根据单播转发表和组播转发表转发报文。
2.根据权利要求1所述的方法,其特征在于,当这两条单播路径中所包括的中转设备不相同时,调整其中的一条单播路径,具体包括:
以第一单播路径为参考,将第一单播路径的反向路径作为调整后的第二单播路径;或者,
以第二单播路径为参考,将第二单播路径的反向路径作为调整后的第一单播路径。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对于由同一个组播源设备分别与两个相邻的成员设备构成的两条组播路径之间,存在该两个相邻的成员设备之间相互转发组播报文的情况时,将组播转发表中该两个相邻的成员设备相对的出口接口设置为空。
4.根据权利要求1所述的方法,其特征在于,当前成员设备根据单播转发表和组播转发表转发报文,具体包括:
当前设备作为入口设备时,根据单播转发表、通过单播转发表中所指示的出口接口转发单播报文,根据组播转发表、通过组播转发表中所指示的出口接口转播组播报文;
当前设备作为中转设备时,根据组播转发表、通过组播转发表中指示的出口接口转发单播报文和组播报文。
5.一种虚拟交互单元VSU系统内部的报文转发装置,其特征在于,包括:
第一确定单元,用于确定VSU系统内各成员设备之间的单播路径;
调整单元,用于对于任意一个成员设备,将该成员设备作为入口设备、系统中的另一个成员设备作为出口设备的第一单播路径,与所述另一个成员设备作为入口设备、该成员设备作为出口设备的第二单播路径进行对比,当这两条单播路径中所包括的中转设备不相同时,调整其中的一条单播路径,得到互为反向路径的调整后的第一单播路径和第二单播路径;
第二确定单元,用于对于任意一个成员设备,将该成员设备作为入口设备、系统中的另一个成员设备作为出口设备的调整后的单播路径的反向路径,作为所述另一个成员设备作为入口设备、该成员设备作为出口设备的组播路径;
第三确定单元,用于根据所述调整单元调整后的单播路径生成单播转发表,单播转发表中包括VSU系统内各成员设备分别作为入口设备的情况下,向作为目的设备的其它成员设备转发单播报文的出口接口;根据所述第二确定单元确定的组播路径生成组播转发表,组播转发表中包括VSU系统内各成员设备作为入口设备的情况下,向作为目的设备的其它成员转发组播报文的出口接口,以及各成员设备分别作为中转设备,接收将来自入口设备的组播报文的入口接口和发送组播报文的出口接口;
转发单元,用于根据所述调整单元调整后的单播路径和第二确定单元确定的组播路径转发报文,具体用于根据单播转发表和组播转发表转发报文。
6.根据权利要求5所述的装置,其特征在于,所述调整单元,具体用于:
以第一单播路径为参考,将第一单播路径的反向路径作为调整后的第二单播路径;或者,
以第二单播路径为参考,将第二单播路径的反向路径作为调整后的第一单播路径。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
修正单元,用于对于由同一个组播源设备分别与两个相邻的成员设备构成的两条组播路径之间,存在该两个相邻的成员设备之间相互转发组播报文的情况时,将所述第三确定单元确定的组播转发表中该两个相邻的成员设备相对的出口接口设置为空。
8.根据权利要求5所述的装置,其特征在于,所述转发单元,具体用于:
所述装置作为入口设备时,根据单播转发表、通过单播转发表中所指示的出口接口转发单播报文,根据组播转发表、通过组播转发表中所指示的出口接口转播组播报文;
所述装置作为中转设备时,根据组播转发表、通过组播转发表中指示的出口接口转发单播报文和组播报文。
9.一种网络设备,其特征在于,包括如权利要求5~8中任一项所述的虚拟交互单元系统内部的报文转发装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210514294.0A CN102970234B (zh) | 2012-12-04 | 2012-12-04 | 虚拟交换单元系统内部的报文转发方法和装置、网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210514294.0A CN102970234B (zh) | 2012-12-04 | 2012-12-04 | 虚拟交换单元系统内部的报文转发方法和装置、网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102970234A CN102970234A (zh) | 2013-03-13 |
CN102970234B true CN102970234B (zh) | 2015-08-19 |
Family
ID=47800121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210514294.0A Active CN102970234B (zh) | 2012-12-04 | 2012-12-04 | 虚拟交换单元系统内部的报文转发方法和装置、网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102970234B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103458063B (zh) * | 2013-08-26 | 2016-08-24 | 福建星网锐捷网络有限公司 | 地址同步方法及装置、vsu系统、主机设备及成员设备 |
CN104579897B (zh) * | 2014-12-04 | 2018-12-14 | 福建星网锐捷网络有限公司 | 一种帧通路配置方法、装置及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101232448A (zh) * | 2008-02-28 | 2008-07-30 | 中兴通讯股份有限公司 | 一种在单播路由等价多路径下组播的反向选路方法 |
CN101594304A (zh) * | 2009-07-02 | 2009-12-02 | 杭州华三通信技术有限公司 | 防止堆叠系统产生环路的方法和堆叠系统中的成员设备 |
CN102195883A (zh) * | 2011-05-23 | 2011-09-21 | 北京星网锐捷网络技术有限公司 | 组播路由确定方法、组播报文转发方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101605102B (zh) * | 2009-07-16 | 2012-03-14 | 杭州华三通信技术有限公司 | 一种irf堆叠中的负载分担方法及装置 |
-
2012
- 2012-12-04 CN CN201210514294.0A patent/CN102970234B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101232448A (zh) * | 2008-02-28 | 2008-07-30 | 中兴通讯股份有限公司 | 一种在单播路由等价多路径下组播的反向选路方法 |
CN101594304A (zh) * | 2009-07-02 | 2009-12-02 | 杭州华三通信技术有限公司 | 防止堆叠系统产生环路的方法和堆叠系统中的成员设备 |
CN102195883A (zh) * | 2011-05-23 | 2011-09-21 | 北京星网锐捷网络技术有限公司 | 组播路由确定方法、组播报文转发方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102970234A (zh) | 2013-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9014056B2 (en) | Bridging network devices in a hybrid communication network | |
CN104468358A (zh) | 分布式虚拟交换机系统的报文转发方法及设备 | |
CN107404436A (zh) | 用于虚拟可扩展局域网的通信方法和装置 | |
CN101989952B (zh) | 一种组播方法及装置 | |
JP6633775B2 (ja) | パケット伝送 | |
CN102802227B (zh) | 基于基站直通架构的数据处理方法、设备和系统 | |
CN103516612B (zh) | 分布式路由器中生成路由表项的方法及分布式路由器 | |
CN102724651B (zh) | 数据直通处理方法、设备和系统 | |
US20210211351A1 (en) | Stacking-port configuration using zero-touch provisioning | |
CN103532851B (zh) | 分布式链路聚合网络中的数据流处理方法和装置 | |
CN106330786A (zh) | Mac地址的同步方法、装置及系统 | |
WO2014099257A1 (en) | Seamless switching for multihop hybrid networks | |
CN106357542A (zh) | 提供组播业务的方法和软件定义网络控制器 | |
US20120120950A1 (en) | Convergence of multicast traffic in response to a topology change | |
CN106411842A (zh) | 在内容中心网络堆栈中传输状态 | |
CN103188120A (zh) | 一种组播业务的丢包检测方法及装置 | |
CN104639445A (zh) | 网络系统以及网络中继装置 | |
CN102970234B (zh) | 虚拟交换单元系统内部的报文转发方法和装置、网络设备 | |
CN103107946B (zh) | 组播恢复方法和装置及包括该组播恢复装置的中继设备 | |
CN103716169A (zh) | 点到多点的组播实现方法、网络节点和系统 | |
CN104348737B (zh) | 一种组播报文的传输方法及交换机 | |
CN103200110B (zh) | 一种应用于智能变电站局域网的数据组播方法和装置 | |
CN108092896A (zh) | 堆叠系统和聚合组建立装置 | |
CN102420766B (zh) | 一种路由确定方法及路由设备 | |
CN101325536A (zh) | WiMAX系统的基站和网关中控制组播数据包传输的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor Patentee after: RUIJIE NETWORKS CO., LTD. Address before: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor Patentee before: Fujian Xingwangruijie Network Co., Ltd. |