基于lacp的端口故障处理方法和lacp终端的制作方法

文档序号:7976659阅读:444来源:国知局
专利名称:基于lacp的端口故障处理方法和lacp终端的制作方法
技术领域
本发明涉及通信技术领域。具体而言,涉及一种基于链路聚合控制协议(Link Aggregation Control Protocol, LACP)的端口故障处理方法和 LACP 终端。
背景技术
链路聚合是指将一组物理端口捆绑在一起作为一个逻辑接口来增加带宽的一种方法,这种被捆绑在一起的物理端口又称为多端口负载均衡组。基于IEEE802. 3ad标准的LACP是一种实现链路动态聚合与解聚合的协议。LACP通过链路聚合控制协议数据单元 (Link Aggregation Control Protocol Data Unit, LACPDU) g)(寸立 1 胃;|、。在LACP中,链路的两端发送报文的端口称为本端(Actor),而接收报文的端口称为对端(Partner),双方通过交换LACPDU报文,向对端通告自己的系统优先级、系统MAC、 端口优先级、端口号和操作Key。对端接收到这些信息后,将这些信息与对端所在一侧的其它端口所保存的信息比较以选择能够聚合的端口,双方可以对端口加入或退出某个动态聚合组达成一致,从而决定哪些端口可以加入同一聚合组以及某一个端口何时能够加入聚合组。当链路两端的端口聚合组中的直连端口出现单通时,即物理链路的两端出现本端物理DOWN而对端物理UP时,或者当链路聚合跨设备、跨网络而中间设备不能将本端的故障快速传递到对端时,对端只能被动等待直到LACP协议超时。为了解决该技术问题,现有技术中提出了多种方案。双向转发检测(Bidirectional Forwarding Detection, BFD)是一种在一对路由或交换设备间进行路径故障快速传递的机制。通过与接口管理的联动,可以实现对聚合组成员端口的状态监控。然而,部分运营商的设备(如H3C S8500/7800/6500交换机)不支持BFD,支持BFD与接口管理联动的设备也较少,因此这种方法的应用场景受限,并且对设备硬件配置、CPU处理能力的要求也较高。现有技术中的另一种方案是在交换设备之间添加波分设备,利用波分设备的故障传递技术加快链路切换,然而波分设备的实现目前没有标准化,并且中间网络的组网环境也受到限制。对于波分设备,目前主要采用链路状态透传(Link-state Pass Through,LPT) 或者激光器自动关断(Automatic Laser Shutdown, ALS)技术,然而LPT为私有协议,无法与第三方设备对接,并且其他网络设备不一定支持该协议,而对于ALS标准,各厂商对标准的支持也可能有差异。

发明内容
为了提高故障传递性能,减小链路故障的业务影响,提高用户满意度,本发明实施例中提供了一种基于LACP的端口故障处理方法和LACP终端。根据本发明的一个方面,提出了一种基于链路聚合控制协议LACP的端口故障处
理方法,包括第一终端获取第一端口聚合组中第一端口的故障信息;第一终端选择第一
4端口聚合组中的第二端口作为故障信息传递端口 ;以及第一终端通过第二端口发送故障传递报文到第二终端的第二端口聚合组中与所述第二端口对应的第四端口,使得第二终端停止第二端口聚合组中与所述第一端口对应的第三端口的报文转发;其中,所述故障传递报文为LACP报文,所述LACP报文中的Terminator信息字段中的保留字段携带所述故障信肩、ο根据本发明的另一个方面,提出了一种基于LACP的端口故障处理方法,包括第二终端通过第二端口聚合组中与第一终端的第二端口对应的第四端口接收关于第一端口的故障传递报文;第二终端解析所述故障传递报文,确定第一终端的第一端口的故障信息; 以及第二终端停止与所述第一端口对应的第三端口的报文转发;其中,所述故障传递报文为LACP报文,所述LACP报文中的Terminator信息字段中的保留字段携带所述故障信息。根据本发明的另一个方面,提出了一种链路聚合控制协议LACP终端,包括获取单元,用于获取第一端口聚合组中第一端口的故障信息;选择单元,用于选择第一端口聚合组中的第二端口作为故障信息传递端口 ;以及发送器,用于通过第二端口发送故障传递报文到第二终端的第二端口聚合组中与所述第二端口对应的第四端口,使得第二终端停止第二端口聚合组中与所述第一端口对应的第三端口的报文转发;其中,所述故障传递报文为 LACP报文,所述LACP报文中的Terminator信息字段中的保留字段携带所述故障信息。根据本发明的另一个方面,提出了一种LACP终端,包括接收器,用于通过与第一终端的第二端口对应的第四端口接收关于第一端口的故障传递报文;确定单元,用于解析所述故障传递报文,并且确定第一终端的第一端口的故障信息;以及处理单元,用于停止与所述第一端口对应的第三端口的报文转发;其中,所述故障传递报文为LACP报文,所述 LACP报文中的Terminator信息字段中的保留字段携带所述故障信息。在本发明实施例的方案中通过LACP自身的优化提高故障传递性能,不需要依赖其他协议或技术,不受组网限制。因此,通过根据本发明实施例的方案能够有效地减小链路故障的业务影响,满足客户电信级的性能要求。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了根据本发明实施例的方案的应用场景的示意图;图2示出了根据本发明的一个实施例的基于LACP的端口故障处理方法的流程图;图3示出了 LACP报文的格式;图4示出了根据本发明的另一个实施例的基于LACP的端口故障处理方法的流程图;图5示出了根据本发明的一个实施例的LACP终端的示意性结构图;图6示出了根据本发明的另一个实施例的LACP终端的示意性结构图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1示出了根据本发明实施例的方案的应用场景的示意图。其中,第一终端A的第一端口聚合组包括第一端口和第二端口,第二终端B的第二端口聚合组包括第三端口和第四端口,其中第一端口和第三端口相对应,而第二端口和第四端口相对应,也即第一端口和第三端口互为本端和对端,而第二端口和第四端口互为本端和对端。要指出的是,图1仅仅是示意图,第一终端A和第二终端B当然可以包括更多的端口。如上面所提及的,聚合组中的直连端口可能会出现单通情况。例如,第一端口出现故障,导致第三端口无法正常接收到通过第一端口发送的报文。此时,第三端口只能被动等待直到LACP协议超时。为此,根据本发明的实施例,提出了一种基于LACP的端口故障处理方法。图2示出了根据本发明的一个实施例的基于LACP的端口故障处理方法的流程图。 该方法包括如下步骤。步骤210、第一终端获取第一端口聚合组中第一端口的故障信息。第一终端具有第一端口聚合组,当第一端口聚合组的第一端口故障时,第一终端的接口管理模块得知该故障的第一端口的故障信息。该故障信息可以包括故障原因如光纤拔插、协商关闭端口、人为操作关闭端口等等。步骤220、第一终端选择第一端口聚合组中的第二端口作为故障信息传递端口。由于第一端口故障,因此为了将故障信息传递到第一端口的对端,选择第一端口聚合组中不同于第一端口的第二端口来传递故障信息。优选的是,第一终端从第一端口聚合组中选择优先级最高的端口作为第二端口来进行传递,以便保证可以将故障信息及时传递到第二终端。步骤230、第一终端通过第二端口发送故障传递报文到第二终端的第二端口聚合组中与所述第二端口对应的第四端口,使得第二终端停止第二端口聚合组中与所述第一端口对应的第三端口的报文转发。在本发明实施例的方案中,所述故障传递报文为LACP报文,所述LACP报文中的Terminator信息字段中的保留字段携带所述故障信息。图3示出了 LACP报文的格式。根据LACP的标准协议版本1,LACP报文主要包括如下部分1、基本信息字段,其中包括-目的地址0x01-80-C2-00-00-02,也即慢协议的组播地址;
-源地址,也即LACP报文的发送端口的地址;-长度/协议类型0x8809(表示LACP是慢协议);-子类型0x01;-版本号0x01。本领域技术人员知道,根据LACP的标准协议,上述内容是固定而不可改变的内容。
2、Actor信息字段,其中包括本端端口当前的所有协商信息,也即为了维持聚合组状态的必要信息,如本端信息长度、本端系统优先级、本端端口优先级等等。3,Partner信息字段,其中包括本端保存的对端端口的所有协商信息,如对端信息长度、对端系统优先级、对端端口优先级等等。4、Collector信息字段,本领域技术人员知道,链路聚合控制协议LACP是链路聚合子层的控制协议,而链路聚合子层位于媒体访问控制(Media Access Control,MAC)层和逻辑链路控制(Logical Link Control, LLC)子层之间。Collector用于将从端口聚合组中的成员端口收到的报文送给MAC子层,因此该Collector信息字段包括Collector的相
关fe息。5,Terminator信息字段,该字段表明报文的尾部。根据LACP的标准协议的规定, 在Terminator信息字段中包括50字节的保留字段(Reserved),以便将报文长度固定在 128字节。按照LACP的标准协议的规定,Terminator信息字段中的保留字段在接收报文时被忽略并且全部为“0”。因此根据本发明的实施例,使用LACP报文中的Terminator信息字段中的保留字段来传递所述故障信息。例如,在保留字段中可以包括以下内容消息类别可以使用不同的比特位来表明不同的消息类别,如表示本端所发送的故障传递报文,或者表示对端处理完毕后对于故障传递报文的故障确认报文等。关于该故障确认报文,在下文中还会进一步说明。本端端口状态该字段的内容用于说明在第一终端侧的第一端口聚合组中,故障端口的端口状态。例如可以设置为该字段的内容与故障端口的Act0r_State字段值相同。本端端口号该字段的内容用于说明在第一终端侧的第一端口聚合组中,故障端口的端口号。例如可以设置为该字段的内容与故障端口的Act0r_p0rt字段值相同。对端端口状态该字段的内容用于说明在第二终端侧的第二端口聚合组中,与故障端口相对的端口的端口状态。例如可以设置为该字段的内容与故障端口的Partner state字段值相同。对端端口号该字段的内容用于说明在第二终端侧的第二端口聚合组中,与故障端口相对的端口的端口号。例如可以设置为该字段的内容与故障端口的Partner_p0rt字段值相同。端口故障状态位可以利用端口故障状态位来表示不同的故障原因,例如使用全 0表示端口状态正常,使用其他不同的数值代表不同的故障原因,如光纤拔插、协商关闭端口、人为操作关闭端口等等。对于上述内容,可以根据需要来分别指定不同的字节数,这并不影响本发明的实质。优选的是,第一终端持续地通过第二端口发送故障传递报文。在第二终端停止第二端口聚合组中与所述第一端口对应的第三端口的报文转发之后,第二终端还进一步通过第四端口将故障确认报文向回传递给第一终端的对应的第二端口,以便通知第一终端已将第三端口的报文转发停止。该故障确认报文可以是根据需要而设计的符合协议规范的报文,也可以利用在收到的故障传递报文中携带确认信息形成故障确认报文来实现。例如,可以将故障传递报文中的“消息类别”字段进行改变,而其他字段的内容保持相同,以表明该报文是对于故障传递报文的故障确认报文。由此,第一终端通过与第四端口对应的第二端口接收该故障确认报文,并停止通过第二端口发送故障传递报文。通过这种方式,进一步保证了第二终端能够收到所述故障传递报文。从上面的描述可见,在本发明实施例的方案中通过LACP自身的优化提高故障传递性能不需要依赖其他协议或技术,不受组网限制。因此,通过根据本发明实施例的方案能够有效地减小链路故障的业务影响,满足客户电信级的性能要求。图4示出了根据本发明的一个实施例的基于LACP的端口故障处理方法的流程图。 该方法包括如下步骤。步骤410、第二终端通过第二端口聚合组中与第一终端的第二端口对应的第四端口接收关于第一端口的故障传递报文。当第一终端的第一端口聚合组中,第一端口发生故障时,第二终端的第二端口聚合组中的第三端口无法接收到来自第一端口的报文。因此,在第一终端通过正常工作的第二端口发送故障传递报文的情况下,第二终端通过相应的第四端口来接收该故障传递报文。步骤420、第二终端解析所述故障传递报文,并且确定与第三端口对应的、第一终端的第一端口的故障信息。如在前面的实施例中所描述的那样,故障传递报文中包括消息类别、第一端口的端口状态、第一端口的端口号、第三端口的端口状态、第三端口的端口号以及端口故障状态这些故障信息,因此第二终端可以通过解析该故障传递报文来获取这些信息,并确定第一端口的故障信息。步骤430、第二终端停止与所述第一端口对应的第三端口的报文转发。在第二终端通过故障传递报文获取第一端口的故障信息之后,得知第三端口已经不能正常地从第一端口接收到报文,也不能将报文发送给第一端口,因此停止第三端口的报文转发,而无需如现有技术中那样等待直到LACP协议超时。在本发明的该实施例中,所述故障传递报文为LACP报文,所述LACP报文中的 Terminator信息字段中的保留字段携带所述故障信息。优选的是,第一终端持续地通过第二端口向第二终端发送故障传递报文,在第二终端停止第二端口聚合组中与所述第一端口对应的第三端口的报文转发之后,第二终端还进一步通过第四端口将故障确认报文向回传递给第一终端的对应的第二端口,以便通知第一终端已将第三端口的报文转发停止。该故障确认报文可以是根据需要而设计的符合协议规范的报文,也可以利用在收到的故障传递报文中携带确认信息形成故障确认报文来实现。由此,第一终端通过与第四端口对应的第二端口接收该故障确认报文,并停止通过第二端口发送故障传递报文。通过这种方式,进一步保证了第二终端能够收到所述故障传递报文。本发明的该实施例与结合图2、3所描述的实施例相对应,因此关于具体细节可以参照前面的描述,这里不再重复。从上面的描述可见,在本发明实施例的方案中不需要依赖其他协议或技术,不受组网限制,而是通过LACP自身的优化提高故障传递性能。因此,通过根据本发明实施例的方案能够有效地减小链路故障的业务影响,满足客户电信级的性能要求。相应地,根据本发明的实施例提出了一种LACP终端。图5示出了根据本发明的一个实施例的LACP终端的示意性结构图。该LACP终端500包括获取单元510,用于获取第一端口聚合组中第一端口的故障信息;选择单元520,用于选择第一端口聚合组中的第二端口作为故障信息传递端口 ;以及发送器530,用于通过第二端口发送故障传递报文到第二终端的第二端口聚合组中与所述第二端口对应的第四端口,使得第二终端停止第二端口聚合组中与所述第一端口对应的第三端口的报文转发;其中,所述故障传递报文为LACP报文,所述LACP报文中的Terminator信息字段中的保留字段携带所述故障信息。根据一个实施形式,该LACP终端进一步包括接收器M0,用于通过第二端口接收第二终端通过第四端口发送的、带确认信息的故障确认报文,以及处理单元550,用于停止通过第二端口发送所述故障传递报文。在所述故障传递报文中包括消息类别、第一端口的端口状态、第一端口的端口号、第三端口的端口状态、第三端口的端口号以及端口故障状态。根据一个实施形式,所述第二端口是第一终端的第一端口聚合组中优先级最高的端□。相应地,根据本发明的实施例提出了一种LACP终端。图6示出了根据本发明的一个实施例的LACP终端的示意性结构图。该LACP终端600包括接收器610,用于通过与第一终端的第二端口对应的第四端口接收关于第一端口的故障传递报文;确定单元620,用于解析所述故障传递报文,并且确定与第三端口对应的、第一终端的第一端口的故障信息; 以及处理单元630,用于停止与所述第一端口对应的第三端口的报文转发;其中,所述故障传递报文为LACP报文,所述LACP报文中的Terminator信息字段中的保留字段携带所述故障信息。根据一个实施形式,该LACP终端进一步包括发送器640,用于通过第四端口发送带确认信息的故障确认报文,使得第一终端停止通过第二端口发送所述故障传递报文。根据一个实施形式,在所述故障传递报文中包括消息类别、第一端口的端口状态、第一端口的端口号、第三端口的端口状态、第三端口的端口号以及端口故障状态。根据一个实施形式,所述第二端口是第一终端的第一端口聚合组中优先级最高的端□。在本发明实施例的方案中不需要依赖其他协议或技术,不受组网限制,而是通过 LACP自身的优化提高故障传递性能。因此,通过根据本发明实施例的方案能够有效地减小链路故障的业务影响,满足客户电信级的性能要求。本领域技术人员应该理解,本发明实施例中装置模块的划分为功能划分,实际具体结构可以为上述功能模块的拆分或合并。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。权利要求的内容记载的方案也是本发明实施例的保护范围。本领域普通技术人员可以理解上述实施例方法中的全部或部分处理是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
9
权利要求
1.一种基于链路聚合控制协议LACP的端口故障处理方法,包括第一终端获取第一端口聚合组中第一端口的故障信息;第一终端选择第一端口聚合组中的第二端口作为故障信息传递端口 ;以及第一终端通过第二端口发送故障传递报文到第二终端的第二端口聚合组中与所述第二端口对应的第四端口,使得第二终端停止第二端口聚合组中与所述第一端口对应的第三端口的报文转发;其中,所述故障传递报文为LACP报文,所述LACP报文中的Terminator信息字段中的保留字段携带所述故障信息。
2.根据权利要求1所述的方法,进一步包括第一终端通过第二端口接收第二终端通过第四端口发送的、带确认信息的故障确认报文,以及第一终端停止通过第二端口发送所述故障传递报文。
3.根据权利要求1或2所述的方法,其中在所述故障传递报文中包括消息类别、第一端口的端口状态、第一端口的端口号、第三端口的端口状态、第三端口的端口号以及端口故障状态。
4.根据权利要求1-3中任意一项所述的方法,其中所述第二端口是第一终端的第一端口聚合组中优先级最高的端口。
5.一种基于LACP的端口故障处理方法,包括第二终端通过第二端口聚合组中与第一终端的第二端口对应的第四端口接收关于第一端口的故障传递报文;第二终端解析所述故障传递报文,确定第一终端的第一端口的故障信息;以及第二终端停止与所述第一端口对应的第三端口的报文转发;其中,所述故障传递报文为LACP报文,所述LACP报文中的Terminator信息字段中的保留字段携带所述故障信息。
6.根据权利要求5所述的方法,进一步包括第二终端通过第四端口发送带确认信息的故障确认报文,使得第一终端停止通过第二端口发送所述故障传递报文。
7.根据权利要求5或6所述的方法,其中在所述故障传递报文中包括消息类别、第一端口的端口状态、第一端口的端口号、第三端口的端口状态、第三端口的端口号以及端口故障状态。
8.根据权利要求5-7中任意一项所述的方法,其中所述第二端口是第一终端的第一端口聚合组中优先级最高的端口。
9.一种链路聚合控制协议LACP终端,包括获取单元,用于获取第一端口聚合组中第一端口的故障信息;选择单元,用于选择第一端口聚合组中的第二端口作为故障信息传递端口 ;以及发送器,用于通过第二端口发送故障传递报文到第二终端的第二端口聚合组中与所述第二端口对应的第四端口,使得第二终端停止第二端口聚合组中与所述第一端口对应的第三端口的报文转发;其中,所述故障传递报文为LACP报文,所述LACP报文中的Terminator信息字段中的保留字段携带所述故障信息。
10.根据权利要求9所述的终端,进一步包括接收器,用于通过第二端口接收第二终端通过第四端口发送的、带确认信息的故障确认报文,以及处理单元,用于停止通过第二端口发送所述故障传递报文。
11.根据权利要求9或10所述的终端,其中在所述故障传递报文中包括消息类别、第一端口的端口状态、第一端口的端口号、第三端口的端口状态、第三端口的端口号以及端口故障状态。
12.根据权利要求9至11中的任意一项所述的终端,其中所述第二端口是第一终端的第一端口聚合组中优先级最高的端口。
13.一种LACP终端,包括接收器,用于通过与第一终端的第二端口对应的第四端口接收关于第一端口的故障传递报文;确定单元,用于解析所述故障传递报文,并且确定第一终端的第一端口的故障信息;以及处理单元,用于停止与所述第一端口对应的第三端口的报文转发; 其中,所述故障传递报文为LACP报文,所述LACP报文中的Terminator信息字段中的保留字段携带所述故障信息。
14.根据权利要求13所述的终端,进一步包括发送器,用于通过第四端口发送带确认信息的故障确认报文,使得第一终端停止通过第二端口发送所述故障传递报文。
15.根据权利要求13或14所述的终端,其中在所述故障传递报文中包括消息类别、 第一端口的端口状态、第一端口的端口号、第三端口的端口状态、第三端口的端口号以及端口故障状态。
16.根据权利要求13至15中的任意一项所述的终端,其中所述第二端口是第一终端的第一端口聚合组中优先级最高的端口。
全文摘要
本发明实施例公开了一种基于链路聚合控制协议LACP的端口故障处理方法和LACP终端。所述方法包括第一终端获取第一端口聚合组中第一端口的故障信息;第一终端选择第一端口聚合组中的第二端口作为故障信息传递端口;以及第一终端通过第二端口发送故障传递报文到第二终端的第二端口聚合组中与所述第二端口对应的第四端口,使得第二终端停止第二端口聚合组中与所述第一端口对应的第三端口的报文转发;其中,所述故障传递报文为LACP报文,所述LACP报文中的Terminator信息字段中的保留字段携带所述故障信息。在本发明实施例的方案中通过LACP自身的优化提高故障传递性能,不需要依赖其他协议或技术,不受组网限制。
文档编号H04L12/24GK102404143SQ20111036510
公开日2012年4月4日 申请日期2011年11月17日 优先权日2011年11月17日
发明者周广证, 张印熙, 薛小芹 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1