专利名称:一种对链路聚合组进行保护的方法和系统的制作方法
技术领域:
本发明涉及网络通信领域,特别涉及一种对链路聚合组进行保护的方法和系统。
背景技术:
现有技术的链路聚合组(LAG,Link Aggregation Group)是一种数据链路层技术,一般来说,链路聚合有两个最重要功能增加带宽和提供保护。通过将多条物理链路聚合起来,形成一条带宽更大的逻辑链路(链路聚合组),具有线性增加带宽、链路保护、负载分担等功能。静态链路聚合是人工创建的,创建之后可以增加、删除聚合组中的链路,链路聚合组是配置信息,用户可以改变。
现有技术中的链路聚合组的网络设备连接结构如图1所示,包括网络设备A和网络设备B,其中网络设备A的端口1~4分别与网络设备B的端口1~4进行连接,网络设备A的端口1~4为一个聚合组LAG1,网络设备B的端口1~4为一个聚合组LAG2。如果网络设备A的端口1~4和网络设备B的端口1~4均满足聚合条件,则这4条链路一起分担用户的业务流量。
如果链路聚合组中的某条链路失效,则将该条链路的业务转移到链路聚合组中的其它链路。但是如果链路聚合组中的失效链路过多,就可能导致链路聚合组所提供的带宽不能满足用户的带宽要求,而影响用户的业务。例如,用户期望的带宽为300Mbps,而网络设备A和网络设备B的链路聚合组中有两条链路失效,剩下的两条链路只能提供200Mbps的带宽,显然不能满足用户的需求。
而且,如果创建链路聚合组的设备出现故障,则会导致用户业务中断。例如,网络设备B出现故障,则会导致链路聚合组中的所有链路失效,不能给用户提供服务。
现有技术的缺点只能进行有限个数的端口业务转移,不能为用户提供可靠的带宽服务。
发明内容
为了提高接入业务的可靠性,本发明实施例提供了一种对链路聚合组进行保护的方法和系统。所述技术方案如下
一种对链路聚合组进行保护的方法,用于在第一设备、第二设备、第三设备间实现链路聚合组保护,所述第一设备、第二设备、第三设备均创建有链路聚合组,所述第一设备的链路聚合组中的一部分端口与所述第二设备的端口相连形成第一聚合组链路,所述第一设备的链路聚合组中的另一部分端口与所述第三设备的端口相连形成第二聚合组链路,所述第一聚合组链路为工作链路,所述方法包括检测所述第一聚合组链路,根据预先设置的倒换阈值,判断所述第一聚合组链路的工作带宽是否满足传输数据的需要,如果判断结果为不是,就进行链路倒换,将传输的数据从所述第一聚合组链路倒换到所述第二聚合组链路。
本发明实施例还提供了一种对链路聚合组进行保护的系统,用于在第一设备、第二设备、第三设备间实现链路聚合组保护,所述第一设备、第二设备、第三设备均创建有链路聚合组,所述第一设备的链路聚合组中的一部分端口与所述第二设备的端口相连形成第一聚合组链路,所述第一设备的链路聚合组中的另一部分端口与所述第三设备的端口相连形成第二聚合组链路,所述第一聚合组链路为工作链路,所述系统包括倒换阈值预设模块,用于根据传输数据的带宽需求预设倒换阈值;检测模块,用于检测所述第一聚合组链路,根据所述倒换阈值预设模块中的倒换阈值判断所述第一聚合组链路的工作带宽是否满足传输数据的需要;链路倒换模块,用于当所述检测模块检测到所述第一聚合组链路的工作带宽不满足传输数据的需要时,进行链路倒换,将传输的数据从所述第一聚合组链路倒换到所述第二聚合组链路。
本发明实施例的技术方案至少带来以下有益效果通过阈值设置以及扩展LACP协议,既可提高带宽的接入服务的可靠性,又实现了板级端口保护同时,能够与标准链路聚合设备对接,兼容性好,只需对方设备支持静态LAG,即可完成链路聚合组保护。
图1是现有技术中链路聚合组网络设备连接结构示意图;图2是本发明实施例提供的基于阈值的双归属LAG保护组网图;图3是本发明实施例提供的基于阈值的LAG倒换过程示意图;图4是本发明实施例提供的对链路聚合组进行保护的方法流程图;
图5是本发明实施例提供的选择逻辑算法的流程图;图6是本发明实施例提供的非恢复式选择逻辑算法的流程图;图7是本发明实施例提供的报文环回示意图;图8是本发明实施例对链路聚合组进行保护的系统示意图。
具体实施例方式
下面结合附图和具体实施例对本发明作进一步说明,但本发明不局限于以下具体实施方式
。
本发明实施例利用冗余设备提供基于阈值的双归属保护,在当前工作设备所提供的带宽达不到用户所需求的带宽或达不到所设定的阈值时,立即启动备用设备为用户提供带宽服务,以保证用户需求。
参见图4,本发明实施例提供了一种对链路聚合组进行保护的方法,其中,链路聚合组包括静态链路聚合组和手动链路聚合组,本实施例以静态链路聚合组为例,对静态链路聚合组进行保护的方法包括以下步骤步骤100用户设备按照双归属组网。双归属是一种常见的组网保护技术,在服务接入侧应用较多。选择三个设备,其中有一个设备作为冗余设备,进行冗余备份。参见图2,选择的三个设备分别为第一设备为设备A,第二设备为设备B,第三设备为设备C,将设备C作为进行冗余备份的设备。
步骤101对组网后的设备创建静态链路聚合组,并设置倒换阈值。
在设备A创建静态链路聚合组LAG1(A-1~A-8),设备B创建静态链路聚合组LAG2(B-1~B-4),设备C创建静态链路聚合组LAG3(C-1~C-4)。
预设设备A、设备B和设备C的倒换阈值为2,即工作链路的条数少于2条则发生倒换。
步骤102根据系统标识(SysID),和设备可用链路带宽查找是否有满足带宽的设备,如果有,执行步骤103,否则结束,本实施例中,SysID由系统优先级和系统媒体接入控制MAC地址两者构成。本实施例对于本端设备A来说,满足条件的设备为设备B和设备C。
步骤103在满足带宽的工作设备中选取SysID最高的设备为工作设备,确定第一聚合组链路和第二聚合组链路。
其中,设备B的SysID最高(设备A或设备C的SysID最高的情况与此类似),所以本端的设备A选择对端的设备B作为工作设备,链路初始状态全部正常,设备A和设备B之间的链路为第一聚合组链路,将设备C作为备用设备,设备A和设备C之间的链路为第二聚合组链路。
参见图2,此时设备A和设备B之间的四条链路开始正常工作,即开始传输协议报文。
步骤104当检测到工作链路的链路条数低于倒换阈值时,进行链路倒换,停止第一聚合组链路工作,开始启用第二聚合组链路工作。参见图3,设备A和设备B之间的第一聚合组链路有3条链路发生故障,工作链路只为1条,低于倒换阈值2,这时主动倒换到第二聚合组链路上,即设备A的A-5~A-8与设备C的C-1~C-4开始工作。
步骤104还可以通过检测链路聚合组的工作状态判断是否需要进行链路倒换。通常用AggOperState状态机表示链路聚合组的工作状态,具体有两种工作状态一个是连接(UP)状态,这种状态的链路聚合组的工作端口数目大于等于下限阈值,表示该链路聚合组可以提供MAC(Media Access Control,媒体接入控制)服务;另一个是无连接(DOWN)状态,这种状态的链路聚合组的工作端口数目小于下限阈值,表示该链路聚合组不能提供MAC服务。
如果AggOperState处于连接状态,则不需要进行链路倒换,如果AggOperState处于无连接状态,则需要进行链路倒换。
这样,需要新增一个AggOperState检测状态机对LAG的AggOperState状态机进行监控,当AggOperState状态发生连接/无连接时触发保护倒换动作。
以图3为例,上述第一聚合组链路与第二聚合组链路的倒换具体描述如下设备A与设备B之间工作链路(第一聚合组链路)发生故障或者设备B发生故障;则设备A与设备B都检测到工作链路小于倒换阈值,不能提供需要的带宽服务,因此主动向对端发送LACP(Link Aggregation Control Protocol,链路聚合控制协议)报文,即,设备A向设备B发送LACP报文,设备B向设备A发送LACP报文,通知对方剩下的链路不再工作;然后设备B上报PLL(Partial Link Loss,链路部分丢失)或TLL(Total Link Loss,链路全部丢失)告警;同时,设备A在第二聚合组链路(A-5~A-8)上发送LACP报文给设备C进行协商,等待设备C响应;当设备C收到LACP报文后向设备A回应,设备A、设备C之间的第二聚合组链路同步后进入工作状态。
其中PLL/TLL是LAG带宽部分丢失或全部丢失告警。
为了支持阈值倒换功能,需要对LACP的几个关键状态机—选择逻辑、MUX、PTX作一些扩展或修改。
参见图5,修改后的选择逻辑算法包括以下步骤步骤201选取对端SysID最高的设备,其中,SysID为系统聚合优先级,由系统优先级与系统Mac组成,值小为优。
步骤202判断本端SysID是否大于对端SysID,如果大于,执行步骤203;否则,执行步骤204。
步骤203根据本端设备确定参考端口。
参考端口指选择逻辑在选择过程中得到的一个最优端口,其它端口的状态以此端口为参考。其它端口需要与参考端口比较工作模式、优先级等。参考端口的选择需要考虑4个因素,按照优先级由高到低的顺序为收到报文的端口、全双工、速率较高、端口号较小。要求首先考虑优先级较高的因素。
步骤204根据对端设备确定参考端口。
步骤205根据参考端口,按照从高到低的顺序选择可以工作(Selected)的端口。选择的Selected端口能够转发用户报文。
端口ID由端口优先级与端口索引组成,值小为优。
步骤206判断Selected端口已连接的数目是否大于等于倒换阈值,如果是,选择逻辑结束;否则执行步骤207。
步骤207将Selected端口全部设置为非工作端口(Unselected),且排除本次所选的对端设备,返回步骤201,继续进行选择逻辑算法。
需要说明的是,本实施例中,该倒换阈值为工作链路的链路条数,在其它实施例中,倒换阈值也可以是工作链路的带宽,由于实现方法与本发明相同,故此处不再赘述。
参见图3,为了在进行链路倒换时,使A-4与B-4相连的链路不在工作,需要在原有MUX状态机上新增一个状态Inoperational(不可操作或非操作状态),用以表示由于聚合器受到倒换阈值限制,该端口暂时不能处于工作状态,但是不会从当前聚合器中分离。
当AggOperState状态机状态变化后,需要重新运行选择逻辑,以触发保护倒换。
为了增加系统的灵活性,本发明提供了支持恢复式(Revertive)和非恢复式(Non-revertive)两种保护模式的链路聚合组,用户可以自行设置保护模式。
以图提供的设备3为例,恢复式和非恢复式保护倒换行为如下恢复式倒换即正常的LACP协商倒换。设备B的3条链路全部恢复正常后,工作链路切换到设备B;图5描述的选择逻辑算法即为恢复式保护倒换行为;非恢复式倒换仅当工作链路DOWN、工作端口半双工、工作单板故障时发生倒换,其他情况下不倒换。即当第一聚合组链路的3条链路全部恢复正常后,工作链路仍保持在第二聚合组链路;恢复模式的差别体现在选择逻辑规则中。参见图6,为了使链路聚合组支持非恢复式模式,对图5的选择逻辑流程补充,具体步骤如下步骤301至步骤305同步骤201至步骤205,这里不再赘述。
步骤306判断Selected端口已连接的数目是否大于等于倒换阈值,如果是,执行步骤308;否则,执行步骤307。
步骤307将Selected端口全部设置为Unselected,且排除本次所选的对端设备,返回步骤301,继续进行选择逻辑算法。
步骤308根据用户设置的保护模式,判断这个链路聚合组是否恢复模式,如果是,执行步骤309;否则,结束选择逻辑。
步骤309判断AggOperState状态机的状态是否为已连接状态,如果是,执行步骤310;否则,结束选择逻辑。
步骤310保持所有端口可选(Select)状态不变。
在执行本发明实施例提供的技术方案时,如果只有设备B或设备C支持阈值倒换,而设备A不支持阈值倒换,可以通过以下两种方式触发设备A进行链路倒换。
第一种方式通过报文环回的方式触发倒换。参见图7,具体说明如下设备B检测到AggOperState状态机的状态为无连接状态后,B-4将A-4发送的报文直接返回给A-4;A-4通过检查接收到LACP报文,发现链路被“环回”了,此时再触发重新选择A-5~A-8工作。此方案倒换速度较快。
第二种方式修改现有的PTX状态机以实现触发倒换现有的PTX状态机负责维持链路连通状态检测,如果在一定时间内没有接收到对端的LACP报文,则认为链路状态为无连接状态,需要重新触发选择逻辑选择工作端口。通过修改PTX状态机,在AggOperState状态为无连接状态的情况下停止B-4端口周期性发送LACP报文,使A-4端口接收报文超时而重新选择。该方式倒换时间较慢,一般为报文超时时间。
还有一种特殊情况,两端设备都支持阈值倒换,但阈值取值不一致如果两端设备阈值取值不一致,必须要通过LACP协议协商使两端的状态一致,即两端同时为已连接或者无连接,如果对接的两设备A、B阈值取值不一致,协商结果将只有较小的倒换阈值的链路工作。例如设备A的倒换阈值为2,设备B的倒换阈值为3,设备A、设备B之间多于3条链路,则正常协商结果只有2条链路工作,导致AggOperState(A)的状态为已连接状态,AggOperState(B)的状态为无连接状态。按照本发明实施例的阈值倒换方案,设备B端发送LACP报文协商,设备A端也会处于无连接状态,使两端状态达到一致。
参见图8,本发明实施例还提供了一种对链路聚合组进行保护的系统,用于在第一设备、第二设备、第三设备间实现链路聚合组保护,第一设备、第二设备、第三设备均创建有链路聚合组,第一设备的链路聚合组中的一部分端口与第二设备的端口相连形成第一聚合组链路,第一设备的链路聚合组中的另一部分端口与第三设备的端口相连形成第二聚合组链路,第一聚合组链路为工作链路,系统包括倒换阈值预设模块,用于根据传输数据的带宽需求预设倒换阈值;检测模块,用于检测第一聚合组链路,根据倒换阈值预设模块中的倒换阈值判断第一聚合组链路的工作带宽是否满足传输数据的需要;链路倒换模块,用于当检测模块检测到第一聚合组链路的工作带宽不满足传输数据的需要时,进行链路倒换,将传输的数据从第一聚合组链路倒换到第二聚合组链路。
其中,链路倒换模块具体包括触发链路倒换单元,用于检测模块检测到第一聚合组链路的工作带宽不满足传输数据的需要时,触发第一设备或第二设备停止第一聚合组链路工作,启用第二聚合组链路工作;告警单元,用于第一聚合组链路停止传输报文后,第二设备上报告警信息。
系统还包括保护模式设置模块,用于设置链路聚合组的保护模式为恢复式或非恢复式。
保护模式为恢复式时,如果检测到第一聚合组链路已经恢复正常,第一设备或第三设备将触发链路倒换,第二聚合组链路停止传输报文,启用第一聚合组链路传输报文。
保护模式为非恢复式时,当第二聚合组链路的工作带宽不满足数据传输的需要时,触发链路倒换,第二聚合组链路停止传输报文,启用第一聚合组链路传输报文。
检测模块具体为检测状态机。
倒换阈值是工作链路的链路条数或工作链路的带宽。
以上所述的实施例,只是本发明的一种的具体实施方式
,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
权利要求
1.一种对链路聚合组进行保护的方法,用于在第一设备、第二设备、第三设备间实现链路聚合组保护,所述第一设备、第二设备、第三设备均创建有链路聚合组,所述第一设备的链路聚合组中的一部分端口与所述第二设备的端口相连形成第一聚合组链路,所述第一设备的链路聚合组中的另一部分端口与所述第三设备的端口相连形成第二聚合组链路,所述第一聚合组链路为工作链路,其特征在于,所述方法包括检测所述第一聚合组链路,根据预先设置的倒换阈值,判断所述第一聚合组链路的工作带宽是否满足传输数据的需要,如果判断结果为不是,就进行链路倒换,将传输的数据从所述第一聚合组链路倒换到所述第二聚合组链路。
2.如权利要求1所述的对链路聚合组进行保护的方法,其特征在于,所述方法具体包括所述第一聚合组链路工作后,所述第一设备或所述第二设备检测所述第一聚合组链路,根据所述倒换阈值判断所述第一聚合组链路的工作带宽是否满足传输数据的需要,如果不是,触发所述第一设备或所述第二设备停止所述第一聚合组链路工作,启用所述第二聚合组链路工作。
3.如权利要求1所述的对链路聚合组进行保护的方法,其特征在于,所述方法还包括所述第二设备上报告警信息。
4.如权利要求1所述的对链路聚合组进行保护的方法,其特征在于,所述方法还包括检测所述第一聚合组链路是否恢复正常,如果正常,所述第一设备或所述第三设备触发链路倒换,停止所述第二聚合组链路传输报文,启用所述第一聚合组链路传输报文;
5.如权利要求1所述的对链路聚合组进行保护的方法,其特征在于,所述方法还包括当所述第二聚合组链路的工作带宽低于所述倒换阈值时,触发链路倒换,停止所述第二聚合组链路传输报文,启用所述第一聚合组链路传输报文。
6.一种对链路聚合组进行保护的系统,用于在第一设备、第二设备、第三设备间实现链路聚合组保护,所述第一设备、第二设备、第三设备均创建有链路聚合组,所述第一设备的链路聚合组中的一部分端口与所述第二设备的端口相连形成第一聚合组链路,所述第一设备的链路聚合组中的另一部分端口与所述第三设备的端口相连形成第二聚合组链路,所述第一聚合组链路为工作链路,其特征在于,所述系统包括倒换阈值预设模块,用于根据传输数据的带宽需求预设倒换阈值;检测模块,用于检测所述第一聚合组链路,根据所述倒换阈值预设模块中的倒换阈值判断所述第一聚合组链路的工作带宽是否满足传输数据的需要;链路倒换模块,用于当所述检测模块检测到所述第一聚合组链路的工作带宽不满足传输数据的需要时,进行链路倒换,将传输的数据从所述第一聚合组链路倒换到所述第二聚合组链路。
7.如权利要求6所述的对链路聚合组进行保护的系统,其特征在于,所述链路倒换模块具体包括触发链路倒换单元,用于所述检测模块检测到所述第一聚合组链路的工作带宽不满足传输数据的需要时,触发所述第一设备或所述第二设备停止所述第一聚合组链路工作,启用所述第二聚合组链路工作;告警单元,用于所述第一聚合组链路停止传输报文后,所述第二设备上报告警信息。
8.如权利要求6所述的对链路聚合组进行保护的系统,其特征在于,所述系统还包括保护模式设置模块,用于设置链路聚合组的保护模式为恢复式或非恢复式。
9.如权利要求6所述的对链路聚合组进行保护的系统,其特征在于,所述检测模块具体为检测状态机。
10.如权利要求6所述的对链路聚合组进行保护的系统,其特征在于,所述倒换阈值是工作链路的链路条数或工作链路的带宽。
全文摘要
本发明提供了一种对链路聚合组进行保护的方法和系统,属于网络通信领域。为了提高接入业务的可靠性,本发明提供了一种对链路聚合组进行保护的方法,用于在第一设备、第二设备、第三设备间实现链路聚合组保护,所述方法包括根据所述倒换阈值判断工作链路的工作带宽是否满足传输数据的需要,如果不是,进行链路倒换。本发明还提供了一种对链路聚合组进行保护的系统,所述系统包括倒换阈值预设模块、检测模块和链路倒换模块。采用本发明所述方案可以提高接入业务的可靠性,进行板级端口保护,能够与标准链路聚合设备对接,兼容性好。
文档编号H04L29/06GK1997034SQ20061016778
公开日2007年7月11日 申请日期2006年12月21日 优先权日2006年12月21日
发明者吴志远 申请人:华为技术有限公司