一种检测不对称静态聚合的方法及设备的制作方法

文档序号:7818543阅读:202来源:国知局
一种检测不对称静态聚合的方法及设备的制作方法
【专利摘要】本申请提供了一种检测不对称静态聚合的方法和设备,在静态聚合组成员口使能邻居发现协议,通过静态聚合组成员口与对端设备建立邻居关系,接收携带邻居摘要信息的邻居发现协议报文,并根据所述邻居摘要信息中的相关内容判断其与静态聚合组的参考端口的相关信息是否一致,如果不一致,则静态聚合组不选中所述邻居所在的端口,阻塞所述邻居所在的端口。该方案简单通用,兼容性高。
【专利说明】一种检测不对称静态聚合的方法及设备

【技术领域】
[0001]本发明涉及通信【技术领域】,特别涉及一种检测不对称静态聚合的方法以及设备。

【背景技术】
[0002]以太网链路聚合简称链路聚合,它是通过将多条以太网链路捆绑在一起成为一条逻辑链路,从而实现增加链路带宽的目的,同时,这些捆绑在一起的链路通过相互间的备份,可以有效的提高链路的可靠性。
[0003]根据成员端口是否使能了LACP(Link Aggregat1n Control Protocol,链路汇聚控制协议),可以将链路聚合分为静态聚合和动态聚合两种模式。静态聚合不是标准技术,在实际应用中,有一些厂家设备不支持静态聚合,假设链路一端配置了静态聚合,另一端不支持,这样会使得链路两端设备双方不能互相感知,会导致出现聚合不对称的情况,从而影响业务的转发。


【发明内容】

[0004]本发明提供一种链路检测方法,包括以下步骤:
[0005]在静态聚合组成员口使能邻居发现协议;通过静态聚合组成员口与对端设备建立邻居关系,接收携带邻居摘要信息的邻居发现协议报文,所述邻居摘要信息至少包括:邻居端口的聚合使能状态和/或邻居端口所在的聚合组的ID ;解析所述邻居发现协议报文,获得该报文中携带的所述邻居摘要信息,判断所述邻居摘要信息中的相关内容与静态聚合组的参考端口的是否一致,如果不一致,则静态聚合组不选中所述邻居所在的端口,阻塞所述邻居所在的端口。
[0006]所述邻居摘要信息还进一步包括邻居设备的Chassis ID信息,所述邻居发现协议为 LLDP。
[0007]所述方法进一步包括:当有新的端口加入静态聚合组时,通过LLDP报文上报邻居摘要信息,如果摘要信息与聚合组的参考端口信息不一致,则新端口无法被选中。
[0008]所述方法进一步包括:如果一端口未收到邻居摘要信息,确定邻居摘要信息为空,判断与静态聚合组的参考端口的邻居摘要信息是否一致,如不一致,则不选中所述端口。
[0009]所述方法进一步包括:如果一端口收到多个邻居摘要信息,确定该端口连接了多个对端设备,判定与所述静态聚合组参考端口邻居摘要信息不一致,不选中所述端口。
[0010]基于同样的思想,本申请还提供了一种检测静态聚合的装置,包括以下模块:处理模块,用于在静态聚合组成员口使能邻居发现协议,通过静态聚合组成员口与对端设备建立邻居,接收携带邻居摘要信息的邻居发现协议报文,解析所述邻居发现协议报文,获得该报文中携带的所述邻居摘要信息,其中,所述邻居摘要信息至少包括:邻居端口的聚合使能状态和/或邻居端口所在的聚合组的ID ;判断模块,用于判断所述邻居摘要信息中的相关内容与静态聚合组参考端口的是否一致;聚合模块,用于当判断模块的判断结果为不一致时,不选中所述邻居所在的端口,阻塞所述邻居所在的端口。
[0011]所述处理模块还进一步用于当有新的端口加入静态聚合组时,通过LLDP报文上报邻居摘要信息,判断模块根据摘要信息判断与静态聚合组参考端口信息是否一致,如果不一致,聚合模块不选中所述新端口。
[0012]所述处理模块进一步用于当有端口未收到邻居摘要信息,确定邻居摘要信息为空,判断模块根据摘要信息判断与静态聚合组的参考端口的邻居摘要信息是否一致,如不一致,聚合模块不选中所述端口。
[0013]所述处理模块还用于当有端口收到多个邻居摘要信息,确定该端口连接了多个对端设备,判断模块根据摘要信息判定与所述静态聚合组参考端口邻居摘要信息不一致,聚合模块不选中所述端口。

