CN108199986A - 一种数据传输方法、堆叠设备及堆叠系统 - Google Patents
一种数据传输方法、堆叠设备及堆叠系统 Download PDFInfo
- Publication number
- CN108199986A CN108199986A CN201711349064.2A CN201711349064A CN108199986A CN 108199986 A CN108199986 A CN 108199986A CN 201711349064 A CN201711349064 A CN 201711349064A CN 108199986 A CN108199986 A CN 108199986A
- Authority
- CN
- China
- Prior art keywords
- data
- link
- forwarding
- equipment
- stack
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
- H04L49/552—Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种数据传输方法、堆叠设备及堆叠系统,应用于包括多个堆叠设备的环形堆叠系统,包括:堆叠设备从自身到其它堆叠设备的两条堆叠链路中,选择一条堆叠链路为最优链路,另一条堆叠链路为非最优链路;当存在新数据需要转发时,如果所述最优链路的当前剩余带宽充足,所述堆叠设备利用最优链路向其它堆叠设备转发数据;如果所述最优链路的当前剩余带宽不足,激活非最优链路向其它堆叠设备转发数据。本申请通过在最优链路带宽不足时使用非最优链路作为补充转发数据,解决了环形堆叠系统中带宽不足时数据有效传递的问题,也减小了转发时延,提高了堆叠系统的带宽利用率。
Description
技术领域
本发明涉及但不限于数据通信网络技术,尤其涉及一种数据传输方法、堆叠设备及堆叠系统。
背景技术
随着信息技术的飞速发展,网络规模急剧扩大,往往在当前的网络规划中很难对未来的网络规模进行非常准确的预期,当规划的交换机端口数量不足以满足网络应用需求的时候,最好能在不改变原有网络规划拓扑的情况下增加交换机的端口数,同时又不增加网管的负担。为了能够满足上述要求,交换机的堆叠技术应运而生,所谓交换机的堆叠是指:用线缆通过堆叠接口将多台可堆叠的交换机连接起来,以此实现单台交换机端口数量的扩充。
堆叠技术不同于交换机的简单级联,因为级联的设备在逻辑上是相互独立的,而多台交换机堆叠在一起,从逻辑上来说,它们相当于同一设备。因此,堆叠技术能够增加交换机的端口密度,并且,一个堆叠系统只需要一个管理入口,通过堆叠增加端口之后,可以无需改变原有的网络拓扑结构和配置,进而能够实现交换机间的高效互联和统一管理,对于实际的网络维护和管理意义重大。
堆叠系统由具备独立功能的多台堆叠交换机(堆叠成员)组成,在堆叠系统中需要有一台交换机充当堆叠系统中控制者和管理者的角色,称为主设备,同时,为了保证堆叠系统的稳定性,最大限度的避免主设备故障对整个堆叠系统的影响,需要有一台备设备,对堆叠系统的运行数据和配置数据进行实时备份,并在主设备失效或缺失时自动切换成主设备,其余的多台设备为从设备,各设备之间通过堆叠链路连接,堆叠系统的拓扑可以为链形堆叠拓扑,也可以为环形堆叠拓扑。其中,环形堆叠拓扑可以解决链形堆叠拓扑中某条堆叠链路故障而导致数据通信故障的问题,可以提供有效的数据流备份等。
如图1所示,5台设备A、B、C、D、E组成环形堆叠系统,其中A为主设备,B为备设备,其它设备为从设备,每台设备分别通过2条堆叠链路与其它各设备相连,如A与D之间,通过A-B-C-D的堆叠链路和A-E-D的堆叠链路进行连接。在现有技术中,环形堆叠拓扑,一般采用非激活某一条堆叠链路来阻止数据成环,一般情况下,使主设备与从设备之间的一条堆叠链路处于非激活状态,例如,使A-E之间的堆叠链路为非激活状态,在非激活状态下,不允许数据转发。在这种情况下,若是非激活堆叠链路的两端的设备需要通信时(如报文的入端口在A设备上,而出端口在E设备上),数据需要从整个堆叠系统的一端到另一端转发(A-B-C-D-E),经过的堆叠设备台数太多,浪费了堆叠链路带宽,并且还存在当一条链路带宽不足时数据无法及时转发的转发时延问题。
发明内容
为了解决上述技术问题,本发明提供了一种数据传输方法、堆叠设备及堆叠系统,能够提高堆叠链路的带宽利用率。
为了达到本发明目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种数据传输方法,应用于包括多个堆叠设备的环形堆叠系统,包括:
堆叠设备从自身到其它堆叠设备的两条堆叠链路中,选择一条堆叠链路为最优链路,另一条堆叠链路为非最优链路;
当存在新数据需要转发时,如果所述最优链路的当前剩余带宽充足,所述堆叠设备利用最优链路向其它堆叠设备转发数据;如果所述最优链路的当前剩余带宽不足,激活非最优链路向其它堆叠设备转发数据。
进一步地,所述新数据为:协议管理报文或者单播业务报文。
进一步地,所述的新数据的转发优先级比当前在最优链路传输的数据转发优先级低;
所述激活非最优链路向其它堆叠设备转发数据为:以非最优链路转发新数据;
此时,所述方法还包括:当前在最优链路传输的数据继续以最优链路转发。
进一步地,所述的新数据的转发优先级与当前在最优链路传输的数据转发优先级相同;
该方法还包括:以最优链路向其它堆叠设备转发在当前最优链路方向中数据传输经过设备台数少的数据;以非最优链路向其它堆叠设备转发在当前最优链路方向中数据传输经过设备台数多的数据。
进一步地,该方法还包括:如果两个数据在当前最优链路方向中传输经过设备台数相等,以最优链路向其它堆叠设备转发在本设备进行MAC地址学习较早的数据;以非最优链路向其它堆叠设备转发在在本设备进行MAC地址学习较晚的数据。
进一步地,所述的新数据的转发优先级高于当前在最优链路传输的数据转发优先级;
该方法还包括:在当前最优链路上转发所述新数据;
所述激活非最优链路向其它堆叠设备转发数据为:将当前在最优链路上转发的数据切换到非最优链路上进行转发。
进一步地,所述激活非最优链路向其它堆叠设备转发数据包括:
当所述激活的非最优链路带宽不足时,且所述非最优链路上存在转发数据的优先级低于需要激活非最优链路转发数据的优先级时,以所述非最优链路转发需要激活非最优链路进行转发的数据,且丢弃当前在所述非最优链路上转发的数据。
进一步地,当所述激活的非最优链路带宽不足时,且所述非最优链路上存在转发数据的优先级与需要激活非最优链路转发数据的优先级相同时,丢弃需要激活非最优链路转发的数据。
进一步地,所述方法还包括:
各所述堆叠设备存储有数据转发表;
按照预置的同步策略,所述堆叠设备将本地记录的数据转发表封装为单播管理协议报文,并将所述单播管理协议报文作为新数据按照最优链路分别转发至所述堆叠系统中的其它堆叠设备;
目的堆叠设备以接收到的所述单播协议报文中的数据转发表更新本地数据转发表的表项。
进一步地,所述方法还包括:
各所述堆叠设备存储有数据转发表;
按照预置的同步策略,所述堆叠设备将本地记录的数据转发表封装为单播管理协议报文,并将所述单播管理协议报文作为新数据在最优链路转发至所述堆叠系统中的主设备;
所述主设备接收到所述单播管理协议报文后,更新本地的数据转发表项,并将所述数据转发表项封装为单播管理协议报文,并作为新数据按照最优链路分别转发至所述堆叠系统中的其它堆叠设备;
目的堆叠设备以接收到的所述单播协议报文中的数据转发表更新本地数据转发表的表项。
本发明实施例还提供了一种堆叠设备,包括选择模块和转发模块,其中,
选择模块,用于从自身到其它堆叠设备的两条堆叠链路中,选择一条堆叠链路为最优链路,另一条堆叠链路为非最优链路;
转发模块,用于当存在新数据需要转发时,如果所述最优链路的当前剩余带宽充足,利用最优链路向其它堆叠设备转发数据;如果所述最优链路的当前剩余带宽不足,激活非最优链路向其它堆叠设备转发数据。
本发明实施例还提供了一种堆叠系统,包括多台如以上所述的堆叠设备,所述堆叠系统中各堆叠设备通过堆叠链路端口连接,并根据预先设置的选举规则选举出一堆叠设备为主设备,选举出一堆叠设备为备设备,主设备和备设备之外的堆叠设备均为从设备。
本发明的技术方案,具有如下有益效果:
本发明提供的数据传输方法、堆叠设备及堆叠系统,通过在在最优链路带宽不足时使用非最优链路作为补充转发数据,不仅解决了环形堆叠系统中带宽不足时数据有效传递的问题,也减小了转发时延,提高了堆叠系统的带宽利用率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为相关技术中的一种环形堆叠系统的结构示意图;
图2为本发明实施例的一种数据传输方法的流程示意图;
图3为本发明第一实施例的一种堆叠设备的结构示意图;
图4为本发明第二实施例的一种堆叠设备的结构示意图;
图5为本发明第三实施例的一种堆叠设备的结构示意图;
图6为本发明优选实施例的一种环形堆叠系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
如图2所示,根据本发明的一种数据传输方法,应用于包括多个堆叠设备的环形堆叠系统,包括如下步骤:
步骤201:堆叠设备从自身到其它堆叠设备的两条堆叠链路中,选择一条堆叠链路为最优链路,另一条堆叠链路为非最优链路;
需要说明的是,所述最优链路用于所述堆叠设备转发自身到其它堆叠设备的数据,所述非最优链路用于所述堆叠设备在最优链路故障或者最优链路的剩余带宽不满足数据转发时,转发自身到其它堆叠设备的数据。
步骤202:当存在新数据需要转发时,所述最优链路满足数据转发条件时,所述堆叠设备利用最优链路向其它堆叠设备转发数据;当所述最优链路不满足数据转发条件时,激活非最优链路向其它堆叠设备转发数据,其中,所述最优链路不满足转发条件包括:最优链路故障或者最优链路的剩余带宽不足。
进一步地,所述新数据可以为协议管理报文或者单播业务报文。
进一步地,所述新数据的转发优先级比当前在最优链路传输的数据转发优先级低;
所述激活非最优链路向其它堆叠设备转发数据为:以非最优链路转发所有的新数据;
此时,所述方法还包括:当前在最优链路传输的数据继续以最优链路转发。
进一步地,所述的新数据的转发优先级与当前在最优链路传输的数据转发优先级相同;
该方法还包括:以最优链路向其它堆叠设备转发在当前最优链路方向中数据传输经过设备台数少的数据;以非最优链路向其它堆叠设备转发在当前最优链路方向中数据传输经过设备台数多的数据。
进一步地,该方法还包括:如果两个数据在当前最优链路方向中传输经过设备台数相等,以最优链路向其它堆叠设备转发在本设备进行MAC地址学习较早的数据;以非最优链路向其它堆叠设备转发在在本设备进行MAC地址学习较晚的数据。
进一步地,所述的新数据的转发优先级高于当前在最优链路传输的数据转发优先级;
该方法还包括:在当前最优链路上转发所述新数据;
所述激活非最优链路向其它堆叠设备转发数据为:将当前在最优链路上转发的数据切换到非最优链路上进行转发。
进一步地,所述激活非最优链路向其它堆叠设备转发数据包括:
当所述激活的非最优链路带宽不足时,且所述非最优链路上存在转发数据的优先级低于需要激活非最优链路转发数据的优先级时,以所述非最优链路转发需要激活非最优链路进行转发的数据,且丢弃当前在所述非最优链路上转发的数据。
进一步地,当所述激活的非最优链路带宽不足时,且所述非最优链路上存在转发数据的优先级与需要激活非最优链路转发数据的优先级相同时,丢弃需要激活非最优链路转发的数据。
进一步地,所述堆叠设备所在的堆叠系统将按照预置策略检测堆叠系统中的每条堆叠链路是否有故障,若是无故障,则继续使用之前维护的最优链路进行转发数据,若是出现故障,则启用非最优链路进行转发数据。
在本发明一实施例中,所述预置策略可以是不定期检测也可以是定期检测,所述不定期检测,可以为从多个设定值中随机选择每一次的时间间隔进行检测,也可以为在一个时间范围内随机选择一个随机值作为每一次的时间间隔进行检测;定期检测为设定固定的检测周期进行检测。
进一步地,所述最优链路为所述从自身到其它堆叠设备的两条或两条以上的堆叠链路中,经过的堆叠设备的台数最少的方向的堆叠链路。
进一步地,当所述堆叠链路中经过的堆叠设备的台数一样多时,所述最优链路为所述从自身到其它堆叠设备的两条或两条以上的堆叠链路中,所述堆叠设备的堆叠链路带宽大的方向的堆叠链路。
在本发明一实施例中,本发明中所述的堆叠设备的堆叠链路的堆叠链路带宽大的方向即为堆叠物理端口数量较多的方向。
进一步地,当所述堆叠链路中,经过除需要转发数据的两台堆叠设备外的其它堆叠设备的台数一样,并且所述堆叠设备的两个方向的堆叠链路的带宽一样时,所述最优链路为所述自身到其它堆叠设备的两条或两条以上的堆叠链路中,所述堆叠设备的下一跳设备的设备编号(UID)小的方向的堆叠链路。
需要说明的是,上述选择最优链路的各个方法(经过的堆叠设备的台数最少的堆叠链路、所述堆叠设备的堆叠链路带宽大的方向的堆叠链路、下一跳设备的设备编号小的方向的堆叠链路)的先后顺序可以任意调换,但是较优选的,按照上述方式逐步判断可以使得整个系统的链路利用率较高。
进一步地,如果最优链路已经存在转发数据,但不足以支持新数据,则新数据以非最优链路转发;
如果同时接收到两组或两组以上的数据转发优先级不同的新数据,则按数据转发优先级分别从不同的链路进行转发。
需要说明的是,协议管理报文的转发优先级通常要大于普通业务报文的转发优先级,本申请优先保证优先级高的报文的转发,各协议管理报文之间的优先级和各普通业务报文之间的优先级由各设备芯片决定。
进一步地,当最优链路上的数据转发完成后,使用非最优链路进行转发的数据依然使用之前激活的非最优链路,不进行切换,以避免反复切换最优链路。
进一步地,当被选择为最优链路的堆叠链路需要转发两组或两组以上的数据转发优先级相同的数据且最优链路的带宽不满足所述两组或两组以上的数据时,比较所述两组或两组以上的数据分别需要经过的最优链路的设备台数,经过设备台数少的数据按照最优链路进行转发,经过设备台数多的数据按照非最优链路进行转发。
进一步地,当被选择为最优链路的堆叠链路需要转发两组或两组以上的数据转发优先级相同的数据、最优链路的带宽不满足所述两组或两组以上的数据,并且所述两组或两组以上的数据分别需要经过的最优链路的设备台数相同时,比较所述堆叠设备学习到所述两组或两组以上的数据中携带的目的媒体访问控制(Media Access Control,MAC)地址的时间的先后顺序,先学习到目的MAC地址的数据按照最优链路进行转发,后学习到目的MAC地址的数据按照非最优链路进行转发。
需要说明的是,上述选择按照最优链路进行转发的数据的各个方法(比较数据转发优先级高低、比较所述两组或两组以上的数据分别需要经过的最优链路的设备台数多少、比较所述堆叠设备学习到所述两组或两组以上的数据中携带的目的MAC地址的时间的先后顺序)的先后顺序可以任意调换。但是较优选的,按照上述方式逐步判断可以使得整个系统的链路利用率较高。
进一步地,当非最优链路需要转发两组或两组以上的数据转发优先级不同的数据且非最优链路的带宽不满足所述两组或两组以上的数据时,丢弃优先级较低的数据。
进一步地,当非最优链路需要转发两组或两组以上的数据转发优先级相同的数据且非最优链路的带宽不满足所述两组或两组以上的数据时,丢弃后请求转发的一组或一组以上的数据。
进一步地,所述数据传输方法还包括:
所述堆叠设备从自身的一侧堆叠链路端口接收拓扑探测报文,并检测接收到的拓扑探测报文是否包含自身的设备连接信息,如果包含,则记录自身到所述堆叠系统中其它堆叠设备的堆叠链路;如果不包含,则将自身的设备连接信息填入到所述拓扑探测报文,并将所述拓扑探测报文从自身的其它侧堆叠链路端口转发出去。
进一步地,所述数据传输方法还包括:
所述堆叠设备启动后,向其各侧的堆叠链路端口分别发送包含自身的设备连接信息的拓扑探测报文,所述设备连接信息包括所述堆叠设备的设备信息及堆叠链路信息。
进一步地,所述设备信息包括设备编号(UID)以及设备MAC地址;所述堆叠链路信息包括堆叠链路端口号(LID-1或LID-2)、堆叠链路中的堆叠物理端口数量。
进一步地,所述方法还包括:
各所述堆叠设备存储有数据转发表;
按照预置的同步策略,所述堆叠设备将本地记录的数据转发表封装为单播管理协议报文,并将所述单播管理协议报文作为新数据按照最优链路分别转发至所述堆叠系统中的其它堆叠设备;
目的堆叠设备以接收到的所述单播协议报文中的数据转发表更新本地数据转发表的表项。
需要说明的是,其它各堆叠设备收到此报文后,判断目的MAC是否为自身的MAC地址,若是,根据报文中携带的本地数据转发表项更新自己的本地数据转发表项,并且不再转发;若不是,则根据自己记录的最优链路将该报文继续转发到最终待同步设备。
进一步地,所述方法还包括:
各所述堆叠设备存储有数据转发表;
按照预置的同步策略,所述堆叠设备将本地记录的数据转发表封装为单播管理协议报文,并将所述单播管理协议报文作为新数据在最优链路转发至所述堆叠系统中的主设备;
所述主设备接收到所述单播管理协议报文后,更新本地的数据转发表项,并将所述数据转发表项封装为单播管理协议报文,并作为新数据按照最优链路分别转发至所述堆叠系统中的其它堆叠设备;
目的堆叠设备以接收到的所述单播协议报文中的数据转发表更新本地数据转发表的表项。
需要说明的是,其它各设备收到此报文后,根据自己记录的最优链路将该报文继续转发到主设备,主设备收到该单播管理协议报文后,更新本地数据转发表项,然后将更新后的本地数据转发表项按照记录的最优链路以源MAC为自己MAC、目的MAC为各设备MAC的单播管理协议报文发送给各设备,各设备收到该单播管理协议报文后,判断目的MAC是否为自己MAC,若是,则更新本地数据转发表项,并且不转发,若不是,则根据自己记录的最优链路将该报文继续转发到目的设备。
进一步地,为了避免堆叠系统中各设备之间互相同步的本地数据转发表项的报文数量过多,可以按照预设触发条件,将本设备所维护的本地数据转发表项同步到其它各设备。其中,所述预设触发条件包括新更新的本地数据转发表项的数量达到预设数量,或到达设置的预设同步时间,均可将该本地数据转发表项同步到其它各设备。
可选地,可以预先设定一个预设数量(可以根据堆叠系统的实际场景中设备数据或者设备运行环境来确定,也可以根据具体场景中其它因素确定),堆叠系统中的各设备在更新且未同步其它各设备的本地数据转发表项达到该预设数量时,将该本地数据转发表项向其它各设备同步。
可选地,考虑到各设备每次都需要在维护的本地数据转发表项数量达到预设数量时才进行本地数据转发表项同步,可能会出现本地数据转发表项不能及时同步的情况,还可以设置预设同步时间(可以根据堆叠系统的实际场景设定),当各设备确定到达预设同步时间时,无论当前所维护的本地数据转发表项中更新的且未同步其它各设备的本地数据转发表项是否达到预设数量,均将该本地数据转发表项向其它各设备同步。
可选地,当所维护的本地数据转发表项中有更新的数据转发表项时,立即向其它各设备同步,未有更新的数据转发表项时,不允许进行数据转发表项的同步。
如图3所示,本发明实施例还提供了一种堆叠设备,包括选择模块301和转发模块302,其中:
选择模块301,用于从自身到其它堆叠设备的两条堆叠链路中,选择一条堆叠链路为最优链路,另一条堆叠链路为非最优链路;
转发模块302,用于当存在新数据需要转发时,如果所述最优链路的当前剩余带宽充足,利用最优链路向其它堆叠设备转发数据;如果所述最优链路的当前剩余带宽不足,激活非最优链路向其它堆叠设备转发数据。
进一步地,所述新数据为协议管理报文或者单播业务报文。
进一步地,所述新数据的转发优先级比当前在最优链路传输的数据转发优先级低;
所述转发模块302的激活非最优链路向其它堆叠设备转发数据为:
以非最优链路转发所有的新数据;
此时,当前在最优链路传输的数据继续以最优链路转发。
进一步地,所述的新数据的转发优先级与当前在最优链路传输的数据转发优先级相同;
所述转发模块302还用于:以最优链路向其它堆叠设备转发在当前最优链路方向中数据传输经过设备台数少的数据;以非最优链路向其它堆叠设备转发在当前最优链路方向中数据传输经过设备台数多的数据。
进一步地,所述转发模块302还用于:如果两个数据在当前最优链路方向中传输经过设备台数相等,以最优链路向其它堆叠设备转发在本设备进行MAC地址学习较早的数据;以非最优链路向其它堆叠设备转发在在本设备进行MAC地址学习较晚的数据。
进一步地,所述的新数据的转发优先级高于当前在最优链路传输的数据转发优先级;
所述转发模块302还用于:在当前最优链路上转发所述新数据;
所述转发模块302的激活非最优链路向其它堆叠设备转发数据为:将当前在最优链路上转发的数据切换到非最优链路上进行转发。
进一步地,所述转发模块302的激活非最优链路向其它堆叠设备转发数据包括:
当所述激活的非最优链路带宽不足时,且所述非最优链路上存在转发数据的优先级低于需要激活非最优链路转发数据的优先级时,以所述非最优链路转发需要激活非最优链路进行转发的数据,且丢弃当前在所述非最优链路上转发的数据。
进一步地,所述转发模块302还用于:当所述激活的非最优链路带宽不足时,且所述非最优链路上存在转发数据的优先级与需要激活非最优链路转发数据的优先级相同时,丢弃需要激活非最优链路转发的数据。
进一步地,所述转发模块302还用于:如果最优链路已经存在转发数据,但不足以支持新数据,则新数据以非最优链路转发;如果同时接收到两组或两组以上的数据转发优先级不同的新数据,则按数据转发优先级分别从不同的链路进行转发。
进一步地,所述转发模块302还用于:当被选择为最优链路的堆叠链路需要转发两组或两组以上的数据转发优先级相同的数据且最优链路的带宽不满足所述两组或两组以上的数据时,比较所述两组或两组以上的数据分别需要经过的最优链路的设备台数,经过设备台数少的数据按照最优链路进行转发,经过设备台数多的数据按照非最优链路进行转发。
进一步地,所述转发模块302还用于:当被选择为最优链路的堆叠链路需要转发两组或两组以上的数据转发优先级相同的数据、最优链路的带宽不满足所述两组或两组以上的数据,并且所述两组或两组以上的数据分别需要经过的最优链路的设备台数相同时,比较所述堆叠设备学习到所述两组或两组以上的数据中携带的目的MAC地址的时间的先后顺序,先学习到目的MAC地址的数据按照最优链路进行转发,后学习到目的MAC地址的数据按照非最优链路进行转发。
进一步地,如图4所示,所述堆叠设备还包括第一拓扑管理模块303,其中:
所述第一拓扑管理模块303用于:存储数据转发表;当接收到单播管理协议报文中的数据转发表时,更新本地记录的数据转发表的表项;
所述转发模块302还用于:按照预置的同步策略,将本地记录的数据转发表封装为单播管理协议报文,并将所述单播管理协议报文作为新数据按照最优链路分别转发至所述堆叠系统中的其它堆叠设备。
进一步地,如图5所示,所述堆叠设备还包括第二拓扑管理模块304,其中:
所述第二拓扑管理模块305用于:存储数据转发表;当接收到来自主设备的单播管理协议报文中的数据转发表时,更新本地记录的数据转发表的表项;
所述转发模块302还用于:按照预置的同步策略,将本地记录的数据转发表封装为单播管理协议报文,并将所述单播管理协议报文作为新数据按照最优链路分别转发至所述堆叠系统中的主设备。
需要说明的是,所述主设备接收到所述单播管理协议报文后,更新本地的数据转发表项,并将所述数据转发表项封装为单播管理协议报文,并作为新数据按照最优链路分别转发至所述堆叠系统中的其它堆叠设备。
本发明实施例还提供了一种堆叠系统,包括多台如以上任一项所述的堆叠设备,所述堆叠系统中各堆叠设备通过堆叠链路端口连接,并根据预先设置的选举规则选举出一堆叠设备为主设备,选举出一堆叠设备为备设备,主设备和备设备之外的堆叠设备均为从设备。
进一步地,所述预先设置的选举规则包括:
首先,检测所述堆叠系统是否有当前主设备且当前主设备是否可达,如果存在当前主设备且当前主设备可达,则将当前主设备设置为所述堆叠系统的主设备;
如果没有当前主设备或当前主设备不可达,则检测所述堆叠系统是否有当前备设备且当前备设备是否可达,如果存在当前备设备且当前备设备可达,将当前备设备设置为所述堆叠系统的主设备;
如果没有当前备设备或当前备设备不可达,则比较各堆叠设备的设备优先级,将设备优先级最高的堆叠设备设置为所述堆叠系统的主设备,将设备优先级次高的堆叠设备设置为所述堆叠系统的备设备。
进一步地,所述预先设置的选举规则还包括:
如果包含最高设备优先级的堆叠设备包括两台或两台以上,则比较包含最高设备优先级的堆叠设备的系统运行时间,将系统运行时间较长且包含最高设备优先级的堆叠设备设置为所述堆叠系统的主设备,将系统运行时间较短且包含最高设备优先级的堆叠设备设置为所述堆叠系统的备设备。
进一步地,所述预先设置的选举规则还包括:
如果包含最高设备优先级的两台或两台以上的堆叠设备的系统运行时间相同,则比较包含最高设备优先级的堆叠设备的MAC地址,将包含最高设备优先级且MAC地址较小的堆叠设备设置为所述堆叠系统的主设备,将包含最高设备优先级且MAC地址较大的堆叠设备设置为所述堆叠系统的备设备。
进一步地,所述预先设置的选举规则还包括:
当所述堆叠系统有当前主设备和当前备设备,并且当前主设备和当前备设备均可达时,将当前主设备设置为所述堆叠系统的主设备,当前备设备设置为所述堆叠系统的备设备;
当所述堆叠系统没有当前主设备或当前主设备不可达,并且有当前备设备且当前备设备可达时,将当前备设备设置为所述堆叠系统的主设备,并将除主设备之外的设备优先级最高的堆叠设备设置为所述堆叠系统的备设备。
进一步地,所述预先设置的选举规则还包括:
如果除主设备之外的设备优先级最高的堆叠设备包括两台或两台以上,则比较包含除主设备之外的设备优先级最高的堆叠设备的系统运行时间,将系统运行时间较长且除主设备之外的设备优先级最高的堆叠设备设置为所述堆叠系统的备设备。
进一步地,所述预先设置的选举规则还包括:
如果除主设备之外的设备优先级最高的两台或两台以上的堆叠设备的系统运行时间相同,则比较除主设备之外的设备优先级最高的堆叠设备的MAC地址,将除主设备之外的设备优先级最高的且MAC地址较小的堆叠设备设置为所述堆叠系统的备设备。
本发明实施例还提供了几个优选的实施例对本发明进行进一步解释,但是值得注意的是,该优选实施例只是为了更好的描述本发明,并不构成对本发明不当的限定。下面的各个实施例可以独立存在,且不同实施例中的技术特点可以组合在一个实施例中联合使用。
一种环形堆叠系统(包含大于等于3台设备),该环形堆叠系统中每台设备都有唯一的设备编号UID、设备MAC、以及两个堆叠链路端口LID(LID-1和LID-2)(每个堆叠链路端口可以存在一个或多个堆叠物理端口),根据堆叠配置信息(如,设备角色状态、设备优先级、系统运行时间、设备MAC)进行堆叠角色选举,在多台设备组成的堆叠系统中,只能有一台主设备,一台备设备,其余的多台设备为从设备,该主设备负责管理整个堆叠系统,备设备作为主设备的备份设备运行,当主设备故障,该备设备会成为新的主设备接替原主设备的工作而管理整个堆叠系统,而多台从设备重新选举出一台新的备设备,其它设备为从设备,当成为新的主设备的备设备故障,则在从多台从设备中选举出的新的备设备作为新的主设备,再在余下的从设备中选举出一台新的备设备。
堆叠系统中各设备在启动后,首先通过交互拓扑探测报文来收集整个堆叠系统的拓扑,拓扑探测报文中携带堆叠系统中各设备的连接信息,具体包括堆叠链路的连接信息(包括堆叠链路端口LID-1或LID-2、堆叠链路中的堆叠物理端口数量、各设备的设备编号UID以及设备MAC),邻居设备收到该拓扑探测报文后,会将该邻居设备的连接信息填入到该拓扑探测报文,然后将包含本设备的连接信息以及该邻居设备的连接信息转发出去,如此往复,当任何一台设备收到拓扑探测报文后,会首先判断拓扑探测报文中包含的所有的设备连接信息中是否包含自己的设备连接信息,若是不包含,则将自己的设备连接信息填入到该拓扑探测报文中,然后转发,若是包含自己的设备连接信息,则终止该拓扑探测报文,同时从拓扑探测报文中获取自己设备到其它各设备的连接信息,即记录堆叠链路,每台设备到其它各设备的两条堆叠链路端口LID-1或LID-2和堆叠链路中的堆叠物理端口数量。
在各设备完成上述的堆叠链路的拓扑收集后,进入角色选举阶段,角色选举规则如下:
(1)当前主设备优先(在没有主设备的情况下,备设备优先),堆叠系统不会因为有新的成员设备加入而重新选举主设备;当堆叠系统形成时,因为没有主设备,所有加入的设备都认为自己是主设备,则继续下一条规则的比较;
(2)设备优先级大的优先,如果优先级相同,则继续下一条规则的比较;
(3)系统运行时间长的优先,在堆叠系统中,成员设备启动时间间隔精度视设备而定(例如1分钟,即1分钟之内启动的设备,则认为它们是同时启动的),则继续下一条规则的比较;
(4)设备MAC小的优先。
通过以上规则选出的最优成员设备即为主设备,与主设备直连的设备,再次根据选举规则中的(2)、(3)、(4)选举出备设备,其它成员设备则均为从设备。
在选举出主设备、备设备以及从设备之后,备设备、各从设备从已经记录的本设备到主设备的2条堆叠链路中根据最优链路选举转发原则步骤1至步骤3选举其中一条堆叠链路为最优链路,将激活该最优链路用于转发各设备到主设备的数据;并且,每台设备从已经记录的自己到其它各设备的2条堆叠链路中根据最优链路选举原则选举其中一条堆叠链路为最优链路,将激活该最优链路用于转发该设备到各设备的数据;在将其中一条堆叠链路激活为最优链路以用于转发数据时,另一条非最优链路作为备选链路暂时不用于转发数据,在最优链路故障或者剩余带宽不满足数据转发时,将激活该非最优链路用于转发数据。
最优链路选举原则:
步骤1:需要转发数据的两台设备经过其它设备的台数最少的堆叠链路端口方向为最优链路;当经过的设备台数一样的堆叠链路出现时,执行下一步步骤2;
步骤2:设置本设备的堆叠链路的堆叠链路带宽大(即堆叠物理端口数量多)的方向的堆叠链路为最优链路;当经过的设备台数一样的堆叠链路出现并且两个方向的堆叠链路的带宽也一样时,执行下一步步骤3;
步骤3:设置本设备的下一跳设备的设备号UID小的方向的堆叠链路为最优链路。
通过步骤1-3完成了当前最优链路的选举过程。
当确定当前最优链路后,当该设备接收到新数据需要在所述堆叠系统中进行转发时,执行下述步骤:
步骤4:当被选择为最优链路的堆叠链路方向上没有数据正在进行转发时,激活该最优链路用于转发接收到的数据;否则,执行步骤5;
步骤5:当被选择为最优链路的堆叠链路正在被数据转发使用时,此时又有其它的新数据也需要使用该方向的最优链路进行转发时,首先判断将该新数据的转发优先级和当前在最优链路方向上转发的数据的转发优先级,若正在转发的数据的转发优先级高于新数据的转发优先级时,执行步骤6;若正在转发的数据的转发优先级低于新数据的转发优先级时,执行步骤7;若正在转发的数据的转发优先级与新数据的转发优先级相同时,执行步骤8;
在本步骤中,一般地,协议管理报文的转发优先级要大于普通业务报文的转发优先级,而各协议管理报文之间的转发优先级和各普通业务报文之间的转发优先级在系统设计时预先决定,并且可以由设备芯片获知,如何识别协议管理报文和普通业务报文可以采用本领域普通技术人员所已知的任何方式来实现,此处不做限定。
步骤6:若正在转发的数据的转发优先级高于新数据的转发优先级时,判断该方向的堆叠链路端口是否还有剩余带宽,若是有剩余带宽并且满足新的其它数据转发需要的带宽时,可以继续使用该方向的最优链路;若是带宽已经被用尽或者剩余带宽不满足新数据转发需要的带宽时,该新数据激活其另一条堆叠链路(即:非最优链路)作为用于数据转发的链路,执行步骤9;并且为了避免反复切换最优链路,当该正在转发的数据转发完成后,即该方向的最优链路被释放后,依然使用之前激活的非最优链路转发该新数据,不进行切换;
步骤7:若正在转发的数据的转发优先级低于新数据的转发优先级时,则新数据使用该最优链路进行数据转发,而之前正在转发的数据需要判断该方向的堆叠链路端口是否还有剩余带宽,若是有剩余带宽并且满足之前正在转发的数据转发需要的带宽时,可以继续使用该方向的最优链路;若是带宽已经被用尽或者剩余带宽不满足该正在转发的数据转发需要的带宽时,该正在转发的数据激活其另一条堆叠链路(即:非最优链路)作为用于数据转发的链路,执行步骤9;
步骤8:若正在转发的数据的转发优先级与新数据的转发优先级相同时,判断该方向的堆叠链路端口是否还有剩余带宽,若是有剩余带宽并且满足新数据转发需要的带宽时,可以继续使用该方向的最优链路;若是带宽已经被用尽或者剩余带宽不满足新的其它数据转发需要的带宽时,需要对比正在转发的数据使用的最优链路和新数据转发的最优链路分别经过的设备台数,经过设备台数少的一方按照最优链路方向进行转发数据,而经过设备台数多的一方只能激活非最优链路作为转发链路;若是恰巧此两条最优链路分别经过的设备台数一致时,则根据MAC地址学习时间先后顺序,先学习MAC地址的数据从最优链路继续进行数据转发,而后学习MAC地址的数据激活非最优链路作为转发链路进行数据转发,执行步骤9;
步骤9:当需要激活非最优链路作为转发链路时,判断非最优链路的方向是否也有数据正在被转发,若是没有数据正在被转发,则直接激活该非最优链路作为转发链路进行数据转发;若是有数据正在被转发,继续判断数据转发的优先级,若是需要激活该非最优链路作为转发链路的数据的转发优先级高于在该链路上正在转发的数据的转发优先级时,则判断剩余带宽,若是剩余带宽满足该需要激活该非最优链路作为转发链路的数据用于转发,则激活该非最优链路作为转发链路进行数据转发;若是剩余带宽不满足该需要激活非最优链路作为转发优链路的数据用于转发,则丢弃该非最优链路上正在转发的数据,激活该非最优链路用于转发该需要激活非最优链路作为转发链路的数据;若是该需要激活非最优链路作为转发链路的数据的转发优先级低于该堆叠链路方向上正在转发的数据的转发优先级时,则判断剩余带宽,若是剩余带宽满足该需要激活非最优链路作为转发链路的数据用于转发,则激活该非最优链路作为转发链路进行数据转发;若是剩余带宽不满足该需要激活非最优链路作为转发链路的数据用于转发,则丢弃该需要激活非最优链路作为转发链路的数据;若是该需要激活非最优链路作为转发链路的数据的转发优先级与该堆叠链路上正在转发的数据的转发优先级相同时,则判断剩余带宽,若是剩余带宽满足该需要激活非最优链路作为转发链路的数据用于转发,则激活该非最优链路作为转发链路进行数据转发;若是剩余带宽不满足该需要激活非最优链路作为转发链路的数据用于转发,则丢弃该需要激活非最优链路作为转发链路的数据。
并且,该环形堆叠系统将按照预置策略检测该环形堆叠系统中每条堆叠链路是否有故障,若是无故障,则继续使用之前维护的最优链路进行转发数据,若是出现故障,则启用备选的非最优链路进行转发数据。所述预置策略可以是不定期检测也可以是定期检测,所述不定期检测可以为从多个设定值中随机选择每一次的时间间隔进行检测,也可以为在一个时间范围内随机选择一个随机值作为每一次的时间间隔进行检测;定期检测为设定固定的检测周期进行检测。并且,当该环形堆叠系统中某台设备或某条堆叠链路故障时,会及时通知,使其进行链路拓扑结构更新,切换到另一条堆叠链路进行数据转发;当堆叠链路中的堆叠端口数量发生变化时,会及时发出拓扑探测报文进行更新堆叠系统的堆叠链路的连接信息。
在上述的堆叠系统数据传输过程中,所述新数据为协议管理报文或者单播业务报文;而所述的协议管理报文通常都是与主设备交互的报文,其中:
当某台设备接收到协议管理报文时,如果本设备为从设备,在这种情况下,本设备根据最优链路进行数据转发,判断在该最优链路的方向上是否存在正在转发的数据:若是不存在正在转发的数据,则将该协议管理报文利用最优链路转发给主设备,由主设备进行相应处理,而另一个堆叠链路将不转发该协议报文;若是在该最优链路的方向上存在正在转发的数据,则判断该正在转发的数据与该协议管理报文的转发优先级,若是该协议管理报文的转发优先级大于该正在转发的数据的转发优先级,判断该方向的堆叠链路端口是否还有剩余带宽,若是有剩余带宽并且满足该协议管理报文转发需要的带宽时,可以继续使用该方向的最优链路;若是带宽已经被用尽或者剩余带宽不满足该协议管理报文转发需要的带宽时,则该协议管理报文按照最优链路进行数据转发到主设备,而该正在转发的数据激活非最优链路作为用于数据转发的转发链路进行数据转发;若是该协议管理报文的转发优先级小于该正在转发的数据的转发优先级,判断该方向的堆叠链路端口是否还有剩余带宽,若是有剩余带宽并且满足该协议管理报文转发需要的带宽时,可以继续使用该方向的最优链路进行数据转发;若是带宽已经被用尽或者剩余带宽不满足该协议管理报文转发需要的带宽时,则该协议管理报文激活非最优链路作为转发链路用于数据转发;若是该协议管理报文的转发优先级与该正在转发的数据的转发优先级相同,判断该方向的堆叠链路端口是否还有剩余带宽,若是有剩余带宽并且满足该协议管理报文转发需要的带宽时,可以继续使用该方向的最优链路;若是带宽已经被用尽或者剩余带宽不满足该协议管理报文转发需要的带宽时,需要对比该协议管理报文转使用的最优链路和该正在转发的数据转发的最优链路方向分别经过的设备台数,若经过设备台数少的一方按照最优链路方向进行转发数据,而经过设备台数多的一方只能激活另一条堆叠链路作为转发链路进行数据转发;若是恰巧此两条最优链路方向分别经过的设备台数一致时,则根据MAC地址学习前后,先学习MAC地址的数据从最优链路继续进行数据转发,而后学习MAC地址的数据转发激活非最优链路作为转发链路进行数据转发。
当某台设备接收到协议管理报文时,如果本设备为主设备,则直接进行相应处理,不从任何堆叠链路转发该协议管理报文。
当某台设备接收到单播业务报文时,本设备查询本地数据转发表项(本地数据转发表项是指本设备生成的数据转发表项及接收到的其它各设备的数据转发表项,包括二层数据转发表项和三层数据转发表项),判断该单播业务报文的出端口是在本设备上还是在其它设备上:
A)如果该单播业务报文的出端口在本设备上,则将该单播业务报文从该出端口转发;并更新本地数据转发表项,同时将该本地数据转发表项同步到其它各设备,而该本地数据转发表项的同步方法将见后文所述;
B)如果该单播业务报文的出端口在其它设备上,首先本设备学习更新本地数据转发表项,(本地数据转发表项的同步方法见后文所述),然后:
(1)判断在该最优链路的方向上是否存在正在转发的数据,如果不存在正在转发的数据,本设备根据最优链路将该单播业务报文转发到出端口所在的其它设备,并且在非最优链路上不对该单播业务报文进行转发;其它设备收到上述单播业务报文后,首先判断出端口是否在其上,如果是在其上,则直接从出端口转出,并且也不在另外的非最优链路对该单播业务报文进行转发;若是出端口依然不在其上,根据最优链路将该单播业务报文转发到出端口所在的其它设备,并且也不在另外的非最优链路对该单播业务报文进行转发;
(2)如果在该最优链路的方向上存在正在转发的数据,则判断该单播业务报文与该正在转发的数据的转发优先级,若是该单播业务报文的转发优先级大于该正在转发的数据的转发优先级,判断该方向的堆叠链路端口是否还有剩余带宽,若是有剩余带宽并且满足该单播业务报文转发需要的带宽时,可以继续使用该方向的最优链路;若是带宽已经被用尽或者剩余带宽不满足该单播业务报文转发需要的带宽时,则该单播业务报文按照该最优链路进行数据转发,而该正在转发的数据需要激活非最优链路作为用于数据转发的转发链路进行数据转发;若是该单播业务报文的转发优先级小于该正在转发的数据的转发优先级,判断该方向的堆叠链路端口是否还有剩余带宽,若是有剩余带宽并且满足该单播业务报文转发需要的带宽时,可以继续使用该方向的最优链路;若是带宽已经被用尽或者剩余带宽不满足该单播业务报文转发需要的带宽时,则该单播业务报文激活非最优链路作为用于数据转发的转发链路进行数据转发;若是该单播业务报文的转发优先级与该正在转发的数据的转发优先级相同,判断该方向的堆叠链路端口是否还有剩余带宽,若是有剩余带宽并且满足该单播业务报文转发需要的带宽时,可以继续使用该方向的最优链路;若是带宽已经被用尽或者剩余带宽不满足该单播业务报文转发需要的带宽时,需要对比该单播业务报文使用的最优链路和该正在转发的数据转发的最优链路方向分别经过的设备台数,经过设备台数少的一方按照最优链路进行转发数据,而经过设备台数多的一方只能激活非最优链路作为转发链路进行数据转发;若是恰巧此两条最优链路分别经过的设备台数一致时,则根据MAC地址学习前后,先学习MAC地址的数据从最优链路继续进行数据转发,而后学习MAC地址的数据转发激活非最优链路作为转发链路进行数据转发。
本发明实施例还提供了一种本地数据转发表项同步方法,所述同步方法根据本设备记录的到其它各设备的最优链路,将本设备所维护的数据转发表项分别以源MAC为本设备的MAC地址、目的MAC为待同步各设备的MAC地址的单播管理协议报文的形式发出,其它各设备收到此报文后,判断目的MAC是否为自己的MAC地址,若是,根据报文中携带的本地数据转发表项更新自己的本地数据转发表项,并且不再转发,若不是,则根据自己记录的最优链路将该报文继续转发到目的设备。
可选地,本发明实施例还提供了另一种本地数据转发表项同步方法,所述同步方法根据本设备记录的主设备的最优链路,将本设备所维护的数据转发表项以源MAC为本设备的MAC地址、目的MAC为主设备的MAC地址的单播管理协议报文的形式发出,其它各设备收到此报文后,判断目的MAC主设备的MAC地址,根据自己记录的最优链路将该报文继续转发到主设备,主设备收到该单播管理协议报文后,更新本地数据转发表项,然后将更新后的本地数据转发表项按照记录的最优链路以源MAC为自己MAC地址、目的MAC为各设备MAC的单播管理协议报文发送给各设备,各设备收到该单播管理协议报文后,判断目的MAC是否为自己MAC,若是,则更新本地数据转发表项,并且不转发,若不是,则根据自己记录的最优链路将该报文继续转发到目的设备。
为了避免堆叠系统中各设备之间互相同步的本地数据转发表项的报文数量过多,可以按照预设触发条件,将本设备所维护的本地数据转发表项同步到其它各设备。其中,该预设触发条件包括新更新的本地数据转发表项的数量达到预设数量,或到达设置的预设同步时间,均可将该本地数据转发表项同步到其它各设备。
可以预先设定一个预设数量(可以根据实际场景设定),堆叠系统中的各设备在更新且未同步其它各设备的本地数据转发表项达到该预设数量时,将该本地数据转发表项向其它各设备同步。
可选的,考虑到各设备每次都需要在维护的本地数据转发表项数量达到预设数量时才进行本地数据转发表项同步,可能会出现本地数据转发表项不能及时同步的情况,还可以设置预设同步时间(可以根据实际场景设定),当各设备确定到达预设同步时间时,无论当前所维护的本地数据转发表项中更新的且未同步其它各设备的本地数据转发表项是否达到预设数量,均将该本地数据转发表项向其它各设备同步。
可选的,当所维护的本地数据转发表项中有更新的数据转发表项时,立即向其它各设备同步,未有更新的数据转发表项时,不允许进行数据转发表项的同步。
如图6所示,由6台设备组成的环形堆叠系统,当该系统中各设备启动后,各设备将首先交互拓扑探测报文以获取堆叠链路的连接信息,拓扑探测报文的交互过程以设备UID1为例,设备UID1从堆叠链路端口LID1和堆叠链路端口LID2分别发出拓扑探测报文,其中从LID1发出的拓扑探测报文包含UID1、堆叠链路端口LID1(堆叠链路端口LID1的堆叠端口数量)、设备MAC,从LID2发出的拓扑探测报文包含UID1、堆叠链路端口LID2(堆叠链路端口LID2的堆叠端口数量)、设备MAC;当UID2从堆叠链路LID2收到从UID1的LID1发出的拓扑探测报文后,首先判断该拓扑探测报文中是否包含自己的连接信息,发现不包含自己的连接信息,则将接收堆叠链路LID2添加到该UID1发出的拓扑探测报文的接收端口处,同时将自己的连接信息(UID2、LID1(堆叠链路LID1的堆叠端口数量)、设备MAC)添加到该拓扑探测报文,并从LID1发出;当UID3从堆叠链路LID2收到从UID2的LID1发出的拓扑探测报文后,首先判断该拓扑探测报文中是否包含自己的连接信息,发现不包含自己的连接信息,将接收堆叠链路LID2添加到该UID2发出的拓扑探测报文的接收端口处,同时将自己的连接信息(UID3、LID1(堆叠链路LID1的堆叠端口数量)、设备MAC)添加到该拓扑探测报文,并从LID1发出;如此往复,当UID1从堆叠链路LID2收到从UID6的LID1发出的拓扑探测报文后,首先判断该拓扑探测报文中是否包含自己的连接信息,发现包含自己的连接信息,则记录该拓扑探测报文中包含的所有连接信息(如UID1-UID2,UID1-UID2-UID3,UID1-UID2-UID3-UID4,UID1-UID2-UID3-UID4-UID5,UID1-UID2-UID3-UID4-UID5-UID6),同时终止该报文的转发;同时UID1从另一条堆叠链路LID2也发出了拓扑探测报文,报文转发的流程相同,最终,当UID1从堆叠链路LID1收到从UID2的LID2发出的拓扑探测报文后,首先判断该拓扑探测报文中是否包含自己的连接信息,发现包含自己的连接信息,则记录该拓扑探测报文中包含的所有连接信息(如UID1-UID6,UID1-UID6-UID5,UID1-UID6-UID5-UID4,UID1-UID6-UID5-UID4-UID3,UID1-UID6-UID5-UID4-UID3-UID2),同时终止该报文的转发;此时,UID1就记录了本设备到各设备的2条堆叠链路的连接信息,如UID1到UID4,2条堆叠链路的连接信息为:UID1-UID2-UID3-UID4,UID1-UID6-UID5-UID4。
然后这6台设备,根据堆叠配置信息(可以人为设定设备的优先级,如UID1的优先级>UID2的优先级>UID3的优先级>UID4的优先级>UID5的优先级>UID6的优先级)按照角色选举规则,确定UID1为主设备,UID2为备设备,其它各设备均为从设备。
此时,各设备需要根据最优链路的规则,各设备需要记录到主设备的最优链路,即UID2记录UID2-UID1,UID3记录UID3-UID2-UID1,UID4记录UID4-UID3-UID2-UID1,UID5记录UID5-UID6-UID1,UID6记录UID6-UID1,并且每台设备需要记录本设备到各设备的最优路径,以UID2为例,到UID3的最优链路为UID2-UID3,到UID4的最优链路为UID2-UID3-UID4,到UID5的最优链路为UID2-UID1-UID6-UID5,到UID6的最优链路为UID2-UID1-UID6。
以UID2接收到数据为例:
情况1:UID2接收到数据为协议管理报文,并且转发该协议管理报文的最优链路的方向上没有数据在进行转发,则UID2将该协议管理报文按照到主设备的最优链路UID2-UID1转发到主设备UID1。
情况2:UID2接收到数据为单播业务报文,并且转发该单播业务报文的最优链路的方向上没有数据在进行转发,则查询本地数据转发表项,判断单播业务报文的出端口在本设备上,则直接从出端口转发出去,并且更新本地数据转发表项;
情况3:当UID2收到单播业务报文(该最优链路的方向上没有其它的数据正在转发),而出端口在UID5上时,UID2按照最优链路UID2-UID1-UID6-UID5转发该数据,并且更新本地数据转发表项;当UID1收到该数据后,发现出端口在UID5上,则继续按照UID1-UID6-UID5转发该数据,当UID6收到该数据后,发现出端口在UID5上,则继续按照UID6-UID5转发该数据,当UID5收到数据后,发现出端口在本设备上,直接从出端口转出,并且更新本地数据转发表项;
情况4:网络中同时存在多份转发优先级相同的单播业务报文的情况,当UID2收到单播业务报文A,而出端口在UID4时,根据最优链路,选择堆叠链路UID2-UID3-UID4进行转发数据;此时又有单播业务报文B从UID2收到,而出端口在UID5时,根据最优链路,选择堆叠链路UID2-UID1-UID6-UID5进行转数据;同时,又有单播业务报文C从UID2收到,而出端口在UID4时,根据最优链路,则选择堆叠链路UID2-UID3-UID4,由于之前已经在使用该最优链路,需要判断是否还有剩余带宽,若是有剩余带宽且满足单播业务报文C转发使用,则继续使用该最优链路UID2-UID3-UID4,进行数据转发,若是已经没有剩余带宽或者剩余带宽不满足单播业务报文C转发使用,需要判断本设备的该数据的出端口的最优链路中经过的设备台数,由于出端口都在UID4上,最优链路上经过的设备台数都为1台UID3,则按照学习MAC的时间的先后顺序,该单播业务报文C的转发链路为激活非最优链路UID2-UID1-UID6-UID5-UID4进行数据转发;同时,又有单播业务报文D从UID2收到,而出端口在UID3时,根据最优链路,则选择堆叠链路UID2-UID3,由于之前已经在使用该最优链路,需要判断是否还有剩余带宽,若是有剩余带宽且满足单播业务报文D转发使用,则继续使用该最优链路UID2-UID3进行数据转发,若是已经没有剩余带宽或者剩余带宽不满足单播业务报文D转发使用,需要判断本设备的该数据的出端口的最优链路中经过的设备台数,由于单播业务报文D最优链路UID2-UID3为直连设备,未经过中间设备,而单播业务报文A的最优链路UID2-UID3-UID4经过设备UID3,则单播业务报文D按照最优链路UID2-UID3进行转发数据,而单播业务报文A激活非最优链路UID2-UID1-UID6-UID5-UID4为转发链路从而进行数据转发。
进一步地,各设备,例如UID2还可以在达到同步的预设触发条件时,将本设备UID2所维护的本地数据转发表项同步到其它各设备,一种实现方式是:将更新后的数据转发表项以源MAC为本设备的MAC、目的MAC为其它待同步各设备的MAC地址的多个单播管理协议报文的形式发出,如从最优链路UID2-UID1发出源MAC为mac2、目的MAC为mac1的单播管理协议报文,当UID1收到该报文后,判断目的MAC为自己,则更新本地数据转发表项;如从最优链路UID2-UID3发出源MAC为mac2、目的MAC为mac3的单播管理协议报文,当UID3收到该报文后,判断目的MAC为自己,则更新本地数据转发表项;如从最优链路UID2-UID3-UID4发出源MAC为mac2、目的MAC为mac4的单播管理协议报文,当UID3收到该报文后,判断目的MAC非自己而是UID4的MAC地址,则UID3按照记录的最优链路UID3-UID4继续转发该单播管理协议报文,当UID4收到该报文后,判断目的MAC为自己则更新本地数据转发表项;如从最优链路UID2-UID1-UID6-UID5发出源MAC为mac2、目的MAC为mac5的单播管理协议报文,当UID1收到该报文后,判断目的MAC非自己而是UID5的mac,则UID1按照记录的最优链路UID1-UID6-UID5继续转发该单播管理协议报文,当UID6收到该报文后,判断目的MAC非自己而是UID5的MAC,则UID6按照记录的最优链路UID6-UID5继续转发该单播管理协议报文,当UID5收到该报文后,判断目的MAC为自己则更新本地数据转发表项;从最优链路UID2-UID1-UID6发出源MAC为mac2、目的MAC为mac6的单播管理协议报文,当UID1收到该报文后,判断目的MAC非自己而是UID6的MAC,则UID1按照记录的最优链路UID1-UID6继续转发该单播管理协议报文,当UID6收到该报文后,判断目的MAC为自己则更新本地数据转发表项。或者;
另一种实现方式是:各设备,例如UID2还可以在达到同步的预设触发条件时,将更新后的数据转发表项以源MAC为本设备的MAC、目的MAC为主设备UID1的MAC地址的单播管理协议报文的形式通过最优链路发送给主设备UID1,主设备UID1接收到所述单播管理协议报文后,更新本地存储的数据转发表项,并将其作为新数据按照最优链路进行转发至所述堆叠系统中的其它设备,从而将UID2所维护的本地数据转发表项同步到其它各设备。
本发明解决了环形堆叠系统中的单播业务数据转发链路选择的问题,其中通过最优链路的选举转发原则进行数据转发,提高了环形堆叠系统中带宽利用率,同时减缓堆叠系统内流量拥塞,利于数据转发延时。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种数据传输方法,应用于包括多个堆叠设备的环形堆叠系统,其特征在于,包括:
堆叠设备从自身到其它堆叠设备的两条堆叠链路中,选择一条堆叠链路为最优链路,另一条堆叠链路为非最优链路;
当存在新数据需要转发时,如果所述最优链路的当前剩余带宽充足,所述堆叠设备利用最优链路向其它堆叠设备转发数据;如果所述最优链路的当前剩余带宽不足,激活非最优链路向其它堆叠设备转发数据。
2.根据权利要求1所述的数据传输方法,其特征在于,所述新数据为:协议管理报文或者单播业务报文。
3.根据权利要求1或2所述的数据传输方法,其特征在于,所述的新数据的转发优先级比当前在最优链路传输的数据转发优先级低;
所述激活非最优链路向其它堆叠设备转发数据为:以非最优链路转发新数据;
此时,所述方法还包括:当前在最优链路传输的数据继续以最优链路转发。
4.根据权利要求1或2所述的数据传输方法,其特征在于,所述的新数据的转发优先级与当前在最优链路传输的数据转发优先级相同;
该方法还包括:以最优链路向其它堆叠设备转发在当前最优链路方向中数据传输经过设备台数少的数据;以非最优链路向其它堆叠设备转发在当前最优链路方向中数据传输经过设备台数多的数据。
5.根据权利要求4所述的数据传输方法,其特征在于,该方法还包括:如果两个数据在当前最优链路方向中传输经过设备台数相等,以最优链路向其它堆叠设备转发在本设备进行MAC地址学习较早的数据;以非最优链路向其它堆叠设备转发在在本设备进行MAC地址学习较晚的数据。
6.根据权利要求1或2所述的数据传输方法,其特征在于,所述的新数据的转发优先级高于当前在最优链路传输的数据转发优先级;
该方法还包括:在当前最优链路上转发所述新数据;
所述激活非最优链路向其它堆叠设备转发数据为:将当前在最优链路上转发的数据切换到非最优链路上进行转发。
7.根据权利要求1或2所述的数据传输方法,其特征在于,所述激活非最优链路向其它堆叠设备转发数据包括:
当所述激活的非最优链路带宽不足时,且所述非最优链路上存在转发数据的转发优先级低于需要激活非最优链路转发数据的转发优先级时,以所述非最优链路转发需要激活非最优链路进行转发的数据,且丢弃当前在所述非最优链路上转发的数据。
8.根据权利要求7所述的数据传输方法,其特征在于,当所述激活的非最优链路带宽不足时,且所述非最优链路上存在转发数据的优先级与需要激活非最优链路转发数据的优先级相同时,丢弃需要激活非最优链路转发的数据。
9.根据权利要求1或2所述的数据传输方法,其特征在于,所述方法还包括:
各所述堆叠设备存储有数据转发表;
按照预置的同步策略,所述堆叠设备将本地记录的数据转发表封装为单播管理协议报文,并将所述单播管理协议报文作为新数据按照最优链路分别转发至所述堆叠系统中的其它堆叠设备;
目的堆叠设备以接收到的所述单播协议报文中的数据转发表更新本地数据转发表的表项。
10.根据权利要求1或2所述的数据传输方法,其特征在于,所述方法还包括:
各所述堆叠设备存储有数据转发表;
按照预置的同步策略,所述堆叠设备将本地记录的数据转发表封装为单播管理协议报文,并将所述单播管理协议报文作为新数据在最优链路转发至所述堆叠系统中的主设备;
所述主设备接收到所述单播管理协议报文后,更新本地的数据转发表项,并将所述数据转发表项封装为单播管理协议报文,并作为新数据按照最优链路分别转发至所述堆叠系统中的其它堆叠设备;
目的堆叠设备以接收到的所述单播协议报文中的数据转发表更新本地数据转发表的表项。
11.一种堆叠设备,包括选择模块和转发模块,其特征在于,其中,选择模块,用于从自身到其它堆叠设备的两条堆叠链路中,选择一条堆叠链路为最优链路,另一条堆叠链路为非最优链路;
转发模块,用于当存在新数据需要转发时,如果所述最优链路的当前剩余带宽充足,利用最优链路向其它堆叠设备转发数据;如果所述最优链路的当前剩余带宽不足,激活非最优链路向其它堆叠设备转发数据。
12.一种堆叠系统,其特征在于,包括多台如权利要求11中所述的堆叠设备,所述堆叠系统中各堆叠设备通过堆叠链路端口连接,并根据预先设置的选举规则选举出一堆叠设备为主设备,选举出一堆叠设备为备设备,主设备和备设备之外的堆叠设备均为从设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711349064.2A CN108199986B (zh) | 2017-12-15 | 2017-12-15 | 一种数据传输方法、堆叠设备及堆叠系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711349064.2A CN108199986B (zh) | 2017-12-15 | 2017-12-15 | 一种数据传输方法、堆叠设备及堆叠系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108199986A true CN108199986A (zh) | 2018-06-22 |
CN108199986B CN108199986B (zh) | 2022-05-27 |
Family
ID=62574500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711349064.2A Active CN108199986B (zh) | 2017-12-15 | 2017-12-15 | 一种数据传输方法、堆叠设备及堆叠系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108199986B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472643A (zh) * | 2021-06-15 | 2021-10-01 | 新华三信息安全技术有限公司 | 一种故障处理方法及装置 |
CN114520793A (zh) * | 2022-01-20 | 2022-05-20 | 浪潮思科网络科技有限公司 | 一种交换机堆叠系统的管理方法、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101355520A (zh) * | 2008-09-12 | 2009-01-28 | 杭州华三通信技术有限公司 | 防止堆叠中的流量中断的方法及堆叠设备 |
CN101605102A (zh) * | 2009-07-16 | 2009-12-16 | 杭州华三通信技术有限公司 | 一种irf堆叠中的负载分担方法及装置 |
CN102857436A (zh) * | 2012-09-10 | 2013-01-02 | 杭州华三通信技术有限公司 | 一种基于irf网络的流量传输方法和设备 |
CN105323170A (zh) * | 2014-06-24 | 2016-02-10 | 中兴通讯股份有限公司 | 环形拓扑堆叠系统路径选择方法、装置及主设备 |
CN105743801A (zh) * | 2014-12-08 | 2016-07-06 | 中兴通讯股份有限公司 | 一种堆叠系统的流量转发的方法及装置 |
-
2017
- 2017-12-15 CN CN201711349064.2A patent/CN108199986B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101355520A (zh) * | 2008-09-12 | 2009-01-28 | 杭州华三通信技术有限公司 | 防止堆叠中的流量中断的方法及堆叠设备 |
CN101605102A (zh) * | 2009-07-16 | 2009-12-16 | 杭州华三通信技术有限公司 | 一种irf堆叠中的负载分担方法及装置 |
CN102857436A (zh) * | 2012-09-10 | 2013-01-02 | 杭州华三通信技术有限公司 | 一种基于irf网络的流量传输方法和设备 |
CN105323170A (zh) * | 2014-06-24 | 2016-02-10 | 中兴通讯股份有限公司 | 环形拓扑堆叠系统路径选择方法、装置及主设备 |
CN105743801A (zh) * | 2014-12-08 | 2016-07-06 | 中兴通讯股份有限公司 | 一种堆叠系统的流量转发的方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472643A (zh) * | 2021-06-15 | 2021-10-01 | 新华三信息安全技术有限公司 | 一种故障处理方法及装置 |
CN113472643B (zh) * | 2021-06-15 | 2023-08-18 | 新华三信息安全技术有限公司 | 一种故障处理方法及装置 |
CN114520793A (zh) * | 2022-01-20 | 2022-05-20 | 浪潮思科网络科技有限公司 | 一种交换机堆叠系统的管理方法、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108199986B (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100481815C (zh) | 具备自动建立机制的堆叠管理系统中的交换设备 | |
CN105144645B (zh) | 结构交换机中的生成树 | |
CN100555948C (zh) | 一种用于在堆栈交换机系统内耦合的交换设备 | |
CN104025513B (zh) | 用于数据中心网络中的控制层级的装置和方法 | |
CN102098226A (zh) | 通信装置及通信系统 | |
CN102333028B (zh) | 一种分层式二层虚拟专用网发送报文的方法及通信设备 | |
CN101141404B (zh) | 堆叠系统拓扑管理方法及拓扑改变通知方法 | |
CN106850381A (zh) | 虚拟集群交换 | |
CN101854283B (zh) | 一种rpr环网的通信方法和设备 | |
JPH025647A (ja) | 分配負荷シェアリング | |
CN103607293B (zh) | 一种流量保护方法及设备 | |
CN103873336B (zh) | 分布式弹性网络互连的业务承载方法及装置 | |
CN102387065A (zh) | 具有数据库削减以及控制速率的状态恢复的基于泛洪的路由协议 | |
CN100544286C (zh) | 一种实现虚拟专用局域网服务网络备份链路的方法及系统 | |
CN101572669A (zh) | Vpn报文的转发方法及其路由标签的分配、删除方法 | |
JP2011130155A (ja) | スイッチングハブ、ラインカード、及びフレーム中継方法 | |
CN106330786A (zh) | Mac地址的同步方法、装置及系统 | |
CN105765889B (zh) | 扩展桥及由其执行的方法 | |
CN105991445A (zh) | 链路聚合组的设置方法和装置 | |
CN106789157A (zh) | 堆叠系统及堆叠交换机的硬件资源管理方法 | |
JP2008167315A (ja) | 回線冗長接続方法および広域通信網ノード装置 | |
CN107634905A (zh) | 堆叠系统中数据转发方法及装置 | |
CN101860482A (zh) | 二层虚拟专用网络快速重路由方法及装置 | |
CN108199986A (zh) | 一种数据传输方法、堆叠设备及堆叠系统 | |
CN111541601B (zh) | 动态异构冗余架构的交换设备中stp协议同步的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |