发明内容
本发明提供一种基于IRF网络的流量传输方法和设备,以避免数据丢失。
为了达到上述目的,本发明实施例提供一种基于IRF网络的流量传输方法,应用于包括发送端设备和接收端设备的环形堆叠网络中,所述发送端设备与所述接收端设备之间存在两条逻辑链路,该方法包括以下步骤:
所述发送端设备从所述两条逻辑链路中选择一条为转发逻辑链路,一条为虚拟逻辑链路;
所述发送端设备获得所述转发逻辑链路上的链路流量信息和所述虚拟逻辑链路上的链路流量信息;
所述发送端设备利用所述转发逻辑链路上的链路流量信息判断所述转发逻辑链路是否存在链路拥塞;
如果所述转发逻辑链路不存在链路拥塞,则所述发送端设备通过所述转发逻辑链路向所述接收端设备发送流量;
如果所述转发逻辑链路存在链路拥塞,则所述发送端设备利用所述虚拟逻辑链路上的链路流量信息判断所述虚拟逻辑链路是否存在链路拥塞;
如果所述虚拟逻辑链路不存在链路拥塞,则所述发送端设备通过所述虚拟逻辑链路向所述接收端设备发送流量;
如果所述虚拟逻辑链路存在链路拥塞,则所述发送端设备通过所述转发逻辑链路向所述接收端设备发送流量。
所述发送端设备从所述两条逻辑链路中选择一条为转发逻辑链路,一条为虚拟逻辑链路,具体包括:
所述发送端设备获得所述两条逻辑链路中每条逻辑链路对应的路径信息,并利用每条逻辑链路对应的路径信息选择路径最短的逻辑链路为转发逻辑链路,以及选择另一条逻辑链路为虚拟逻辑链路;或者,
所述发送端设备获得所述两条逻辑链路中每条逻辑链路对应的逻辑堆叠口所包含的各物理堆叠口的端口号,并选择端口号最大的物理堆叠口对应的逻辑链路为虚拟逻辑链路,以及选择另一条逻辑链路为转发逻辑链路;或者,
所述发送端设备获得所述两条逻辑链路中每条逻辑链路对应的逻辑堆叠口所包含的各物理堆叠口的端口号,并选择端口号最小的物理堆叠口对应的逻辑链路为虚拟逻辑链路,以及选择另一条逻辑链路为转发逻辑链路。
所述转发逻辑链路上的链路流量信息包括所述转发逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息;所述发送端设备获得所述转发逻辑链路上的链路流量信息,以及利用所述转发逻辑链路上的链路流量信息判断所述转发逻辑链路是否存在链路拥塞的过程,具体包括:
所述发送端设备维护第一链路流量信息状态表,所述第一链路流量信息状态表中记录了所述转发逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息,且链路是否拥塞的信息具体为链路拥塞或者链路不拥塞;
所述发送端设备通过查询所述第一链路流量信息状态表,获得所述转发逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息;如果所述转发逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息均为链路不拥塞,则所述发送端设备确定所述转发逻辑链路不存在链路拥塞;否则,所述发送端设备确定所述转发逻辑链路存在链路拥塞;以及,
所述虚拟逻辑链路上的链路流量信息包括所述虚拟逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息;所述发送端设备获得所述虚拟逻辑链路上的链路流量信息,以及利用所述虚拟逻辑链路上的链路流量信息判断所述虚拟逻辑链路是否存在链路拥塞的过程,具体包括:
所述发送端设备维护第二链路流量信息状态表,所述第二链路流量信息状态表中记录了所述虚拟逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息,且链路是否拥塞的信息具体为链路拥塞或者链路不拥塞;
所述发送端设备通过查询所述第二链路流量信息状态表,获得所述虚拟逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息;如果所述虚拟逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息均为链路不拥塞,则所述发送端设备确定所述虚拟逻辑链路不存在链路拥塞;否则,所述发送端设备确定所述虚拟逻辑链路存在链路拥塞。
所述发送端设备维护第一链路流量信息状态表,具体包括:
所述转发逻辑链路上的每台设备获得自身与下一台设备之间的链路上的流量与带宽的比例;当所述流量与带宽的比例大于预设第一链路拥塞门限时,将自身与下一台设备之间的链路为链路拥塞的信息通知给所述发送端设备;当所述流量与带宽的比例不大于预设第一链路拥塞门限时,将自身与下一台设备之间的链路为链路不拥塞的信息通知给所述发送端设备;
所述发送端设备接收所述转发逻辑链路上每台设备所通知的链路拥塞的信息或者链路不拥塞的信息,并在所述第一链路流量信息状态表中记录所述转发逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息;以及,
所述发送端设备维护第二链路流量信息状态表,具体包括:
所述虚拟逻辑链路上的每台设备获得自身与下一台设备之间的链路上的流量与带宽的比例;当所述流量与带宽的比例大于预设第二链路拥塞门限时,将自身与下一台设备之间的链路为链路拥塞的信息通知给所述发送端设备;当所述流量与带宽的比例不大于预设第二链路拥塞门限时,将自身与下一台设备之间的链路为链路不拥塞的信息通知给所述发送端设备;
所述发送端设备接收所述虚拟逻辑链路上每台设备所通知的链路拥塞的信息或者链路不拥塞的信息,并在所述第二链路流量信息状态表中记录所述虚拟逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息。
所述发送端设备从所述两条逻辑链路中选择一条为转发逻辑链路,一条为虚拟逻辑链路,进一步包括:
所述发送端设备判断自身是否使能虚拟逻辑链路功能,且当所述发送端设备使能虚拟逻辑链路功能时,执行从所述两条逻辑链路中选择一条为转发逻辑链路,一条为虚拟逻辑链路的步骤。
本发明实施例提供一种网络设备,用于智能弹性架构IRF网络中的发送端设备,且应用于包括所述发送端设备和接收端设备的环形堆叠网络中,所述发送端设备与所述接收端设备之间存在两条逻辑链路,所述网络设备包括:
选择模块,用于从所述两条逻辑链路中选择一条为转发逻辑链路,一条为虚拟逻辑链路;
获得模块,用于获得所述转发逻辑链路上的链路流量信息和所述虚拟逻辑链路上的链路流量信息;
判断模块,用于利用所述转发逻辑链路上的链路流量信息判断所述转发逻辑链路是否存在链路拥塞;以及,
在所述转发逻辑链路存在链路拥塞时,利用所述虚拟逻辑链路上的链路流量信息判断所述虚拟逻辑链路是否存在链路拥塞;
发送模块,用于在所述转发逻辑链路不存在链路拥塞时,通过所述转发逻辑链路向所述接收端设备发送流量;以及,
在所述转发逻辑链路存在链路拥塞,且所述虚拟逻辑链路不存在链路拥塞时,通过所述虚拟逻辑链路向所述接收端设备发送流量;以及,
在所述转发逻辑链路存在链路拥塞,且所述虚拟逻辑链路存在链路拥塞时,通过所述转发逻辑链路向所述接收端设备发送流量。
所述选择模块,具体用于获得所述两条逻辑链路中每条逻辑链路对应的路径信息,并利用每条逻辑链路对应的路径信息选择路径最短的逻辑链路为转发逻辑链路,以及选择另一条逻辑链路为虚拟逻辑链路;或者,
获得所述两条逻辑链路中每条逻辑链路对应的逻辑堆叠口所包含的各物理堆叠口的端口号,并选择端口号最大的物理堆叠口对应的逻辑链路为虚拟逻辑链路,以及选择另一条逻辑链路为转发逻辑链路;或者,
获得所述两条逻辑链路中每条逻辑链路对应的逻辑堆叠口所包含的各物理堆叠口的端口号,并选择端口号最小的物理堆叠口对应的逻辑链路为虚拟逻辑链路,以及选择另一条逻辑链路为转发逻辑链路。
所述转发逻辑链路上的链路流量信息包括所述转发逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息;所述虚拟逻辑链路上的链路流量信息包括所述虚拟逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息;
所述获得模块,具体用于维护第一链路流量信息状态表,所述第一链路流量信息状态表中记录了所述转发逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息,且链路是否拥塞的信息具体为链路拥塞或者链路不拥塞;并通过查询所述第一链路流量信息状态表,获得所述转发逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息;以及,
维护第二链路流量信息状态表,所述第二链路流量信息状态表中记录了所述虚拟逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息,且链路是否拥塞的信息具体为链路拥塞或者链路不拥塞;并通过查询所述第二链路流量信息状态表,获得所述虚拟逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息;
所述判断模块,具体用于当所述转发逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息均为链路不拥塞时,确定所述转发逻辑链路不存在链路拥塞;否则,确定所述转发逻辑链路存在链路拥塞;以及,
当所述虚拟逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息均为链路不拥塞时,确定所述虚拟逻辑链路不存在链路拥塞;否则,确定所述虚拟逻辑链路存在链路拥塞。
所述获得模块,进一步用于接收所述转发逻辑链路上每台设备所通知的链路拥塞的信息或者链路不拥塞的信息,并在所述第一链路流量信息状态表中记录所述转发逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息;以及,接收所述虚拟逻辑链路上每台设备所通知的链路拥塞的信息或者链路不拥塞的信息,并在所述第二链路流量信息状态表中记录所述虚拟逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息。
所述判断模块,进一步用于判断本设备是否使能虚拟逻辑链路功能,且当本设备使能虚拟逻辑链路功能时,执行从所述两条逻辑链路中选择一条为转发逻辑链路,一条为虚拟逻辑链路的过程。
与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,通过将两条逻辑链路划分为转发逻辑链路以及虚拟逻辑链路,从而在转发逻辑链路上发生链路拥塞时,能够及时的将流量切换到虚拟逻辑链路上进行发送,从而避免链路拥塞所导致的数据丢失,提高设备的性能。
具体实施方式
本发明实施例提出一种基于IRF网络的流量传输方法,该方法应用于包括发送端设备和接收端设备的环形堆叠网络中,且发送端设备与接收端设备之间存在两条逻辑链路;以图1为本发明实施例的应用场景示意图,当DUT-1的流量需要转发至DUT-3时,则发送端设备为DUT-1,接收端设备为DUT-3,且DUT-1与DUT-3之间有两条逻辑链路,分别为路径1-2和路径5-4-3。
在IRF网络中,堆叠设备在正常工作之前,需要物理堆叠口和逻辑堆叠口绑定后才能够建立堆叠链接,且各设备中用于堆叠连接的物理端口成为物理堆叠口,当绑定之后逻辑堆叠口可以收发堆叠的协议报文或转发流量;其中,逻辑堆叠口对应于逻辑链路,物理堆叠口对应于物理链路(即真实存在的链路),且一条逻辑链路可以对应于多条真实的物理链路。
本发明实施例的一种优选实施方式中,用户可以根据业务需要决定是否使能虚拟逻辑链路功能,当设备使能虚拟逻辑链路功能时会按照本发明实施例提供的方案进行处理,否则按照现有技术进行处理;基于此,发送端设备需要判断自身是否使能虚拟逻辑链路功能,当发送端设备使能虚拟逻辑链路功能时,执行本发明实施例所提供的处理流程,否则按照现有技术进行处理。
如图2所示,在发送端设备使能虚拟逻辑链路功能之后,该基于IRF网络的流量传输方法包括以下步骤:
步骤201,发送端设备从两条逻辑链路中选择一条为转发逻辑链路,一条为虚拟逻辑链路;在图1所示的应用场景下,DUT-1可以选择路径1-2为转发逻辑链路,选择路径5-4-3为虚拟逻辑链路;或者,DUT-1可以选择路径5-4-3为转发逻辑链路,选择路径1-2为虚拟逻辑链路。
在具体的选择方式中,可以包括但不限于如下方式:
方式一、发送端设备获得两条逻辑链路中每条逻辑链路对应的路径信息,并利用每条逻辑链路对应的路径信息选择路径最短的逻辑链路为转发逻辑链路,以及选择另一条逻辑链路为虚拟逻辑链路。在图1所示的应用场景下,DUT-1获得逻辑链路(路径1-2)对应的路径信息为2,获得逻辑链路(路径5-4-3)对应的路径信息为3,即路径最短的逻辑链路为路径1-2,因此DUT-1选择路径1-2为转发逻辑链路,并选择路径5-4-3为虚拟逻辑链路。
方式二、发送端设备获得两条逻辑链路中每条逻辑链路对应的逻辑堆叠口所包含的各物理堆叠口的端口号,并选择端口号最大的物理堆叠口对应的逻辑链路为虚拟逻辑链路,以及选择另一条逻辑链路为转发逻辑链路。在图1所示的应用场景下,DUT-1获得逻辑链路(路径1-2)对应的逻辑堆叠口所包含的各物理堆叠口的端口号分别为1和2,获得逻辑链路(路径5-4-3)对应的逻辑堆叠口所包含的各物理堆叠口的端口号分别为3和4,即端口号最大的物理堆叠口为端口4,因此DUT-1选择端口4对应的路径5-4-3为虚拟逻辑链路,并选择路径1-2为转发逻辑链路。
方式三、发送端设备获得两条逻辑链路中每条逻辑链路对应的逻辑堆叠口所包含的各物理堆叠口的端口号,并选择端口号最小的物理堆叠口对应的逻辑链路为虚拟逻辑链路,以及选择另一条逻辑链路为转发逻辑链路。在图1所示的应用场景下,DUT-1获得逻辑链路(路径1-2)对应的逻辑堆叠口所包含的各物理堆叠口的端口号分别为1和2,获得逻辑链路(路径5-4-3)对应的逻辑堆叠口所包含的各物理堆叠口的端口号分别为3和4,即端口号最小的物理堆叠口为端口1,因此DUT-1选择端口1对应的路径1-2为虚拟逻辑链路,并选择路径5-4-3为转发逻辑链路。
步骤202,发送端设备获得转发逻辑链路上的链路流量信息和虚拟逻辑链路上的链路流量信息,并利用该转发逻辑链路上的链路流量信息判断转发逻辑链路是否存在链路拥塞;如果转发逻辑链路不存在链路拥塞,执行步骤203;如果转发逻辑链路存在链路拥塞,执行步骤204。其中,该转发逻辑链路上的链路流量信息包括但不限于:转发逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息。
发送端设备获得转发逻辑链路上的链路流量信息,以及利用转发逻辑链路上的链路流量信息判断转发逻辑链路是否存在链路拥塞的过程,具体包括:发送端设备预先维护第一链路流量信息状态表,且该第一链路流量信息状态表中记录了转发逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息(链路是否拥塞的信息具体为链路拥塞或者链路不拥塞);进一步的,发送端设备通过查询第一链路流量信息状态表,获得转发逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息;如果转发逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息均为链路不拥塞,则发送端设备确定转发逻辑链路不存在链路拥塞;否则,发送端设备确定转发逻辑链路存在链路拥塞。
在图1所示的应用场景下,假设路径1-2为转发逻辑链路,路径5-4-3为虚拟逻辑链路;在预先维护的第一链路流量信息状态表中,记录了DUT-1与DUT-2之间的链路是否拥塞的信息,以及DUT-2与DUT-3之间的链路是否拥塞的信息;如果DUT-1与DUT-2之间的链路是否拥塞的信息为链路不拥塞,且DUT-2与DUT-3之间的链路是否拥塞的信息为链路不拥塞,则确定转发逻辑链路不存在链路拥塞;否则确定转发逻辑链路存在链路拥塞。
在本发明实施例的一种优选实施方式中,发送端设备维护第一链路流量信息状态表的过程,具体包括但不限于:转发逻辑链路上的每台设备获得自身与下一台设备之间的链路上的流量与带宽的比例;当流量与带宽的比例大于预设第一链路拥塞门限时,将自身与下一台设备之间的链路为链路拥塞的信息通知给发送端设备;当流量与带宽的比例不大于预设第一链路拥塞门限时,将自身与下一台设备之间的链路为链路不拥塞的信息通知给发送端设备;进一步的,发送端设备接收转发逻辑链路上每台设备所通知的链路拥塞的信息或者链路不拥塞的信息,并在第一链路流量信息状态表中记录转发逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息。
在图1所示的应用场景下,假设路径1-2为转发逻辑链路,路径5-4-3为虚拟逻辑链路,预设第一链路拥塞门限为90%(流量与带宽的比例);DUT-1通过获得自身与DUT-2之间的链路上的流量与带宽的比例,假设流量与带宽的比例不大于90%,则将DUT-1与DUT-2之间的链路为链路不拥塞的信息通知给DUT-1;DUT-2通过获得自身与DUT-3之间的链路上的流量与带宽的比例,假设流量与带宽的比例大于90%,则将DUT-2与DUT-3之间的链路为链路拥塞的信息通知给DUT-1;进一步的,DUT-1可以在第一链路流量信息状态表中记录转发逻辑链路上DUT-1与DUT-2之间的链路为链路不拥塞,并记录转发逻辑链路上DUT-2与DUT-3之间的链路为链路拥塞。
步骤203,发送端设备通过转发逻辑链路向接收端设备发送流量。
步骤204,发送端设备利用该虚拟逻辑链路上的链路流量信息判断虚拟逻辑链路是否存在链路拥塞;如果虚拟逻辑链路不存在链路拥塞,执行步骤205;如果虚拟逻辑链路存在链路拥塞,执行步骤206。其中,该虚拟逻辑链路上的链路流量信息包括但不限于:虚拟逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息。
发送端设备获得虚拟逻辑链路上的链路流量信息,以及利用虚拟逻辑链路上的链路流量信息判断虚拟逻辑链路是否存在链路拥塞的过程,具体包括:发送端设备预先维护第二链路流量信息状态表,且该第二链路流量信息状态表中记录了虚拟逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息(链路是否拥塞的信息具体为链路拥塞或者链路不拥塞);进一步的,发送端设备通过查询第二链路流量信息状态表,获得虚拟逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息;如果虚拟逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息均为链路不拥塞,则发送端设备确定虚拟逻辑链路不存在链路拥塞;否则,发送端设备确定虚拟逻辑链路存在链路拥塞。
在图1所示的应用场景下,假设路径1-2为转发逻辑链路,路径5-4-3为虚拟逻辑链路;在预先维护的第二链路流量信息状态表中,记录了DUT-1与DUT-5之间的链路是否拥塞的信息,DUT-5与DUT-4之间的链路是否拥塞的信息,以及DUT-4与DUT-3之间的链路是否拥塞的信息;如果DUT-1与DUT-5之间的链路是否拥塞的信息为链路不拥塞,DUT-5与DUT-4之间的链路是否拥塞的信息为链路不拥塞,且DUT-4与DUT-3之间的链路是否拥塞的信息为链路不拥塞,则DUT-1确定转发逻辑链路不存在链路拥塞;否则,DUT-1确定转发逻辑链路存在链路拥塞。
在本发明实施例的一种优选实施方式中,发送端设备维护第二链路流量信息状态表的过程,具体包括但不限于:虚拟逻辑链路上的每台设备获得自身与下一台设备之间的链路上的流量与带宽的比例;当流量与带宽的比例大于预设第二链路拥塞门限时,将自身与下一台设备之间的链路为链路拥塞的信息通知给发送端设备;当流量与带宽的比例不大于预设第二链路拥塞门限时,将自身与下一台设备之间的链路为链路不拥塞的信息通知给发送端设备;进一步的,发送端设备接收虚拟逻辑链路上每台设备所通知的链路拥塞的信息或者链路不拥塞的信息,并在第二链路流量信息状态表中记录虚拟逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息。
在图1所示的应用场景下,假设路径1-2为转发逻辑链路,路径5-4-3为虚拟逻辑链路,预设第二链路拥塞门限为80%(流量与带宽的比例);DUT-1通过获得自身与DUT-5之间的链路上的流量与带宽的比例,假设流量与带宽的比例不大于80%,则将DUT-1与DUT-5之间的链路为链路不拥塞的信息通知给DUT-1;DUT-5通过获得自身与DUT-4之间的链路上的流量与带宽的比例,假设流量与带宽的比例大于80%,则将DUT-5与DUT-4之间的链路为链路拥塞的信息通知给DUT-1;DUT-4通过获得自身与DUT-3之间的链路上的流量与带宽的比例,假设流量与带宽的比例大于80%,则将DUT-4与DUT-3之间的链路为链路拥塞的信息通知给DUT-1;进一步的,DUT-1可以在第二链路流量信息状态表中记录虚拟逻辑链路上DUT-1与DUT-5之间的链路为链路不拥塞,并记录虚拟逻辑链路上DUT-5与DUT-4之间的链路为链路拥塞,以及记录虚拟逻辑链路上DUT-4与DUT-3之间的链路为链路拥塞。
步骤205,发送端设备通过虚拟逻辑链路向接收端设备发送流量。
步骤206,发送端设备通过转发逻辑链路向接收端设备发送流量。
本发明实施例中,上述预设第一链路拥塞门限和预设第二链路拥塞门限为流量与带宽的比例的门限值;且预设第一链路拥塞门限和预设第二链路拥塞门限可以相同,也可以不相同;且在实际应用中,可以动态的调整预设第一链路拥塞门限和/或预设第二链路拥塞门限。
由于IRF网络中每台设备均可作为发送端设备,因此每台设备均需要维护链路流量信息状态表(第一链路流量信息状态表和第二链路流量信息状态表);为此本发明实施例的一种具体实施方式中,可设计心跳报文来传输每台设备与下一台设备之间的链路是否拥塞的信息,且心跳报文中可通过一个比特位用于表示是否拥塞的信息,该比特位的值可以为0和1;当设备获知自身与下一台设备之间的链路为链路拥塞时,可以将该比特位设置为1,当设备获知自身与下一台设备之间的链路为链路不拥塞时,可以将该比特位设置为0。
进一步的,可以通过多个比特位用于表示多个设备是否拥塞的信息,且每个设备对应其中的一个比特位,各个比特位按照从低位到高位依次代表设备1到设备N堆叠顺时针出口的链路是否拥塞的信息;例如,第一比特位代表编号为1的堆叠设备顺时针出口的链路是否拥塞的信息,第二比特位代表编号为2的堆叠设备顺时针出口的链路是否拥塞的信息,以此类推。
在图1所示的应用场景下,DUT-1通过获得自身与DUT-2之间的链路上的流量与带宽的比例,确定DUT-1与DUT-2之间的链路为链路不拥塞,则DUT-1将心跳报文中的第一比特位设置为0,并将心跳报文发送给其他设备;DUT-2通过获得自身与DUT-3之间的链路上的流量与带宽的比例,确定DUT-2与DUT-3之间的链路为链路拥塞,则DUT-2将心跳报文中的第二比特位设置为1,并将心跳报文发送给其他设备;以此类推,各设备在接收到其他设备所发送的心跳报文之后,可以获知每台设备与下一台设备之间的链路是否拥塞的信息,继而每台设备均可以维护链路流量信息状态表(包括第一链路流量信息状态表和第二链路流量信息状态表)。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种网络设备,用于智能弹性架构IRF网络中的发送端设备,且应用于包括所述发送端设备和接收端设备的环形堆叠网络中,所述发送端设备与所述接收端设备之间存在两条逻辑链路,如图3所示,所述网络设备包括:
选择模块11,用于从所述两条逻辑链路中选择一条为转发逻辑链路,一条为虚拟逻辑链路;
获得模块12,用于获得所述转发逻辑链路上的链路流量信息和所述虚拟逻辑链路上的链路流量信息;
判断模块13,用于利用所述转发逻辑链路上的链路流量信息判断所述转发逻辑链路是否存在链路拥塞;以及,
在所述转发逻辑链路存在链路拥塞时,利用所述虚拟逻辑链路上的链路流量信息判断所述虚拟逻辑链路是否存在链路拥塞;
发送模块14,用于在所述转发逻辑链路不存在链路拥塞时,通过所述转发逻辑链路向所述接收端设备发送流量;以及,
在所述转发逻辑链路存在链路拥塞,且所述虚拟逻辑链路不存在链路拥塞时,通过所述虚拟逻辑链路向所述接收端设备发送流量;以及,
在所述转发逻辑链路存在链路拥塞,且所述虚拟逻辑链路存在链路拥塞时,通过所述转发逻辑链路向所述接收端设备发送流量。
所述选择模块11,具体用于获得所述两条逻辑链路中每条逻辑链路对应的路径信息,并利用每条逻辑链路对应的路径信息选择路径最短的逻辑链路为转发逻辑链路,以及选择另一条逻辑链路为虚拟逻辑链路;或者,
获得所述两条逻辑链路中每条逻辑链路对应的逻辑堆叠口所包含的各物理堆叠口的端口号,并选择端口号最大的物理堆叠口对应的逻辑链路为虚拟逻辑链路,以及选择另一条逻辑链路为转发逻辑链路;或者,
获得所述两条逻辑链路中每条逻辑链路对应的逻辑堆叠口所包含的各物理堆叠口的端口号,并选择端口号最小的物理堆叠口对应的逻辑链路为虚拟逻辑链路,以及选择另一条逻辑链路为转发逻辑链路。
本发明实施例中,所述转发逻辑链路上的链路流量信息包括所述转发逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息;所述虚拟逻辑链路上的链路流量信息包括所述虚拟逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息;
所述获得模块12,具体用于维护第一链路流量信息状态表,所述第一链路流量信息状态表中记录了所述转发逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息,且链路是否拥塞的信息具体为链路拥塞或者链路不拥塞;并通过查询所述第一链路流量信息状态表,获得所述转发逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息;以及,
维护第二链路流量信息状态表,所述第二链路流量信息状态表中记录了所述虚拟逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息,且链路是否拥塞的信息具体为链路拥塞或者链路不拥塞;并通过查询所述第二链路流量信息状态表,获得所述虚拟逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息;
所述判断模块13,具体用于当所述转发逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息均为链路不拥塞时,确定所述转发逻辑链路不存在链路拥塞;否则,确定所述转发逻辑链路存在链路拥塞;以及,
当所述虚拟逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息均为链路不拥塞时,确定所述虚拟逻辑链路不存在链路拥塞;否则,确定所述虚拟逻辑链路存在链路拥塞。
所述获得模块12,进一步用于接收所述转发逻辑链路上每台设备所通知的链路拥塞的信息或者链路不拥塞的信息,并在所述第一链路流量信息状态表中记录所述转发逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息;以及,接收所述虚拟逻辑链路上每台设备所通知的链路拥塞的信息或者链路不拥塞的信息,并在所述第二链路流量信息状态表中记录所述虚拟逻辑链路上每台设备与下一台设备之间的链路是否拥塞的信息。
所述判断模块13,进一步用于判断本设备是否使能虚拟逻辑链路功能,且当本设备使能虚拟逻辑链路功能时,执行从所述两条逻辑链路中选择一条为转发逻辑链路,一条为虚拟逻辑链路的过程。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。