【专利附图】

【附图说明】
[0014]图1是本申请提供的一个实施例的应用组网。
[0015]图2是本申请提供的设备的硬件逻辑结构图。
[0016]图3是本申请提供的一个实施例的流程图。
[0017]图4是本申请提供的又一个实施例的流程图。

【具体实施方式】
[0018]本申请提供一种解决网络中不对称静态聚合的方案,这个解决方案通过通用的协议传递两端设备信息来解决聚合链路两端无法通信互通的问题。比如说,当一个链路的两端设备,一个设备的端口配置了静态聚合,另一个设备的端口不支持静态聚合,通过本申请的解决方案可以提供一种协商机制,使得链路两端的设备知晓对端设备的聚合配置情况,从而能够充分发挥设备的性能,提供良好的网络应用服务。
[0019]在一个例子中,图1展示了这个检测不对称静态聚合的解决方案运作所需的典型网络架构。图1所示的网络架构包括网络设备SW11,网络设备SW13,网络设备SW15。这里的网络设备为网络中任意位置的设备,可以是接入层交换机,汇聚层交换机以及路由器等设备,只要涉及到端口汇聚性能,都有可能适用本申请的解决方案。在本申请给出示例中,Sffll的端口 Pl和P2分别与SW15的P5和P6相连,SW13的端口 P3和SW15的P4相连,在SW155侧,端口 P4,P5,P6配置了静态聚合,且端口 P5为参考端口。
[0020]请参考图2,其中网络设备SW15包括处理器151、内存152、非易失性存储器153以及网络接口 154,其中处理器151、内存152、非易失性存储器153以及网络接口 154之间通过内部总线155相连。所述网络设备SW15的处理器151从非易失性存储器153中将聚合判断控制逻辑的计算机指令读取到内存中运行。
[0021]请一并参考图3,所述网络设备SW15上运行的聚合判断控制逻辑包括处理模块,聚合模块以及判断模块,所述聚合判断控制逻辑在上述模块的共同作用下执行如下处理流程:
[0022]步骤311:处理模块在静态聚合组成员口使能邻居发现协议;
[0023]步骤313:处理模块通过静态聚合组成员口与对端设备建立邻居,接收携带邻居摘要信息的邻居发现协议报文,所述邻居摘要信息至少包括:邻居端口的聚合使能状态和/或邻居端口所在的聚合组的ID ;
[0024]步骤315:处理模块解析所述邻居发现协议报文,获得该报文中携带的所述邻居摘要信息并通知判断模块,判断模块判断所述邻居摘要信息中的相关内容与静态聚合组参考端口的是否一致,并将结果通知聚合模块,如果不一致,聚合模块不选中所述邻居所在的端口,阻塞所述邻居所在的端口。
[0025]在一个实施例中,所述处理模块还进一步用于当有新的端口加入静态聚合组时,通过LLDP报文上报邻居摘要信息,判断模块根据邻居摘要信息判断与静态聚合组参考端口信息是否一致,如果不一致,聚合模块不选中所述新端口。
[0026]所述处理模块进一步用于当有端口未收到邻居摘要信息,确定邻居摘要信息为空,判断模块根据邻居摘要信息判断与静态聚合组的成员口的邻居摘要信息是否一致,如不一致,聚合模块不选中所述端口。
[0027]所述处理模块还用于当有端口收到多个邻居摘要信息,确定该端口连接了多个对端设备,判断模块根据邻居摘要信息判定与所述静态聚合组参考端口邻居摘要信息不一致,聚合模块不选中所述端口。
[0028]参考图4,图4是本申请提供的一个具体的实例,以下结合图2的组网通过更为详细的例子来阐述网络设备SW15与其他网络设备SWll和网络设备SW13之间的配合工作过程。
[0029]步骤411,网络设备SW15在静态聚合组的成员口上使能邻居发现协议,并配置与静态聚合模块的联动。
[0030]在一个例子中,在步骤311之前,网络设备SWl5在自身的端口 P4、P5和P6配置了静态聚合,端口 P4、P5和P6为静态聚合组成员口,端口 P5为参考端口,网络设备SW15通过静态聚合组成员口将携带自身的设备信息的邻居发现报文发送给链路对端设备:网络设备SWll和网络设备SW13。在一个例子中,所述邻居发现报文可以是链路层发现协议LLDP报文,也可以是⑶P(Cisco Discovery Protocol)报文或其他类似协议的报文。本文以下的实施例均以LLDP报文为例。
[0031]步骤412:网络设备SW15在静态聚合组的成员口的LLDP邻居建立以后,获取收到的LLDP报文中携带的邻居摘要信息。
[0032]在一个例子中,网络设备15将自身的设备摘要信息写入LLDP TLV(类型长度值)中,自身的设备摘要信息包括但不限于:自身所在的Chassis ID,自身的端口聚合使能情况,端口所在的聚合组ID以及其他存在的可选的非对称聚合的判定条件。同样,链路对端的网络设备11和网络设备13也会向网络设备15发送邻居发现报文以建立邻居关系,所述邻居发现报文携带自身的设备摘要信息。
[0033]网络设备SW15收到来自链路对端的网络设备SWll和SW13的邻居设备摘要信息后,分别与对端的网络设备SWll和网络设备SW13建立LLDP邻居,同时收集网络设备SWll和SW13的邻居摘要信息,所述邻居摘要信息包括但不限于I)邻居的Chassis ID信息;2)邻居端口的聚合使能状态;3)邻居端口所在的聚合组ID ;4)其他可选的非对称聚合的判定条件。
[0034]步骤413:网络设备SW15根据获取的邻居摘要信息是否一致,判断是否进行聚合选中,如果摘要信息不一致,说明静态聚合的多个成员的邻居端口存在下列情况:不在同一台设备上,或者,未同时使能聚合,或者,未同时加入同一聚合组。
[0035]网络设备SW15根据获取的邻居摘要信息进行聚合判断,如果邻居的Chassis ID不同,说明静态聚合组的成员口上的邻居端口不在同一台设备上,一并参看图2,网络设备Sff15的端口 P4收到的邻居Chassis ID是网络设备SWll的,而端口 P5和P6收到的邻居Chassis ID是网络设备SW13的,不属于同一台设备,这说明静态聚合组所在组网为非对称聚合组网。
[0036]同样,如果存在邻居端口的聚合使能状态为未使能,则说明有邻居端口未使能聚合,与静态聚合组参考端口处于不同的聚合使能状态;如果存在邻居端口所在的聚合组ID与静态聚合组参考端口上的聚合组ID不一致,则说明存在邻居端口与静态聚合组参考端口加入的不是同一个聚合组的情况。
[0037]在上述任何一种情况,都属于不对称的静态聚合的组网,此时,静态聚合组应该阻塞冗余链路,不选中所述邻居所在的端口,阻塞该端口的转发,只保留与参考端口一致的端口(包括参考端口)处于选中状态,避免不对称导致的环路问题影响业务的正常转发。在实际运用中,如果有新的端口加入静态聚合组时,LLDP也会上报邻居摘要信息来进行判断,如果邻居摘要信息与已经存在的静态聚合组参考端口的摘要信息不一致,则说明存在不对称聚合组网的情况,则新加入的端口也将无法被选中,无法加入静态聚合组。
[0038]对于未开启LLDP或未开启静态聚合联动的端口,不受本申请的技术方案的影响,可以默认信任该连接,不对其进行不对称聚合检查。
[0039]对于开启了 LLDP并配置了静态聚合联动的端口,如果在固定时间内一直没有收到携带邻居摘要信息的LLDP报文,则判断邻居摘要信息为空,如果和静态聚合组里的其他的成员口邻居摘要信息不一致,则不应该被选中为静态聚合组成员。
[0040]对于开启了 LLDP并配置了静态聚合联动的端口,如果端口下有多个邻居,则会收到多份邻居摘要信息,因各邻居的Chassis ID不一致,则可以判断收到的邻居摘要信息与静态聚合组成员的邻居摘要信息存在不一致,不应该被选中。
[0041]以上所述仅为本公开的较佳例子而已,并不用以限制权利范围,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开记载的权利范围之内。
【权利要求】
1.一种检测不对称静态聚合的方法,其特征在于,包括以下步骤: 在静态聚合组成员口使能邻居发现协议; 通过静态聚合组成员口与对端设备建立邻居关系,接收携带邻居摘要信息的邻居发现协议报文,所述邻居摘要信息至少包括:邻居端口的聚合使能状态和/或邻居端口所在的聚合组的ID ; 解析所述邻居发现协议报文,获得该报文中携带的所述邻居摘要信息,判断所述邻居摘要信息中的相关内容与静态聚合组的参考端口的是否一致,如果不一致,则静态聚合组不选中所述邻居所在的端口,阻塞所述邻居所在的端口。
2.如权利要求1所述的方法,其特征在于,所述邻居摘要信息还进一步包括邻居设备的Chassis ID信息,所述邻居发现协议为LLDP。
3.如权利要求2所述的方法,其特征在于,所述方法进一步包括: 当有新的端口加入静态聚合组时,通过LLDP报文上报邻居摘要信息,如果摘要信息与聚合组的参考端口信息不一致,则新端口无法被选中。
4.如权利要求2所述的方法,其特征在于,所述方法进一步包括: 如果一端口未收到邻居摘要信息,确定邻居摘要信息为空,判断与静态聚合组的参考端口的邻居摘要信息是否一致,如不一致,则不选中所述端口。
5.如权利要求2所述的方法,其特征在于,所述方法进一步包括: 如果一端口收到多个邻居摘要信息,确定该端口连接了多个对端设备,判定与所述静态聚合组参考端口邻居摘要信息不一致,不选中所述端口。
6.一种检测不对称静态聚合的装置,其特征在于,包括以下模块: 处理模块,用于在静态聚合组成员口使能邻居发现协议,通过静态聚合组成员口与对端设备建立邻居,接收携带邻居摘要信息的邻居发现协议报文,解析所述邻居发现协议报文,获得该报文中携带的所述邻居摘要信息,其中,所述邻居摘要信息至少包括:邻居端口的聚合使能状态和/或邻居端口所在的聚合组的ID ; 判断模块,用于判断所述邻居摘要信息中的相关内容与静态聚合组参考端口的是否一致; 聚合模块,用于当判断模块的判断结果为不一致时,不选中所述邻居所在的端口,阻塞所述邻居所在的端口。
7.如权利要求6所述的装置,其特征在于:所述处理模块还进一步用于当有新的端口加入静态聚合组时,通过LLDP报文上报邻居摘要信息,判断模块根据邻居摘要信息判断与静态聚合组参考端口信息是否一致,如果不一致,聚合模块不选中所述新端口。
8.如权利要求6所述的装置,其特征在于,所述处理模块进一步用于当有端口未收到邻居摘要信息,确定邻居摘要信息为空,判断模块根据邻居摘要信息判断与静态聚合组的参考端口的邻居摘要信息是否一致,如不一致,聚合模块不选中所述端口。
9.如权利要求6所述的装置,其特征在于,所述处理模块还用于当有端口收到多个邻居摘要信息,确定该端口连接了多个对端设备,判断模块根据摘要信息判定与所述静态聚合组参考端口邻居摘要信息不一致,聚合模块不选中所述端口。
【文档编号】H04L12/703GK104320333SQ201410604365
【公开日】2015年1月28日 申请日期:2014年10月31日 优先权日:2014年10月31日
【发明者】徐鹏飞 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1