一种流量转发方法及设备的制作方法

文档序号:7851826阅读:99来源:国知局
专利名称:一种流量转发方法及设备的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种流量转发方法及设备。
背景技术
堆叠技术将两台或者多台分布式框式设备连接起来,形成一台逻辑设备,参与堆叠的所有框式设备使用相同的配置文件。用户可以像管理一台单一设备一样管理该逻辑设备。堆叠技术具有高可用性、高可扩展性以及管理简单的优势。根据堆叠成员设备的连接形式的不同,可以将堆叠分为链行堆叠和环形堆叠两种。从一台堆叠成员设备进入的流量可能需要从另外一台堆叠成员设备转发出去。转发路 径按照堆叠拓扑设置的路径,其示意图可以如图I和图2所示。其中,对于链形堆叠系统,参见图1,从一台堆叠成员设备(简称“设备”)进入的流量到目的堆叠成员设备的有效路径只有一条,即最短转发路径。例如,流量从设备I的入接口 GE1/0/10进入,经过设备2和设备3的转发,从设备3的出接口 GE3/0/10转发出去。对于环形堆叠系统,参见图2,当存在偶数台设备时,任一设备到非最远端设备都存在唯一的最短路径,但到最远端设备(如对于设备1,其最远端设备为设备3)存在两个最短路径。例如,从设备I的入接口 GE1/0/10进入的流量,需要从设备3的出接口 GE3/0/10转发出去,则存在实线(流量从分别经过设备1、2和3转发)和虚线(流量分别经过设备
I、4和3转发)所示的两条最短路径。现有技术中,设置拓扑转发路径的原则为I、最短转发路径优先;2、相等路径时认为第一堆叠口(各堆叠设备预先定义了第一堆叠口)为最短路径。对于图I所示的链形堆叠系统,由于任一设备到其他设备只存在唯一最短转发路径,按照以上原则即可确定转发拓扑设置。对于图2所示的环形堆叠系统,任一设备(如设备I)到相应的最远端设备(设备3)都存在两条相等距离的转发路径,按照以上原则选择第一堆叠口关联的路径为转发路径。但是以上转发原则对图3所示的典型backbond流量模型存在阻塞点。参见图3,4台设备形成典型环形堆叠。假设图3中所示的4台设备各有24个GE端口,可以引入24G流量,设备间通过24G线缆相连。典型backbond流量模型中,设备I和设备4各引入24G流量,其中,12G流量需要通过设备2转发,另12G流量需要通过设备3转发。按照上述环形拓扑转发原则,设备I和设备2之间的链路存在3*12G流量,存在转发阻塞点。现有技术中并不存在解决上述技术问题的技术方案。

