发明内容
有鉴于此,本发明提供了一种实现MSTP组网中流量均衡的方法,能够在不改变MSTP组网中各MST域的相关配置的情况下,自动地实现MSTP组网中的流量均衡。
本发明还提供了一种网络设备,能够在不改变MSTP组网中各MST域的相关配置的情况下,自动地实现MSTP组网中的流量均衡。
为了达到上述目的,本发明提出的技术方案为:
一种实现多生成树协议MSTP组网中流量均衡的方法,该方法包括:
网络设备计算MSTP组网各实例中各链路流量;
网络设备根据计算出的各链路流量判断是否同时存在拥塞链路和空闲链路,如果存在,则分别从拥塞链路和空闲链路中确定出进行交换映射的源虚拟局域网VLAN和目的VLAN;
网络设备对源VLAN和目的VLAN进行交换映射,并将交换映射的配置下发给MSTP组网中的域边界端口设备。
该方法还包括:网络设备计算MSTP组网各实例中各VLAN流量,则所述分别从拥塞链路和空闲链路中确定出进行交换映射的源VLAN和目的VLAN包括:
将链路流量最大的拥塞链路中VLAN流量最小的VLAN确定为源VLAN、将任一空闲链路中不为阻塞链路的VLAN流量最小的VLAN确定为目的VLAN。
所述网络设备根据计算出的各链路流量判断是否同时存在拥塞链路和空闲链路包括:
网络设备设定第一门限值和第二门限值,所述第一门限制小于第二门限值;
当计算出的链路流量占该链路可通过流量的百分比小于第一门限值时,判断为该链路为空闲链路;
当计算出的链路流量占该链路可通过流量的百分比大于第二门限值时,判断为该链路为拥塞链路。
所述分别从拥塞链路和空闲链路中确定出进行交换映射的源VLAN和目的VLAN之前,该方法进一步包括:
判断所述拥塞链路和空闲链路在一段时间内是否一直存在,如果一直存在,则分别从一直存在的拥塞链路和空闲链路中确定出进行交换映射的源VLAN和目的VLAN。
所述对源VLAN和目的VLAN进行交换映射之前,该方法还包括:将源VLAN和目的VLAN设置为未被迁移,以使得网络设备能够对源VLAN和目的VLAN进行交换映射。
一种网络设备,应用于多生成树协议MSTP组网的流量均衡实现中,该网络设备包括:计算单元、第一判断单元、确定单元和下发单元,其中,
所述计算单元,用于计算MSTP组网各实例中各链路流量;
所述第一判断单元,用于根据计算单元计算出的各链路流量判断是否同时存在拥塞链路和空闲链路;
所述确定单元,用于当第一判断单元判断出同时存在拥塞链路和空闲链路时,分别从拥塞链路和空闲链路中确定出进行交换映射的源虚拟局域网VLAN和目的VLAN;
所述下发单元,用于对确定单元确定出的源VLAN和目的VLAN进行交换映射,并将交换映射的配置下发给MSTP组网中的域边界端口设备。
所述计算单元,还用于计算MSTP组网各实例中各VLAN流量;则,
所述确定单元,用于将计算单元计算出的链路流量最大的拥塞链路中VLAN流量最小的VLAN确定为源VLAN、将任一空闲链路中不为阻塞链路的VLAN流量最小的VLAN确定为目的VLAN。
所述第一判断单元包括:设定子单元、第一判断子单元和第二判断子单元,其中,
所述设定子单元,用于设定第一门限值和第二门限值,所述第一门限制小于第二门限值;
所述第一判断子单元,用于当计算单元计算出的链路流量占该链路可通过流量的百分比小于第一门限值时,判断为该链路为空闲链路;
所述第二判断子单元,用于当计算单元计算出的链路流量占该链路可通过流量的百分比大于第二门限值时,判断为该链路为拥塞链路。
该网络设备还包括第二判断单元,用于判断第一判断单元判断出的所述拥塞链路和空闲链路在一段时间内是否一直存在;
则,所述确定单元,用于当第二判断单元判断出一直存在时,分别从一直存在的拥塞链路和空闲链路中确定出进行交换映射的源VLAN和目的VLAN。
该网络设备还包括设置单元,用于将确定单元确定出的源VLAN和目的VLAN设置为未被迁移,以使得下发单元能够对源VLAN和目的VLAN进行交换映射。
综上所述,本发明所采用的实现MSTP组网中流量均衡的方法,是通过由网络设备判断出MSTP组网中同时存在拥塞链路和空闲链路时,分别从拥塞链路和空闲链路中确定出进行交换映射的源VLAN和目的VLAN,进而对源VLAN和目的VLAN进行交换映射后,将交换映射的配置下发给MSTP组网中的域边界端口设备。由于本发明方法是从拥塞链路中确定源VLAN、从空闲链路中确定目的VLAN,且在进行源VLAN和目的VLAN进行交换映射后,是将交换映射的配置下发给MSTP组网中的域边界端口设备的,因此,也就能够在无需改变MSTP组网中各MST域的相关配置的情况下,实现MSTP组网中的流量均衡;此外,由于无需人工维护网络,不仅降低了维护成本,而且也避免了由于人工误操作导致的网络震荡或者不通的问题。
具体实施方式
为了解决本发明提出的技术问题,本发明所述方案的具体实现包括:
网络设备计算MSTP组网各实例中各链路流量;网络设备根据计算出的各链路流量判断是否同时存在拥塞链路和空闲链路,如果存在,则分别从拥塞链路和空闲链路中确定出进行交换映射的源VLAN和目的VLAN;网络设备对源VLAN和目的VLAN进行交换映射,并将交换映射的配置下发给MSTP组网中的域边界端口设备。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
图3为本发明实现MSTP组网中流量均衡方法的工作流程图。如图3所示,该流程包括:
步骤301:网络设备计算各实例中各链路流量。
进一步地,在本步骤中,网络设备还需计算MSTP组网各实例中各VLAN流量。
步骤302:根据计算出的各链路流量判断出是否同时存在拥塞链路和空闲链路,如果是,执行步骤303;否则,结束整个工作流程。
本步骤中,所述网络设备根据计算出的各链路流量判断是否同时存在拥塞链路和空闲链路具体可以包括:
网络设备设定第一门限值和第二门限值,所述第一门限制小于第二门限值;当计算出的链路流量占该链路可通过流量的百分比小于第一门限值时,判断为该链路为空闲链路;当计算出的链路流量占该链路可通过流量的百分比大于第二门限值时,判断为该链路为拥塞链路。
步骤303:判断拥塞链路和空闲链路在一段时间内是否一直存在,如果是,执行步骤304;否则,结束整个工作流程。
需要说明的是,执行本步骤的操作是为了确保拥塞链路和空闲链路都是一直存在的,短暂的拥塞链路或空闲链路存在都不能保证交换映射成功,且本步骤的操作在一定程度上保证了网络的稳定性,即不会出现由于偶然因素导致短时间拥塞时发生交换映射。
还需说明的是,判断拥塞链路和空闲链路在一段时间内是否一直存在可以为:在一个时间段内每隔一小段时间对拥塞链路和空闲链路进行判断,如果在这一段时间内判断出链路为拥塞链路和空闲链路的次数超过所有判断次数的某一个值,则判断为拥塞链路和空闲链路在一段时间内一直存在。
步骤304:分别从拥塞链路和空闲链路中确定出交换映射的源VLAN和目的VLAN。
在本步骤中,所述分别从拥塞链路和空闲链路中确定出进行交换映射的源VLAN和目的VLAN包括:将链路流量最大的拥塞链路中VLAN流量最小的VLAN确定为源VLAN、将任一空闲链路中不为阻塞链路的VLAN流量最小的VLAN确定为目的VLAN。这里采用该种方法来确定源VLAN和目的VLAN一是为了最大程度不改变网络拓扑,二是采用最小VLAN流量的VLAN可以使两个VLAN的差值最大化交换映射后才起到负载均衡的目的。
需要说明的是,在本步骤中,还可采用其它方法来确定出拥塞链路和空闲链路中进行交换映射的源VLAN和目的VLAN,实际中,以不影响本发明实施例的实现为准。
步骤305:对源VLAN和目的VLAN进行交换映射,并将交换映射的配置下发给MSTP组网中的域边界端口设备。
需要说明的是,在对源VLAN和目的VLAN进行交换映射之前,还需将源VLAN和目的VLAN设置为未被迁移,以使得网络设备能够对源VLAN和目的VLAN进行交换映射。
还需说明的是,在本步骤中,将交换映射的配置下发给MSTP组网中的域边界端口设备,也就能够在无需改变MSTP组网中各MST域的相关配置的情况下,实现MSTP组网中的流量均衡。
在本步骤中,具体如何进行交换映射以及如何将交换映射的配置下发已为现有技术,这里不再赘述。
至此,即完成了本发明实现MSTP组网中流量均衡方法的整个工作流程。图4给出了本方法的详细的工作流程,且该流程是以一个MST域来说明的,同样适用于多个MST域。如图4所示,该流程包括:
步骤401:网络设备对MSTP组网的域边界端口设备的流量进行监控,计算各实例中各链路的流量和各VLAN的流量,并通过计算出的各链路流量占链路可通过流量的百分比确定出各链路中哪些是拥塞链路哪些是空闲链路。
需要说明的是,对MSTP拓扑的域边界端口设备的流量进行监控有如下几个原因:1)域边界端口设备囊括了所有业务报文,也就为流量均衡提供了依据;2)在整个MST域内,域边界端口设备是与最后一个VLAN映射设备最近的,最后进行交换映射的时候如果计算不出最后一个进行VLAN映射的设备可以在域边界端口设备上进行映射;3)域边界端口设备是整个MST域中流量较大的设备;4)最大限度的不破坏原有MSTP拓扑和网络配置。
还需说明的是,在本步骤中进行监控方法可以为:向被监控的域边界端口设备存在链路的端口下发QoS策略,所述QoS策略包括流分类和流行为的组合,所述流分类用于识别待转发流量的VLAN标识,所述流行为用于指示对转发流量进行统计。实际还可采用其它监控方法,以不影响本发明实施例的实现为准。
步骤402:判断是否存在拥塞链路,如果是,执行步骤403;否则,结束整个工作流程。
步骤403:在一段时间t内拥塞链路是否一直存在,如果是,执行步骤404;否则,结束整个工作流程。
步骤404:将存在的拥塞链路个数计为M,并设置拥塞链路的标识为ture后,按拥塞程度进行排序。
步骤405:从拥塞链路序列中取出最拥塞链路,并令M=M-1。
步骤406:判断是否存在空闲链路,如果存在,执行步骤407;否则,结束整个工作流程。
需要说明的是,在本步骤中,是不需要进行空闲链路的排序的,是因为最空闲链路不一定有最空闲的VLAN,而且交换映射也不一定非要映射到最空闲链路不可。
步骤407:从拥塞链路和空闲链路分别取出进行交换映射的源VLAN和目的VLAN。
需要说明的是,在本步骤中,源VLAN位于最拥塞链路上且迁移(迁移也就是进行交换映射)标识为false,目的VLAN位于空闲链路上且迁移标识也为false,true表示被迁移过(进行过交换映射),false表示没被迁移过(没有进行过交换映射),这样也就能够标识出该VLAN在本次处理过程中是否被交换映射过。
还需说明的是,在本步骤中,需要把空闲链路中存在的目的VLAN数计为N,并对目的VLAN序列进行排序,其中,空闲链路不包括down掉的链路,down的链路可以进行交换映射但映射后会导致数据丢失。
步骤408:目的VLAN序列是否为空,即判断N是否等于0,如果不为0,执行步骤409;否则,返回执行步骤406。
步骤409:取当前最空闲目的VLAN为目的VLAN,令N=N-1。
步骤410:目的VLAN所在空闲链路在目的VLAN所在的实例中是否是阻塞链路,如果是,则把当前目的VLAN从目的VLAN序列删除后,返回执行步骤408;否则,执行步骤411。
需要说明的是,在本步骤中,只要链路两个端口中的任何一个处于阻塞状态该链路就称为阻塞链路,在阻塞链路中,处于阻塞状态下的端口可以接受和发送BPDU报文但不转发用户流量,因此,执行本步骤的操作是为了防止数据丢失。
步骤411:判断是否引起目的VLAN所在链路拥塞,如果是,执行步骤406;否则,执行步骤412。
步骤412:对源VLAN和目的VLAN进行交换映射。
在本步骤中,对源VLAN和目的VLAN进行交换映射即:原映射到目的VLAN的映射到源VLAN,原映射到源VLAN的映射到目的VLAN。
需要说明的是,在本步骤中,需要设置源VLAN和目的VLAN标识为true,从而能够保证被交换映射过的VLAN不会多次被交换映射,也就是为了保证系统的相对稳定。但是,当本次交换映射结束后,该源VLAN和目的VLAN还是能够继续作为源VLAN或目的VLAN进行交换映射的,具体过程同上,不再赘述。
步骤413:判断当前最拥塞链路是否还是拥塞链路,如果是,执行步骤406;否则,执行步骤414。
需要说明的是,即使进行了交换映射但拥塞链路仍然存在拥塞的可能,采用本发明方法能够将拥塞链路的拥塞程度降低。如果还是拥塞链路,则通过本方法还能够监测出来,也就一个拥塞链路可能会通过多次处理。
步骤414:判断拥塞链路序列是否为空,即M是否等于0,如果是,执行步骤415;否则,从拥塞链路序列删除进行交换映射后的拥塞链路后,返回执行步骤405。
步骤415:设置存在拥塞链路的标识为false。
至此,即得到了本发明实现MSTP组网中流量均衡方法的具体工作流程图。
基于上述方法,图5给出了本发明所采用的网络设备,该网络设备应用于多生成树协议MSTP组网的流量均衡实现中,如图5所示,该网络设备包括:计算单元51、第一判断单元52、确定单元54和下发单元55,其中,
所述计算单元51,用于计算MSTP组网各实例中各链路流量;
所述第一判断单元52,用于根据计算单元51计算出的各链路流量判断是否同时存在拥塞链路和空闲链路;
所述确定单元54,用于当第一判断单元52判断出同时存在拥塞链路和空闲链路时,分别从拥塞链路和空闲链路中确定出进行交换映射的源虚拟局域网VLAN和目的VLAN;
所述下发单元55,用于对确定单元54确定出的源VLAN和目的VLAN进行交换映射,并将交换映射的配置下发给MSTP组网中的域边界端口设备。
进一步地,所述计算单元51,还用于计算MSTP组网各实例中各VLAN流量;则,
所述确定单元54,用于将计算单元51计算出的链路流量最大的拥塞链路中VLAN流量最小的VLAN确定为源VLAN、将任一空闲链路中不为阻塞链路的VLAN流量最小的VLAN确定为目的VLAN。
具体地,所述第一判断单元52包括:设定子单元521、第一判断子单元522和第二判断子单元523,其中,
所述设定子单元521,用于设定第一门限值和第二门限值,所述第一门限制小于第二门限值;
所述第一判断子单元522,用于当计算单元51计算出的链路流量占该链路可通过流量的百分比小于所述设定子单元521设定的第一门限值时,判断为该链路为空闲链路;
所述第二判断子单元523,用于当计算单元51计算出的链路流量占该链路可通过流量的百分比大于所述设定子单元521设定的第二门限值时,判断为该链路为拥塞链路。
进一步地,该网络设备还包括第二判断单元53,用于判断第一判断单元52判断出的所述拥塞链路和空闲链路在一段时间内是否一直存在;
则,所述确定单元54,用于当第二判断单元53判断出一直存在时,分别从一直存在的拥塞链路和空闲链路中确定出进行交换映射的源VLAN和目的VLAN。
该网络设备还包括设置单元56,用于将确定单元54确定出的源VLAN和目的VLAN设置为未被迁移,以使得下发单元55能够对源VLAN和目的VLAN进行交换映射。
至此,即得到了本发明所采用的网络设备。图5所示网络设备的具体工作流程可参见图3和图4,这里不再赘述。
下面以图2所示MSTP组网为例来说明采用本发明方法来实现流量均衡的具体过程,如下:
确定出整个MST域中拥塞链路和空闲链路,假设图中通过三个VLAN链路是拥塞链路,即交换机C和D之间的链路是拥塞链路,C和E之间的链路是空闲链路;确定出交换机C和D之间的VLAN2是流量最小的VLAN,C和E之间的VLAN4是流量最小的VLAN,将VLAN 2和VLAN 4进行交换映射,并将交换映射的配置下发给交换机A。
总之,本发明所采用的实现MSTP组网中流量均衡的方法的网络设备,通过由网络设备判断出MSTP组网中同时存在拥塞链路和空闲链路时,分别从拥塞链路和空闲链路中确定出进行交换映射的源VLAN和目的VLAN,进而对源VLAN和目的VLAN进行交换映射后,将交换映射的配置下发给MSTP组网中的域边界端口设备。由于本发明方法是从拥塞链路中确定源VLAN、从空闲链路中确定目的VLAN,且在进行源VLAN和目的VLAN进行交换映射后,是将交换映射的配置下发给MSTP组网中的域边界端口设备的,因此,也就能够在无需改变MSTP组网中各MST域的相关配置的情况下,实现MSTP组网中的流量均衡;此外,由于无需人工维护网络,不仅降低了维护成本,而且也避免了由于人工误操作导致的网络震荡或者不通的问题。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。