一种Trunk组网下的节能方法和装置
技术领域
本发明涉及网络技术领域,尤其涉及一种Trunk组网下的节能方法和装置。
背景技术
目前在以太网络中,会根据网络设备中的物理接口上的待发送数据包,来实现绿色节能。当物理接口上没有待发送数据包时,PHY(物理层)芯片将所述物理接口从全速运行模式切换到低功率节能模式,实现节能的目的;当所述物理接口上有待发送数据包时,所述PHY芯片再将模式切换为全速运行模式,使所述物理接口正常运行。
同时,为了实现网络的安全可靠性,或者扩展链路带宽,以太网络中普遍使用Trunk(链路聚合)组网。在Trunk组网中,待发送数据包会被均匀地哈希到Trunk组网下的所有物理接口上进行发送。但是,当Trunk组网中待发送数据包的流量较低时,仍然会将待发送数据包均匀地哈希到所有的物理接口上进行发送,无法实现网络设备的有效节能。
发明内容
本发明的实施例提供一种Trunk组网下的节能方法和装置,实现了网络设备的有效节能。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明提供一种Trunk组网下的节能方法,包括:
在指定时刻点,检测指定物理接口上发送的数据流量总和,所述指定物理接口为第一网络设备中指定链路聚合Trunk下的所有物理接口;
当在连续的第一预设个数的指定时刻点均检测到所述指定物理接口上的数据流量总和低于触发门限时,将所述指定物理接口上的待发送数据包切换到目标接口上进行发送,所述第一预设个数的指定时刻点之间的时间间隔均相同,所述触发门限低于所述第一网络设备中指定Trunk下的任意一个物理接口的带宽值,所述目标接口为所述第一网络设备中所述Trunk下的预设个数的物理接口;
通过第一非目标接口向第二网络设备发送第一通知消息,所述第一非目标接口为所述第一网络设备中所述Trunk下除所述目标接口以外的物理接口,所述第一通知消息中携带有将所述第一非目标接口预设为非工作状态的信息;
通过所述第一非目标接口接收所述第二网络设备发送的第一响应消息,所述第一响应消息中携带有将所述第二网络设备中第二非目标接口设置为非工作状态的信息,所述第一非目标接口和所述第二非目标接口互为所述Trunk下的对应接口;
将所述第一非目标接口设置为非工作状态,以便使所述第一网络设备处于节能工作模式。
在第一方面的第一种可能的实现方式中,所述将所述指定物理接口上的待发送数据包切换到目标接口上进行发送包括:
修改所述指定物理接口上的待发送数据包的哈希算法,得到与所述第一网络设备的目标接口对应的第一哈希值;
将所述待发送数据包通过所述第一哈希值对应的目标接口进行发送。
在第一方面的第二种可能的实现方式中,在所述使所述第一网络设备处于节能工作模式之后,所述方法还包括:
在所述指定时刻点,检测所述目标接口上发送的数据流量总和;
当在连续的第二预设个数的指定时刻点均检测到所述目标接口上发送的数据流量总和高于恢复门限时,将所述第一非目标接口设置为工作状态,所述第二预设个数的指定时刻点之间的时间间隔均相同,所述恢复门限低于所述第一网络设备中所述Trunk下的任意一个物理接口的带宽值,且高于所述触发门限;
通过所述第一非目标接口向所述第二网络设备发送第二通知消息,所述第二通知消息中携带有将所述第一非目标接口设置为工作状态的信息;
接收所述第二网络设备发送的第二响应消息,所述第二响应消息中携带有将所述第二非目标接口设置为工作状态的信息;
将所述目标接口上的待发送数据包切换到所述指定物理接口上进行发送,以便使所述第一网络设备恢复正常工作模式。
在第一方面的第三种可能的实现方式中,在所述将所述第一非目标接口设置为工作状态之前,所述方法还包括:
当接收到所述目标接口的故障指示时,将所述第一非目标接口设置为工作状态,所述故障指示表示所述目标接口发生故障。
在第一方面的第四种可能的实现方式中,所述将所述目标接口上的待发送数据包切换到所述指定物理接口上进行发送包括:
修改所述目标接口上的待发送数据包的哈希算法,得到与所述指定物理接口对应的第二哈希值;
将所述待发送数据包通过所述第二哈希值对应的指定物理接口进行发送。
在第一方面的第五种可能的实现方式中,所述方法还包括:
当在所述指定时刻点,检测到所述第一网络设备中指定物理接口上发送的数据流量总和高于所述触发门限,且低于所述恢复门限时,或者检测到所述目标接口上发送的数据流量总和高于所述触发门限,且低于所述恢复门限时,保持所述第一网络设备的当前工作模式不变。
第二方面,本发明提供了一种Trunk组网下的节能方法,包括:
接收第一网络设备发送的第一通知消息,所述第一通知消息中携带有将所述第一网络设备中的第一非目标接口预设为非工作状态的信息,所述第一非目标接口为所述第一网络设备中指定Trunk下除第一目标接口以外的物理接口;
将接收到所述第一通知消息的物理接口,确定为第二网络设备中所述Trunk下的第二非目标接口,所述第一非目标接口和所述第二非目标接口互为所述Trunk下的对应接口;
将所述第二网络设备中指定物理接口上的待发送数据包切换到第二目标接口上进行发送,所述指定物理接口为所述第二网络设备中所述Trunk下的所有物理接口,所述第二目标接口为所述第二网络设备中所述Trunk下除所述第二非目标接口以外的预设个数的物理接口;
通过所述第二非目标接口向所述第一网络设备发送第一响应消息,所述第一响应消息中携带有将所述第二非目标接口设置为非工作状态的信息;
将所述第二非目标接口设置为非工作状态,以便使所述第二网络设备处于节能工作模式。
在第二方面的第一种可能的实现方式中,所述将所述第二网络设备中指定物理接口上的待发送数据包切换到第二目标接口上进行发送包括:
修改所述指定物理接口上的待发送数据包的哈希算法,得到与所述第二网络设备的第二目标接口对应的第一哈希值;
将所述待发送数据包通过所述第一哈希值对应的第二目标接口进行发送。
在第二方面的第二种可能的实现方式中,在所述使所述第二网络设备处于节能工作模式之后,所述方法还包括:
当接收到所述第一网络设备发送的第二通知消息时,将所述第二目标接口上的待发送数据包切换到所述指定物理接口上进行发送,所述第二通知消息中携带有将所述第一非目标接口设置为工作状态的信息;
将所述第二非目标接口设置为工作状态,并通过所述第二非目标接口向所述第一网络设备发送第二响应消息,以便使所述第二网络设备恢复正常工作模式,所述第二响应消息中携带有将所述第二非目标接口设置为工作状态的信息。
在第二方面的第三种可能的实现方式中,所述将所述第二目标接口上的待发送数据包切换到所述指定物理接口上进行发送包括:
修改所述第二目标接口上的待发送数据包的哈希算法,得到与所述指定物理接口对应的第二哈希值;
将所述待发送数据包通过所述第二哈希值对应的指定物理接口进行发送。
第三方面,本发明提供了一种Trunk组网下的节能装置,包括:
检测单元,用于在指定时刻点,检测指定物理接口上发送的数据流量总和,所述指定物理接口为第一网络设备中指定Trunk下的所有物理接口;
处理单元,当所述检测单元在连续的第一预设个数的指定时刻点均检测到所述数据流量总和低于触发门限时,将所述指定物理接口上的待发送数据包切换到目标接口上进行发送,所述第一预设个数的指定时刻点之间的时间间隔均相同,所述触发门限低于所述第一网络设备中所述Trunk下的任意一个物理接口的带宽值,所述目标接口为所述第一网络设备中所述Trunk下的预设个数的物理接口;
发送单元,用于当所述处理单元将所述指定物理接口上的待发送数据包切换到所述目标接口上进行发送之后,通过第一非目标接口向第二网络设备发送第一通知消息,所述第一非目标接口为所述第一网络设备中所述Trunk下除所述目标接口以外的物理接口,所述第一通知消息中携带有将所述第一非目标接口预设为非工作状态的信息;
接收单元,用于通过所述第一非目标接口接收所述第二网络设备发送的第一响应消息,所述第一响应消息中携带有将所述第二网络设备中第二非目标接口设置为非工作状态的信息,所述第一非目标接口和所述第二非目标接口互为所述Trunk下的对应接口;
设置单元,用于将所述第一非目标接口设置为非工作状态,以便使所述第一网络设备处于节能工作模式。
在第三方面的第一种可能的实现方式中,所述处理单元包括:
计算模块,用于修改所述指定物理接口上的待发送数据包的哈希算法,得到与所述第一网络设备的目标接口对应的第一哈希值;
处理模块,用于将所述待发送数据包通过所述计算模块得到的第一哈希值对应的目标接口进行发送。
在第三方面的第二种可能的实现方式中,
所述检测单元,还用于在所述指定时刻点,检测所述目标接口上发送的数据流量总和;
所述设置单元,还用于当所述检测单元在连续的第二预设个数的指定时刻点均检测到所述目标接口上发送的数据流量总和高于恢复门限时,将所述第一非目标接口设置为工作状态,所述第二预设个数的指定时刻点之间的时间间隔均相同,所述恢复门限低于所述第一网络设备中所述Trunk下的任意一个物理接口的带宽值,且高于所述触发门限;
所述发送单元,还用于通过所述第一非目标接口向所述第二网络设备发送第二通知消息,所述第二通知消息中携带有将所述第一非目标接口设置为工作状态的信息;
所述接收单元,还用于接收所述第二网络设备发送的第二响应消息,所述第二响应消息中携带有将所述第二非目标接口设置为工作状态的信息;
所述处理单元,还用于将所述目标接口上的待发送数据包切换到所述指定物理接口上进行发送,以便使所述第一网络设备恢复正常工作模式。
在第三方面的第三种可能的实现方式中,所述设置单元,还用于当所述接收单元接收到所述目标接口的故障指示时,将所述第一非目标接口设置为工作状态,所述故障指示表示所述目标接口发生故障。
在第三方面的第四种可能的实现方式中,所述处理单元中包括的计算模块,还用于修改所述目标接口上的待发送数据包的哈希算法,得到与所述指定物理接口对应的第二哈希值;
所述处理模块,还用于将所述待发送数据包通过所述第二哈希值对应的指定物理接口进行发送。
在第三方面的第五种可能的实现方式中,所述处理单元,还用于当所述检测单元在所述指定时刻点,检测到所述第一网络设备中指定物理接口上发送的数据流量总和高于所述触发门限,且低于所述恢复门限时,或者检测到所述目标接口上发送的数据流量总和高于所述触发门限,且低于所述恢复门限时,保持所述第一网络设备的当前工作模式不变。
第四方面,本发明提供了一种Trunk组网下的节能装置,包括:
接收单元,用于接收第一网络设备发送的第一通知消息,所述第一通知消息中携带有将所述第一网络设备中的第一非目标接口预设为非工作状态的信息,所述第一非目标接口为所述第一网络设备中指定Trunk下除第一目标接口以外的物理接口;
确定单元,用于将接收到所述第一通知消息的物理接口,确定为第二网络设备中所述Trunk下的第二非目标接口,所述第一非目标接口和所述第二非目标接口互为所述Trunk下的对应接口;
处理单元,用于将所述第二网络设备中指定物理接口上的待发送数据包切换到所述第二目标接口上进行发送,所述指定物理接口为所述第二网络设备中所述Trunk下的所有物理接口,所述第二目标接口为所述第二网络设备中所述Trunk下除所述第二非目标接口以外的预设个数的物理接口;
发送单元,用于通过所述第二非目标接口向所述第一网络设备发送第一响应消息,所述第一响应消息中携带有将所述第二非目标接口设置为非工作状态的信息;
设置单元,用于将所述第二非目标接口设置为非工作状态,以便使所述第二网络设备处于节能工作模式。
在第四方面的第一种可能的实现方式中,所述处理单元包括:
计算模块,用于修改所述指定物理接口上的待发送数据包的哈希算法,得到与所述第二网络设备的第二目标接口对应的第一哈希值;
处理模块,用于将所述待发送数据包通过所述计算模块得到的第一哈希值对应的第二目标接口进行发送。
在第四方面的第二种可能的实现方式中,
所述处理单元,还用于当所述接收单元接收到所述第一网络设备发送的第二通知消息时,将所述第二目标接口上的待发送数据包切换到所述指定物理接口上进行发送,所述第二通知消息中携带有将所述第一非目标接口设置为工作状态的信息;
所述设置单元,还用于将所述第二非目标接口设置为工作状态,并通过所述第二非目标接口向所述第一网络设备发送第二响应消息,以便使所述第二网络设备恢复正常工作模式,所述第二响应消息中携带有将所述第二非目标接口设置为工作状态的信息。
在第四方面的第三种可能的实现方式中,
所述处理单元中包括的计算模块,还用于修改所述第二目标接口上的待发送数据包的哈希算法,得到与所述指定物理接口对应的第二哈希值;
所述处理模块,还用于将所述待发送数据包通过所述第二哈希值对应的指定物理接口进行发送。
本发明实施例提供的一种Trunk组网下的节能方法和装置,在指定时刻点,检测指定物理接口上发送的数据流量总和,当在连续的第一预设个数的指定时刻点均检测到所述数据流量总和低于触发门限时,将所述指定物理接口上的待发送数据包切换到第一目标接口上进行发送,并通过各个非目标接口向第二网络设备发送第一通知消息,然后通过所述各个非目标接口接收所述第二网络设备发送的第一响应消息,并将所述第一网络设备中的非目标接口设置为非工作状态,以便使所述第一网络设备处于节能工作模式。本发明实施例解决了现有技术中利用Trunk组网时,无法实现网络设备的有效节能的问题,实现了网络设备的有效节能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的一种Trunk组网下的节能方法的流程图;
图2为本发明实施例1提供的另一种Trunk组网下的节能方法的流程图;
图3为本发明实施例1提供的又一种Trunk组网下的节能方法的流程图;
图4为本发明实施例2提供的一种Trunk组网下的节能装置的结构图;
图5为本发明实施例2提供的一种Trunk组网下的节能装置中处理单元的结构图;
图6为本发明实施例2提供的另一种Trunk组网下的节能装置的结构图;
图7为本发明实施例2提供的另一种Trunk组网下的节能装置中处理单元的结构图;
图8为本发明实施例3提供的一种网络设备的结构图;
图9为本发明实施例3提供的另一种网络设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在实现本发明实施例之前,当Trunk组网是基于LACP(LinkAggregationControlProtocol,链路汇聚控制协议)运行时,Trunk中的两台网络设备在运行之前,将配置各自的优先级,并在相互发送LACP报文时,将优先级携带在报文中,以便通知接收方,发送方的优先级。其中,优先级高的网络设备为主设备,负责控制物理接口的切换;若优先级相同,则通过判断报文中携带的MAC地址,MAC地址小的网络设备为主设备,例如,在Trunk中有第一网络设备和第二网络设备,当第一网络设备的优先级高于第二网络设备时,在两个设备相互发送LACP报文之后,双方就已经知道所述第一网络设备为主设备,从而由第一网络设备负责控制物理接口的切换;或者,当两个网络设备的优先级相同时,当第一网络设备的MAC地址小于第二网络设备的MAC地址时,在两个设备相互发送LACP报文之后,双方根据收到报文的MAC地址的大小,确定所述第一网络设备为主设备,从而由第一网络设备负责控制物理接口的切换。在这里确定两台网络设备的主备关系,并不限定于上述两种方式,可以利用现有技术中的任何方式实现。另外,也可以基于其他协议来运行Trunk。
如图1所示,本发明实施例提供的一种Trunk组网下的节能方法,其中的第一网络设备即为上述的主设备,来控制接口的切换和整网进入节能工作模式,所述方法包括如下步骤:
101、在指定时刻点,第一网络设备检测指定物理接口上发送的数据流量总和,所述指定物理接口为所述第一网络设备中指定Trunk下的所有物理接口。
所述指定时刻点为网络管理员预先设置的,例如,9:00,9:01,9:02……分别检测一次指定物理接口上发送的数据流量总和。在所述指定时刻点,检测所述第一网络设备中指定Trunk下的所有物理接口上发送的数据流量总和。例如,所述指定Trunk组网下有8个物理接口,则检测所述8个物理接口上发送的数据流量总和。
102、当在连续的第一预设个数的指定时刻点均检测到所述指定物理接口上的数据流量总和低于触发门限时,所述第一网络设备将所述指定物理接口上的待发送数据包切换到目标接口上进行发送,所述第一预设个数的指定时刻点之间的时间间隔均相同,所述触发门限低于所述第一网络设备中指定Trunk下的任意一个物理接口的带宽值,所述目标接口为所述第一网络设备中所述Trunk下的预设个数的物理接口。
例如,所述连续的第一预设个数设为3,当所述第一网络设备中指定Trunk下的物理接口的带宽值为1G时,触发门限设为100M,则当在连续3次的指定时刻点均检测到所述数据流量总和低于100M时,说明当前第一网络设备上的数据流量很低,应该切换为节能工作模式,则将所述指定物理接口上的待发送数据包切换到目标接口上进行发送。
其中,所述目标接口的个数可以由网络管理员预先设置,若网络管理员希望尽可能节能,则将待发送数据包切换到一个物理接口上进行发送,如果网络管理员希望安全性更高一些,则可以切换到多于1个的物理接口上进行发送。
在本发明实施例的一种实现方式中,提供一种Trunk组网下的节能方法,上述步骤102中,所述将所述指定物理接口上的待发送数据包切换到目标接口上进行发送,可通过下述步骤实现:
a、修改所述指定物理接口上的待发送数据包的哈希算法,得到与所述第一网络设备的目标接口对应的第一哈希值;
b、将所述待发送数据包通过所述第一哈希值对应的目标接口进行发送。
网络设备上数据的转发是针对每个数据包进行的,当一个数据包到达一个网络设备时,网络设备通过现有技术中的哈希算法,根据数据包中的MAC地址、IP地址或者端口号,计算得到所述数据包将要发送的物理接口对应的哈希值。当进行接口切换时,只是修改哈希算法,从而得到想要的物理接口对应的哈希值,数据包本身并没有变化。例如,所述网络设备有8个物理接口,在接口切换之前,通过哈希算法,得到一个哈希值,对于8个物理接口分别对应得到0、1、2、3、……7总共8个哈希值,从而确定数据包从哪个物理接口发送出去,若某个待发送数据包经过哈希计算得到哈希值为2,则从第三个物理接口发送出去。当进行接口切换时,修改所有待发送数据包的哈希算法,得到哈希值为0,则将所有数据包通过对应哈希值为0的第一物理接口发送出去。
当所述目标接口包括多个物理接口时,所述第一哈希值对应的目标接口会随着数据包的不同而发生变化。
103、所述第一网络设备通过第一非目标接口向第二网络设备发送第一通知消息,所述第一非目标接口为所述第一网络设备中所述Trunk下除所述目标接口以外的物理接口,所述第一通知消息中携带有将所述第一非目标接口预设为非工作状态的信息。
所述第一非目标接口可以为一个或多个。例如,当所述第一网络设备中所述Trunk下的所有物理接口有8个,所述目标接口设为1个物理接口时,则剩余7个物理接口均为所述第一非目标接口。
为了保证在接口切换时不丢包,则先将所有待发送数据包切换到目标接口进行发送,并通过剩余的7个第一非目标接口分别向第二网络设备发送第一通知消息,以便通知所述第二网络设备,第一网络设备中的第一非目标接口将要设为非工作状态,不再发送数据,但在切换的过程中仍然可以接收所述第二网络设备发送的数据。例如,第一网络设备通过第一非目标接口向第二网络设备发送第一通知消息时,所述第一通知消息携带有将所述第一非目标接口预设为非工作状态的信息。
其中,当本实施例Trunk组网是基于LACP协议时,所述第一通知消息为LACP消息,并在该消息中携带有将所述第一非目标接口预设为非工作unselect状态的信息。
104、所述第一网络设备通过所述第一非目标接口接收所述第二网络设备发送的第一响应消息,所述第一响应消息中携带有将所述第二网络设备中第二非目标接口设置为非工作状态的信息,所述第一非目标接口和所述第二非目标接口互为所述Trunk下的对应接口。
当所述第一网络设备的第一非目标接口接收到所述第二网络设备发送的第一响应消息时,表明所述第二网络设备在接收到所述第一网络设备发送的第一通知消息后,已经将其所有物理接口上的待发送数据包也切换到与所述第一目标接口对应的第二目标接口上进行发送,并且所述第二网络设备中所述Trunk下的第二非目标接口设置为非工作状态,不再发送和接收数据,保证与所述第一网络设备的一致性,并且避免了丢包现象。其中,所述第一非目标接口和所述第二非目标接口互为所述Trunk下的对应接口。
105、所述第一网络设备将所述第一非目标接口设置为非工作状态,以便使所述第一网络设备处于节能工作模式。
由于所述第二网络设备的第二非目标接口已经不再发送数据了,所以将所述第一网络设备中的第一非目标接口设置为非工作状态,不再接收数据。此时,所述第一网络设备中只有目标接口处于工作中,使得所述第一网络设备处于节能工作模式。
本发明实施例提供的一种Trunk组网下的节能方法,在指定时刻点,检测指定物理接口上发送的数据流量总和,当在连续的第一预设个数的指定时刻点均检测到所述数据流量总和低于触发门限时,将所述指定物理接口上的待发送数据包切换到目标接口上进行发送,并通过第一非目标接口向第二网络设备发送第一通知消息,然后通过所述第一非目标接口接收所述第二网络设备发送的第一响应消息,并将所述第一网络设备中的第一非目标接口设置为非工作状态,以便使所述第一网络设备处于节能工作模式。本发明实施例解决了现有技术中利用Trunk组网时,无法实现网络设备的有效节能的问题,实现了网络设备的有效节能。
相应的,如图2所示,本发明实施例还提供一种Trunk组网下的节能方法,下述中的第二网络设备为Trunk中,除了作为主设备的第一网络设备的另一台设备,配合所述第一网络设备实现整网的节能,所述方法包括如下步骤:
201、第二网络设备接收第一网络设备发送的第一通知消息,所述第一通知消息中携带有将所述第一网络设备中的第一非目标接口预设为非工作状态的信息,所述第一非目标接口为所述第一网络设备中所述Trunk下除第一目标接口以外的物理接口
202、所述第二网络设备将接收到所述第一通知消息的物理接口,确定为所述第二网络设备中所述Trunk下的第二非目标接口,所述第一非目标接口和所述第二非目标接口互为所述Trunk下的对应接口。
在所述第二网络设备中,将接收到所述第一通知消息的物理接口确定为所述第二网络设备中指定Trunk下的第二非目标接口。其中,第一网络设备中的第一非目标接口与第二网络设备中的第二非目标接口互为所述Trunk下的对应接口,两个非目标接口通过一条链路连接。
203、所述第二网络设备将所述第二网络设备中指定物理接口上的待发送数据包切换到所述第二目标接口上进行发送,所述指定物理接口为所述第二网络设备中所述Trunk下的所有物理接口,所述第二目标接口为所述第二网络设备中所述Trunk下除所述第二非目标接口以外的预设个数的物理接口。
由于从所述第一网络设备发送的第一通知消息可知,第一网络设备中的第一非目标接口将要设置为非工作状态,由于所述第一网络设备和第二网络设备之间的物理接口是一一对应的,且通过一条链路连接,则所述第二网络设备将没有接收到所述第一通知消息的物理接口设为第二目标接口,将所述第二网络设备中所述Trunk下的指定物理接口上的待发送数据包切换到所述第二目标接口上进行发送。
在本发明实施例的一种实现方式中,提供一种Trunk组网下的节能方法,上述步骤203中,所述将所述第二网络设备中指定物理接口上的待发送数据包切换到所述第二网络设备的第二目标接口上进行发送包括:
c、修改所述指定物理接口上的待发送数据包的哈希算法,得到与所述第二网络设备的第二目标接口对应的第二哈希值;
d、将所述待发送数据包通过所述第二哈希值对应的第二目标接口进行发送。
实现方法与步骤a和步骤b所示的修改哈希算法,得到对应的哈希值的步骤类似,在这里不再赘述。
204、所述第二网络设备通过所述第二非目标接口向所述第一网络设备发送第一响应消息,所述第一响应消息中携带有将所述第二非目标接口设置为非工作状态的信息;
205、所述第二网络设备将所述第二非目标接口设置为非工作状态,以便使所述第二网络设备处于节能工作模式。
所述第二网络设备通过所述第二非目标接口向所述第一网络设备发送第一响应消息,然后将所述第二网络设备中的非目标接口设置为非工作状态,以使所述第二网络设备上的所述第二非目标接口不再向所述第一网络设备发送数据,并且使得第一网络设备中的第一非目标接口设置为非工作状态。从而所述第一网络设备与所述第二网络设备中只有所述预设个数的物理接口进行数据传输,第一网络设备和第二网络设备均处于节能工作模式,则整网也就实现了节能。其中,所述第二非目标接口可以是一个或多个。
本发明实施例提供的一种Trunk组网下的节能方法,Trunk中的第二网络设备接收第一网络设备发送的第一通知消息,并将接收到所述第一通知消息的物理接口,确定为第二网络设备中指定Trunk下的第二非目标接口,然后将所述第二网络设备中指定物理接口上的待发送数据包切换到所述第二网络设备的第二目标接口上进行发送,最后通过第二非目标接口向所述第一网络设备发送第一响应消息,并将所述第二非目标接口设置为非工作状态,以便使所述第二网络设备处于节能工作模式。本发明实施例解决了现有技术中利用Trunk组网时,无法实现网络设备的有效节能的问题,实现了网络设备的有效节能。
在本发明实施例的一种实现方式中,提供一种Trunk组网下的节能方法,如图3所示,在Trunk组网处于节能工作模式之后,即所述Trunk中的第一网络设备和第二网络设备通过运行图1和图2所述方法处于节能工作模式之后,所述方法还包括如下步骤:
301、在所述指定时刻点,第一网络设备检测所述第一目标接口上发送的数据流量总和。
在本发明实施例中,所述第一网络设备一直都在所述指定时刻点,检测处于工作状态的物理接口上发送的数据流量总和。当所述第一网络设备处于节能工作模式时,就检测第一目标接口上发送的数据流量总和。所述指定时刻点为网络管理员预先设置的,例如,9:00,9:01,9:02……分别检测一次所述第一目标接口上发送的数据流量总和。
302、当在连续的第二预设个数的指定时刻点均检测到所述第一目标接口上发送的数据流量总和高于恢复门限时,所述第一网络设备将所述第一非目标接口设置为工作状态,所述第二预设个数的指定时刻点之间的时间间隔均相同,所述恢复门限低于所述第一网络设备中所述Trunk下的任意一个物理接口的带宽值,且高于所述触发门限。
为了避免在检测数据流量总和时,出现临近所述触发门限值反复震荡的现象,则对应恢复正常工作模式,设置恢复门限。只有在所述数据流量总和高于所述恢复门限时,才启动恢复正常工作模式的进程。
例如,所述连续的第二预设个数设为4,当所述第一网络设备中指定Trunk下的物理接口的带宽值为1G时,恢复门限设为500M,则当在连续4次的指定时刻点均检测到所述第一目标接口上发送的数据流量总和高于500M时,说明当前第一网络设备上的数据流量比较高,应该切换为正常工作模式。同时,为了保证不会出现丢包现象,先将所述第一网络设备中的第一非目标接口设置为工作状态,表明所述第一网络设备中的第一非目标接口可以接收数据。
另外,当所述第一网络设备接收到所述第一目标接口的故障指示时,也要将所述第一网络设备中的第一非目标接口设置为工作状态,所述故障指示表示所述第一目标接口发生故障。
利用现有技术中,当所述第一网络设备发现所述第一目标接口发生故障时,则也要将所述第一网络设备中的第一非目标接口设置为工作状态,确保数据的正常传输。
303、所述第一网络设备通过所述第一非目标接口向所述第二网络设备发送第二通知消息,所述第二通知消息中携带有将所述第一非目标接口设置为工作状态的信息。
当所述第一网络设备中的第一非目标接口设置为工作状态后,要通过发送第二通知消息,通知所述第二网络设备,所述第一网络设备中的各个非目标接口设置为工作状态,可以向各个非目标接口发送数据。
其中,当本实施例Trunk组网是基于LACP协议时,所述第二通知消息为LACP消息,并在该消息中携带有将所述第一非目标接口设置为工作select状态的信息。
304、当所述第二网络设备接收到所述第一网络设备发送的第二通知消息时,将所述第二目标接口上的待发送数据包切换到所述指定物理接口上进行发送,所述第二通知消息中携带有将所述第一非目标接口设置为工作状态的信息。
当所述第二网络设备接收到所述第二通知消息时,表明所述第一网络设备中的第一非目标接口可以接收数据,则所述第二网络设备将所述第二目标接口上的待发送数据包切换到所述指定物理接口上进行发送,具体的实现步骤如下所示:
e、修改所述第二目标接口上的待发送数据包的哈希算法,得到与所述指定物理接口分别对应的第三哈希值;
f、将所述待发送数据包通过所述第三哈希值分别对应的指定物理接口进行发送。
通过现有技术中的哈希算法,根据数据包中的MAC地址、IP地址或者端口号,计算得到所述数据包将要发送的物理接口对应的哈希值。当进行接口切换时,只是修改哈希算法,从而得到想要的物理接口对应的哈希值,数据包本身并没有变化。例如,所述网络设备有8个物理接口,对于8个物理接口分别对应0、1、2、3、……7总共8个哈希值,当所述第二目标接口为1个,且对应的哈希值为0,则在所述第二网络设备处于节能工作模式时,每个发送的数据包对应的哈希值均为0,当要切换为正常工作模式时,修改每个待发送的数据包的哈希算法,得到对应8个物理接口的哈希值中的任意一个,进行数据的传输。
305、所述第二网络设备将所述第二非目标接口设置为工作状态,并通过所述第二非目标接口向所述第一网络设备发送第二响应消息,以便使所述第二网络设备恢复正常工作模式,所述第二响应消息中携带有将所述第二非目标接口设置为工作状态的信息。
当所述第二网络设备将待发送的数据包切换为从所有物理接口进行发送时,将第二非目标接口设置为工作状态,以便将数据发送出去。并通过所述第二非目标接口向所述第一网络设备发送第二响应消息,以使得所述第一网络设备知道所述第二网络设备的第二非目标接口处于工作状态,不但能够发送数据,还可以接收数据。
其中,当本实施例Trunk组网是基于LACP协议时,所述第二响应消息为LACP消息,并在该消息中携带有将所述第二非目标接口设置为工作select状态的信息。
至此,所述第二网络设备恢复为正常工作模式。
306、所述第一网络设备接收所述第二网络设备发送的第二响应消息,所述第二响应消息中携带有将所述第二非目标接口设置为工作状态的信息;
307、所述第一网络设备将所述第一目标接口上的待发送数据包切换到所述指定物理接口上进行发送,以便使所述第一网络设备恢复正常工作模式。
当所述第一网络设备接收到第二响应消息时,说明所述第二网络设备中的第二非目标接口可以接收数据,则将所述第一目标接口上的待发送数据包切换到所述第一网络设备中所述Trunk下的所有物理接口上进行发送,具体实现步骤如下所示:
g、修改所述第一目标接口上的待发送数据包的哈希算法,得到与所述指定物理接口分别对应的第四哈希值;
h、将所述待发送数据包通过所述第四哈希值分别对应的指定物理接口进行发送。
实现方法与上述步骤e和步骤f中修改哈希算法,得到对应的哈希值的步骤类似,在这里不再赘述。
另外,由于设置了两个门限值,触发门限和恢复门限,当在所述指定时刻点,检测到所述第一网络设备中指定物理接口上发送的数据流量总和高于所述触发门限,且低于所述恢复门限时,或者检测到所述第一目标接口上发送的数据流量总和高于所述触发门限,且低于所述恢复门限时,保持所述第一网络设备的当前工作模式不变。
例如,当所述Trunk处于正常工作模式时,在所述指定时刻点,所述第一网络设备检测到所述第一网络设备中指定物理接口上发送的数据流量总和高于所述触发门限,且低于所述恢复门限时,保持所述第一网络设备的当前工作模式不变,则对应的第二网络设备的工作模式也不会改变;
或者,所述Trunk处于节能工作模式时,在所述指定时刻点,所述第一网络设备检测到所述第一目标接口上发送的数据流量总和高于所述触发门限,且低于所述恢复门限时,保持所述第一网络设备的当前工作模式不变,则对应的第二网络设备的工作模式也不会改变。
上述实施例中的第一网络设备和第二网络设备均为交换机,或者均为路由器,这里不做限定。
本发明实施例提供的一种Trunk组网下的节能方法,解决了现有技术中利用Trunk组网时,无法实现网络设备的有效节能的问题,实现了网络设备的有效节能,而且确保在工作模式切换的过程中,不会出现丢包现象。
实施例2
本发明实施例提供一种Trunk组网下的节能装置40,如图4所示,包括检测单元41、处理单元42、发送单元43、接收单元44和设置单元45。
其中,检测单元41,用于在指定时刻点,检测指定物理接口上发送的数据流量总和,所述指定物理接口为第一网络设备中指定Trunk下的所有物理接口;
处理单元42,当所述检测单元在连续的第一预设个数的指定时刻点均检测到所述数据流量总和低于触发门限时,将所述指定物理接口上的待发送数据包切换到目标接口上进行发送,所述第一预设个数的指定时刻点之间的时间间隔均相同,所述触发门限低于所述第一网络设备中所述Trunk下的任意一个物理接口的带宽值,所述目标接口为所述第一网络设备中所述Trunk下的预设个数的物理接口;
发送单元43,用于当所述处理单元将所述指定物理接口上的待发送数据包切换到所述目标接口上进行发送之后,通过第一非目标接口向第二网络设备发送第一通知消息,所述第一非目标接口为所述第一网络设备中所述Trunk下除所述目标接口以外的物理接口,所述第一通知消息中携带有将所述第一非目标接口预设为非工作状态的信息;
接收单元44,用于通过所述第一非目标接口接收所述第二网络设备发送的第一响应消息,所述第一响应消息中携带有将所述第二网络设备中第二非目标接口设置为非工作状态的信息,所述第一非目标接口和所述第二非目标接口互为所述Trunk下的对应接口;
设置单元45,用于将所述第一非目标接口设置为非工作状态,以便使所述第一网络设备处于节能工作模式。
本发明实施例提供的一种Trunk组网下的节能装置,在指定时刻点,检测指定物理接口上发送的数据流量总和,当在连续的第一预设个数的指定时刻点均检测到所述数据流量总和低于触发门限时,将所述指定物理接口上的待发送数据包切换到目标接口上进行发送,并通过第一非目标接口向第二网络设备发送第一通知消息,然后通过所述第一非目标接口接收所述第二网络设备发送的第一响应消息,并将所述第一网络设备中的第一非目标接口设置为非工作状态,以便使所述第一网络设备处于节能工作模式。本发明实施例解决了现有技术中利用Trunk组网时,无法实现网络设备的有效节能的问题,实现了网络设备的有效节能。
可选的,如图5所示,所述处理单元42包括:
计算模块51,用于修改所述指定物理接口上的待发送数据包的哈希算法,得到与所述第一网络设备的目标接口对应的第一哈希值;
处理模块52,用于将所述待发送数据包通过所述计算模块得到的第一哈希值对应的目标接口进行发送。
可选的,所述检测单元,还用于在所述指定时刻点,检测所述目标接口上发送的数据流量总和;
所述设置单元,还用于当所述检测单元在连续的第二预设个数的指定时刻点均检测到所述目标接口上发送的数据流量总和高于恢复门限时,将所述第一非目标接口设置为工作状态,所述第二预设个数的指定时刻点之间的时间间隔均相同,所述恢复门限低于所述第一网络设备中所述Trunk下的任意一个物理接口的带宽值,且高于所述触发门限;
所述发送单元,还用于通过所述第一非目标接口向所述第二网络设备发送第二通知消息,所述第二通知消息中携带有将所述第一非目标接口设置为工作状态的信息;
所述接收单元,还用于接收所述第二网络设备发送的第二响应消息,所述第二响应消息中携带有将所述第二非目标接口设置为工作状态的信息;
所述处理单元,还用于将所述目标接口上的待发送数据包切换到所述指定物理接口上进行发送,以便使所述第一网络设备恢复正常工作模式。
可选的,所述设置单元,还用于当所述接收单元接收到所述目标接口的故障指示时,将所述第一非目标接口设置为工作状态,所述故障指示表示所述目标接口发生故障。
可选的,所述处理单元中包括的计算模块,还用于修改所述目标接口上的待发送数据包的哈希算法,得到与所述指定物理接口对应的第二哈希值;
所述处理模块,还用于将所述待发送数据包通过所述第二哈希值对应的指定物理接口进行发送。
可选的,所述处理单元,还用于当所述检测单元在所述指定时刻点,检测到所述第一网络设备中指定物理接口上发送的数据流量总和高于所述触发门限,且低于所述恢复门限时,或者检测到所述目标接口上发送的数据流量总和高于所述触发门限,且低于所述恢复门限时,保持所述第一网络设备的当前工作模式不变。
相应的,如图6所示,本发明实施例提供一种Trunk组网下的节能装置60,包括接收单元61、确定单元62、处理单元63、发送单元64和设置单元65。
其中,接收单元61,用于接收第一网络设备发送的第一通知消息,所述第一通知消息中携带有将所述第一网络设备中的第一非目标接口预设为非工作状态的信息,所述第一非目标接口为所述第一网络设备中指定Trunk下除第一目标接口以外的物理接口;
确定单元62,用于将接收到所述第一通知消息的物理接口,确定为第二网络设备中所述Trunk下的第二非目标接口,所述第一非目标接口和所述第二非目标接口互为所述Trunk下的对应接口;
处理单元63,用于将所述第二网络设备中指定物理接口上的待发送数据包切换到所述第二目标接口上进行发送,所述指定物理接口为所述第二网络设备中所述Trunk下的所有物理接口,所述第二目标接口为所述第二网络设备中所述Trunk下除所述第二非目标接口以外的预设个数的物理接口;
发送单元64,用于通过所述第二非目标接口向所述第一网络设备发送第一响应消息,所述第一响应消息中携带有将所述第二非目标接口设置为非工作状态的信息;
设置单元65,用于将所述第二非目标接口设置为非工作状态,以便使所述第二网络设备处于节能工作模式。
本发明实施例提供的一种Trunk组网下的节能装置,接收第一网络设备发送的第一通知消息,并将接收到所述第一通知消息的物理接口,确定为第二网络设备中指定Trunk下的第二非目标接口,然后将所述第二网络设备中指定物理接口上的待发送数据包切换到所述第二网络设备的第二目标接口上进行发送,最后通过第二非目标接口向所述第一网络设备发送第一响应消息,并将所述第二非目标接口设置为非工作状态,以便使所述第二网络设备处于节能工作模式。本发明实施例解决了现有技术中利用Trunk组网时,无法实现网络设备的有效节能的问题,实现了网络设备的有效节能。
可选的,如图7所示,所述处理单元63包括:
计算模块71,用于修改所述指定物理接口上的待发送数据包的哈希算法,得到与所述第二网络设备的第二目标接口对应的第一哈希值;
处理模块72,用于将所述待发送数据包通过所述计算模块得到的第一哈希值对应的第二目标接口进行发送。
可选的,所述处理单元,,还用于当所述接收单元接收到所述第一网络设备发送的第二通知消息时,将所述第二目标接口上的待发送数据包切换到所述指定物理接口上进行发送,所述第二通知消息中携带有将所述第一非目标接口设置为工作状态的信息;
所述设置单元,还用于将所述第二非目标接口设置为工作状态,并通过所述第二非目标接口向所述第一网络设备发送第二响应消息,以便使所述第二网络设备恢复正常工作模式,所述第二响应消息中携带有将所述第二非目标接口设置为工作状态的信息。
可选的,所述处理单元中包括的计算模块,还用于修改所述第二目标接口上的待发送数据包的哈希算法,得到与所述指定物理接口对应的第二哈希值;
所述处理模块,还用于将所述待发送数据包通过所述第二哈希值对应的指定物理接口进行发送。
上述实施例中的装置40和装置60均为交换机,或者均为路由器,这里不做限定。
所述装置40和装置60的操作过程,参见上述Trunk下的节能方法的处理过程。
实施例3
本发明实施例提供一种网络设备,如图8所示,所述网络设备80包括存储器81、传输模块82和处理器83。
其中,存储器81,用于存储指令和待发送数据包;
传输模块82,用于收发消息和数据包;
处理器83,用于执行存储器81中的指令,具体执行:
在指定时刻点,检测指定物理接口上发送的数据流量总和,所述指定物理接口为第一网络设备中指定链路聚合Trunk下的所有物理接口;
当在连续的第一预设个数的指定时刻点均检测到所述指定物理接口上的数据流量总和低于触发门限时,将所述指定物理接口上的待发送数据包切换到目标接口上进行发送,所述第一预设个数的指定时刻点之间的时间间隔均相同,所述触发门限低于所述第一网络设备中指定Trunk下的任意一个物理接口的带宽值,所述目标接口为所述第一网络设备中所述Trunk下的预设个数的物理接口;
通过第一非目标接口向第二网络设备发送第一通知消息,所述第一非目标接口为所述第一网络设备中所述Trunk下除所述目标接口以外的物理接口,所述第一通知消息中携带有将所述第一非目标接口预设为非工作状态的信息;
通过所述第一非目标接口接收所述第二网络设备发送的第一响应消息,所述第一响应消息中携带有将所述第二网络设备中第二非目标接口设置为非工作状态的信息,所述第一非目标接口和所述第二非目标接口互为所述Trunk下的对应接口;
将所述第一非目标接口设置为非工作状态,以便使所述第一网络设备处于节能工作模式。
本发明实施例提供的一种网络设备,在指定时刻点,检测指定物理接口上发送的数据流量总和,当在连续的第一预设个数的指定时刻点均检测到所述数据流量总和低于触发门限时,将所述指定物理接口上的待发送数据包切换到目标接口上进行发送,并通过第一非目标接口向第二网络设备发送第一通知消息,然后通过所述第一非目标接口接收所述第二网络设备发送的第一响应消息,并将所述第一网络设备中的第一非目标接口设置为非工作状态,以便使所述第一网络设备处于节能工作模式。本发明实施例解决了现有技术中利用Trunk组网时,无法实现网络设备的有效节能的问题,实现了网络设备的有效节能。
可选的,所述处理器83,还用于执行:
修改所述指定物理接口上的待发送数据包的哈希算法,得到与所述第一网络设备的目标接口对应的第一哈希值;
将所述待发送数据包通过所述第一哈希值对应的目标接口进行发送。
可选的,所述处理器83,还用于执行:
在所述指定时刻点,检测所述目标接口上发送的数据流量总和;
当在连续的第二预设个数的指定时刻点均检测到所述目标接口上发送的数据流量总和高于恢复门限时,将所述第一非目标接口设置为工作状态,所述第二预设个数的指定时刻点之间的时间间隔均相同,所述恢复门限低于所述第一网络设备中所述Trunk下的任意一个物理接口的带宽值,且高于所述触发门限;
通过所述第一非目标接口向所述第二网络设备发送第二通知消息,所述第二通知消息中携带有将所述第一非目标接口设置为工作状态的信息;
接收所述第二网络设备发送的第二响应消息,所述第二响应消息中携带有将所述第二非目标接口设置为工作状态的信息;
将所述目标接口上的待发送数据包切换到所述指定物理接口上进行发送,以便使所述第一网络设备恢复正常工作模式。
可选的,所述处理器83,还用于执行:
当接收到所述目标接口的故障指示时,将所述第一非目标接口设置为工作状态,所述故障指示表示所述目标接口发生故障。
可选的,所述处理器83,还用于执行:
修改所述目标接口上的待发送数据包的哈希算法,得到与所述指定物理接口对应的第二哈希值;
将所述待发送数据包通过所述第二哈希值对应的指定物理接口进行发送。
可选的,所述处理器83,还用于执行:
当在所述指定时刻点,检测到所述第一网络设备中指定物理接口上发送的数据流量总和高于所述触发门限,且低于所述恢复门限时,或者检测到所述目标接口上发送的数据流量总和高于所述触发门限,且低于所述恢复门限时,保持所述第一网络设备的当前工作模式不变。
相应的,本发明实施例还提供一种网络设备,如图9所示,所述网络设备90包括存储器91、传输模块92和处理器93。
其中,存储器91,用于存储指令和待发送数据包;
传输模块92,用于收发消息和数据包;
处理器93,用于执行存储器91中的指令,具体执行:
接收第一网络设备发送的第一通知消息,所述第一通知消息中携带有将所述第一网络设备中的第一非目标接口预设为非工作状态的信息,所述第一非目标接口为所述第一网络设备中指定Trunk下除第一目标接口以外的物理接口;
将接收到所述第一通知消息的物理接口,确定为第二网络设备中所述Trunk下的第二非目标接口,所述第一非目标接口和所述第二非目标接口互为所述Trunk下的对应接口;
将所述第二网络设备中指定物理接口上的待发送数据包切换到第二目标接口上进行发送,所述指定物理接口为所述第二网络设备中所述Trunk下的所有物理接口,所述第二目标接口为所述第二网络设备中所述Trunk下除所述第二非目标接口以外的预设个数的物理接口;
通过所述第二非目标接口向所述第一网络设备发送第一响应消息,所述第一响应消息中携带有将所述第二非目标接口设置为非工作状态的信息;
将所述第二非目标接口设置为非工作状态,以便使所述第二网络设备处于节能工作模式。
本发明实施例提供的一种网络设备,接收第一网络设备发送的第一通知消息,并将接收到所述第一通知消息的物理接口,确定为第二网络设备中指定Trunk下的第二非目标接口,然后将所述第二网络设备中指定物理接口上的待发送数据包切换到所述第二网络设备的第二目标接口上进行发送,最后通过所述第二非目标接口向所述第一网络设备发送第一响应消息,并将所述第二非目标接口设置为非工作状态,以便使所述第二网络设备处于节能工作模式。本发明实施例解决了现有技术中利用Trunk组网时,无法实现网络设备的有效节能的问题,实现了网络设备的有效节能。
可选的,所述处理器93,还用于执行:
修改所述指定物理接口上的待发送数据包的哈希算法,得到与所述第二网络设备的第二目标接口对应的第一哈希值;
将所述待发送数据包通过所述第一哈希值对应的第二目标接口进行发送。
可选的,所述处理器93,还用于执行:
当接收到所述第一网络设备发送的第二通知消息时,将所述第二目标接口上的待发送数据包切换到所述指定物理接口上进行发送,所述第二通知消息中携带有将所述第一非目标接口设置为工作状态的信息;
将所述第二非目标接口设置为工作状态,并通过所述第二非目标接口向所述第一网络设备发送第二响应消息,以便使所述第二网络设备恢复正常工作模式,所述第二响应消息中携带有将所述第二非目标接口设置为工作状态的信息。
可选的,所述处理器93,还用于执行:
修改所述第二目标接口上的待发送数据包的哈希算法,得到与所述指定物理接口对应的第二哈希值;
将所述待发送数据包通过所述第二哈希值对应的指定物理接口进行发送。
上述实施例中的网络设备80和网络设备90均为交换机,或者均为路由器,这里不做限定。
所述网络设备80和网络设备90的操作过程,参见上述Trunk组网下的节能方法的处理过程。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。