发明内容
本发明的目的在于提供一种流量转发方法及设备,以优化环形堆叠系统中的流量转发拓扑,避免转发阻塞,为此,本发明采用如下技术方案一种流量转发方法,应用于环形堆叠系统,所述环形堆叠系统中各堆叠设备分别通过第一堆叠口和第二堆叠口与相邻的其他堆叠设备相连,该方法包括当堆叠设备接收到流量转发 请求时,所述堆叠设备根据所述流量转发请求确定目的堆叠设备;当所述堆叠设备到所述目的堆叠设备之间存在多条最短路径时,所述堆叠设备确定自身到预设的特定堆叠设备的距离,并当所述距离为第一类型值时,确定第一堆叠口对应的最短路径为转发路径,当所述距离为第二类型值时,确定第二堆叠口对应的最短路径为转发路径;所述堆叠设备通过所述转发路径对所述流量进行转发。其中,所述堆叠设备到预设的特定堆叠设备的距离D具体通过以下方式确定D = N-I其中,N为所述堆叠设备到所述预设的特定堆叠设备的最短路径中包含该堆叠设备以及预设的特定堆叠设备在内的堆叠设备的数量。其中,所述第一类型值为奇数,所述第二类型值为偶数;或,所述第一类型值为偶数,所述第一类型值为奇数。其中,所述预设的特定设备为所述环形堆叠系统中堆叠设备号最小的堆叠设备、所述环形堆叠系统中MAC地址最小的堆叠设备或所述环形堆叠系统中的主堆叠设备。其中,该方法还包括当所述堆叠设备到所述目的堆叠设备之间仅存在一条最短路径时,所述堆叠设备将该最短路径确定为转发路径,并通过该转发路径对所述流量进行转发。一种堆叠设备,应用于环形堆叠系统,所述堆叠设备分别通过第一堆叠口和第二堆叠口与相邻的其他堆叠设备相连,该堆叠设备包括第一确定模块,用于当所述堆叠设备接收到流量转发请求时,根据所述流量转发请求确定目的堆叠设备;判断模块,用于判断所述堆叠设备到所述目的堆叠设备之间是否存在多条最短路径;第二确定模块,用于当所述堆叠设备到所述目的堆叠设备之间存在多条最短路径时,确定自身到预设的特定堆叠设备的距离,并当所述距离为第一类型值时,确定第一堆叠口对应的最短路径为转发路径,当所述距离为第二类型值时,确定第二堆叠口对应的最短路径为转发路径;转发模块,用于通过所述转发路径对所述流量进行转发。其中,所述第二确定模块具体用于,通过以下方式确定所述堆叠设备到预设的特定堆叠设备的距离D :D = N-I其中,N为所述堆叠设备到所述预设的特定堆叠设备的最短路径中包含该堆叠设备以及预设的特定堆叠设备在内的堆叠设备的数量。其中,所述第一类型值为奇数,所述第二类型值为偶数;或,所述第一类型值为偶数,所述第一类型值为奇数。
其中,所述预设的特定设备为所述环形堆叠系统中堆叠设备号最小的堆叠设备、所述环形堆叠系统中MAC地址最小的堆叠设备或所述环形堆叠系统中的主堆叠设备。其中,所述第二确定模块还用于,当所述堆叠设备到所述目的堆叠设备之间仅存在一条最短路径时,将该最短路径确定为转发路径;所述转发模块还用于,通过所述转发路径对所述流量进行转发。本发明具有如下有益效果当堆叠设备接收到流量转发请求,且自身与目的堆叠设备之间存在多条最短路径时,该堆叠设备确定自身到预设的特定堆叠设备的距离,并当距离为第一类型值时,确定第一堆叠口对应的最短路径为转发路径,当距离为第二类型值时,确定第二堆叠口对应的最短路径为转发路径;进而通过所确定的转发路径对接收到流量进行转发,优化了转发拓扑,实现了更优的流量负载分担,避免了转发阻塞。


图I为现有技术中链式堆叠系统的架构示意图;图2为现有技术中环式堆叠系统的架构示意图;图3为现有技术中环形堆叠系统中流量转发示意图;图4为本发明实施例提供的一种流量转发方法的流程示意图;图5为本发明实施例提供的一种环形堆叠系统中流量转发示意图;图6为本发明实施例提供的一种堆叠设备的结构示意图。
具体实施例方式针对现有技术存在的上述问题,本发明实施例提供了一种应用于环形堆叠系统中的流量转发的技术方案。在该技术方案中,当堆叠设备接收到流量转发请求,且自身与目的堆叠设备之间存在多条最短路径时,该堆叠设备确定自身到预设的特定堆叠设备的距离,并根据该距离从多条最短路径中选择一条作为转发路径,从而通过该转发路径对流量进行转发。下面将结合本发明的实施例中的附图,对本发明的实施例中的技术方案进行清楚、完整的描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明的实施例保护的范围。如图4所示,为本发明实施例提供的一种流量转发方法的流程示意图,在该实施例中,环形堆叠系统中各堆叠设备分别通过第一堆叠口和第二堆叠口与相邻的其他堆叠设备相连,该方法可以包括以下步骤步骤401、当堆叠设备接收到流量转发请求时,堆叠设备根据该流量转发请求确定目的堆叠设备。具体的,该实施例以图2所示的环形堆叠系统为例。其中,各堆叠设备左侧的堆叠口为第一堆叠口,右侧的堆叠口为第二堆叠口(即设备I通过第一堆叠口与设备2的第一堆叠口连接,并通过第二堆叠口与设备4的第一堆叠口连接;设备3通过第一堆叠口与设备2的堆叠口连接,并通过第二堆叠口与设备4的第二堆叠口连接)。
在该实施例中,假设数据流量从设备I进入堆叠系统,且出接口在设备3上。设备I接收到待转发流量后,根据其中携带的目的地址信息确定出接口所在的堆叠设备。步骤402、堆叠设备判断自身与目的堆叠设备之间是否存在多条最短路径。若判断为是,则转至步骤403 ;否则,转至步骤404具体的,当堆叠设备确定了目的堆叠设备之后,需要判断自身与目的堆叠设备之间是否存在多条最短路径。若仅存在一条最短路径,堆叠设备直接将其确定为转发路径,并通过该转发路径对接收到的流量进行转发。若存在多条最短路径,则需要从中选择一条作为转发路径。在该实施例中,设备I和设备3之间共存在两条最短路径(一条为“设备1_>设备2->设备3”,另一条为“设备1_>设备4->设备3”)。步骤403、堆叠设备确定自身到预设的特定堆叠设备的距离,并当所述距离为第一类型值时,确定第一堆叠口对应的最短路径为转发路径,当距离为第二类型值时,确定第二堆叠口对应的最短路径为转发路径。具体的,可以在环形堆叠系统中预先设定一个特定堆叠设备,当堆叠设备接收到流量转发请求,且与目的堆叠设备之间存在多条最短路径时,该堆叠设备根据自身与特定堆叠设备之间的距离从多条最短路径中选择一条作为转发路径。其中,该预设的特定堆叠设备可以是环形堆叠系统中堆叠设备号最小的堆叠设备、MAC(Media Access Control,介质访问控制)地址最小的堆叠设备或主堆叠设备等环形堆叠系统中可唯一确定的堆叠设备。在本发明实施例中,堆叠设备到预设的特定堆叠设备的距离D可以通过以下方式确定D = N-I其中,N为堆叠设备到预设的特定堆叠设备的最短路径中包含该堆叠设备以及预设的特定堆叠设备在内的堆叠设备的数量。在该实施例中,假设设备I为预设的特定堆叠设备,则设备I到该预设的特定堆叠设备的距离为0,设备2到预设的特定堆叠设备的距离为1,设备3到预设的堆叠设备的距离为2,设备4到预设的堆叠设备的距离为I。需要注意的是,上述确定堆叠设备到预设的特定堆叠设备的距离的方法仅仅是本发明实施例提供的技术方案的一种具体实施方式
,而并不是对本发明保护范围的限定,在本发明实施例中,也可以通过其他方法确定堆叠设备到预设的特定堆叠设备的距离,如,D=M-1,其中,M为堆叠设备到预设的特定堆叠设备的非最短路径中包含该堆叠设备以及预设的特定堆叠设备在内的堆叠设备的数量。在本发明实施例的基础上,本领域技术人员在不付出创造性劳动的前提下得到的其他确定堆叠设备到预设的特定堆叠设备的距离的方法均应属于本发明的保护范围。进一步地,在确定了堆叠设备到预设的特定堆叠设备的距离后,可以通过以下方 式从多条最短路径中选择一条作为转发路径若堆叠设备到预设的特定堆叠设备的距离为第一类型值,则选择第一堆叠口对应的最短路径作为转发路径;若堆叠设备到预设的特定堆叠设备的距离为第二类型值,则选择第二堆叠口对应的最短路径作为转发路径。
其中,第一类型值可以为奇数,相应地,第二类型值则为偶数;或者,第一类型值为偶数,第二类型值为奇数。以第一类型值为奇数,第二类型值为偶数为例,在该实施例中,假设设备I为预设的特定堆叠设备,设备I到该预设的特定堆叠设备的距离为0,则设备I选择第二堆叠口对应的最短路径作为转发路径(即“设备1_>设备4_>设备3”)。应该认识到,在本发明实施例中,根据堆叠设备到预设的特定堆叠设备的距离确定堆叠设备的流量转发路径的方法的目的是使环形堆叠系统中相邻的两个堆叠设备选择不同的转发路径,因此,本发明实施例提供的技术方案中也可以通过其他能达到相同目的的方法确定堆叠设备的流量转发路径,其具体实现方式在此不再赘述。
步骤404、堆叠设备将该最短路径确定为转发路径。步骤405、堆叠设备通过转发路径对接收到的流量进行转发。下面结合具体的应用场景对发明实施例提供的技术方案进行更加详细的描述。在该实施例中,以图3所示的环形堆叠系统对应的应用场景为例,设备I和设备4各引入24G流量,其中12G流量的目的堆叠设备为设备2,另12G流量的堆叠设备为设备3 ;设备I预设的特定堆叠设备,第一类型值为奇数,第二类型值为偶数。在该实施例中,设备I接收到24G待转发流量后,将目的堆叠设备为设备2的12G流量通过“设备1_>设备2”的路径进行转发(由于设备I到设备2之间仅有一条最短路径“设备1_>设备2”,因此,将该最短路径确定为转发路径),而对于目的堆叠设备为设备3的12G流量,由于设备I与目的堆叠设备(设备3)之间存在两条最短路径(“设备1_>设备2->设备3”以及“设备1_>设备4->设备3”),且设备I到预设的特定堆叠设备(设备I)的距离为O (偶数,即第二类型值),因此,设备I选择第二堆叠口对应的最短路径作为转发路径(即“设备1_>设备4->设备3”)。 相应地,设备4接收到24G待转发流量后,将目的堆叠设备为设备3的12G流量通过“设备4->设备3”的路径进行转发,而对于目的堆叠设备为设备2的12G流量,由于设备4与目的堆叠设备(设备2)之间存在两条最短路径(“设备4->设备1->设备2”以及“设备4->设备3->设备2”),且设备4到预设的特定堆叠设备(设备I)的距离为I (奇数,即第一类型值),因此,设备4选择第一堆叠口对应的最短路径作为转发路径(即“设备4->设备1_>设备2”)。基于上述方式,设备I的24G流量中12G通过“设备1_>设备2”转发,另12G通过“设备1_>设备4->设备3”转发;设备4的24G流量中12G通过“设备4_>设备3”转发,另12G通过“设备1->设备4->设备3”转发;即堆叠设备之间的链路上最多只有24G流量,避免了转发阻塞。其中,该实施例的流量转发路径可以如图5所示。通过以上描述可以看出,在本发明实施例中,通过在环形堆叠系统中预先设定特定堆叠设备,当堆叠设备接收到流量转发请求,且自身与目的堆叠设备之间存在多条最短路径时,该堆叠设备确定自身到预设的特定堆叠设备的距离,并当距离为第一类型值时,确定第一堆叠口对应的最短路径为转发路径,当距离为第二类型值时,确定第二堆叠口对应的最短路径为转发路径;进而通过所确定的转发路径对接收到流量进行转发,保证了环形堆叠系统中相邻堆叠设备在存在多条流量转发的最短路径的情况下,选择不同的转发路径,优化了转发拓扑,实现了更优的流量负载分担,避免了转发阻塞。
基于上述方法实施例相同的技术构思,本发明实施例还提供了一种堆叠设备,可以应用于上述方法流程。如图6所示,为本发明实施例提供的一种堆叠设备的结构示意图,该堆叠设备应用于环形堆叠系统,且分别通过第一堆叠口和第二堆叠口与相邻的其他堆叠设备相连,该堆叠设备可以包括第一确定模块61,用于当 所述堆叠设备接收到流量转发请求时,根据所述流量转发请求确定目的堆叠设备;判断模块62,用于判断所述堆叠设备到所述目的堆叠设备之间是否存在多条最短路径;第二确定模块63,用于当所述堆叠设备到所述目的堆叠设备之间存在多条最短路径时,确定自身到预设的特定堆叠设备的距离,并当所述距离为第一类型值时,确定第一堆叠口对应的最短路径为转发路径,当所述距离为第二类型值时,确定第二堆叠口对应的最短路径为转发路径;转发模块64,用于通过所述转发路径对所述流量进行转发。在上述堆叠设备中,所述第二确定模块63可以具体用于,通过以下方式确定所述堆叠设备到预设的特定堆叠设备的距离D D = N-I其中,N为所述堆叠设备到所述预设的特定堆叠设备的最短路径中包含该堆叠设备以及预设的特定堆叠设备在内的堆叠设备的数量。其中,所述第一类型值为奇数,所述第二类型值为偶数;或,所述第一类型值为偶数,所述第一类型值为奇数。其中,所述预设的特定设备为所述环形堆叠系统中堆叠设备号最小的堆叠设备、所述环形堆叠系统中MAC地址最小的堆叠设备或所述环形堆叠系统中的主堆叠设备。在上述堆叠设备中,所述第二确定模块63还可以用于,当所述堆叠设备到所述目的堆叠设备之间仅存在一条最短路径时,将该最短路径确定为转发路径;相应地,所述转发模块64还可以用于,通过所述转发路径对所述流量进行转发。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
权利要求
1.一种流量转发方法,其特征在于,应用于环形堆叠系统,所述环形堆叠系统中各堆叠设备分别通过第一堆叠口和第二堆叠口与相邻的其他堆叠设备相连,该方法包括 当堆叠设备接收到流量转发请求时,所述堆叠设备根据所述流量转发请求确定目的堆叠设备; 当所述堆叠设备到所述目的堆叠设备之间存在多条最短路径时,所述堆叠设备确定自身到预设的特定堆叠设备的距离,并当所述距离为第一类型值时,确定第一堆叠口对应的最短路径为转发路径,当所述距离为第二类型值时,确定第二堆叠口对应的最短路径为转发路径; 所述堆叠设备通过所述转发路径对所述流量进行转发。
2.如权利要求I所述的方法,其特征在于,所述堆叠设备到预设的特定堆叠设备的距离D具体通过以下方式确定D = N-I 其中,N为所述堆叠设备到所述预设的特定堆叠设备的最短路径中包含该堆叠设备以及预设的特定堆叠设备在内的堆叠设备的数量。
3.如权利要求I所述的方法,其特征在于,所述第一类型值为奇数,所述第二类型值为偶数;或,所述第一类型值为偶数,所述第一类型值为奇数。
4.如权利要求I所述的方法,其特征在于,所述预设的特定设备为所述环形堆叠系统中堆叠设备号最小的堆叠设备、所述环形堆叠系统中MAC地址最小的堆叠设备或所述环形堆叠系统中的主堆叠设备。
5.如权利要求1-4任一项所述的方法,其特征在于,还包括 当所述堆叠设备到所述目的堆叠设备之间仅存在一条最短路径时,所述堆叠设备将该最短路径确定为转发路径,并通过该转发路径对所述流量进行转发。
6.一种堆叠设备,其特征在于,应用于环形堆叠系统,所述堆叠设备分别通过第一堆叠口和第二堆叠口与相邻的其他堆叠设备相连,该堆叠设备包括 第一确定模块,用于当所述堆叠设备接收到流量转发请求时,根据所述流量转发请求确定目的堆叠设备; 判断模块,用于判断所述堆叠设备到所述目的堆叠设备之间是否存在多条最短路径; 第二确定模块,用于当所述堆叠设备到所述目的堆叠设备之间存在多条最短路径时,确定自身到预设的特定堆叠设备的距离,并当所述距离为第一类型值时,确定第一堆叠口对应的最短路径为转发路径,当所述距离为第二类型值时,确定第二堆叠口对应的最短路径为转发路径; 转发模块,用于通过所述转发路径对所述流量进行转发。
7.如权利要求6所述的堆叠设备,其特征在于,所述第二确定模块具体用于,通过以下方式确定所述堆叠设备到预设的特定堆叠设备的距离D D = N-I 其中,N为所述堆叠设备到所述预设的特定堆叠设备的最短路径中包含该堆叠设备以及预设的特定堆叠设备在内的堆叠设备的数量。
8.如权利要求6所述的堆叠设备,其特征在于, 所述第一类型值为奇数,所述第二类型值为偶数;或,所述第一类型值为偶数,所述第一类型值为奇数。
9.如权利要求6所述的堆叠设备,其特征在于, 所述预设的特定设备为所述环形堆叠系统中堆叠设备号最小的堆叠设备、所述环形堆叠系统中MAC地址最小的堆叠设备或所述环形堆叠系统中的主堆叠设备。
10.如权利要求6-9任一项所述的堆叠设备,其特征在于, 所述第二确定模块还用于,当所述堆叠设备到所述目的堆叠设备之间仅存在一条最短路径时,将该最短路径确定为转发路径; 所述转发模块还用于,通过所述转发路径对所述流量进行转发。
全文摘要
本发明公开了一种流量转发方法及设备,应用于环形堆叠系统,所述环形堆叠系统中各堆叠设备分别通过第一堆叠口和第二堆叠口与相邻的其他堆叠设备相连,该方法包括当堆叠设备接收到流量转发请求时,所述堆叠设备根据所述流量转发请求确定目的堆叠设备;当所述堆叠设备到所述目的堆叠设备之间存在多条最短路径时,所述堆叠设备确定自身到预设的特定堆叠设备的距离,并当所述距离为第一类型值时,确定第一堆叠口对应的最短路径为转发路径,当所述距离为第二类型值时,确定第二堆叠口对应的最短路径为转发路径;所述堆叠设备通过所述转发路径对所述流量进行转发。在本发明中,优化了环形堆叠系统中的流量转发拓扑,避免了转发阻塞。
文档编号H04L12/56GK102710511SQ20121016161
公开日2012年10月3日 申请日期2012年5月23日 优先权日2012年5月23日
发明者施学美, 杨利明 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1